[問題] 8051七段顯示器跑不出來

看板ASM (組合語言)作者 (阿斌)時間11年前 (2014/06/16 15:25), 11年前編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
大家好 小弟第一次來這個版po文 如果有冒犯板規請見諒小弟會在刪文 -------------------------------------------------------------- 最近剛入門在學8051 用的晶片是89s51 編譯器是keil c 下面是一個題目 若n=1~9時,七段顯示器上顯示n,數字維持1秒後熄滅1秒,如此閃爍n次 例如n=7,則顯示7,閃爍7次 若n=0,則數字從0顯示到9,每個數字維持一秒,不閃爍 (須以計時器方式撰寫) 然後這是我所寫的程式碼 ORG 00H MOV DPTR,#TABLE START: MOV R0,#00H ;填入n MOV R1,#00H MOV R2,#0AH MOV R3,#0FFH MOV R4,#00H ;填入n CJNE R0,#00H,LOOP2 ;不為零就跳LOOP2 LOOP1: MOV A,R0 MOVC A,@A+DPTR MOV P1,A ACALL DELAY INC R0 DJNZ R2,LOOP1 SJMP FINISH LOOP2: MOV A,R0 MOVC A,@A+DPTR MOV P1,A ACALL DELAY MOV P1,R3 ACALL DELAY DJNZ R4,LOOP2 SJMP FINISH DELAY: MOV R5,#20 MOV TMOD,#00000001B TIMER: MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 WAIT: JB TF0,OK AJMP WAIT OK: CLR TF0 DJNZ R5,TIMER RET ORG 40H TABLE: DB 01H ;0 DB 4FH ;1 DB 12H ;2 DB 06H ;3 DB 4CH ;4 DB 24H ;5 DB 60H ;6 DB 0FH ;7 DB 00H ;8 DB 04H ;9 FINISH: MOV A,R3 MOV P1,A END -------------------------------------------------- 不知道哪邊有出問題 燒入後七段顯示器都只有閃了一下下就消失了 麻煩各位幫小弟檢查一下 程式碼很雜亂不好意思 最後感謝各位的幫忙 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.248.3.38 ※ 文章網址: http://www.ptt.cc/bbs/ASM/M.1402903542.A.CEF.html ※ 編輯: PTHSONE (111.248.3.38), 06/16/2014 16:09:19

06/17 17:57, , 1F
sjmp $
06/17 17:57, 1F

06/17 17:57, , 2F
end
06/17 17:57, 2F

06/18 01:16, , 3F
了解 我再去改看看 先謝謝你的幫忙
06/18 01:16, 3F
文章代碼(AID): #1Jdflspl (ASM)
文章代碼(AID): #1Jdflspl (ASM)