文档库 最新最全的文档下载
当前位置:文档库 › 单片机定时闹钟资料

单片机定时闹钟资料

单片机定时闹钟资料
单片机定时闹钟资料

单片机定时闹钟

一、[电路概述]该时钟电路主要以单片机AT89S52为核心而设计的,通过单片

机对信息的分析与处理控制外围设备。电路整体设计思想是想把它做成一个实用的器件,所以在题目要求的前提下,我们又加入了星期程序,温度程序,年、月、日程序以及时间的12—24转换程序。

[关键字]:单片机数码显示温度传感器光识电路

二、[题目分析与方案论证]按照系统设计功能的要求,初步确定设计系统由

复位模块、时钟模块、温度模块、音乐模块、光识模块及显示模块共五个模块组成,后来在时钟模块的基础上又加载了日历、星期的模块

从单片机AT89S52入手,通过使用AT89S52的内部的可编程定时器/计数器,结合对外接晶振的调节来确定一个合适的振荡周期,从而确定出内部的机器周期。再通过对内部中断程序的设置来设计出时钟程序,即设计出了电子时钟的核心。根据题目的要求,我们设计了以下方案:

[方案一]设计中加载了年、月、日的设计,刚开始时打算用18个共阳数码管,

考虑到数码管太多是毕会给硬件电路带来麻烦,经过考虑后,决定把年、月、日与时间设置到一组数码管上来,即六个数码管即能显示时间又能显示年、月、日,这样一来就方便了硬件电路;

[方案二]主控芯片使用51系列AT89S52单片机设计时温度模块设计温度元件用AD590,利用AD590以及接口电路把温度转换成模拟电压,经由ADC0804转换成数字信号,然后经AT89S52处理显示温度。但由于AD590价钱比较贵,且只能转换成模拟电压,这样一来硬件就要增加更多的器件且又不经济,经查找发现18B20温度传感器价钱便宜且可以直接把温度转换成数字量测温范围为-55—125度,最大分辨率可达0.0625度,采用3线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点,所以我们选择了18B20温度传感器。

附18B20温度传感器工作原理:DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并可根据实际要求通过简单的编程实现9—12位的数字值读数方式。温度传感器DS18B20采集温度信号送该给单片机处理,存储器通过单片机对某些时间点的数据进行存储;,DS18B20的性能特点如下:

1、独特的单线接口仅需要一个引脚进行通信;

2、多个DS18B20可以并联在唯一的三线上,实现多点组网功能;

3、无须外部器件;

4、可通过数据线供电,电压范围为3.0---5.5V;

5、零待机功耗;

6、温度以9或12位数字量读出;

7、用户可定义的非易失性温度报警设置;

8、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;

9、负电压特性,电源极性接反是,温度计不会因发热而烧毁,但不能正常工作。

三、[系统总体结构框图]

[按键功能]

a键:P2.1口12---24转换

b键:P2.3口调整定时、计时的时、调整年

c键:P2.5口调整计时的秒和定时状态及日

d键:P2.7口判断定时到否

e键:P2.0口调整星期

f键:P2.2口定时、计时转换

g键:P2.4口调整定时、计时的秒和判断定时状态、调整日

h键:P2.6口调整定时的报警音乐、省电模式

i键:复位键

j键:P3.6口年、月、日的显示

四、[主要电路原理与设计]

(1)系统硬件电路的设计:

电路是由控制部分和显示部分两大部分组成。利用单片机程序进行控制,单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各种微操作都以此周期为时序基准。振荡频率二分频后形成状态周期或称s周期,所以,1个状态周期包含有2个振荡周期。振荡频率foscl2分频后形成机器周期MC。所以,1个机器周期包含有6个状态周期或12个振荡周期。1个到4个机器周期确定一条指令的执行时间,这个时间就是指令周期。AT89S52单片机指令系统中,各条指令的执行时间都在1个到4个机器周期之间。

,并通过数码管进行显示单片机普遍采用锁相环技术,使单片机的时钟频率可由程序控制。锁相环允许用户在片外使用频率较低的晶振,可以很大地减小板级噪声;而且,由于时钟频率可由程序控制,系统时钟可以在一个很宽的范围内调整,总线频率往往能升得很高。但是,使用锁相环也会带来额外的功率消耗。单就时钟方案来讲,使用外部晶振且不使用锁相环是功率消耗最小的一种。AT89S52单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如下图所示。图中,电容器C01,C02起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。晶振频率的典型值为12MH2,采用6MHz的情况也比较多。内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。

外部振荡方式是把外部已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号保持同步。外部振荡方式的外部电路如下图所示。

如图所示:

各模块分析:

显示模块——电路先通过电源电路送出+5V电压,单片机AT89S52通过74LS47和CD4515(4—16译码器)驱动数码管显示数值, 显示部分采用普通共阳极数码管显示,采用动态扫描,以减少硬件电路。考虑到一次扫描12位数码管显示时会出现闪烁情况,设计时分两排显示,一排显示时间和年月日,一排显示星期和温度,共阳极数码管中8个发光二极管的阳极(二极管正端)连在一起。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输入端为低电平时,该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。采用动态显示方式,比较节省I/O口,硬件电路也较静态显示简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU较多时间。

为了提供共阳LED数码管的驱动电压,用三极管9012作电源驱动输出。采用12MHz晶振,有利于提高秒计时的精确性。三极管采用9012。数码管采用红色的共阳型LED数码管,亮度高些,因为是扫描的显示方式,所以各个数码管的abcdefg各脚采用了总线并联,改动510欧姆的电阻可以改变显示亮度;

时钟模块——利用芯片内部的振荡器,然后在引脚XTAL1和引脚 XTAL2两端接晶体谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部的时钟电路,如图外接晶振时,C1和C2的值通常选择30pF;C1、C2对频率有微调作用,晶体谐振器的频率12MHz。为了减少寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。设置了12—24两种显示状态,调整计时的按键、设置定时的按键且定时设置了3次定时、还另

加载了星期、年、月、日的调整及闰年的自动调整;

温度模块——主要由18B20通过单片机AT89S52中的温度程序不断的检测温度来显示温度温度传感器DS18B20采集温度信号送该给单片机处理,存储器通过单片机对某些时间点的数据进行存储;

音乐模块——通过LM386N-1给扬声器信号来发出音乐,这个模块主要是为时

钟定时到时发出音乐闹铃,而在软件部分设置了可以一次设置3次定时,每次定时到时,音乐程序中编了6种音乐,它可以自动选择6种音乐中的任一音乐响1分钟,如果中间不想让闹铃响可以按一按键,闹铃就立刻停止

复位模块——单片机复位电路是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从该状态开始工作,例如复位后PC=0000H,使单片机从第一个单元取指令。无论是在单片机刚接上电源时,还是断电后或者发生故障后都要复位;单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC =0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内R AM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,见下表。

值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对于了解单片机的初态,减少应用程序中的韧始化部分是十分必要的。

说明:表中符号*为随机状态;

A=00H,表明累加器已被清零;Speaker

0.0047U

47U

GND

1K

PSW=00H,表明选寄存器0组为工作寄存器组;

SP=07H,表明堆栈指针指向片内RAM 07H字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到08H单元中;

Po-P3=FFH,表明已向各端口线写入1,此时,各端口既可用于输入又可用于输出;

IP=×××00000B,表明各个中断源处于低优先级;

IE=0××00000B,表明各个中断均被关断;

系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。

光识模块——同样也是为定时服务的,只要定时到,组成心字的18只发光二极管就会按程序先做左移位,再全亮全灭3次,然后再右移,再全亮全灭3次如此循环1分钟;

安全省电模式——电源电路上装了保险管只要电流大于额定电流保险就断来保护电路,省电模式:不看时显示不亮,看时,按下一键显示就亮,尽量达到人性化。

五、[软件系统设计]

