[求救]8051程式消失

看板Programming作者時間19年前 (2006/06/10 00:55), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
想寫一個程式 讓 P1 P2 P3 分別接三個七段顯示器 然後會很快地依序 顯示 123 231 321 132 213 312 然後在P0接常開型按鈕 按下按鈕就會停在某一組數字上 可是模擬起來就是怪怪的.... ZERO EQU 30H ONE EQU 31H KEYTEMP EQU 32H KEYDATA EQU 33H STATUS EQU 34H ORG 00H MOV DPTR,#TABLE MOV KEYTEMP,#0FFH MOV KEYDATA,#0FFH START: MOV R0,#0 MOV R1,#6 MOV R2,#1 MOV R3,#2 LOOP: MOV A,R0 MOVC A,@A+DPTR MOV P1,A MOV A,R0 ADD A,R2 MOVC A,@A+DPTR MOV P2,A MOV A,R0 ADD A,R3 MOVC A,@A+DPTR MOV P3,A INC R0 ACALL KEYSCAN MOV A,#0FFH XCH A,KEYDATA CJNE A,#0FFH,LONG DJNZ R1,LOOP SJMP START PUS: SJMP LOOP KEYSCAN:PUSH ACC MOV P0,#0FFH MOV A,P0 CPL A MOV STATUS,A CJNE A,#0,KEYIN INC ONE MOV A,ONE CJNE A,#5,K3 MOV ZERO,0 MOV KEYTEMP,#0FFH MOV KEYDATA,#0FFH SJMP K3 KEYIN: MOV ONE,#0 MOV A,STATUS CJNE A,KEYTEMP,K2 MOV A,ZERO CJNE A,#5,K1 SJMP K3 K1: INC ZERO MOV A,ZERO CJNE A,#5,K3 MOV A,KEYTEMP MOV KEYDATA,A SJMP K3 K2: MOV KEYTEMP,A MOV ZERO,#1 K3: POP ACC RET LONG: MOV R7,#255 S1: MOV R6,#255 S2: MOV R5,#255 DJNZ R5,$ DJNZ R6,S2 DJNZ R7,S1 RET TABLE: DB 30H DB 60H DB 79H DB 79H DB 60H DB 30H DB 30H DB 60H DB 79H DB 79H END 麻煩8051高手幫我檢查一下吧 第一次寫程式有點挫折....明明就拿著書在看的= = 還有如果我要在加三個按鈕 按了以後直接 按鈕一(132) 按鈕二(231) 按鈕三 (312) 這樣的話要怎麼寫呢 麻煩了~~~~~~~~~~ -- 13 ALLPOST 嘰哩 ◎ 跨板式LOCAL新文章 16 -- ※ 發信站: 批踢踢實業坊(ptt.cc)

06/12 01:28, , 1F
接P0嗎?Mmm...
06/12 01:28, 1F
文章代碼(AID): #14YQW1Ox (Programming)