這幾天,一直在寫電子秒表程序,今天終于調試出來了!感覺還不錯,很好!誤差非常小,很適合做電子時鐘
源程序的一個小模塊,現把源代碼上傳,和大家一起分享一下!!
ORG 0000H SJMP START ORG 000BH LJMP TIME0 ORG 001BH LJMP TIME1 ORG 0045H START:MOV SP,#60H MOV 40H,#0 MOV 41H,#0 MOV 30H,#0 MOV 31H,#0 MOV 32H,#0 MOV 33H,#0 SETB EA SETB ET0 SETB ET1 MOV TMOD,#11H MOV TL1,#80H MOV TH1,#0C1H MOV TL0,#0B0H MOV TH0,#3CH MOV R2,#20 SETB PT0 SETB P2.5 SETB TR0 SETB TR1 SJMP $ TIME0:PUSH ACC PUSH PSW MOV TL0,#0B0H MOV TH0,#3CH DJNZ R2,BACK MOV R2,#20 INC 40H MOV A,40H MOV B,#10 DIV AB MOV 30H,A MOV A,B MOV 31H,A MOV A,40H CJNE A,#60,BACK MOV 30H,#0 MOV 31H,#0 MOV 40H,#0 INC 41H MOV A,41H MOV B,#10 DIV AB MOV 32H,A MOV A,B MOV 33H,A MOV A,41H CJNE A,#60,BACK MOV 32H,#0 MOV 33H,#0 MOV 41H,#0 BACK:POP PSW POP ACC RETI TIME1:PUSH ACC PUSH PSW MOV TL1,#80H MOV TH1,#0C1H MOV DPTR,#TAB1 MOV R0,#31H MOV A,@R0 MOVC A,@A+DPTR MOV P0,A SETB P2.0 CLR P2.3 LCALL DELAY SETB P2.2 SETB P2.1 MOV R1,#30H MOV A,@R1 MOVC A,@A+DPTR SETB P2.3 MOV P0,A SETB P2.0 CLR P2.2 LCALL DELAY MOV DPTR,#TAB2 MOV A,33H MOVC A,@A+DPTR SETB P2.2 MOV P0,A SETB P2.0 CLR P2.1 LCALL DELAY MOV DPTR,#TAB1 MOV A,32H MOVC A,@A+DPTR SETB P2.1 MOV P0,A CLR P2.0 LCALL DELAY POP PSW POP ACC RETI DELAY:MOV R7,#02H DL:MOV R6,#0FFH DL1:DJNZ R6,DL1 DJNZ R7,DL RET TAB1:DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H TAB2:DB 40H,79H,24H,30H,19H DB 12H,02H,78H,00H,10H END