回覆列表
-
1 # dpohi13840
-
2 # 使用者3916807372217
你的數碼管是共陰的?現在這樣寫應該是按照9、8、7、5、4、6、3、2、1、0、顯示吧……要讓它從0~9顯示,只要把P0口的段碼改一下就好了,說得簡單點,就是你給的段碼的順序不對!為什麼不用讀表的方式來做顯示呢?那樣會簡單點……
你的數碼管是共陰的?現在這樣寫應該是按照9、8、7、5、4、6、3、2、1、0、顯示吧……要讓它從0~9顯示,只要把P0口的段碼改一下就好了,說得簡單點,就是你給的段碼的順序不對!為什麼不用讀表的方式來做顯示呢?那樣會簡單點……
ORG 0000HLJMP MAINORG 0030HMAIN: MOV R0,#0 MOV R1,#3LOOP: MOV DPTR,#TABLE MOV A,R0 MOVC A,@A+DPTR MOV P1,A LCALL DELAY MOV P1,#00H LCALL DELAY DJNZ R1,LOOP INC R0 MOV R1,#3 CJNE R0,#10,LOOP MOV R0,#0 SJMP LOOPDELAY: MOV R2,#200DELAY1: MOV R3,#250 DJNZ R3,$ DJNZ R2,DELAY1 RETTABLE: ; 共陰極數碼管顯示程式碼表 DB 3FH,06H,5BH,4FH,66H ;01234 DB 6DH,7DH,07H,7FH,6fh ;56789 END