ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:18.38KB ,
资源ID:21647191      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21647191.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电子钟实现参考程序文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

电子钟实现参考程序文档格式.docx

1、 MOV A, #01H ;位选 TT:MOV P3, A MOV P0, #0CH ;段码P. LCALL DELAY MOV P3, #00H DJNZ R6, TT LCALL DELAY1 RR A JB P1.0, TT ;键是否按下,没按下则转移 LCALL DELAY ;延时去抖 JNB P1.0, KAI ;再次判断键是否按下 KAI:SETB P1.0 CLR A ;状态恢复 MOV P0, #0FFH LCALL DELAY1 SETB 48H ;用于调时闪烁标志 SETB 47H ;用于产生脉冲用于调时快进的脉冲 MOV R1, #0 ;调整选择键功能标志:0计时、1调时

2、、2调分、3调秒 -清16位寄存器及初始化50H 用于控制秒基准时钟源的产生51H 清零秒寄存器52H 清零分寄存器53H 清零时寄存器5FH 用于秒个位;5EH 用于秒十位5DH 用于分个位;5CH 用于分十位5BH 用于时个位;5AH 用于时十位54H 用于控制调时闪烁- MOV R0, #50H ;初始化 MOV R6, #10H CLEARJCQ:MOV R0, #00H ;清寄存器 INC R0 DJNZ R6, CLEARJCQ MOV IP, #02H SETB EA SETB ET0 MOV TMOD, #01H ;设定定时器0工作方式1 MOV TH0, #3CH MOV T

3、L0, #0B0H ;赋定时初值,定时50ms SETB TR0 ;启动定时器0 MOV SP, #70H ;堆栈 -主程序 - MAIN:LCALL DISPLAY LCALL KEY_SCAN JZ MAIN LCALL SET_KEY JB 46H, MAIN ;如果已进行调时快进,则不再执行下面的调整 LCALL ADD_KEY ;调用增加键处理子程序,加一 LCALL DEC_KEY ;调用减少键处理子程序,减一 LJMP MAIN ;重新循环 - 显示处理程序 DISPLAY:MOV A, 51H ANL A, #0FH MOV 5FH, A ;转换出秒个位,存入5FH MOV A

4、, 51H ANL A, #0F0H SWAP A MOV 5EH, A ;转换出秒十位,存入5EH JB 46H, MIN ;如果调时快进,则跳过闪烁处理程序 CJNE R1, #3,MIN ;如果R1为3,闪烁秒位待调整 JB 48H, MIN MOV 5FH, #0AH ;使该位为10,查表得到使该位不显示 MOV 5EH, #0AH MIN:MOV A, 52H MOV 5DH, A ;转换出分个位,存入5DH MOV A, 52H MOV 5CH, A ;转换出分十位,存入5CH JB 46H, HOUR CJNE R1, #2,HOUR ;如果R1为2,闪烁分位待调整 JB 48H

5、, HOUR MOV 5DH, #0AH MOV 5CH, #0AH HOUR:MOV A, 53H MOV 5BH, A ;转换出时个位,存入5BH MOV A, 53H MOV 5AH, A ;转换出时十位,存入5AH JB 46H, DISP CJNE R1, #1,DISP ;如果R1为1,闪烁时位待调整 JB 48H, DISP MOV 5BH, #0AH ; MOV 5AH, #0AH-数码管动态扫描显示 DISP:MOV DPTR, #TABLE MOV A, 5FH MOVC A, A+DPTR MOV P0, A SETB P3.7 LCALL DELAY CLR P3.7

6、;显示秒个位 MOV A,5EH SETB P3.6 LCALL DELAY CLR P3.6 ;显示秒十位 MOV A, #0BFH SETB P3.5 CLR P3.5 ;显示“-” MOV A, 5DH MOVC A, A+DPTR SETB P3.4 CLR P3.4 ;显示分个位 MOV A,5CH MOVC A, A+DPTR SETB P3.3 CLR P3.3 ;显示分十位 SETB P3.2 CLR P3.2 ; MOV A,5BH MOV P0, A SETB P3.1 CLR P3.1 ;显示时个位 MOV DPTR, #TABLE1 ;该位使用TABLE1以消除时的十位