计时程序是实现电子时钟的核心内容,本程序用中断time0来控制,计时显示的单元从50h 开始,50h=秒的个位,51h=秒的十位,52h=分的个位,53h=分的十位,54h=时的个位,55h=时的十位

org 000bh jmp time0

mov tmod,#00010001b mov ie,#10001010b mov ip,#00000010b

mov th0,#(65536-2000)/256

mov tl0,#low(65536-2000)

mov 4fh,#02;两个中断250次为1秒

定时报警程序

作用是判断时间是否与设置的闹钟时间相等,如相等则开启闹钟。

单片机内定时振铃开关使用软件开关,即用标志寄存器,且程序设置了3次定时,可见要使电子时钟定时打铃,必须同时具备两个条件,第一:定时振铃开;第二:当前定时项数不为0项。因为要使电子时钟定时打铃,必须同时具备上述的两个条件,所以在单片机执行查询定时各项的程序之前,主程序会首先查询这两个条件是否同时满足,如果满足的话,则进行一轮查询,所谓一轮查询定时,即将当前时间与定时各项一一比较,看是否相符,如果查到某项相符,则调用音乐程序。每查完一项,寄存器中的值会自动减1(即为定时时间的项数)。当定时时间的项数值自动减为0时,则表示这一轮查询定时时间完毕,只要条件允许(定时音乐开且定时项数不为0),有可以进行一轮新的查询定时时间。

定时1:33h=分,34h=时,定时2:35h=分,36h=时,定时3:37h=分,38h=时,定时状态=39h;定时显示的单元从60h开始,60h=定时状态,61h=此时;定时状态的音乐种类,62h=分的个位,63h=分的十位;64h=时的个位,65h=时的十位

温度程序:

57h=温度的十位,58h=温度的个位,

wendu:CALL REST;调复位

MOV A,#0CCH

CALL WRITE调写程序

MOV A,#4EH

CALL WRITE

MOV A,#00H

CALL WRITE

MOV A,#00H

CALL WRITE

MOV A,#7FH

CALL WRITE

CALL REST

MOV A,#0CCH

CALL WRITE

MOV A,#44H

CALL WRITE

MOV R0,#20

LOOP5:MOV R1,#100 LOOP6:MOV R2,#250

DJNZ R2,$

DJNZ R1,LOOP6

DJNZ R0,LOOP5

CALL REST

MOV A,#0CCH

CALL WRITE

MOV A,#0BEH

CALL WRITE

CALL READ2;调读程

MOV A,#0ECH

CALL WRITE

CALL HUAN

clr 20h.3

ret

******初始化******************************** *****

org 0000h;计时显示的单元从50h开始,50h=秒的个位,51h=秒的十位,52h=

jmp main;分的个位,53h=分的十位,54h=时的个位,55h=时的十位,56h=

org 000bh;星期,57h=温度的十位,58h=温度的个位,30h=秒,31h=分,32h=时,定时1:33h=分,34h=时,

jmp time0;定时2:35h=分,36h=时,定时3:37h=分,38h=时,定时状态=39h

org 001bh

jmp time1

************主程序********************************

main:mov r0,#00;等待

djnz r0,$

movsp,#6ah ;定时显示的单元从60h开始,60h=定时状态,61h=此时

mov tmod,#00010001b ;定时状态的音乐种类,62h=分的个位,63h= 分的十位

mov ie,#10001010b ;64h=时的个位,65h=时的十位

mov ip,#00000010b

mov th0,#(65536-2000)/256 mov tl0,#low(65536-2000)

mov 4fh,#02;两个中断250次为

1秒mov 4eh,#00;光报警

mov 2dh,#250;中断250次为0.5

秒mov 2fh,#00h;设置计时显示数

码管的编号mov 2eh,#00h;设置定时显示数

码管的编

mov 24h,#00h;设置年月日显示

数码管的编号mov 30h,#00h;设置时间的初值mov 31h,#00h

mov 32h,#12h

mov 56h,#01h;

设置星期初值mov 33h,#00h;

设置定时初值

mov 34h,#01h

mov 35h,#00h

mov 36h,#02h

mov 37h,#00h

mov 38h,#03h

mov 39h,#01h;

设置定时状态初始值mov 3ah,#01h;设置定时状态1时

音乐的初始值

mov 3bh,#02h;设置定

时状态2时音乐

的初始值

mov 3ch,#03h;设置定

时状态3时音

乐的初始值

mov 21h,#00h;设置年

初值,00表示

2000年

mov 22h,#01h;设置月初值

mov 23h,#01h;设置日初值

setb 20h.0;12,24标志

位,1表示12小时制,0表

示24小时制

setb 20h.1;定时,计时

标志位,1表示计时,0

表示定时

clr 20h.2;定时到否标

志位,1表示到,0

表示不到

setb 20h.3;是否允许检

测温度标志位,1

表示允许

clr 20h.4;

年标志位,1表示闰年

setb 20h.5;

1表示31天,0表示30天

clr 20h.6;1表示显示年月日

setb p3.0;上下午标志

位,1表示上午,

0表示下午

clr p1

setb tr0

*************星期设置程序******************************** *****

start:jb p2.0,q1;调整星期

call del;消除抖动

mov a,56h

add a,#01h

cjne a,#07h,z1

mov 56h,#08h

jmp a1

z1:cjne a,#09h,z2

mov 56h,#01h

jmp a1

z2:mov 56h,a

a1:call del

jnb p2.0,a1

jmp start

*************设置12--24小时转换程序******************************** q1:jb p2.1,q2;

12,24小时制转换

call del; 消除抖动

jnb 20h.0,b1

jnb p3.0,b2;将12小时制转换为

24小时制

jmp a2

b2:mov a,32h

add a,#12h

da a

cjne a,#24h,b3

mov 32h,#00h

setb p3.0

jmp a2

b3:mov 32h,a

setb p3.0

jmp a2

b1:mov a,32h;将24小时制转换为

12小时制

cjne a,#00h,b7

mov 32h,#12h

clr p3.0

jmp a2

b7:cjne a,#20h,b8

mov 32h,#08h

clr p3.0

jmp a2

b8:cjne a,#21h,b9

mov 32h,#09h

clr p3.0

jmp a2

b9:cjne a,#12h,b4

jmp a2

b4:jnc b5

jmp a2

b5:subb a,#12h

mov 32h,a

clr p3.0

a2:cpl 20h.0

b6:call del

jnb p2.1,b6

jmp start

*************定时计时调整程序******************************** *****

q2:jb p2.2,q3;定时,计时转换

call del;

cpl 20h.1

a3:call del

jnb p2.2,a3

jmp start

q3:jb p2.3,q4;调整定时,

计时的时,年

call del;消除抖动

jnb 20h.6,c00

call yearyear

jmp a4

c00:jnb 20h.1,c1

jb 20h.0,c2;计时调整

mov a,32h

add a,#01h

da a

cjne a,#24h,c3

mov 32h,#00h

jmp a4

c3:mov 32h,a

jmp a4

c2:mov a,32h

add a,#01h

da a

mov 32h,a

cjne a,#13h,c4

mov 32h,#01h

cpl p3.0

jmp a4

c4:mov 32h,a

jmp a4

c1:mov a,39h;定时调整

cjne a,#01h,c5

mov r0,#34h

jmp c10

c5:cjne a,#02h,c6

mov r0,#36h

jmp c10

c6:mov r0,#38h

c10:jb 20h.0,c7

mov a,@r0

add a,#01h

da a

cjne a,#24h,c8

mov @r0,#00h

jmp a4

c8:mov @r0,a

jmp a4

c7:mov a,@r0

add a,#01h

da a

cjne a,#13h,c9

mov @r0,#01h

jmp a4

c9:mov @r0,a

a4:call del

jnb p2.3,a4

jmp start

q4:jb p2.4,q5;调整定时,

计时的分,月

call del

jnb 20h.6,d00

