8051 七段控制
我要用8051寫0~9999的7段計數程式
東西做出來會正常計數
但出來的數字是亂碼(有亂碼 有些會是亂數)
該如何解決
以下是我的程式碼
ORG 0H
START: MOV R0,#0
MOV R1,#0
S1: MOV R3,#10
S0: CALL SHOW
DJNZ R3,S0
CALL A1
AJMP S1 A1: MOV A,R0
CLR C
ADD A,#1
DA A
MOV R0,A
JNC A0
MOV A,R1
CLR C
ADD A,#1
DA A
MOV R1,A
JNC A0
CLR C
MOV R0,#0
MOV R1,#0
A0: RET
SHOW:
MOV A,R0
ANL A,#00001111B
ADD A,#10000000B
SWAP A
MOV P0,A
CALL DL1 MOV A,R0 ;
ANL A,#11110000B
ADD A,#00000100B
MOV P0,A
CALL DL1 MOV A,R1
ANL A,#00001111B
ADD A,#00100000B
SWAP A
MOV P0,A
CALL DL1 MOV A,R1
ANL A,#11110000B
ADD A,#00000001B
MOV P0,A
CALL DL1
RET
DL1: MOV R7,#30
DL3: MOV R6,#100
DL2: DJNZ R6,DL2
DJNZ R7,DL3
RET
板子電路 它是8051+ LCD那種板子..
電路不會有錯 主要就是 程式碼部分...
現在很多電路實驗 都幾乎不太需要用到自己去配線 因為都 結合成一塊板子了
電路主要是 8051 P0.0~P0.3接到 7447 的 ABCD P0.4~P0.7接到電晶體控制計數 電晶體跟7447在接到 4-7段顯示器上
電晶體一端接04~07 一端接VCC 輸出端接 4-7段的 COM
程式已經解決 還是感謝你的幫忙
2 個解答
- 冤大頭Lv 51 0 年前最佳解答
又是一個問完後就不理問題的人
這根本就是沒有心要做作業吧
2010-12-28 01:18:16 補充:
你先改看看
如果在MOV P0,A 的上一個指令不是SWAP A
就把SWAP A這行就插到原本兩行指令的中間
如果原本就有就 SWAP A 刪掉
你說
" 電路主要是 8051 P0.0~P0.3接到 7447 的 數值輸入端
P0.4~P0.7是連接控制七段顯示器電源顯示部分 "
對吧~?
那位甚麼程式輸出數值部分卻變成P0.4~P0.7?
2010-12-28 01:18:53 補充:
這程式是你寫的嗎???