h 發問時間: 電腦與網際網路程式設計 · 1 0 年前

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那種板子..

電路不會有錯 主要就是 程式碼部分...

現在很多電路實驗 都幾乎不太需要用到自己去配線 因為都 結合成一塊板子了

2 個已更新項目:

電路主要是 8051 P0.0~P0.3接到 7447 的 ABCD P0.4~P0.7接到電晶體控制計數 電晶體跟7447在接到 4-7段顯示器上

3 個已更新項目:

電晶體一端接04~07 一端接VCC 輸出端接 4-7段的 COM

程式已經解決 還是感謝你的幫忙

2 個解答

評分
  • 1 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 補充:

    這程式是你寫的嗎???

  • 你有板子的電路圖嗎??不太複雜我就幫你解答

還有問題?馬上發問,尋求解答。