看板 ASM 關於我們 聯絡資訊
大家好 小弟第一次來這個版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
WolfLord:sjmp $ 06/17 17:57
WolfLord:end 06/17 17:57
PTHSONE:了解 我再去改看看 先謝謝你的幫忙 06/18 01:16