51单片机60秒倒计时,程序运行出错,求解(STAR:MOVR2,#60)

如题所述

朋友,我来告诉你答案!ORG00H;SJMPSTAR;ORG1BH;SJMPTIS;转T1中断服务程序ORG30H;STAR:MOVR2,#60H;倒计时初值MOVR4,#20H;定时中断溢出计数器MOVIE,#88H;开中断MOVTMOD,#10H;MOVTH1,#3CH;定时初值MOVTL1,#0B0H;定时初值SETBTR1;启动ACALLDIS;调用显示子程序SJMP$;TIS:MOVTH1,#3CH;MOVTL1,#0B0H;DJNZR4,T1S1;定时1S到否MOVR4,#20;到1S,重置R4=20DJNZR2,T1S0;倒计时递减CLRTR1;倒计时结束,关定时器T1S0:ACALLDIS;调显示T1S1:RETI;中断返回SEG7:INCA;A的值加一MOVCA,@A+PC;取显示断段RET;;DB0C0H,0F9H,0A4H,0B0H;;0至3的共阳型显示码DB99H,92H,82H,0F8H;;4至7的共阳型显示码DB80H,90H,88H,83H;8至B的共阳型显示码DB0C6H,0A1H,86H,8EH;;C至F的共阳型显示码DIS:MOVA,R2;;单字节十六进制数转为十进制数MOVB,#10;DIVAB;ACALLSEG7;MOVP1,A;;显示十位MOVA,B;;ACALLSEG7;;MOVP2,A;;显示个位RET;;子程序返回END;
温馨提示:答案为网友推荐,仅供参考