call yueyue

jmp a5

d00:jnb 20h.1,d1

mov a,31h;计时分调整

add a,#01h

da a

cjne a,#60h,d2

mov 31h,#00h

jmp a5

d2:mov 31h,a

jmp a5

d1:mov a,39h ;定时分调整cjne a,#01h,d3

mov r0,#33h

jmp d5

d3:cjne a,#02h,d4

mov r0,#35h

jmp d5

d4:mov r0,#37h

d5:mov a,@r0

add a,#01h

da a

cjne a,#60h,d6

mov @r0,#00h

jmp a5

d6:mov @r0,a

a5:call del

jnb p2.4,a5

jmp start

q5:jb p2.5,q6;调整计时的秒

和定时的状态,日

call del

jnb 20h.6,e00

call ri

jmp a6

e00:jnb 20h.1,e1

mov a,30h;调整计时的秒

add a,#01h

da a

cjne a,#60h,e2

mov 30h,#00h

jmp a6

e2:mov 30h,a

jmp a6

e1:mov a,39h;调整定时状态

add a,#01h

da a

cjne a,#04h,e3

mov 39h,#01h

jmp a6

e3:mov 39h,a

a6:call del

jnb p2.5,a6

jmp start

*************调整定时的报警音乐,省电模式******************************** *

q6:jb p2.6,q7

call del

jnb 20h.1,gh

cpl p3.4

jmp i3

gh:mov a,39h

cjne a,#01h,i1

mov a,3ah

add a,#01h

mov 3ah,a

cjne a,#07h,i3

mov 3ah,#01h

jmp i3

i1:cjne a,#02h,i2

mov a,3bh

add a,#01H

mov 3bh,a

cjne a,#07h,i3

mov 3bh,#01h

jmp i3

i2:mov a,3ch

add a,#01h

mov 3ch,a

cjne a,#07h,i3

mov 3ch,#01h

i3:call del

jnb p2.6,i3

jmp start

************定时报警**************************

q7:jnb 20h.2,q8

call yinyue

jmp start

q8:jnb 20h.3,q9

call wendu;检测温度

jmp start

q9:jb p3.6,q10

cpl 20h.6

q11:call del

jnb p3.6,q11

q10:jmp start

***********闰年判断******************************** ****************

nian:mov a,21h

cjne a,#00h,nian0

jmp year

nian0:cjne a,#04h,nian1

jmp year

nian1:cjne a,#08h,nian2

jmp year

nian2:cjne a,#12h,nian3

jmp year

nian3:cjne a,#16h,nian4

jmp year

nian4:cjne a,#20h,nian5

jmp year

nian5:cjne a,#24h,nian6

jmp year

nian6:cjne a,#28h,nian7

jmp year

nian7:cjne a,#32h,nian8

jmp year

nian8:cjne a,#36h,nian9

jmp year

nian9:cjne a,#40h,nian10

jmp year

nian10:cjne a,#44h,nian11

jmp year

nian11:cjne a,#48h,nian12

jmp year

nian12:cjne a,#52h,nian13

jmp year

nian13:cjne a,#56h,nian14

jmp year

nian14:cjne a,#60h,nian15

jmp year

nian15:cjne a,#64h,nian16

jmp year

nian16:cjne a,#68h,nian17

jmp year

nian17:cjne a,#72h,nian18

jmp year

nian18:cjne a,#76h,nian19

jmp year

nian19:cjne a,#80h,nian20

jmp year

nian20:cjne a,#84h,nian21

jmp year

nian21:cjne a,#88h,nian22

jmp year

nian22:cjne a,#92h,nian23

jmp year

nian23:cjne a,#96h,nian24

year:setb 20h.4

jmp year1

nian24:clr 20h.4

year1:ret

yue:mov a,22h;大月31天,小月30天

cjne a,#04h,yue0

jmp yue4

yue0:cjne a,#06h,yue1

jmp yue4

yue1:cjne a,#09h,yue2

jmp yue4

yue2:cjne a,#11h,yue3

yue4:clr 20h.5

jmp yue5

yue3:setb 20h.5

yue5:ret

yearyear:mov a,21h;年加1

add a,#01h

da a

mov 21h,a

ret

yueyue:mov a,22h;月加1

add a,#01h

da a

mov 22h,a

cjne a,#13h,yueyue0

mov 22h,#01h yueyuye0:ret

ri:mov a,23h;日加1

add a,#01h

da a

mov 23h,a

cjne a,#29h,ri0

mov a,22h

cjne a,#02h,ri1

call nian

jb 20h.4,ri1

mov 23h,#01h

jmp ri1

ri0:cjne a,#31h,ri2

call yue

jb 20h.5,ri1

mov 23h,#01h

jmp ri1

ri2:cjne a,#32h,ri1

mov 23h,#01h

ri1:ret

**************计时子程序************************

jishi:mov a,30h;秒加一

add a,#01h

da a

mov 30h,a

cjne a,#60h,f4

mov 30h,#00h

setb 20h.3;允许检测温度

mov a,31h;分加一

add a,#01h

da a

mov 31h,a

cjne a,#60h,f4

mov 31h,#00h

mov a,32h;时加一

add a,#01h

da a

mov 32h,a

jb 20h.0,f1

cjne a,#24h,f4

mov 32h,#00h

jmp f2

f1:cjne a,#13h,f4

mov 32h,#01h

cpl p3.0

jnb p3.0,f4

f2:mov a,56h; 星期加一

add a,#01h

mov 56h,a

cjne a,#07h,f3

mov 56h,#08h

jmp f4

f3:cjne a,#09h,f4

mov 56h,#01h

f4:call day;更新年月日

jb p2.7,f7;定时到否子程序段mov a,31h

cjne a,33h,f5

mov a,32h

cjne a,34h,f8

setb 20h.2

mov a,3ah

mov 2ch,a

jmp a7

f8:mov a,31h

f5:cjne a,35h,f6

mov a,32h

cjne a,36h,f9

setb 20h.2

mov a,3bh

mov 2ch,a

jmp a7

f9:mov a,31h

f6:cjne a,37h,f7

mov a,32h

cjne a,38h,f7

setb 20h.2

mov a,3ch

mov 2ch,a

jmp a7

f7:clr 20h.2

a7:ret

day:mov a,23h;日加1

add a,#01h

da a

mov 23h,a

cjne a,#29h,rri0

mov a,22h

cjne a,#02h,wan

call nian

jb 20h.4,wan

mov 23h,#01h

jmp yuey

rri0:cjne a,#31h,rri2

call yue

jb 20h.5,wan

mov 23h,#01h

jmp yuey

rri2:cjne a,#32h,wan

mov 23h,#01h

yuey:mov a,22h;月加1

add a,#01h

da a

mov 22h,a

cjne a,#13h,wan

mov 22h,#01h

mov a,21h;年加1

add a,#01h

da a

mov 21h,a

wan:ret

************计时扫描子程序******************************** scan1:mov r0,#2fh

inc @r0

cjne @r0,#0ch,g1

mov @r0,#00h

g1:mov a,@r0

add a,#50h

mov r1,a

mov a,@r0

swap a

orl a,@r1

mov p0,a

ret

***********定时扫描子程序******************************** scan2:mov r0,#2eh

inc @r0

cjne @r0,#06h,g2

mov @r0,#00h

g2:mov a,@r0

add a,#60h

mov r1,a

mov a,@r0

swap a

orl a,@r1

mov p0,a

ret

scan3:mov r0,#24h;定时扫描子程序

inc @r0

cjne @r0,#06h,gg2

mov @r0,#00h

gg2:mov a,@r0

add a,#40h

mov r1,a

mov a,@r0

swap a

orl a,@r1

mov p0,a

ret

**************计时显示子程序************************** xianshi1:mov r1,#50h

mov a,30h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

inc r1

mov a,31h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

inc r1

mov a,32h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

ret

