单片机课堂展示基于AT89C51单片机的数字时钟设计课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片机课堂展示基于AT89C51单片机的数字时钟设计课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课堂 展示 基于 AT89C51 数字 时钟 设计 课件
- 资源描述:
-
1、基于基于AT89C51AT89C51单片机的数字时钟设计单片机的数字时钟设计小组成员:设计简介一设计背景二AT89C51单片机简介 三设计方案四硬件电路设计五软件设计与程序代码 六主要内容一、设计简介本设计利用Atmel公司的AT89C51单片机对电子时钟进行开发,设计了实现所需功能的硬件电路,应用汇编进行软件编程,并用Proteus软件进行仿真演示、验证。主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机80C51芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机的数字电子时钟。它的计时周期为24小时,显满刻度为“23时59分59秒”,且配有3个独立键盘,可以灵活
2、地调节时间,并具有一定的扩展性。二、设计背景十一世纪的今天,最具代表性的计时产品就是电子万年历,十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表
3、的走时月差从分级缩小到秒级。高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到历),使计时产品的走时日差从分级缩小到1/6001/600万秒,从原万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需及其他日常附属信息的显示功能,它更符合消费者的生
4、活需求!求!四、设计方案1、主程序主程序执行流程图如图主程序执行流程图如图1所示。主程所示。主程序先对显示单元和定时器计数器初始化,序先对显示单元和定时器计数器初始化,然后重复调用数码管显示模块和按键处然后重复调用数码管显示模块和按键处理模块,当有建按下,则转入相应的功理模块,当有建按下,则转入相应的功能程序。能程序。四、设计方案2、数码管显示模块 本设计的显示模块采用本设计的显示模块采用6 6位一体共阳极数码管,显位一体共阳极数码管,显示分为时钟显示模式,从右到左依次显示秒个位,秒示分为时钟显示模式,从右到左依次显示秒个位,秒十位,分个位,分十位,时个位,时十位;数码管显十位,分个位,分十位
5、,时个位,时十位;数码管显示的信息用示的信息用6 6个内存单元存放,这个内存单元存放,这6 6个内存单元为显示个内存单元为显示缓冲区,其中秒个位和秒十位,分个位和分十位,时缓冲区,其中秒个位和秒十位,分个位和分十位,时个位和时十位分别由秒数据,分数据和小时数据分拆个位和时十位分别由秒数据,分数据和小时数据分拆得到。得到。四、设计方案3、定时器计数器T0中断服务程序 定时器计数器定时器计数器T0用于时间计时,选择方式用于时间计时,选择方式1,重复,重复定时,定时时间设为定时,定时时间设为20MS,定时时间到则溢出中断,定时时间到则溢出中断,计计50次则对秒单元加次则对秒单元加1,秒单元加到,秒单
6、元加到60则对分单元加则对分单元加1,同时秒单元清零。分单元加到,同时秒单元清零。分单元加到60的时候,则对时的时候,则对时单元加单元加1,同时分单元清零,时单元加到,同时分单元清零,时单元加到24的时候则的时候则对时单元清零,标志一天时间计满,此时所以单元清对时单元清零,标志一天时间计满,此时所以单元清零。在对各单元计数的同时,把它们的值放到存储器零。在对各单元计数的同时,把它们的值放到存储器单元的制定位置单元的制定位置 四、设计方案4、按键处理模块 按键处理设置为:如果没有按键,则为时按键处理设置为:如果没有按键,则为时钟模式,时钟正常走时钟模式,时钟正常走时.按键按键KEY1KEY1为工
7、作模为工作模式键,用于时钟显示或调秒、调分、调时的式键,用于时钟显示或调秒、调分、调时的功能切换选择。功能切换选择。R3R3寄存器记录寄存器记录KEY1KEY1按键的次按键的次数,数,R3=0R3=0,显示时钟;,显示时钟;R3=1R3=1,调秒;,调秒;R3=2R3=2,调分;调分;R3=3R3=3,调时。按键,调时。按键KEY2KEY2为增为增1 1键,对键,对选定的被调项的当前值增选定的被调项的当前值增1;1;按键按键KEY3KEY3为减为减1 1键,对选定的被调项的当前值减键,对选定的被调项的当前值减1 1五、硬件电路设计六、软件设计与程序代码 1、软件选择与介绍 Proteus7.8
8、是一款电路分析实是一款电路分析实物仿真系统,可仿真各种电路和物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,并支持单片机,元件库齐全,使用方便,是不可多得的专业的使用方便,是不可多得的专业的单片机软件仿真系统单片机软件仿真系统。六、软件设计与程序代码 2、软件仿真电路全图 1.模式0显示时钟显示时钟2.2.模式模式1 1第第1 1次按次按KEY1KEY1键选择调秒键选择调秒3.3.模式模式2 2第第2 2次按次按KEY1KEY1键选择调分键选择调分4.4.模式模式3 3第第3 3次按次按KEY1KEY1键选择调时键选择调时六、软件设计与程序代码 3、程序代码KEY1 BIT P1.
9、0KEY1 BIT P1.0KEY2 BIT P1.1KEY2 BIT P1.1KEY3 BIT P1.2KEY3 BIT P1.2CLK BIT P1.3CLK BIT P1.3LOAD BIT P1.4LOAD BIT P1.4DIN BIT P1.5DIN BIT P1.5SECOND DATA 30HSECOND DATA 30HMINUTE DATA 31HMINUTE DATA 31HHOUR DATA 32HHOUR DATA 32H ORG 0000H ORG 0000H AJMP MAIN AJMP MAIN ORG 000BH ORG 000BH AJMP TIMER0 A
10、JMP TIMER0MAIN:MOV SP,#60HMAIN:MOV SP,#60H MOV TMOD,#01H MOV TMOD,#01H;定时器;定时器T0T0方式设置方式设置 MOV TH0,#0B1HMOV TH0,#0B1H;定时器;定时器T0T0装入装入初值初值20ms20ms MOV TL0,#0E0H MOV TL0,#0E0H SETB ET0 SETB ET0;T0T0中断允许中断允许 SETB EA SETB EA;总中断允许;总中断允许 MOV R2,#50 MOV R2,#50;T0T0中断为中断为1s1s SETB TR0 SETB TR0;启动;启动T0T0 MO
11、V SECOND,#00H MOV SECOND,#00H MOV MINUTE,#00H MOV MINUTE,#00H MOV HOUR,#08H MOV HOUR,#08H ;初始化时间;初始化时间8 8点点0000分分0000秒秒 MOV A,HOUR MOV A,HOUR时间值送显示缓时间值送显示缓冲区冲区79H7EH79H7EH ANL A,#0F0H ANL A,#0F0H SWAP A SWAP A MOV 79H,A MOV 79H,A MOV A,HOURMOV A,HOUR ANL A,#0FH ANL A,#0FH MOV 7AH,A MOV 7AH,A MOV A,M
12、INUTE MOV A,MINUTE ANL A,#0F0H ANL A,#0F0H SWAP A SWAP A MOV 7BH,A MOV 7BH,A MOV A,MINUTE MOV A,MINUTE ANL A,#0FH ANL A,#0FH MOV 7CH,A MOV 7CH,A MOV A,SECOND MOV A,SECOND ANL A,#0F0H ANL A,#0F0H SWAP A SWAP A MOV 7DH,A MOV 7DH,A MOV A,SECOND MOV A,SECOND ANL A,#0FH ANL A,#0FH MOV 7EH,A MOV 7EH,A MOV
13、 R3,#00H MOV R3,#00H;R3R3初值设为初值设为0 0,显示时钟显示时钟 ACALL INI7219 ACALL INI7219;调用调用72197219初始化子程序初始化子程序I NI7219:MOVNI7219:MOV 50H,#0FH50H,#0FH;显显示示测试测试寄存器寄存器设设置置 MOV 51H,#00HMOV 51H,#00H;非非测试测试模式,正常模式,正常显显示示MOV R0,#50HMOV R0,#50HACALL SEND7219ACALL SEND7219MOVMOV 50H,#0CH50H,#0CH;关闭显关闭显示寄存器示寄存器MOV 51H,#0
14、1HMOV 51H,#01H;正常;正常显显示示MOV R0,#50HMOV R0,#50HACALL SEND7219ACALL SEND7219MOV 50H,#0BHMOV 50H,#0BH;扫扫描界限寄存器描界限寄存器MOV 51H,#05HMOV 51H,#05H;6 6位位显显示示MOV R0,#50HMOV R0,#50HACALL SEND7219MOV 50H,#0AH;亮度寄存器,其值为000EH,设置为0AH MOV 51H,#09HMOV 51H,#09HMOV R0,#50HMOV R0,#50HACALL SEND7219ACALL SEND7219MOV 50H,
15、#09HMOV 50H,#09H;译码方式寄存器;译码方式寄存器MOV 51H,#0FFHMOV 51H,#0FFH;8 8位显示全部位显示全部B B译码译码MOV R0,#50HMOV R0,#50HACALL SEND7219ACALL SEND7219RETRETDISPLAY:MOV 50H,#01HDISPLAY:MOV 50H,#01H;显示;显示子程序子程序 MOV 51H,79H MOV 51H,79H;显示;显示缓冲区设在缓冲区设在79H7EH79H7EH单元单元MOV R0,#50HMOV R0,#50H;其内容从左至右一次;其内容从左至右一次显示在数码管显示器上显示在数码
16、管显示器上ACALL SEND7219ACALL SEND7219MOV 50H,#02HMOV 50H,#02HMOV 51H,7AHMOV 51H,7AH MOV R0,#50H MOV R0,#50HACALL SEND7219ACALL SEND7219MOV 50H,#03HMOV 50H,#03HMOV 51H,7BHMOV 51H,7BHMOV R0,#50HMOV R0,#50HACALL SEND7219ACALL SEND7219MOV 50H,#04HMOV 50H,#04HMOV 51H,7CHMOV 51H,7CHMOV R0,#50HMOV R0,#50HACALL
展开阅读全文