单片机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
单片机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 循环倒计时.