单片机之电子时钟(带闹铃)

单片机之电子时钟(带闹铃)

ID:38621025

大小:98.00 KB

页数:8页

时间:2019-06-16

单片机之电子时钟(带闹铃)_第1页
单片机之电子时钟(带闹铃)_第2页
单片机之电子时钟(带闹铃)_第3页
单片机之电子时钟(带闹铃)_第4页
单片机之电子时钟(带闹铃)_第5页
资源描述:

《单片机之电子时钟(带闹铃)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数字电子技术实验报告(一)实验目的学习8051定时器时间计时处理、按键扫描及LED数码管显示的设计方法。(二)设计任务及要求利用实验平台上4个LED数码管,设计带有闹铃功能的数字时钟,要求:1.在4位数码管上显示当前时间。显示格式“时时分分”2.由LED闪动做秒显示。3.利用按键可对时间及闹玲进行设置,并可显示闹玲时间。当闹玲时间到蜂鸣器发出声响,按停止键使可使闹玲声停止。(三)工作原理及设计思路利用单片机定时器完成计时功能,定时器0计时中断程序每隔5ms中断一次并当作一个计数,每中断一次计数加1,当计数200次时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h

2、到了。为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要数据锁存器等较多硬件,可采用动态显示法实现LED显示。其显示电路如图1闹铃声由交流蜂鸣器产生,电路如图2,当P1.7输出不同频率的方波,.蜂鸣器便会发出不同的声音。(四)设计方案1.8数字电子技术实验报告软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具有

3、硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。2.数码管显示:方案一:静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。该方式每一位都需要一个8位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。方案二:动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符

4、才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。从节省I/O口和降低能耗出发,本设计采用方案二。(五)源程序ORG0000HMAIN:CLREA;程序初始化CLRPSW.3;选择寄存器组0CLRPSW.4MOVTMOD,#10H;定时器1,方式1,定时方式MOV50H,#00H;闹铃初始时间08:00MOV51H,#00H;分别对应分的低、高位,时的低、高位MOV52H,#08HMOV53H,#00HMOVR0,#00H;设置时间初值07:59MOVR1,#09H;分别对应分的低、高位,时的低

5、、高位MOVR2,#05HMOVR3,#07HMOVR4,#00HCLRTF1;清标志START:ACALLALARM;判断是否闹铃MOVR5,#02H;两层外循环,每层循环500msSTART1:MOVR7,#10;10次内循环,10*50ms=500msSTART2:ACALLDELAY;调用延时10msACALLDISPLAY;调用延时40msM0:JBP3.2,M1;是否设闹铃,查询3.2口,为一转到M1,为0设置闹铃ACALLSETALARMM1:JBP3.3,M2;是否设时间ACALLSETCLOCKM2:DJNZR7,START2;R7减1循环CPLP1.2;每500ms给

6、P1.2一个正负交替的电平信号DJNZR5,START1;R5为2,循环两次后为1sINCR0;R0加1CJNER0,#60,START;判断R0为60,跳转MOVR0,#00H;R0清零M3:CJNER1,#09H,L1;时间逻辑,如果为23:59分,则全部清零CJNER2,#05H,L2CJNER4,#02H,L3CJNER3,#03H,L48数字电子技术实验报告MOVR1,#00HMOVR2,#00HMOVR3,#00HMOVR4,#00HAJMPSTARTL1:INCR1;上面的几个分支AJMPSTARTL2:INCR2MOVR1,#00HAJMPSTARTL3:CJNER3,#

7、09H,L4INCR4MOVR3,#00HMOVR2,#00HMOVR1,#00HAJMPSTARTL4:INCR3MOVR2,#00HMOVR1,#00HAJMPSTARTDISPLAY:MOVDPTR,#TABLE;显示子程序,把TABLE的首地址送给DPTRMOVA,R1;将偏移量给AMOVCA,@A+DPTR;将对应地址中的量给AACALLBIT1;显示第一个字节,也就是分的低位MOVA,R2;显示第二个字节,分的高位MOV

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。