********定时显示子程序******* xianshi2: mov a,39h

mov 60h,a

cjne a,#01h,h1

mov a,3ah

mov 61h,a

mov r1,#62h

mov a,33h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

inc r1

mov a,34h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

jmp h3

h1:cjne a,#02h,h2 mov a,3bh

mov 61h,a

mov r1,#62h

mov a,35h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

inc r1

mov a,36h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

jmp h3

h2:mov a,3ch

mov 61h,a

mov r1,#62h

mov a,37h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

inc r1

mov a,38h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

h3:ret

xianshi3:mov r1,#40h;计时显示子程序

mov a,21h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

inc r1

mov a,22h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

inc r1

mov a,23h

mov b,#10h

div ab

mov @r1,b

inc r1

mov @r1,a

ret

time0:mov

th0,#(65536-2000)/256

mov

tl0,#low(65536-2000)

push a

push psw

setb rs0

clr rs1

djnz 2dh,h4

mov 2dh,#250

djnz 4fh,h4

mov 4fh,#02

call jishi

h4:jnb 20h.6,hh4

call xianshi3

call scan3

jmp h6

hh4:jb 20h.1,h5

call xianshi2

call scan2

jmp h6

h5:call xianshi1

call scan1

h6:pop psw

pop a

reti

del:mov r6,#40

j1:mov r5,#248

djnz r5,$

djnz r6,j1

ret

***************音乐程序***** yinyue:push a

push psw

setb rs1

clr rs0

main1:mov 2bh,#00h

m:mov a,2ch

cjne a,#01,q

mov dptr,#song1

jmp pu

q:cjne a,#02,w

mov dptr,#song2

jmp pu

w:cjne a,#03,e

mov dptr,#song3

jmp pu

e:cjne a,#04,r

mov dptr,#song4

jmp pu

r:cjne a,#05,t

mov dptr,#song5

jmp pu

t:mov dptr,#song6

pu:jnb 20h.2,jj

mov a,2bh

movc a,@a+dptr

mov r0,a

jz end0

anl a,#0fh

mov r7,a

mov a,r0

swap a

anl a,#0fh

jnz sing

clr tr1

jmp dd1

sing:dec a

mov 2ah,a

mov dptr,#table1

movc a,@a+dptr

mov 29h,a

mov th1,a

mov a,2ah

mov dptr,#table2

movc a,@a+dptr

mov 28h,a

mov tl1,a

setb tr1

dd1:call yanshi

inc 2bh

inc 4eh

mov a,4eh

cjne a,#60,www;????

mov 4eh,#00

www:mov dptr,#table3

mov a,4eh

movc a,@a+dptr

mov p1,a

jmp m

end0:clr tr1

jmp main1 yanshi:mov r6,#02

dd2:mov r5,#125

dd3:mov r4,#248

djnz r4,$

djnz r5,dd3

djnz r6,dd2

djnz r7,yanshi

ret

jj:jmp mmm

time1:push a

push psw

cpl p3.1

mov th1,29h

mov tl1,28h

pop psw

pop a

reti

song1:db

42h,42h,42h,52h,64h,04h

db

62h,62h,62h,72h,84h,04h

db

92h,92h,82h,72h,64h,04h

db

82h,82h,52h,62h,44h,04h

db

42h,42h,42h,52h,64h,04h

db

62h,62h,62h,72h,84h,04h

db

92h,92h,82h,72h,64h,04h

db

82h,82h,52h,62h,44h,04h

db 00h

song2:db 82h,01h,81h,94h,84h

db 0b4h,0a4h,04h

db 82h,01h,81h,94h,84h

db 0c4h,0b4h,04h

db

82h,01h,81h,0f4h,0d4h

db 0b4h,0a4h,94h

db

0e2h,01h,0e1h,0d4h,0b4h

db 0c4h,0b4h,04h

db 00h

song3:db 84h,94h,88h

db 64h,54h,68h

db 84h,64h,54h,44h

db 62h,82h,42h,62h,58h

db 84h,94h,88h

db 64h,54h,68h

db 84h,64h,54h,44h

db 52h,42h,52h,62h,48h

db 00h

song4:db 84h,02h,82h,64h,54h

db 64h,54h,48h,

db 64h,02h,52h,44h,24h

db 14h,24h,18h

db 24h,02h,22h,42h,24h

db 44h,54h,68h

db 54h,02h,52h,84h,84h

db 54h,64h,48h

db 00h

song5:db 44h,54h,64h,44h

db 44h,54h,64h,44h

db 64h,74h,88h

db 64h,74h,88h

db

82h,92h,82h,72h,64h,44h

db

82h,92h,82h,72h,64h,44h

db 44h,84h,48h

db 44h,14h,48h

db 00h

song6:db 62h,82h,82h,62h,98h

db

92h,0b2h,0b2h,82h,98h

db 62h,82h,82h,52h,68h

db

92h,0b2h,0b2h,82h,98h

db

62h,82h,82h,62h,92h,92h,94h

db

92h,0b2h,0b2h,92h,84h,94h

db 0b8h,0b4h,04h

db 00h

table1: db 251,251,251,252

db 252,253,253,253

db 253,254,254,254

db 254,254,254

table2: db 004,144,248,068

db 172,009,052,130

db 200,006,034,086

db 131,154,193

table3: db 0feh,0fdh,0fbh,0f7h

db 0efh,0dfh,0bfh,7fh

db 00h,0ffh,00h,0ffh

db 7fh,0bfh,0dfh,0efh

db 0f7h,0fh,0fdh,0feh

db 00h,0ffh,00h,0ffh

db 81h,0c3h,0e7h,0ffh

db 0e7h,0c3h,81h,00h

db 81h,42h,24h,18h,00h

mmm:clr tr1

clr p1

pop psw

pop a

ret

**************温度程序****** wendu:CALL REST

MOV A,#0CCH

CALL WRITE

MOV A,#4EH

CALL WRITE

MOV A,#00H

CALL WRITE

MOV A,#00H

CALL WRITE

MOV A,#7FH

CALL WRITE

CALL REST

MOV A,#0CCH

CALL WRITE

MOV A,#44H

CALL WRITE

MOV R0,#20

LOOP5:MOV R1,#100 LOOP6:MOV R2,#250

DJNZ R2,$

DJNZ R1,LOOP6

DJNZ R0,LOOP5

CALL REST

MOV A,#0CCH

CALL WRITE

MOV A,#0BEH

CALL WRITE

CALL READ2

MOV A,#0ECH

CALL WRITE

CALL HUAN

clr 20h.3

ret

rest:SETB P3.3

NOP

CLR P3.3

MOV R0,#0ffH;

DJNZ R0,$; 延时

基于ATC单片机定时闹钟设计

塔里木大学信息工程学院 《单片机原理与外围电路》课程论文 题目:单片机定时闹钟设计 姓名:海热古丽·依马木 学号: 15 班级:计算机15-1班

摘要:本设计是单片机定时闹钟系统,不仅能实现系统要求的功能,而且还有附加功能,即还能设定和修改当前所显示的时间。?本次设计的定时闹钟在硬件方面就采用了AT89C51芯片,用6位LED数码管来进行显示。LED用P0口进行驱动,采用的是动态扫描显示,能够比较准确显示时时—分分—秒秒。通过S1、S2、S3、和S4四个功能按键可以实现对时间的修改和定时,定时时间到喇叭可以发出报警声。在软件方面采用汇编语言编程。整个定时闹钟系统能完成时间的显示,调时和定时闹钟、复位等功能,并经过系统仿真后得到了正确的结果。 关键词:单片机、AT89C51、定时闹钟、仿真? Abstract:T his design is a single-chip timing alarm system, can not only realize the function of system requirements, and there are additional functions, which can set up and modify the display time. Timing alarm clock this design adopts the AT89C51 chip on the hardware side, with 6 LED digital tube to display. LED P0 export driven, by using dynamic scanning display, can accurately display always - sub - seconds seconds. Through the S1, S2, S3, and S4 four function keys can be achieved on the time changes and timing, timing to the horn can send out alarm sound. Using assembly language programming in the software. The timing clock system has functions of time display, timing and timing alarm clock, reset and other functions, and the system simulation to obtain correct results. Keywords: single chip microcomputer, AT89C51, alarm clock,

