35时钟及日期天--河北工业大学.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
35时钟及日期天--河北工业大学

河北工业大学计算机硬件技术基础(MCS-51单片机系列) 课程设计任务书 学院 班级 设计人 学号____ 题目:在数码显示器上显示日期和时间(35)。 总体设计 1、题目功能 在MCS-51实验开发系统DICE-598H+的数码显示器上分别显示时间和日期,时间的形式为“hhmmss”,即“时分秒”的形式;日期的显示形式为“yymmdd”, 日期和时间可由用户设置。运行程序后开始显示时间,当按下按钮开关时,发出中断请求,显示日期;同样,再次按下按钮开关,则显示时间。 2、总体设计方案 ●由定时器为电子时钟定时。 ●设置标志位P0.6用来标识当前是显示时间(0)还是日期(1)。 ●当有中断请求时,根据标标志位的值,决定是将日期送入显示缓冲区还是将时间送入显示缓冲区,从而转换显示的内容。 三、硬件系统设计 1、资源分配 用一个P1.1(x2)口和一个k键作为标志位来实现日期和时间的切换。 六个LED显示器来分别显示时间的小时,分,秒以及日期的年月日。 分别用79h,7ah,7bh,7ch,7dh,7eh存入秒,分,时的六位数字,用71h 72h,73h,74h,75h,76h存入日,月,年的六位数字 2、如需连线,画出硬件电路图 本程序不需要连线 四、软件系统设计 1、软件模块设计和流程图 模块包括主程序运行模块,数据查表显示子模块,位选数值计算模块。 开始 2、程序清单,并加以必要的注释 SECOND EQU 30H MINITE EQU 31H HOUR EQU 32H DAY EQU 33H MONTH EQU 34H YEAR EQU 35H HOURK BIT P0.3 MINITEK BIT P0.4 SECONDK BIT P0.5 DAYK BIT P0.2 MONTHK BIT P0.1 YEARK BIT P0.0 DISPBUF EQU 40H DISPBIT EQU 51H T2SCNTA EQU 52H T2SCNTB EQU 53H DISPBUFB EQU 55H TEMP EQU 54H ORG 0000H LJMP START ORG 000BH LJMP INT_T0 START: MOV SECOND,#00H MOV MINITE,#00H MOV HOUR,#12 MOV DAY,#26 MOV MONTH,#06 MOV YEAR,#05 MOV DISPBIT,#00H MOV T2SCNTA,#00H MOV T2SCNTB,#00H MOV TEMP,#0FEH LCALL DISP MOV TMOD,#01H ;16位定时计数器 MOV TH0,#3CH ;以下为一秒的除那代码的时钟计数次数 MOV TL0,#0B0H SETB TR0 ;启动t0 SETB ET0 ;允许t0溢出中断 SETB EA ;cpu开中断 ;以下为检查按键p0.0道p0.5是否被按下,按下相应加一 WT: JB SECONDK,NK1 ;判断p0.5按下同时是否p0.4被按下 LCALL DELY10MS ;调用Lcall JB SECONDK,NK1 ;确定p0.5按下同时p0.4没被按下 INC SECOND ;自加一秒 MOV A,SECOND ;把自加后的值给累加器A CJNE A,#60,NS60 ;判断自加后给A的值是否为60秒,是则跳到NS60 MOV SECOND,#00H ;将60秒的秒变量清0,下次用 NS60:LCALL DISP ;长调用DISP JNB SECONDK,$ ;判断p0.5开关是否关闭,直到关闭 ;下面各段代码同理直到YEAR NK1: JB MINITEK,NK2 LCALL DELY10MS JB MINITEK,NK2 INC MINITE MOV A,MINITE CJNE A,#60,NM60 MOV MINITE,#00H NM60: LCALL DISP JNB MINITEK,$ NK2:JB HOURK,NK3 LCALL DELY10MS JB HOURK,NK3 INC HOUR MOV A,HOUR CJNE A,#24,NH24 MOV HOUR,#00H NH24: LCALL DISP JNB HOURK,$ NK3:JB DAYK,NK4 LCALL DELY10MS JB DAYK,NK4 INC DAY MOV A,DAY CJNE A,#30,DY30 MOV DAY,#00H DY30:LCALL DISP JNB DAYK,$

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档