標題:

8051七段顯示器程式 20點

發問:

我要弄一個七段顯示器建表示的按PB1能使LED 0~9按PB2能使LED 9~0以下是我打的程式不過是不行的請8051高手幫我看一下謝謝20點最高敬意 ORG 00HSTART:MOVR0,#0MOVR1,#10LOOP: ACALL IN JNB ACC.0,LSHIFT JNB ACC.1,RSHIFT SJMP LOOPLSHIFT: MOV A,R0MOVDPTR,#TABLE1 ACALL OUT ... 顯示更多 我要弄一個七段顯示器 建表示的 按PB1能使LED 0~9 按PB2能使LED 9~0 以下是我打的程式 不過是不行的 請8051高手幫我看一下 謝謝 20點最高敬意 ORG 00H START:MOVR0,#0 MOVR1,#10 LOOP: ACALL IN JNB ACC.0,LSHIFT JNB ACC.1,RSHIFT SJMP LOOP LSHIFT: MOV A,R0 MOVDPTR,#TABLE1 ACALL OUT MOV R0,A ACALL IN MOVCA,@A+DPTR JNB ACC.1,RSHIFT SJMP LSHIFT RSHIFT: MOV B,R1 MOVDPTR,#TABLE2 ACALL OUT MOV R1,A ACALL IN MOVCB,@B+DPTR JNB ACC.0,LSHIFT SJMP RSHIFT IN: MOV P2,#FFH MOV A,P2 RET OUT: MOV P1,A ACALLDELAY RET DELAY:MOVR6,#250 S1:MOVR7,#200 DJNZR7,$ DJNZR6,S1 RET TABLE1: DB01H DB4FH DB12H DB06H DB4CH DB24H DB20H DB0FH DB00H DB04H TABLE2:DB04H DB00H DB0FH DB20H DB24H DB4CH DB06H DB12H DB4FH DB01H END 更新: 所以是讓他已建表示的左移右移的方法囉! 可是好像沒有設開關對不對? 可以再補充一下嗎ˊˋ?

aa.jpg

 

此文章來自奇摩知識+如有不便請留言告知

最佳解答:

8051@"@好懷念哦...幫你找了一下..希望有幫到你囉~ 這篇程式是p2接 4*4鍵盤,p0接七段顯示器,顯示0~9,A~F ORG00H START: MOVDPTR,#SEGTABLE MAIN: CALLSCANKEY MOVA,R7 MOVCA,@A+DPTR MOVP0,A JMPMAIN SCANKEY: MOVR2,#0FFH CLRC MOVR3,#4 NEWCOLUMN: MOVA,R2 RLCA ORLA,#0F0H MOVR2,A MOVP2,A MOVA,P2 MOVR6,A XRLA,R2 JNZHAVEKEY DJNZR3,NEWCOLUMN JMPSCANKEY HAVEKEY: CALLDECODE RET DECODE: MOVA,R6 FINDROW: SWAPA ANLA,#0FH MOVR7,#0 NEXTBIT: RRCA JNCFINDCOLUMN INCR7 JMPNEXTBIT FINDCOLUMN: MOVA,R6 ANLA,#0FH MOVR5,#0 NEXTBIT1: RRCA JNCRETURN INCR5 JMPNEXTBIT1 RETURN: MOVA,R5 RLA RLA ADDA,R7 MOVR7,A RET ORG300H SEGTABLE: DB10111000B ; F DB10000001B ; 0 DB10110000B ; E DB11000010B ; D DB10001111B ; 7 DB 10000000B ; 8 DB 10001100B ; 9 DB 10110001B ; C DB 11001100B ; 4 DB 10100100B ; 5 DB 10100000B ; 6 DB 11100000B ; B DB 11001111B ; 1 DB 10010010B ; 2 DB 10000110B ; 3 DB 10001000B ; A END 2009-04-21 13:14:30 補充: 這一篇你看看有沒有幫助~ http://tw.myblog.yahoo.com/jw!tcDZKgyeGRzzkPJ8GmumLWB11DXY9Hw-/article?mid=896

其他解答:
arrow
arrow

    ccf83dy60d 發表在 痞客邦 留言(0) 人氣()