基于51单片机实现的简单闹钟设计

【摘要】众所周知闹钟对我们日常生活来讲是一个很重要的工具,因而我利用单片机AT89C52制作一个简单的倒计时定时闹钟。本设计利用单片机的内部中断资源和按键的基本使用方法构思而成。利用按键设定需要定时的时间长短,利用中断设置20次中断定义一秒,然后利用程序设计时间倒数。并使用4个8段数码管显示分和秒,并且定时结束后使用电铃警示。硬件系统利用proteus仿真,在仿真中就能观察到系统的实际运行情况。 【关键字】 单片机AT89C51 倒计时定时中断 protues仿真 一、设计项目简介 基于51单片机进行简单闹钟设计。四位数码管从左往右分别代表十分位,分位,十秒位,秒位。按动对应按键能增加各个位的数值,按动开始计时按键能开始倒计时。 二、硬件设计 1.总体设计思路 控制芯片使用比较熟悉的AT89C52单片机芯片,数码管使用四位相连的8段共阴数码管,并且使用74HC573锁存器控制数码管的显示。在定时过程使用s1控制十分位,s2控制分位,s3控制十秒位,s4控

制秒位,s5开始倒计时。 基本思路设计如下: 2. AT89C52芯片介绍 80C52是INTEL 公司MCS-51系列单 片机中基本的产品,它采用INTEL 公司可靠的CHMOS 工艺技术制造的 高性能8 位单片机,属于标准的MCS-51的HCMOS 产品。它结合了HMOS 的高速和高密度技术及CHMOS 的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。 80C52内置8位中央处理单元、256字节内部数据存储器RAM 、8k 片内程序存储器(ROM )32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡

基于单片机的电子闹钟设计

基于单片机的电子闹钟设计 摘要 本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。 关键词:单片机;led;闹钟;定时器 Abstract This design, adopting AT89C51 chip as the core part with some necessary peripheral circuits, is a simple electronic clock which uses 5V DC as the power supply. Keywords:single chip machine ,in fixed time machine, alarm clock,LED 1 引言 1.1设计目的 此次课程设计是在学习先修课程《单片机原理与系统设计》之后,为加强对学生系统设计和应用能力的培养而开设的综合设计训练环节。本课程设计应结合《单片机原理与系统设计》课程的基础理论,重点强调实际应用技能训练,包括单片机系统设计的软件和硬件两部分。其课程设计任务是使学生通过应用单片机系统设计的基本理论,基本知识与基本技能,掌握单片机应用系统各主要环节的设计、调试方法,初步掌握并具备应用单片机进行设备技术改造和产品开发的能力,培养学生的创新意识,提高学生的动手能力和分析问题、解决问题的能力。 1.2设计要求 结合单片机知识,以AT89C51单片机为核心,利用七段LED数码管实现计时、校时及闹钟功能。 1.3设计方法 以AT89C51单片机为核心,外加晶振电路,使用8个七段数码管显示,LED 采用动态扫描,用74ls245芯片作为驱动电路。通过四个独立按键对时间进行定时、校时,从而实现闹钟提醒功能。 2 设计方案及原理 2.1设计方案 选AT89C51单片机作为系统核心,辅助外部产生时钟信号的晶振电路,再加上四个独立按键作为输入信号,使用8个七段数码管显示时间,芯片74ls245为数码管段选线的驱动,最后用蜂鸣器实现闹铃功能。使用单片机的定时器T0计时时间为50ms,计时20次作为1s的时间基准。第一部分,12MHz的晶振连接至单片机的时钟信号输入端;第二部分,四个独立按键加上四个上拉电阻连接至单片机

基于51单片机的万年历的设计

单片机课程实训SCM PRACTICAL TRAINING

目录 第一部分课程设计任务书 (1) 一、课程设计题目 (1) 二、课程设计时间 (1) 三、实训提交方式 (1) 四、设计要求 (1) 第二部分课程设计报告 (2) 一、单片机发展概况 (2) 二、MCS-51单片机系统简介 (2) 三、设计思想 (3) 四、硬件电路设计 (3) 1. 总体设计 (3) 2. 晶振电路 (4) 3. 复位电路 (4) 4. DS1302时钟电路 (5) 5. 温度采集系统电路 (5) 6. 按键调整电路 (6) 7. 闹钟提示电路 (6) 五、软件设计框图 (7) 六、程序源代码 (8) 1. 主程序 (8) 2. 温度控制程序 (11) 3. 日历设置程序 (13) 4. 时钟控制程序 (18) 5. 显示设置程序 (20) 七、结束语 (23) 八、课程设计小组分工 (23) 九、参考文献 (23)

第一部分课程设计任务书 一、课程设计题目 用中小规模集成芯片设计制作万年历。 二、课程设计时间 五天 三、实训提交方式 提交实训设计报告电子版与纸质版 四、设计要求 (1)显示年、月、日、时、分、秒和星期,并有相应的农历显示。(2)可通过键盘自动调整时间。 (3)具有闹钟功能。 (4)能够显示环境温度,误差小于±1℃ (5)计时精度:月误差小于20秒。

第二部分课程设计报告 一、单片机发展概况 单片机诞生于20世纪70年代末,它的发展史大致可分为三个阶段: 第一阶段(1976-1978):初级单片机微处理阶段。该时期的单片机具有 8 位CPU,并行 I/O 端口、8 位时序同步计数器,寻址范围 4KB,但是没有串行口。 第二阶段(1978-1982):高性能单片机微机处理阶段,该时期的单片机具有I/O 串行端口,有多级中断处理系统,15 位时序同步技术器,RAM、ROM 容量加大,寻址范围可达 64KB。 第三阶段(1982-至今)位单片机微处理改良型及 16 位单片机微处理阶段民用电子产品、计算机系统中的部件控制器、智能仪器仪表、工业测控、网络与通信的职能接口、军工领域、办公自动化、集散控制系统、并行多机处理系统和局域网络系统。 二、MCS-51单片机系统简介 MCS-51系列单片机产品都是以Intel公司最早的典型产品8051为核心构成的。MCS-51单片机由CPU 、RAM 、ROM 、I/O接口、定时器/计数器、中断系统、内部总线等部件组成。8051单片机的基本性能有: ◆8位CPU; ◆布尔代数处理器,具有位寻址能力; ◆128B内部RAM,21个专用寄存器; ◆4KB内部掩膜ROM; ◆2个16位可编程二进制加1定时器/计数器; ◆32个(4×8位)双向可独立寻址的I/O口; ◆1个全双工UART(异步串行通信口); ◆5个中断源,两级中断结构; ◆片内振荡器及时钟电路,晶振频率为1.2MHz~12MHz; ◆外部程序/数据存储器寻址空间均为64KB; ◆111条指令,大部分为单字节指令; ◆单一+5V电源供电,双列直插40引脚DIP封装。

(完整版)单片机毕业课程设计—带有LCD的定时闹钟

郑州轻工业学院 软件学院 单片机与接口技术课程设计总结 报告 设计题目:带有LCD的定时闹钟 学生姓名: 系别: 专业: 班级: 学号: 指导教师:

2011年12月16日

