基于单片机at89s51控制的数字时钟课程设计报告内容摘要:

11 MOV 72H,08。 初始化日期 MOV 71H,3 MOV 70H,20 MOV 65H,12。 初始化定时时间 12:00:20 MOV 64H,0 MOV 63H,20 MOV 62H,00。 初始化秒表 00: MOV 61H,00 MOV 60H,00 MOV 50H,100。 1s 定时 100*10ms MOV 51H,20。 200ms 闪烁计时 MOV 52H,10。 秒表计数器 MOV 53H,5。 每放一个音时延时 5ms MOV 58H,1。 存放音乐表的指针 MOV TH0,0D8H。 T0 定义为 10ms 中断 MOV TL0,0F0H MOV TMOD,11H。 定时器工作在方式 1 MOV IP,2。 定时器 0 高优先级 MOV IE,8FH。 开中断 SETB IT0。 外部中断为边缘触发 SETB IT1。 外部中断为边缘触发 SETB TR0。 开定时器 0 MOV 20H,0。 SETB 00H。 设置成处在时间显示状态 00H 为时间显示标志, 01h 为日期显示标志, 02h 为定时时间显示标志, 03h 秒表显示标志。 08h 为秒位置选择标志, 09h 为分位置选者标志, 0ah 为时位置选择标志。 10h为秒表开始或暂停标志, 11h 为, 12h 为是否正在放音乐标志, 13h 为是否延时标志, 15h 为闪烁标志, 16h,17h 为判断定时按键标志 MOV 21H,0。 位存储器初始化 MOV 22H,0。 SETB 17H。 开定时器 SETB。 开定时器指示灯 RET DISP:。 显示函数 MOV R0,78H。 显示第一 个位置 MOV DPTR,TAB。 MOV R7,0FEH。 第一位有效 NEXT: MOV A,@R0。 MOVC A,@A+DPTR。 把十进制数转化成数码管对应的数据 MOV P1,A。 数据送出端口 MOV P2,R7。 地址送出端口 ACALL DEL1MS。 延时一毫秒 MOV A,R7。 宁波技师学院电气系胡珂、姚烨汀、虞峰课程设计 12 RL A。 地址位左移到下一位 MOV R7,A。 INC R0。 数据地址加 1 CJNE R0,80H,NEXT。 是否已经显示完 LJMP DONE TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H,00H。 0 1 2 3 4 5 6 7 8 9 空 DEL1MS:。 延时 1 毫秒函数 MOV R6,2 DEL1:MOV R5,250 DJNZ R5,$ DJNZ R6,DEL1 RET T0:。 定时器 0 函数 PUSH DPH PUSH DPL PUSH PSW PUSH ACC MOV TH0,0D8H。 定时时间设置为 10 毫秒 MOV TL0,0F0H DJNZ 50H,MIAO1。 是否已经延时 1 秒 AJMP NEXT5。 MIAO1:LJMP MIAOBIAO。 一秒还没到,进入秒表 NEXT5:MOV 50H,100。 重新循环 100 次,即一秒 INC 73H。 秒加一 MOV A,73H。 CJNE A,60,MIAO2。 是否已经加到 60 AJMP NEXT6。 MIAO2:LJMP MIAOBIAO。 没到 60,进入秒表 NEXT6:MOV 73H,0。 已经加到 60,秒清 0 INC 74H。 分加一 MOV A,74H。 CJNE A,60,MIAO3。 分是否已经加到 60 AJMP NEXT7。 MIAO3:LJMP MIAOBIAO。 没到 60,进入秒表 NEXT7:MOV 74H,0。 已经到 60,分清 0 INC 75H。 时加 1 MOV A,75H。 CJNE A,24,MIAO4。 是否已加到 24 AJMP NEXT8。 MIAO4:LJMP MIAOBIAO。 没到 24 则进入秒表 NEXT8:MOV 75H,0。 时清 0 INC 70H。 日加 1 MOV A,70H。 CJNE A,29,MONTH。 是否是 29 宁波技师学院电气系胡珂、姚烨汀、虞峰课程设计 13 MOV A,71H。 CJNE A,2,MIAO5。 是否是 2 月 AJMP NEXT9。 MIAO5:LJMP MIAOBIAO。 不是 2 月,进入秒表 NEXT9:MOV 71H,3。 月份为 3 MOV 70H,1。 日为 1 LJMP MIAOBIAO。 MONTH: MOV A,70H。 CJNE A,31,MONTH1。 是否是日是 31 MOV A,71H。 CJNE A,4,MONTH6。 是否是 4 月 MOV 71H,5。 月份为 5 MOV 70H,1。 日为 1 AJMP MIAOBIAO。 MONTH6:MOV A,71H。 CJNE A,6,MONTH9。 是否是 6 月 MOV 71H,7。 月份为 7 MOV 70H,1。 日为 1 AJMP MIAOBIAO。 MONTH9:MOV A,71H。 CJNE A,9,MONTH11。 是否是 9 月 MOV 71H,10。 月分为 10 MOV 70H,1。 日为 1 AJMP MIAOBIAO。 MONTH11:MOV A,71H。 CJNE A,11,MIAOBIAO。 是否是 11 月 MOV 71H,12。 月 份为 12 MOV 70H,1。 日为 1 AJMP MIAOBIAO。 MONTH1: MOV A,70H。 CJNE A,32,MIAOBIAO。 是否日是 32 MOV A,71H。 CJNE A,12,MONTH0。 是否是 12 月 INC 73H。 年加 1 MOV 70H,1。 月为 1 MOV 71H,1。 日为 1 AJMP MIAOBIAO。 MONTH0:INC 71H。 不是 12 月,月加 1 MOV 70H,1。 日为 AJMP MIAOBIAO。 MIAOBIAO:。 秒表函数 JNB 03H,DINGSHI。 是否进入计时 JNB 10H,DINGSHI。 是否开始计时 DJNZ 52H,DINGSHI。 是否 100 毫秒已到 MOV 52H,10。 宁波技师学院电气系胡珂、姚烨汀、虞峰课程设计 14 JNB ,CLEAR。 按键按下时清 0 INC 60H。 秒位加 1 MOV A,60H。 CJNE A,10,DINGSHI。 是否已加到 10 MOV 60H,0。 秒位清 0 INC 61H。 秒位加 1 MOV A,61H。 CJNE A,60,DINGSHI。 秒是否已经加到 60 MOV 61H,0。 秒位清 0 INC 62H。 分加 1 MO。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。