八路扫描式抢答器设计(编辑修改稿)内容摘要:
按键发声 MOV R3,00H AJMP ERRORFALSE1: ACALL BARK。 按键发声 MOV R3,01H AJMP ERRORFALSE2: ACALL BARK MOV R3,02H AJMP ERRORFALSE3: ACALL BARK MOV R3,03H AJMP ERRORFALSE4: ACALL BARK MOV R3,04H AJMP ERRORFALSE5: ACALL BARK MOV R3,05H AJMP ERRORFALSE6: ACALL BARK MOV R3,06H AJMP ERROR;***INT0(抢答时间R1调整程序) ***INT0SUB: MOV A,R1 MOV B,0AH DIV AB MOV R5,A MOV R4,B MOV R3,0AH ACALL DISPLAY。 先在两个时间LED上显示R1 JNB ,INC0。 +1s键,如按下跳到INCO JNB ,DEC0。 ,如按下跳到DECO JNB ,BACK0。 ,如按下跳到BACKO AJMP INT0SUB INC0: MOV A,R1 CJNE A,63H,ADD0。 如果不是99,R2加1,如果加到99了,R1就置0,重新 加起。 MOV R1,00H ACALL DELAY1 AJMP INT0SUB ADD0: INC R1 ACALL DELAY1 AJMP INT0SUB DEC0: MOV A,R1 JZ SETR1。 如果R1为0, R1就置99, DEC R1 ACALL DELAY1 AJMP INT0SUBSETR1: MOV R1,63H ACALL DELAY1 AJMP INT0SUBBACK0: RETI ;***INT1(回答时间R2调整程序)*** INT1SUB:MOV A,R2 MOV B,0AH DIV AB MOV R5,A MOV R4,B MOV R3,0AH ACALL DISPLAY JNB ,INC1 JNB ,DEC1 JNB ,BACK1 AJMP INT1SUB INC1: MOV A,R2 CJNE A,63H,ADD1 MOV R2,00H ACALL DELAY1 AJMP INT1SUB ADD1: INC R2 ACALL DELAY1 AJMP INT1SUB DEC1:MOV A,R2 JZ SETR2 DEC R2 ACALL DELAY1 AJMP INT1SUB SETR2: MOV R2,63H ACALL DELAY1 AJMP INT1SUB BACK1: RETI ;***倒计时程序(抢答倒计时和回答倒计时都跳到改程序)*** COUNT: MOV R0,00H。 重置定时器中断次数 MOV TH1,3CH MOV TL1,0B0H。 重置定时器RECOUNT:MOV A,R6。 R6保存了倒计时的时间,之前先将抢答时间或回答时间给R6 MOV B,0AH DIV AB。 除十分出个位/十位 MOV 30H,A。 十位存于(30H) MOV 31H,B。 个位存于(31H) MOV R5,30H。 取十位 MOV R4,31H。 取个位 MOV A,R6 SUBB A,07H JNC LARGER。 大于5s跳到LARGER,小于等于5s会提醒 MOV A,R0 CJNE A,0AH,FULL。 CLR RING AJMP CHECKFULL: CJNE A,14H,CHECK。 下面系1s的情况,响并显示号数并清R0,重新计 SETB RING MOV A,R6160。八路扫描式抢答器设计(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。