郑州轻工业学院 课程设计任务书 题目带有LCD的定时闹钟 专业、班级学号姓名 主要内容: 设使用89C51单片机结合字符型LCD显示器设计一个简易的定时闹钟LCD时钟,若LCD选择有背光显示的模块,在夜晚或黑暗的场合中也可以使用。 基本要求: .字符型LCD(16*2)显示器 .显示格式“时时分分”。 .由LED闪动来做秒计数表示。 .一旦时间到侧发动声响,同时继电器启动,可以扩充控制家电开启和关闭。 .程序执行后工作指示灯LED闪动,表示程序开始执行,LCD 显示“00 00”,按下操作键K1-k4动作如下: (1)K1—设置现在的时间。 (2)K2—显示闹钟设置的时间。

(3)K3—设置闹铃的时间。 (4)K4—闹铃ONOFF的状态设置,设置ON时连续三次发出“哗”的一声,off置为哗的一声。设置当前时间或闹 铃时间如下: (1)K1—时的调整。 (2)K2—分的调整。 (3)K3—设置完成。 (5)OFF发出“哗”K4---闹铃时间到时,发出一阵声响,按下本键可以停止声响。 除了显示当前时间的功能外,还可以扩充如下功能; .增加秒表计数。 .闹铃时间到侧产生音乐声。 .增加减计数功能。 .增加多组计数的功能。 参考文献 郭天祥 51单片机C语言教程-入门。 余发山单片机原理及应用技术。中国矿业大学出版社。 涂世亮,张友德。单片微机控制技术。清华大学出版社。

基于单片机的定时闹钟课程设计报告书

任务书 一、设计目的 本设计主要是对51单片机的一个方面的扩展,是能实现一般定时闹钟功能的设计。需要实现某一功能时,按对应的按键即可,经过多次验证,此设计灵活简便,可以实现显示、定时、修改定时、定时时间到能发出报警声的功能。 二、设计要求 1、能显示时时—分分—秒秒。 2、能够设定定时时间,并修改定时时间。 3、定时时间到能发出警报声。

目录 1.绪论 (1) 2.方案论证 (1) 3.方案说明 (2) 4.硬件方案设计 (2) 4.1单片机STC89C52 (2) 4.2 时钟电路 (4) 4.3数码管显示电路 (4) 4.4键盘电路 (6) 4.5报警电路 (7) 5.软件方案设计 (7) 5.1系统软件设计 (7) 5.2键盘程序 (7) 5.3 LED (8) 5.4音响报警电路 (8) 5.5 程序流程图 (8) 6.调试 (9) 7.小结 (10) 8.参考文献 (11) 9.附录:定时闹钟源程序 (12)

1.绪论 系统采用单片机STC89C52作为本设计的核心元件,在其基础上外围扩展芯片和外围电路,附加时钟电路,复位电路,键盘接口及LED显示器。键盘采用独立连接式。还有定时报警系统,即定时时间到,通过扬声器发出报警声,提示预先设定时间时间到,从而起到定时作用。 外围器件有LED显示驱动器及相应的显示数字电子钟设计与制作可采用单片机来完成。由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计与制作中采用单片机STC89C52,它是低功耗、高性能的CMOS型8位单片机。片内带有8KB的Flash 存储器,且允许在系统内改写或用编程器编程。另外, STC89C52的指令系统和引脚与8051完全兼容,片内有512B的RAM、32条I/O口线、3个16位定时计数器、4个外部中断、一个7向量4级中断结构(兼容传统51的5向量2级中断结构)等。 在LED显示器中,分成静态显示和动态显示两类,在这个设计的最小系统中主要用了它的动态显示功能,动态显示器利用了人视觉的短暂停留,在数据的传输中是一个一个传输的,且先传输低位。 2.方案论证 单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。 本系统采用单片机STC89C52作为本设计的核心元件,利用两个4位7段共阴LED作为显示器件。接入共阴LED显示器,可显示时,分钟,秒,单片机外围接有定时报警系统,定时时间到,蜂鸣器发出报警声,提示预先设定时间到。 电路由下列部分组成:时钟电路、复位电路、控制电路、LED显示、报警电路,芯片选用STC89C52单片机。 系统基本框图如图2.1所示:

基于51单片机电子闹钟的设计(1)

单片机原理与接口技术课程设计题目:多功能电子闹钟 院系:电气与电子工程系 专业:电气工程及其自动化 班级:电气工程1503 姓名: 学号: 指导教师: 二零一七年十二月

多功能电子闹钟 摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。而51单片机是各单片机中最为典型和最有代表性的一种。 本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。在硬件方面,除了CPU外,使用八个七段LED数码管来进行显示,LED采用的是动态扫描显示,使用74LS245芯片进行驱动。通过LED能够较为准确地显示时、分、秒。四个简单的按键实现对时间的调整。软件方面采用C语言编程。整个电子钟系统能完成时间的显示、调时、校时和三组定时闹钟的功能。 选用单片机最小系统应用程序,添加比较程序、时间调整程序及蜂鸣程序,通过时间比较程序触发蜂鸣,实现闹钟功能,完成设计所需求的软件环境。介绍并使用Keil 单片机模拟调试软件,测试程序的可行性并用Proteus进行仿真。 关键词:单片机定时器中断闹钟 LED

目录 第1章方案的选择和论证 (1) 1.1单片机型号的选择 (1) 1.2按键的选择 (1) 1.3显示器的选择 (1) 1.4计时部分的选择 (1) 1.5发音部分的设计 (2) 1.6显示器驱动电路 (2) 1.7电源的选择 (2) 第2章数字电子钟的设计原理和方法 (3) 2.1设计原理 (3) 2.2硬件电路的设计 (3) 2.2.1 AT89C51单片机简介 (3) 2.2.2 键盘电路的设计 (3) 2.2.3 段码驱动电路 (4) 2.2.4 蜂鸣器驱动电路 (4) 2.3软件部分的设计 (5) 2.3.1 主程序部分的设计 (5) 2.3.2 中断定时器的设置 (5) 2.3.3 闹钟子函数 (6) 2.3.4 计时函数 (6) 2.3.5 键盘扫描函数 (8) 2.3.6 时间和闹钟的设置 (8) 第3章实验结果 (10) 总结 (11) 致谢 (12) 参考文献 (13) 附录 (14)

基于51单片机的电子时钟的设计

目录 0 前言 (1) 1 总体方案设计 (2) 2 硬件电路设计 (2) 3 软件设计 (5) 4 调试分析及说明 (7) 5 结论 (9) 参考文献 (9) 课设体会 (10) 附录1 电路原理 (12) 附录2 程序清单 (13)

电子时钟的设计 许山沈阳航空航天大学自动化学院 摘要:传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低,随着系统设计复杂度的不断提高,用传统时钟系统设计方法很难满足设计需求。 单片机是集CPU、RAM、ROM、定时器/计数器和多种接口于一体的微控制器。它体积小、成本低、功能强,广泛应用于智能产品和工业自动化上。而51系列的单片机是各单片机中最为典型和最有代表性的一种。,本次设计提出了系统总体设计方案,并设计了各部分硬件模块和软件流程,在用C语言设计了具体软件程序后,将各个模块完全编译通过过后,结果证明了该设计系统的可行性。该设计给出了以AT89C2051为核心,利用单片机的运算和控制功能,并采用系统化LED显示模块实时显示数字的设计方案,适当地解决了实际生产和日常生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的应用性。 关键字:AT89C2051,C语言程序,电子钟。 0前言 利用51单片机开发电子时钟,实现时间显示、调整和闹铃功能。具体要求如下: (1)按以上要求制定设计方案,并绘制出系统工作框图; (2)按要求设计部分外围电路,并与单片机仿真器、单片机实验箱、电源等正确可靠的连接,给出电路原理图; (3)用仿真器及单片机实验箱进行程序设计与调试;

