数码管电子时钟.docx
- 文档编号:1226937
- 上传时间:2022-10-19
- 格式:DOCX
- 页数:42
- 大小:231.35KB
数码管电子时钟.docx
《数码管电子时钟.docx》由会员分享,可在线阅读,更多相关《数码管电子时钟.docx(42页珍藏版)》请在冰豆网上搜索。
数码管电子时钟
单片机大作业
——电子日历时钟的制作
班级:
姓名:
学号:
编号:
07
一、题目及功能要求
1.制作一个电子日历时钟,使用汇编语言进行软件编程
实现功能.2.
____________________________________________________________________________________________
(1)显示北京时间并能校准
(2)时、分、秒之间以及年、月、日之间以小数点隔开
(3)显示公历日期并能校准,能够自动识别“闰年”以及“大月、小月”
(4)运动秒表,能够后台计时,秒表精确到0.05S
(5)闹钟功能,有闹钟开关,并能显示当前闹钟是否开启
(6)整点报时提醒
二、硬件方案
1.AT89S52最小系统
2.显示电路采用动态扫描驱动电路,AT89S52的P0口连接74LS244总线驱动器,输出信号利用三极管8550进行放大,通过P1口对数码管进行段选扫描,AT89S52的P1.2~P1.7口对数码管进行位选扫描
3.两个按键开关,分别接AT89S52的两个外部中断引脚
4.AT89S52的P2.0口输出经三极管9012放大,驱动有源蜂鸣器发声
三、电路原理图
四、系统元件布局、布线图
1
____________________________________________________________________________________________
元器件清单五、
型号及标称值恢复现场
数量
AT89S52
1
HD74LS244系统初始化
1
8550晶体管中断返回
6
9012晶体管
1
蜂鸣器(有源)Y
整点?
提示音
1
10uF电解电容
1
7段数码管(共阳)
6
电阻3KN
9
电阻200闹钟到?
8
4.7K电阻
1
按钮开关N
3
12M晶振Y
1
瓷介电容30pF闹铃提示音
2
软件方案六、0中断提供,设置为最高优先级,定时器定时器“时钟”基准时间由.1AT89S5202
____________________________________________________________________________________________
设为工作方式1,即16进制计数器方式,计数初值设为15536,即可实现0.05s中断一次,连续中断20次即可实现一秒定时。
2.由于使用较多数码管,显示模块使用动态扫描方式,定义全局变量,保存各个数位的BCD码,通过查表,将字模送到P0口进行输出;为了显示闹钟的状态,设置了另一字模数据表,在显示前进行判断,若为闹钟开关设置状态则调用此字模数据表。
3.按键中断的时候,在2个按键都没按下的状态,2个中断引脚都为低电平,则一直调用中断0的子程序,每次进入中断0子程序中便检测中断1的引脚是否为高电平,即检测开关KEY1是否按下;相反,在按下KEY0时,进入中断1子程序,每次进入中断1子程序都检测中断0的引脚是否为高电平,为高电平则表示已按下。
4.用寄存器R7来记录当前切换的功能,分别为,0-时间;1-日期;2-闹钟;3-闹钟开关;4-秒表。
5.秒表的实现,采用基准时钟作为秒表时钟源,精度可以达到0.05s。
6.闹钟的实现,在主程序中,循环判断闹钟设置的时分与当前时分是否相等,闹钟持续1分钟
7.整点报时的实现,在主程序中,先判断当前时间的秒,若为0再判断分,再为0则使蜂鸣器嘀一声,循环判断。
七、程序框图
1.主程序
主程序
中断子程序定时器2.03
____________________________________________________________________________________________
中定时器0断子程序保护现场重载计数初值Y
秒表?
秒表模块N
N
秒?
到1Y
或秒加1向前进位
03.外部中断子程序4
____________________________________________________________________________________________
中断外部INT0保护PswNYYY初始化秒表外部INT1保护psw带显示延时NKey0秒表模式设置闹钟闪烁切换模式
、中断
寄存器A
带显示延时消抖Key1有闪烁?
调整模式寄存器、A按下?
Y?
N
?
按下Y
NYY暂停Y打开滴一声提示
切换显示模式
秒表模式/继续计时/关闭闹钟
?
N
进入秒表?
后台计时N
调整时间调整日期调整闹钟?
NA寄存器、
?
N?
N?
NA寄存器
时间调整
日期、闹
钟、闹钟设置、秒
日期调整
表显示循
环切换YY闪烁循环切换恢复psw退出中断
闹钟调整
提示音滴
、psw恢复
中断退出
Y
5
____________________________________________________________________________________________
4.外部中断1子程序
系统使用说明八、
,闹钟”“10.06.06,日期--“00.00.00”—1.接通电源自动复位,读取初始状态,时钟”。
—”,秒表“00.00.0006.00.00—“”,闹钟状态—“OFF/计时暂停/为“确定计时开始/.按键KEY1为“切换功能/调节”按钮,按键KEY02闹钟开关按钮“时”数码管闪烁,此时按键进入时校准状态,电子时钟:
按KEY0.3第一功能----可切换到“分”设置,,按KEY0KEY1键可以调节小时,“时”调节范围为00~24。
调节范围为00~5900~59调节范围为再按KEY0可切换到“秒”设置,可以切换到电子日历功能。
KEY1第二功能----电子日历:
在电子时钟功能下,按.4“日”进行校准,校准方式同电子时钟..进入电子日历功能,可以对“年”“月”6
____________________________________________________________________________________________
的校准方式一样,自行摸索。
5.第三功能----闹钟设置:
在电子日历功能下,按KEY1可以切换到闹钟设置功能。
闹钟的设置同电子时钟的设置一样。
6.第四功能----闹钟开关:
在闹钟设置功能下,按KEY1可以切换到闹钟开关设置。
默认状态为关闭闹钟功能,显示“OFF”,按KEY0可以调节闹钟开关,打开闹钟功能则显示“ON”。
闹钟设置为“ON”时,最后一个数码管的小数点会亮起,可以在任何功能状态下提示闹钟功能已开启。
7.第五功能----秒表:
在闹钟设置功能下,按KEY1可以切换到秒表功能。
进入秒表功能,按KEY0开始计时,再按KEY0则暂停计时,在秒表计时的时候按KEY1可以切换到其他功能,而秒表则在后台计时,在秒表暂停时按KEY1可以将秒表清零。
九、体会
第一次使用AtmelDesignerWinter09布出一个完整的PCB制板图,并用覆铜板做成实物,最大的体会是:
软件能画出来的图,我们不一定就能把这样的电路板做出来。
布线时要考虑的因素除整体布局、飞线数目外,最重要的是线的宽度、线与线的间距、焊盘的大小。
唯有线宽合适、间距合理才能做出符合要求的电路板。
刚制成的电路板要先使用万用表检测各导线的连接情况,解决断路、短路的问题之后方能进行焊接。
这样做的好处是,保证了调试程序时不会受硬件接触不良等情况的影响。
由于第一次尝试完全使用汇编语言对AT89S52进行编程操作,对汇编语言的陌生给前期编程工作带来诸多不便。
汇编语言不同于C或其它高级语言,程序间的跳转,各种寄存器的压栈出栈都需要人工考虑,而这种疏漏编译器也不会给出任何提示,于是往往一些大意的疏忽,程序便无法达到预期的效果。
加之没有相关条件使用在线调试,也给故障排除带来一些障碍。
对此的体会是,确定是程序出现问题时,优先往程序间的跳转条件、重要寄存器等的现场保护、循环退出的条件方面考虑,寻找原因。
由于此次硬件电路设计采用低电平导通的PNP三极管,和74LS244电平驱动器,也没有将IO口做通用数据传输口用,故不需考虑上拉电阻的选用及将相应管脚写入高电平以正确接收数据的问题。
当然在调试的过程中合理的使用软件仿真机,熟练的设置程序断点,同时观察单片机各寄存器值的变化,可以极大方便我们查找程序漏洞,解决问题。
在书写代码的过程中,应该注意代码的规范化,尤其是使用汇编编程时,必须加上必要的注释,方便程序阅读及故障排查。
对于需要使用到的各个变量,必须在程序开头集中定义存储位置,以求一目了然,在新增变量的时候也不至于出现存储单元被重复使用而导致数据丢失的情况。
最后,看着忙碌数日得来的劳动成果乖乖的工作,确实蛮有成就感。
希望今后有更多的机会进行这样的实践实验。
7
____________________________________________________________________________________________
十、附录
;AT89S52CLOCK_FINAL.asm
;(ElectronicCalendarandClock)
;ReferenceforGrade2008,s.c.u.t.
;Key0(forshift/adjust)connectedtoINT1
;Key1(forun-flash/flash)connectedtoINT0
;学生姓名:
黄锦波,黄卓佳
;学生学号:
200830240380,200830240434
;分组编号:
007
;变量定义
TICK_CNTEQU20H;T0倍乘
;------------------
SECOND_BCDEQU21H;时间记录
MINUTE_BCDEQU22H
HOUR_BCDEQU23H
;------------------
DAY_BCDEQU24H;日期记录
MONTH_BCDEQU25H
YEAR_BCDEQU26H
;------------------
FLASH_FLAGEQU27H;是否闪烁
DIS_FLAGEQUR7;当前显示内容标志;DIS_FLAG:
0-时间;1-日期;2-闹钟;3-闹钟开关;4-秒表
;-----------------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数码管 电子 时钟