- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一.实验目的:
课程标志性内容的设计理解和综合运用,鼓励独立性设计和功能扩展的创新实践。
二.功能要求:
1.基本性要求
显示北京时间;
能够校准时间;
使用汇编语言;
时、分、秒之间以及年、月、日间以小数点分隔;
2 发挥性要求
显示公历日期
能够校准日期
运动秒表
闹钟功能
三.方案考虑:
硬件方案
采用6位LED数码管显示日期或者时间。
显示器的驱动可采用 “动态扫描驱动”的方式,用一片74LS244驱动。
用两个键盘实现时间和日期的调整。
用六个8550三极管驱动数码管
软件方案
“时钟”基准时间由单片机内部的定时中断提供,定时时间是“秒”的整除数,设为50ms。
用一个计数器对定时中断的次数进行计数,可实现“秒”定时,同理可以进行“分”﹑“时”定时,以及“日”﹑“月”﹑“年”定时。
动态扫描显示方式在更新显示内容时,因LED数码管余辉的存在可能会造成显示字符的模糊,新内容写入显示器之前将所有的LED数码管熄灭。
关于自动识别“月大﹑月小”和“平年﹑润年”问题的考虑
月大和月小
2月另外计算;
4月﹑6月﹑9月﹑11 月为月小30天,其余为月大31天。
平年和润年年号能被4整除的就是润年)
平年的2月为28天;
润年的2月为29天。
四.程序流程图
主程序流程图
主程序流程图
开始
开始
设置中断服务入口地址
初始化定时器T0的值和内存
调用显示子程序
定时器T0
定时器T0中断子程序
N
Y
N
Y
Y
N
N
Y
N
Y
N
N
Y
Y
N
Y
Y
N
N
Y
Y
N
子程序开始
重装T0计算初值
1s时间到?
SECOND=59S?
MINUTE=59m?
SECOND +1
SECOND=0,
MINUTE+1
MINUTE=0,HOUR+1
HOUR=23??
HOUR=0,DAY+1
MONTH=2?
闰年?
MONTH=4,6,9,11?
DAY=28?
DAY=29?
DAY=31?
DAY=30
中断返回
中断返回
DAY=0, MONTH+1
N
N
Y
Y
N
MONTH=0,YEAR= YEAR+1
YEAR= 99?
YEAR= 0
中断返回
MONTH=12? YEAR2?
显示子程序N
显示子程序
N
Y
N
Y
N
Y
N
Y
子程序开始
R7=00H?
R1 DAY低位,R2 DAY高位
R3 MONTH低位,R4 MONTH高位
R5 YEAR低位,R6 YEAR高位
R1 SECOND低位,R2 SECOND高位
R3 MINUTE低位,R4 MINUTE高位
R5 HOUR低位,R6 HOUR高位
FLASH_FLAG=03h或FLASH_FLAG=06h?
闪烁显示DAY(SECOND
FLASH_FLAG=02h或FLASH_FLAG=05h?
闪烁显示MONTH( MINUTE
FLASH_FLAG=01h或FLASH_FLAG=04h?
闪烁显示YEAR( HOUR
不闪烁显示MONTH MINUTE
不闪烁显示DAY(SECOND
不闪烁显示YEAR( HOUR
中断返回
外部中断1子程序
N
N
Y
Y
N
N
Y
Y
N
外部中断1
A进栈
R7=00H?
FLASH_FLAG=00H?
FLASH_FLAG=04H
FLASH_FLAG=06H
FLASH_FLAG=00H
FLASH_FLAG+1
FLASH_FLA=03H?G
FLASH_FLAG=00H
中断返回
按键是否松开?
外部中断0子程序
Y
Y
N
Y
N
Y
N
Y
Y
N
N
Y
N
外部中断0开始
进栈保护A
FLASH_FLAG=00H?
FLASH_FLAG=01H?
FLASH_FLAG=02H?
FLASH_FLAG=03H?
YEAR=99?
YEAR=YEAR+1
YEAR=0
MONTH=12? =12?
MONTH+1
MONTH=0
月调整算法参考定时器T0)
FLASH_FLAG=0FFH
Y
Y
N
Y
Y
N
Y
N
Y
N
Y
N
N
FLASH_FLAG=05H?
FLASH_FLAG=06H?
FLASH_FLAG=04H?
HOUR=24?
HOUR=0
MINUTE=60H?
MINUTE=0
MINUTE+1
SECOND=60?
SECOND=0
SECOND+1
中断返回
HOUR+1
五.电路原理图
电路原理图
电路原理图
元件清单:AT89S52 1片
74LS244 1个
7段共阳数码管 6个
12M晶振 1个
矩阵键盘按钮 3个
PNP8550 6个
电阻 10K 2个
3K 6个
3308个
瓷片电容
原创力文档


文档评论(0)