(4)利用键盘输入调整秒、分和小时时刻,数码管显示时间; (5)实现闹钟功能,在设定的时间给出声音提示。 1总体方案设计 该电子时钟由89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,利用单片机内部定时计数器0通过软件扩展产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。闹钟和时钟的时分秒的调节是由一个按键控制,而另外一个按键控制时钟和闹钟的时间的调节。 图1 系统结构框图 该电子时钟由STC89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,晶振电路的晶振频率为12MHZ,使用的定时器/计数器工作方式0,通过软件扩展产生的一秒定时,达到时分秒的计时,60秒为一分钟,60分钟为一小时,24小时为一天,又重00:00:00开始计时。没有按键按键按下时,时钟正常运行,当按下调节时钟按键K1,就会关闭时钟,当按下闹钟按键K3时时钟就会进入设置时间界面,但是时钟不会停止工作,按K2键,,就可以对时钟和闹钟要设置的时间进行调整。 2硬件电路设计

基于51单片机内部定时器的简易闹钟课程设计论文

基于51单片机内部定时器的简易闹钟 摘要 现代社会电子闹钟已广泛用于各种私人和公众场合,成为我们生活、工作和学习中不可缺少的好帮手,因此研究实用性更强的电子闹钟具有十分重要的意义。本设计是基于单片机的电子钟设计,不仅具有时分秒的显示功能,还具有双闹铃和倒计时的功能,实用性非常强。电子钟的计时部分采用AT89S52单片机内部定时器实现,而显示功能是采用液晶模块LCD1602来实现,该电子闹钟可以让使用者通过按键来轻松选择的功能菜单和调节时间,具有非常良好地人机界面。 关键词:电子闹钟;倒计时;AT89S52;液晶LCD1602;按键 Abstract In modern society, the electronic alarm clock has been widely used in various occasions and become indispensable to life.It is a good helper to our work and learning. So,there is very important significance to research more practical electronic alarm clock.This design is based on single chip microcomputer,It has display function of hours,minutes and seconds,dual alarm and countdown.The internal timer of AT89S52 achieve the part of time.The liquid crystal LCD1602 achieve the part of display.The users can use the push-buttons to choice the menu of functions and adjust the time.The man-machine interface is very good. Key words: electronic alarm; countdown; AT89S52; liquid crystal LCD1602; button

定时闹钟设计课程设计报告

定时闹钟设计 摘要: 本设计目的是利用单片机设计制作一个简易的定时闹铃时钟,可以放在宿舍或教室使用,在夜晚或黑暗的场合也可以使用。可以设置现在的时间以及闹铃的时间并且显示出来,若时间到则发出一阵声响。 本次设计的定时闹钟在硬件方面就采用了AT89C52芯片,用6位LED数码管进行显示。LED用P0口进行驱动,采用的是动态扫描显示,能够比较准确显示时时—分分—秒秒。通过五个功能按键可以实现对时间的修改、定时和闹铃终止,闹钟设置的时间到时蜂鸣器可以发出声响。在软件方面用C51编程。整个定时闹钟系统能完成时间的显示,调时和设置闹钟、停止响铃等功能,并经过系统仿真后得到了正确的结果。 关键词:定时闹钟;蜂鸣器;AT89C52;74HC245;

目录

第1章绪论 设计目的 本次课程设计的主题是定时闹钟,其基础部分是一个数字钟。电路系统由秒信号发生器、“时、分、秒”计数器、显示器组成。其中秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,这里用51单片机的定时器来实现。利用定时器获得每一秒的时刻,然后在程序中,我们就可以给秒进行逐秒赋值,满60秒则进位为1分,满60分则进位为1小时,满24小时则时间重置实现一天24小时的循环。译码显示电路将“时”、“分”、“秒”计数器的输出状态送到七段显示译码器译码,通过一个六位八段数码管显示出来。 这里利用51单片机的相关知识,来实现电子闹钟的相关功能。实验使用了 AT89C52、74HC245等芯片,通过单片机的P0、P3管脚来驱动数码管显示出相应的时刻。本文将讲述AT89C52、74HC245等芯片的基本功能原理,并重点介绍该电子闹钟的设计。 设计要求和任务 使用6位七段LED显示器来显示现在的时间;显示格式为“时时分分秒秒”;具有4个按键来做功能设置,可以设置现在的时间及显示闹铃设置时间;时间到则发出一阵声响,可通过按键复位;对单片机系统设计的过程进行总结,认真书写课程设计报告并按时上交。 利用51单片机结合七段LED显示器设计一个简易的定时闹铃时钟,可以放在宿舍或教室使用,由于用七段LED显示器显示数据,在夜晚或黑暗的场合也可以使用。可以设置现在的时间及显示闹铃设置时间,若时间到则发出一阵声响。 论文主要内容 论文分别叙述从硬件和软件上实现该设计的过程。第2章为总体设计方案。第3章主要介绍设计实现需要解决的硬件问题。依次介绍所使用的各种硬件的使用方法,并附上仿真电路图和文字说明。第4章从软件的角度说明实现该设计需要解决的问题。

智能定时闹钟 毕业设计

毕业论文(设计) 智能定时闹钟 -----温度、定时硬件设计 院系:工程学院年级专业:电气工程及其自动化0801 提交日期:答辩日期: 答辩委员会主席(签名): 评阅人(签名): 年月日

摘要 随着科技的快速发展和生活水平的不断提高,人们对时钟的精确度和实用性要求越来越高。本文采用宏晶单片机STC10F08XE,通过DS1302时钟芯片进行定时,并通过LCD 1602字符液晶显示器显示。采用C语言程序编写,将设计出更准确定时、更省电的数字时钟。单片机数字时钟具有设置时间、日期、星期的基本功能,并且能够显示年、月、日、时、分、秒、星期,温度。单片机数字钟不管在性能还是在样式上都发生了质的变化,实践证明单片机数字时钟具有更加准确性、精密性等功能。本设计是定时闹钟的设计,由单片机 AT89C51 芯片和宏晶单片机STC10F08XE为核心,辅以必要的电路,构成的一个单片机智能定时闹钟。用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计中采用单片机利用 AT89C51,它是低功耗、高性能的 CMOS 型 8 位单片机。 关键字:数字时钟;DS1302;LCD1602;STC10F08XE

Abstract In daily life, time is science, technology and everyday life is one of the most basic physics, we often deal with temporal clocks, such as hand watch, wall clock, even on a computer program, the clock on the phone can be generalized a clock display on the clock, along with the rapid development of technology and the continuous improvement of living standards, people on the clock's accuracy and practical demand is higher and higher. Based on the single chip microcomputer principle, USES the monolithic integrated circuit STC10F08XE series, through the hardware circuit and software production procedure formulation, will design a more accurate timing, electricity -saving digital clock, SCM in performance or digital clock no matter in style have undergone a qualitative change, digital clock has proved microcontroller more accuracy, precision sex etc. Function. This design is the design of timing alarm clock, the single chip microcomputer AT89C51 single chip microcomputer chip and macro crystal STC10F08XE as the core, with the necessary auxiliary circuit, constitute a single chip microcomputer intelligent timing of alarm clock . By single chip design system to be completed, because its main through the realization of the function of software programming to complete, then reduce the complexity of the hardware circuit, and the cost is reduced, so in this design using AT89C51 single-chip, it is low power, high-performance CMOS type eight microcontroller. Key Words:Digital clock ; DS1302; LCD1602;STC10F08XE

电子设计毕业设计-单片机定时闹钟论文资料-

