AT89C51单片机的数字时钟设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A Pera Global Company © PERA China
二、设计背景
十一世纪的今天,最具代表性的计时产品就是电子万年历, 它是近代世界钟表业界的第三次革命。
第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率 源使钟表的走时差从分级缩小到秒级,代表性的产品就是带 有摆或摆轮游丝的机械钟或表。
SETB TR0
;启动T0
MOV SECOND,#00H
MOV MINUTE,#00H
MOV HOUR,#08H ;初始化时间8
点00分00秒
MOV A,HOUR 时间值送显示缓
冲区79H~7EH
ANL A,#0F0H
SWAP A
MOV 79H,A
A Pera Global Company © PERA China
MOV A,HOUR ANL A,#0FH MOV 7AH,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初始化子程序
ORG 0000H AJMP MAIN ORG 000BH AJMP TIMER0
MAIN: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
A Pera Global Company © PERA China
四、设计方案
4、按键处理模块
按键处理设置为:如果没有按键,则为时 钟模式,时钟正常走时.按键KEY1为工作模式 键,用于时钟显示或调秒、调分、调时的功 能切换选择。R3寄存器记录KEY1按键的次数, R3=0,显示时钟;R3=1,调秒;R3=2,调分; R3=3,调时。按键KEY2为增1键,对选定的被 调项的当前值增1;按键KEY3为减1键,对选定 的被调项的当前值减1
单片机软件仿真系统 。
A Pera Global Company © PERA China
六、软件设计与程序代码
1.模式0
2、软件仿真电路全图
显示时钟
A Pera Global Company © PERA China
2.模式1
第1次按KEY1键选择调秒
A Pera Global Company © PERA China
A Pera Global Company © PERALeabharlann BaiduChina
四、设计方案
3、定时器计数器T0中断服务程序
定时器计数器T0用于时间计时,选择方式1,重复 定时,定时时间设为20MS,定时时间到则溢出中断, 计50次则对秒单元加1,秒单元加到60则对分单元加1, 同时秒单元清零。分单元加到60的时候,则对时单元 加1,同时分单元清零,时单元加到24的时候则对时 单元清零,标志一天时间计满,此时所以单元清零。 在对各单元计数的同时,把它们的值放到存储器单元 的制定位置
主要内容
一 设计简介 二 设计背景 三 AT89C51单片机简介 四 设计方案 五 硬件电路设计 六 软件设计与程序代码
A Pera Global Company © PERA China
一、设计简介
本设计利用Atmel公司的AT89C51单片机对 电子时钟进行开发,设计了实现所需功能的 硬件电路,应用汇编进行软件编程,并用 Proteus软件进行仿真演示、验证。主要介绍 用单片机内部的定时/计数器来实现电子时钟 的方法,本设计由单片机80C51芯片和LED数 码管为核心,辅以必要的电路,构成了一个 单片机的数字电子时钟。它的计时周期为24 小时,显满刻度为“23时59分59秒”,且配 有3个独立键盘,可以灵活地调节时间,并具 有一定的扩展性。
A Pera Global Company © PERA China
四、设计方案
2、数码管显示模块
本设计的显示模块采用6位一体共阳极数码管,显 示分为时钟显示模式,从右到左依次显示秒个位,秒 十位,分个位,分十位,时个位,时十位;数码管显 示的信息用6个内存单元存放,这6个内存单元为显示 缓冲区,其中秒个位和秒十位,分个位和分十位,时 个位和时十位分别由秒数据,分数据和小时数据分拆 得到。
第二次革命是石英晶体振荡器的应用,发明了走时精度更 高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。
第三次革命就是单片机数码计时技术的应用(电子万年 历),使计时产品的走时日差从分级缩小到1/600万秒,从原 有传统指针计时的方式发展为人们日常更为熟悉的夜光数字 显示方式,直观明了,并增加了全自动日期、星期、温度以 及其他日常附属信息的显示功能,它更符合消费者的生活需 求!
3.模式2
第2次按KEY1键选择调分
A Pera Global Company © PERA China
4.模式3
第3次按KEY1键选择调时
A Pera Global Company © PERA China
六、软件设计与程序代码
3、程序代码
KEY1 BIT P1.0 KEY2 BIT P1.1 KEY3 BIT P1.2 CLK BIT P1.3 LOAD BIT P1.4 DIN BIT P1.5 SECOND DATA 30H MINUTE DATA 31H HOUR DATA 32H
A Pera Global Company © PERA China
四、设计方案
1、主程序
主程序执行流程图如图1所示。主程 序先对显示单元和定时器计数器初始化, 然后重复调用数码管显示模块和按键处 理模块,当有建按下,则转入相应的功 能程序。
A Pera Global Company © PERA China
A Pera Global Company © PERA China
五、硬件电路设计
A Pera Global Company © PERA China
六、软件设计与程序代码
1、软件选择与介绍
Proteus7.8是一款电路分析实 物仿真系统,可仿真各种电路和 IC,并支持单片机,元件库齐全, 使用方便,是不可多得的专业的
二、设计背景
十一世纪的今天,最具代表性的计时产品就是电子万年历, 它是近代世界钟表业界的第三次革命。
第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率 源使钟表的走时差从分级缩小到秒级,代表性的产品就是带 有摆或摆轮游丝的机械钟或表。
SETB TR0
;启动T0
MOV SECOND,#00H
MOV MINUTE,#00H
MOV HOUR,#08H ;初始化时间8
点00分00秒
MOV A,HOUR 时间值送显示缓
冲区79H~7EH
ANL A,#0F0H
SWAP A
MOV 79H,A
A Pera Global Company © PERA China
MOV A,HOUR ANL A,#0FH MOV 7AH,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初始化子程序
ORG 0000H AJMP MAIN ORG 000BH AJMP TIMER0
MAIN: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
A Pera Global Company © PERA China
四、设计方案
4、按键处理模块
按键处理设置为:如果没有按键,则为时 钟模式,时钟正常走时.按键KEY1为工作模式 键,用于时钟显示或调秒、调分、调时的功 能切换选择。R3寄存器记录KEY1按键的次数, R3=0,显示时钟;R3=1,调秒;R3=2,调分; R3=3,调时。按键KEY2为增1键,对选定的被 调项的当前值增1;按键KEY3为减1键,对选定 的被调项的当前值减1
单片机软件仿真系统 。
A Pera Global Company © PERA China
六、软件设计与程序代码
1.模式0
2、软件仿真电路全图
显示时钟
A Pera Global Company © PERA China
2.模式1
第1次按KEY1键选择调秒
A Pera Global Company © PERA China
A Pera Global Company © PERALeabharlann BaiduChina
四、设计方案
3、定时器计数器T0中断服务程序
定时器计数器T0用于时间计时,选择方式1,重复 定时,定时时间设为20MS,定时时间到则溢出中断, 计50次则对秒单元加1,秒单元加到60则对分单元加1, 同时秒单元清零。分单元加到60的时候,则对时单元 加1,同时分单元清零,时单元加到24的时候则对时 单元清零,标志一天时间计满,此时所以单元清零。 在对各单元计数的同时,把它们的值放到存储器单元 的制定位置
主要内容
一 设计简介 二 设计背景 三 AT89C51单片机简介 四 设计方案 五 硬件电路设计 六 软件设计与程序代码
A Pera Global Company © PERA China
一、设计简介
本设计利用Atmel公司的AT89C51单片机对 电子时钟进行开发,设计了实现所需功能的 硬件电路,应用汇编进行软件编程,并用 Proteus软件进行仿真演示、验证。主要介绍 用单片机内部的定时/计数器来实现电子时钟 的方法,本设计由单片机80C51芯片和LED数 码管为核心,辅以必要的电路,构成了一个 单片机的数字电子时钟。它的计时周期为24 小时,显满刻度为“23时59分59秒”,且配 有3个独立键盘,可以灵活地调节时间,并具 有一定的扩展性。
A Pera Global Company © PERA China
四、设计方案
2、数码管显示模块
本设计的显示模块采用6位一体共阳极数码管,显 示分为时钟显示模式,从右到左依次显示秒个位,秒 十位,分个位,分十位,时个位,时十位;数码管显 示的信息用6个内存单元存放,这6个内存单元为显示 缓冲区,其中秒个位和秒十位,分个位和分十位,时 个位和时十位分别由秒数据,分数据和小时数据分拆 得到。
第二次革命是石英晶体振荡器的应用,发明了走时精度更 高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。
第三次革命就是单片机数码计时技术的应用(电子万年 历),使计时产品的走时日差从分级缩小到1/600万秒,从原 有传统指针计时的方式发展为人们日常更为熟悉的夜光数字 显示方式,直观明了,并增加了全自动日期、星期、温度以 及其他日常附属信息的显示功能,它更符合消费者的生活需 求!
3.模式2
第2次按KEY1键选择调分
A Pera Global Company © PERA China
4.模式3
第3次按KEY1键选择调时
A Pera Global Company © PERA China
六、软件设计与程序代码
3、程序代码
KEY1 BIT P1.0 KEY2 BIT P1.1 KEY3 BIT P1.2 CLK BIT P1.3 LOAD BIT P1.4 DIN BIT P1.5 SECOND DATA 30H MINUTE DATA 31H HOUR DATA 32H
A Pera Global Company © PERA China
四、设计方案
1、主程序
主程序执行流程图如图1所示。主程 序先对显示单元和定时器计数器初始化, 然后重复调用数码管显示模块和按键处 理模块,当有建按下,则转入相应的功 能程序。
A Pera Global Company © PERA China
A Pera Global Company © PERA China
五、硬件电路设计
A Pera Global Company © PERA China
六、软件设计与程序代码
1、软件选择与介绍
Proteus7.8是一款电路分析实 物仿真系统,可仿真各种电路和 IC,并支持单片机,元件库齐全, 使用方便,是不可多得的专业的