ORG 0000HMOV R0,#20HMOV R1,#0MOV TMOD,#20HMOV TL1,#0FAHMOV TH1,#0FAHAJMP MAINMAIN:MOV A,P3CPL AJZ MAINMOV R2,A ACALL DELAY MOV A,P3 CPL A XRL A,R2 JNZ MAINMOV A,R2ACALL CHECKSJMP MAINCHECK: JB ACC.0,KEY1 JB ACC.1,KEY2 JB ACC.2,KEY3 JB ACC.3,KEY4 RETKEY4:MOV A,2AHXRL A,R0JZ RETURN4LJMP LOOP4RETURN4:MOV R0,20HLJMP LOOP4KEY1:MOV A,2AHXRL A,R0JZ RETURN1LOOP1:MOV @R0,#06HINC R1MOV PCON,#00HSETB TR1CLR EAMOV SCON,#50HMOV SBUF,@R0INC R0HERE1:JNB TI,HERE1CLR TIHERE2:JNB RI,HERE2CLR RIMOV A,SBUFMOV P0,ASJMP MAINRETURN1:MOV R0,20HSJMP LOOP1KEY2:MOV A,2AHXRL A,R0JZ RETURN2LOOP2:MOV @R0,#3FHINC R1MOV PCON,#00HSETB TR1CLR EAMOV SCON,#50HMOV SBUF,@R0INC R0HERE3:JNB TI,HERE3CLR TIHERE4:JNB RI,HERE4CLR RIMOV A,SBUFMOV P0,ALJMP MAINRETURN2:MOV R0,20HSJMP LOOP2KEY3:MOV A,2AHXRL A,R0JZ RETURN3LOOP3:MOV @R0,#5BHINC R1MOV PCON,#00HSETB TR1CLR EAMOV SCON,#50HMOV SBUF,@R0INC R0HERE5:JNB TI,HERE5CLR TIHERE6:JNB RI,HERE6CLR RIMOV A,SBUFMOV P0,ALJMP MAINRETURN3:MOV R0,20HSJMP LOOP3LOOP4:MOV @R0,#4FHINC R1MOV PCON,#00HSETB TR1CLR EAMOV SCON,#50HMOV SBUF,@R0INC R0HERE7:JNB TI,HERE7CLR TIHERE8:JNB RI,HERE8CLR RIMOV A,SBUFMOV P0,ALJMP MAINDELAY:PUSH 30HMOV 30H,#225NEXT: DJNZ 30H,NEXTPOP 30HRET END
T1定时器方式2不是自动重装吗为什么我按键只能按三次
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注【相关推荐】
- 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7670142
- 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:串口接收中断进不去,如何解决
- 除此之外, 这篇博客: 基于51单片机的智能时控开关设计中的 2.3.6时钟T1中断服务程序 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
定时器时钟T1用于实现数值时钟,参考单片机课本的时钟的流程图,得到时钟流程图。

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决评论 打赏 举报无用 1