单片机定时闹钟 一、[电路概述]该时钟电路主要以单片机AT89S52为核心而设计的,通过单片 机对信息的分析与处理控制外围设备。电路整体设计思想是想把它做成一个实用的器件,所以在题目要求的前提下,我们又加入了星期程序,温度程序,年、月、日程序以及时间的12—24转换程序。 [关键字]:单片机数码显示温度传感器光识电路 二、[题目分析与方案论证]按照系统设计功能的要求,初步确定设计系统由 复位模块、时钟模块、温度模块、音乐模块、光识模块及显示模块共五个模块组成,后来在时钟模块的基础上又加载了日历、星期的模块 从单片机AT89S52入手,通过使用AT89S52的内部的可编程定时器/计数器,结合对外接晶振的调节来确定一个合适的振荡周期,从而确定出内部的机器周期。再通过对内部中断程序的设置来设计出时钟程序,即设计出了电子时钟的核心。根据题目的要求,我们设计了以下方案: [方案一]设计中加载了年、月、日的设计,刚开始时打算用18个共阳数码管, 考虑到数码管太多是毕会给硬件电路带来麻烦,经过考虑后,决定把年、月、日与时间设置到一组数码管上来,即六个数码管即能显示时间又能显示年、月、日,这样一来就方便了硬件电路; [方案二]主控芯片使用51系列AT89S52单片机设计时温度模块设计温度元件用 AD590,利用AD590以及接口电路把温度转换成模拟电压,经由ADC0804转换成数字信号,然后经AT89S52处理显示温度。但由于AD590价钱比较贵,且只能转换成模拟电压,这样一来硬件就要增加更多的器件且又不经济,经查找发现18B20温度传感器价钱便宜且可以直接把温度转换成数字量测温范围为-55—125度,最大分辨率可达0.0625度,采用3线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点,所以我们选择了18B20温度传感器。 附18B20温度传感器工作原理:DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并可根据实际要求通过简单的编程实现9—12位的数字值读数方式。温度传感器DS18B20采集温度信号送该给单片机处理,存储器通过单片机对某些时间点的数据进行存储;,DS18B20的性能特点如下: 1、独特的单线接口仅需要一个引脚进行通信; 2、多个DS18B20可以并联在唯一的三线上,实现多点组网功能; 3、无须外部器件; 4、可通过数据线供电,电压范围为3.0---5.5V; 5、零待机功耗; 6、温度以9或12位数字量读出; 7、用户可定义的非易失性温度报警设置; 8、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;

定时闹钟课程设计

扬州大学水利与能源动力工程学院课程设计报告 题目:定时闹钟 课程:单片机原理及应用课程设计 专业:电气工程及其自动化 班级:电气1201 姓名:陈明飞 学号:121704102

第一部分 任 务 书

《单片机原理及应用》课程设计任务书 一、课题名称 详见《单片机课程设计题目(一)》:主要是软件仿真,利用Proteus软件进行仿真设计并调试; 《单片机课程设计题目(二)》:主要是硬件设计,利用单片机周立功实验箱进行设计并调试。 二、课程设计目的 课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。 《单片机原理及应用》是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。单片机原理及应用课程设计的目的是让学生在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能将课堂上学到的理论知识与实际应用结合起来,而且能进一步加深对电子电路、电子元器件等知识的认识与理解,同时在软件编程、排错调试、相关软件和仪器设备的使用技能等方面得到较全面的锻炼和提高。为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。通过单片机硬件和软件设计、调试、整理资料等环节的培训,使学生初步掌握工程设计方法和组织实践的基本技能,逐步熟悉开展科学实践的程序和方法。 三、课程设计内容 设计以89C51单片机和外围元器件构成的单片机应用系统,并完成相应的软硬件调试。 1. 系统方案设计:综合运用单片机课程中所学到的理论知识,学生根据所选课题的任务、要求和条件进行总体方案的设计。 2. 硬件电路设计:对方案中以单片机为核心的电路进行设计计算,包括元器件的选择和电路参数的计算,并画出总体电路图。 3. 软件设计:根据已设计出的软件系统框图,用汇编语言或C51编制出各功能模块的子程序和整机软件系统的主程序。 4. 调试:在单片机EDA仿真软件环境Proteus下进行仿真设计并调试;或在单片机周立功实验箱上进行相关设计并调试。 四、课程设计要求 详见《单片机课程设计题目(一)》 《单片机课程设计题目(二)》 五、进度安排

电子定时闹钟毕业论文

电子定时闹钟毕业论文智能定时闹钟硬件设计

摘要 随着科技的快速发展和生活水平的不断提高,人们对时钟的精确度和实用性要求越来越高。本文采用宏晶单片机STC10F08XE,通过DS1302时钟芯片进行定时,并通过LCD 1602字符液晶显示器显示。采用C语言程序编写,将设计出更准确定时、更省电的数字时钟。单片机数字时钟具有设置时间、日期、星期的基本功能,并且能够显示年、月、日、时、分、秒、星期,温度。单片机数字钟不管在性能还是在样式上都发生了质的变化,实践证明单片机数字时钟具有更加准确性、精密性等功能。本设计是定时闹钟的设计,由单片机 AT89C51 芯片和宏晶单片机STC10F08XE为核心,辅以必要的电路,构成的一个单片机智能定时闹钟。用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计中采用单片机利用 AT89C51,它是低功耗、高性能的 CMOS 型 8 位单片机。 关键字:数字时钟;DS1302;LCD1602;STC10F08XE

Abstract In daily life, time is science, technology and everyday life is one of the most basic physics, we often deal with temporal clocks, such as hand watch, wall clock, even on a computer program, the clock on the phone can be generalized a clock display on the clock, along with the rapid development of technology and the continuous improvement of living standards, people on the clock's accuracy and practical demand is higher and higher. Based on the single chip microcomputer principle, USES the monolithic integrated circuit STC10F08XE series, through the hardware circuit and software production procedure formulation, will design a more accurate timing, electricity -saving digital clock, SCM in performance or digital clock no matter in style have undergone a qualitative change, digital clock has proved microcontroller more accuracy, precision sex etc. Function. This design is the design of timing alarm clock, the single chip microcomputer AT89C51 single chip microcomputer chip and macro crystal STC10F08XE as the core, with the necessary auxiliary circuit, constitute a single chip microcomputer intelligent timing of alarm clock . By single chip design system to be completed, because its main through the realization of the function of software programming to complete, then reduce the complexity of the hardware circuit, and the cost is reduced, so in this design using AT89C51 single-chip, it is low power, high-performance CMOS type eight microcontroller. Key Words:Digital clock ; DS1302; LCD1602;STC10F08XE

基于51单片机定时闹钟设计

课程设计任务书 系别:机电系 专业:电信0901 学生姓名: 课程设计题目:基于 51单片机定时闹钟设计 起迄日期: 6 月 4 日~ 6 月 17日 课程设计地点: 教学实验楼 B502 楼 指导教师: 下达任务书日期: 2012 年 6 月 4 日

目录 1.摘要....................................................错误!未定义书签。2.设计目的要求.............................................................23.设计实现方案.............................................................33.1系统总框图............................................................33.2原理及工作过程说明....................................................43.3元器件功能说明........................................................43.3.1AT89C51单片机....................................................43.3.21602LCD液晶显示器.................................................73.3.3其他重要元件.....................................................84.软件设计................................................................114.1程序流程图...........................................................124.2源代码...............................................................125.系统仿真................................................................226.心得体会................................................................357.参考文献................................................错误!未定义书签。

基于51单片机电子闹钟的设计_毕业设计论文

基于51单片机电子闹钟的设计 前言 20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高。同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间。所以有必要制作一个定时系统。随时提醒这些容易忘记时间的人。而钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等等。所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 随着生活水平的提高,人们越来越追求人性化的事物。传统的时钟已不能满足人们的需求。而现代的时钟不仅需要模拟电路技术和数字电路技术而且更需要单片机技术,增加数字钟的功能。利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,减小因元器件精度不够引起的误差,但是数字钟还是可以改进和提高如选用更精密的元器件。但与机械式时钟相比已经具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。 数字钟通过数字电路实现时、分、秒。数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。 多功能数字钟的应用非常普遍。由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行校时、定时等功能。输出设备显示器可以用液晶显示技术和数码管来显示技术。 本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89C51为核心元件同时采用LED数码管显示器动态显示“时”、“分”、“秒”的现代计时装置。另外具有校时功能,秒表功能,和定时器功能,利用单片机实现的数字时钟具有编程

相关文档
相关文档 最新文档