单片机60递增秒循环,为什么会变成99→88→77→66→55→44→33→22→11→00→99 程序如下,求大神ORG0000H SJMPMAIN ORG000BH SJMPINTT0 ORG0030HMAIN: MOVTMOD,#01H MOVTH0,#3CH

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 11:20:41
单片机60递增秒循环,为什么会变成99→88→77→66→55→44→33→22→11→00→99 程序如下,求大神ORG0000H    SJMPMAIN    ORG000BH    SJMPINTT0    ORG0030HMAIN:    MOVTMOD,#01H              MOVTH0,#3CH
xUoTa5쉫#uIIH4!^PKa) غ*+Ui~ d1Ҥi׉㸍`e9׿+Z] 5';Ѻg{N5et\۴Ww $0(Q#`x ǁ,f6:춹d0 µpynKdt4>,/p ‡Li0B05(($2L\JꦣG.O@!& &$(bUxM'E$<Qa R)}D*1Ba^SBSxGf/?vh?ʖƃ\H9F^G2}a*^t)Mû|Iт1z/|jD$S82f$#"+ad$+C5lק[y+*;awwR#{6P0W2}h>XO@g|_{FoUv͇87Pq޽+w-kJȫ!ܾN_ځuc;kdn [D׹G{ػ}

单片机60递增秒循环,为什么会变成99→88→77→66→55→44→33→22→11→00→99 程序如下,求大神ORG0000H SJMPMAIN ORG000BH SJMPINTT0 ORG0030HMAIN: MOVTMOD,#01H MOVTH0,#3CH
单片机60递增秒循环,为什么会变成99→88→77→66→55→44→33→22→11→00→99 程序如下,求大神
ORG0000H
 SJMPMAIN
 ORG000BH
 SJMPINTT0
 ORG0030H
MAIN: MOVTMOD,#01H
 MOVTH0,#3CH
 MOVTL0,#0B0H
 MOVIE,#82H
 MOVR2,#60
 MOVR4,#20
 SETBTR0
 ACALLLOOP3
 SJMP$
INTT0: CLRTR0
 MOVTH0,#3CH
 MOVTL0,#0B0H
 DJNZR4,EXIT
 MOVR4,#20
 DJNZR2,LOOP
 CLRTR1
LOOP: ACALLLOOP3
EXIT: SETBTR0
 RETI
LOOP2: INCA
 MOVCA,@A+PC
 RET
 DB0C0H,0F9H,0A4H,0B0H
 DB99H,92H,82H,0F8H
 DB80H,90H,88H,83H
 DB0C6H,0A1H,86H,84H
LOOP3: MOVA,R2
 MOVB,#10
 DIVAB
 ACALLLOOP2
 MOVP1,A
 MOVA,B
 ACALLLOOP2
 MOVP2,A
 RET
 END
应该是LOOP3出问题,显示

定时1S

单片机60递增秒循环,为什么会变成99→88→77→66→55→44→33→22→11→00→99 程序如下,求大神ORG0000H SJMPMAIN ORG000BH SJMPINTT0 ORG0030HMAIN: MOVTMOD,#01H MOVTH0,#3CH
楼主的程序,可以实现倒计时:60、59、58...
变成了99→88→77→66→55→44→33→22→11→00→99,应该是电路的原因.
另外,楼主的程序,在倒计时到了0的时候,没有从60继续,而是出现乱码.
应该如下修改:
……
INTT0:
MOV TH0, #3CH
MOV TL0, #0B0H
DJNZ R4, EXIT
MOV R4, #20
DJNZ R2, LOOP
MOV R2, #60 ;----加上这行
LOOP:
ACALL LOOP3
EXIT:
RETI
LOOP3:
MOV A, R2
DEC A ;----加上这行
MOV B, #10
……
增加两行,其它不用变,即可实现 59~00s 循环倒计时.