- 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天。
四.程序流程图
外部中断1子程序
外部中断0子程序
五.电路原理图
元件清单:AT89S52 1片
74LS244 1个
7段共阳数码管 6个
12M晶振 1个
矩阵键盘按钮 3个
PNP8550 6个
电阻 10K 2个
3K 6个
330 8个
瓷片电容 30pF 2个
电解电容 10uF 1个
6针排针 1个
系统的使用和操作说明
用K1调节调整标志位,K0调节时间日期切换和时间日期修改,K2复位
六、课程设计总结
通过这次课程设计,我们学到了很多书本上学不到的东西,也深刻的认识到自己对知识的掌握和运用还远远不足,这次课程设计也锻炼了我们独立思考问题的能力以及如何去检测解决问题,提高了我们的实际动手能力,积累了一些做课程设计的经验。一周的课程设计,也起到了对所学知识的综合提高的作用,让我们对所学知识不仅仅是感性上的认识,对我们今后的学习起到启发作用。
附:源代码
TICK_CNT EQU 40H ;T0溢出计数器
SECOND EQU 41H ;存储数据用真值,未用BCD码
MINUTE EQU 42H
HOUR EQU 43H
DAY EQU 44H
MONTH EQU 45H
YEAR EQU 46H
YUSHU EQU 47H ;存放余数
FLASH_FLAG EQU 27H ;时间日期调整标志
;R7: 0-时间;1-日期
;中断向量表
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP EX0_INT
ORG 000BH
LJMP T0_INT
ORG 0013H
LJMP EX1_INT
;主程序
ORG 0030H
MAIN: NOP
;初始化堆栈
MOV SP,#60H
;初始化变量
MOV SECOND,#0
MOV MINUTE,#0
MOV HOUR,#0
MOV DAY,#21
MOV MONTH,#1
MOV YEAR,#96
MOV FLASH_FLAG,#00H
MOV R7,#00H
;
MOV TL0,#0B0H ; 定时50ms
MOV TH0,#3CH
MOV TICK_CNT,#20 ;装计数初值(1s计数器)
MOV TMOD,#01H
SETB ET0
SETB EX0
SETB EX1
SETB EA ;开中断
SETB PX0
SETB PX1 ;设置中断优先级
SETB TR0 ; 启动定时器T0
LOPP:LCALL DISPLAY ;调用显示子程序
原创力文档


文档评论(0)