AT89C51单片机的数字时钟设计.ppt
《AT89C51单片机的数字时钟设计.ppt》由会员分享,可在线阅读,更多相关《AT89C51单片机的数字时钟设计.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、设计简介本设计利用Atmel公司的AT89C51单片机对电子时钟进行开发,设计了实现所需功能的硬件电路,应用汇编进行软件编程,并用Proteus软件进行仿真演示、验证。主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机80C51芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机的数字电子时钟。它的计时周期为24小时,显满刻度为“23时59分59秒”,且配有3个独立键盘,可以灵活地调节时间,并具有一定的扩展性。 二、设计背景十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟
2、表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!四、设计方案1、主程序主程序执行流程图如图1所示。主程序先对显示单元和定时器计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有建按下,则转入相应的功
3、能程序。 四、设计方案2、数码管显示模块 本设计的显示模块采用6位一体共阳极数码管,显示分为时钟显示模式,从右到左依次显示秒个位,秒十位,分个位,分十位,时个位,时十位;数码管显示的信息用6个内存单元存放,这6个内存单元为显示缓冲区,其中秒个位和秒十位,分个位和分十位,时个位和时十位分别由秒数据,分数据和小时数据分拆得到。四、设计方案3、定时器计数器T0中断服务程序 定时器计数器T0用于时间计时,选择方式1,重复定时,定时时间设为20MS,定时时间到则溢出中断,计50次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清零。分单元加到60的时候,则对时单元加1,同时分单元清零,时单元加到
4、24的时候则对时单元清零,标志一天时间计满,此时所以单元清零。在对各单元计数的同时,把它们的值放到存储器单元的制定位置 四、设计方案4、按键处理模块 按键处理设置为:如果没有按键,则为时钟模式,时钟正常走时.按键KEY1为工作模式键,用于时钟显示或调秒、调分、调时的功能切换选择。R3寄存器记录KEY1按键的次数,R3=0,显示时钟;R3=1,调秒;R3=2,调分;R3=3,调时。按键KEY2为增1键,对选定的被调项的当前值增1;按键KEY3为减1键,对选定的被调项的当前值减1五、硬件电路设计六、软件设计与程序代码 1、软件选择与介绍 Proteus7.8是一款电路分析实物仿真系统,可仿真各种电
5、路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统 。六、软件设计与程序代码 2、软件仿真电路全图 1.模式0显示时钟2.模式1第1次按KEY1键选择调秒3.模式2第2次按KEY1键选择调分4.模式3第3次按KEY1键选择调时六、软件设计与程序代码 3、程序代码KEY1 BIT P1.0KEY2 BIT P1.1KEY3 BIT P1.2CLK BIT P1.3LOAD BIT P1.4DIN BIT P1.5SECOND DATA 30HMINUTE DATA 31HHOUR DATA 32H ORG 0000H AJMP MAIN ORG 000BH AJM
6、P TIMER0MAIN:MOV SP,#60H MOV TMOD,#01H;定时器T0方式设置 MOV TH0,#0B1H;定时器T0装入初值20ms MOV TL0,#0E0H SETB ET0;T0中断允许 SETB EA;总中断允许 MOV R2,#50;T0中断为1s SETB TR0;启动T0 MOV SECOND,#00H MOV MINUTE,#00H MOV HOUR,#08H ;初始化时间8点00分00秒 MOV A,HOUR时间值送显示缓冲区79H7EH ANL A,#0F0H SWAP A MOV 79H,A MOV A,HOUR ANL A,#0FH MOV 7AH,
7、A MOV A,MINUTE ANL A,#0F0H SWAP A MOV 7BH,A MOV A,MINUTE ANL A,#0FH MOV 7CH,A MOV A,SECOND ANL A,#0F0H SWAP A MOV 7DH,A MOV A,SECOND ANL A,#0FH MOV 7EH,A MOV R3,#00H;R3初值设为0,显示时钟 ACALL INI7219;调用7219初始化子程序I NI7219:MOV 50H,#0FH;显示测试寄存器设置 MOV 51H,#00H;非测试模式,正常显示MOV R0,#50HACALL SEND7219MOV 50H,#0CH;关闭
8、显示寄存器MOV 51H,#01H;正常显示MOV R0,#50HACALL SEND7219MOV 50H,#0BH;扫描界限寄存器MOV 51H,#05H;6位显示MOV R0,#50HACALL SEND7219MOV 50H,#0AH;亮度寄存器,其值为000EH,设置为0AH MOV 51H,#09HMOV R0,#50HACALL SEND7219MOV 50H,#09H;译码方式寄存器MOV 51H,#0FFH;8位显示全部B译码MOV R0,#50HACALL SEND7219RETDISPLAY:MOV 50H,#01H ;显示子程序 MOV 51H,79H;显示缓冲区设在7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AT89C51 单片机 数字 时钟 设计
限制150内