- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机之电子时钟(带闹铃)
(一) 实验目的
学习 8051定时器时间计时处理、按键扫描及 LED数码管显示的设计方法。
(二) 设计任务及要求
利用实验平台上 4 个 LED数码管, 设计带有闹铃功能的数字时钟,要求:
1. 在 4 位数码管上显示当前时间。显示格式“时时分分”
2. 由 LED闪动做秒显示。
3. 利用按键可对时间及闹玲进行设置,并可显示闹玲时间。当闹玲时间到蜂鸣器发
出声响,按停止键使可使闹玲声停止。
(三)工作原理及设计思路
利用单片机定时器完成计时功能,定时器 0 计时中断程序每隔 5ms 中断一次并当作一个计数,每中断一次计数加 1,当计数 200 次时,则表示 1s 到了,秒变量加 1,同理再判断是否 1min 钟到了,再判断是否 1h 到了。为了将时间在 LED 数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要数据锁存器等较多硬件,可采用动态显示法实现
LED显示。其显示电路如图 1
闹铃声由交流蜂鸣器产生,电路如图 2,当 P1.7 输出不同频率的方波,.蜂鸣器便会发出不同的声音。
(四)设计方案
1.软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。
2.数码管显示:
方案一:静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。该方式每一位都需要一个8 位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。
方案二:动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。
从节省I/O口和降低能耗出发,本设计采用方案二。
(五)源程序
ORG 0000H
MAIN: CLR EA ;程序初始化
CLR PSW.3 ;选择寄存器组0
CLR PSW.4
MOV TMOD,#10H ;定时器1,方式1,定时方式
MOV 50H,#00H ;闹铃初始时间 08:00
MOV 51H,#00H ;分别对应分的低、高位,时的低、高位
MOV 52H,#08H
MOV 53H,#00H
MOV R0,#00H ;设置时间初值 07:59
MOV R1,#09H ;分别对应分的低、高位,时的低、高位
MOV R2,#05H
MOV R3,#07H
MOV R4,#00H
CLR TF1 ;清标志
START: ACALL ALARM ;判断是否闹铃
MOV R5,#02H ;两层外循环,每层循环500ms
START1: MOV R7,#10 ;10次内循环,10*50ms=500ms
START2: ACALL DELAY ;调用延时 10ms
ACALL DISPLAY ;调用延时 40ms
M0: JB P3.2,M1 ;是否设闹铃,查询3.2口,为一转到M1,为0设置闹铃
ACALL SETALARM
M1: JB P3.3,M2 ;是否设时间
ACALL SETCLOCK
M2: DJNZ R7,START2 ;R7减1循环
CPL P1.2 ;每500ms给P1.2一个正负交替的电平信号
DJNZ R5,START1 ;R5为2,循环两次后为1s
INC R0
文档评论(0)