7、置0 MOV A, 5AH MOVC A, A+DPTR SETB P3.0 CLR P3.0 ;显示时十位 RET -定时器中断1s程序 TIMET0:PUSH ACC ;保护现场 PUSH PSW MOV TH0,#3CH MOV TL0,#0B0H CPL 47H ;产生脉冲用于调时快进 INC 54H MOV A,54H CJNE A,#10,ADD_TIME;产生0.5秒,用于调时闪烁 CPL 48H ;取反调时闪烁标志位 MOV 54H,#00HADD_TIME:INC 50H MOV A,50H CJNE A,#10,ZDBACD ;整点报时时蜂鸣器响延迟时间 SETB P2.1

8、 ;关蜂鸣器 ZDBACD:CJNE A,#20,RETI1 ;产生1秒时钟 MOV 50H,#00H ;一秒钟时间到,清零50H MOV A,51H ADD A,#01H DA A ;十进制调整 MOV 51H,A CJNE A,#60H,RETI1 MOV 51H,#00H ;一分钟到 MOV A,52H ADD A,#01H DA A MOV 52H,A CJNE A,#60H,RETI1 CLR P2.1 MOV 52H,#00H ;一小时到,开蜂鸣器,清分显示 MOV A,53H ADD A,#01H MOV 53H,A CJNE A,#24H,RETI1 MOV 53H,#00H

9、;到24点,清零小时 RETI1:POP PSW POP ACC ;恢复现场 RETI ;中断返回-键盘扫描程序R4设置为00H是为了在进入长按处理前加长延时,以区分长按与短按键KEY_SCAN:CLR 46H ;关闭调时快进标志 MOV P1, #0FFH ;将P1口设置成输入状态 MOV A, P1 CPL A ANL A, #07H ;1口低3位连接3个按键,只判断该3位 JZ EXIT_KEY LCALL DELAY ;延时去抖动 MOV A, P1 ;重新判断 ANL A,#07H MOV R5,A MOV R4,#00H ;用于控制调时快进速度 LOOP:LCALL DISPLAY

10、 ;进入长按处理 MOV A,P1 CPL A ANL A,#07H JB 47H,LOOP1 INC R4 ;调时快进间隔时间基准加1 LOOP1:CJNE R1,#03H,LOOP2 ;如果调秒时长按,则不处理 LJMP LOOP3 LOOP2:CJNE R4,#99H,LOOP3 MOV R4,#70H ;确认长按后,加快调时快进速度 SETB 46H LCALL ADD_KEY LCALL DEC_KEY LOOP3:JNZ LOOP ;等待键释放 MOV A,R5 ;输出键值EXIT_KEY:RET-延时子程序 DELAY:MOV R7,#200 DJNZ R7,$ RETDELAY

11、1:MOV R3,#50 MOV TMOD,#00H MOV TH1,#63H MOV TL1,#18H SETB TR1 LP1:JBC TF1,LP2 SJMP LP1 LP2:MOV TH1,#63H MOV TL1,#18H DJNZ R3,LP1选择键处理子程序SET_KEY:CJNE R5,#01H,EXIT ;选择键键值 INC R1 ;调整选择功能标志加一 CJNE R1,#4,EXIT MOV R1,#0 MOV 54H,#00H ;调时闪烁清零 RET-加1子程序ADD_KEY:CJNE R5,#02H,EXIT ;加1键值 CJNE R1,#01H,NEXT1 ;选择键功

12、能标志为1调时,否则跳出 MOV A,53H ADD A,#01H DA A MOV 53H,A CJNE A,#24H,EXIT MOV 53H,#00H NEXT1:CJNE R1,#02H,NEXT2 ;选择键功能标志为2调分,否则跳出 MOV A,52H DA A MOV 52H,A CJNE A,#60H,EXIT MOV 52H,#00H NEXT2:CJNE R1,#03H,EXIT ;选择键功能标志为3调秒,否则跳出 MOV A,51H MOV 51H,A如加1键按下直接清零秒减1子程序- DEC_KEY:CJNE R5,#04H,EXIT ;减1键键值 CJNE R1,#01

13、H,NEXT3 ; MOV A,53H ADD A,#99H DA A MOV 53H,A CJNE A,#99H,EXIT MOV 53H,#23H NEXT3:CJNE R1,#02H,NEXT4 ; ADD A,#99H CJNE A,#99H,EXIT MOV 52H,#59H NEXT4: MOV 51H,#59H返回子程序 EXIT:数码管字形编码表 TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ;0,12345678,9不显示 TABLE1:DB 0FFH,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ;小时位的十位数编码 ;9程序结束 END

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1