[請益] 8051的問題

看板ASM (組合語言)作者 (錄)時間14年前 (2010/11/12 13:04), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
小弟就讀電機系, 對8051有學過略懂,但忘了, 然後有學弟請益我8051的問題, 就有一台裝有三個超因波感應器的兩輪車, 還有一個超因波接受器, 車子會跟著接收器走 只是..... 學弟說 偵測到接受器一定的距離會停止, 這讓我...想破頭也想不出來 以下程式 有人想的出來嗎? 謝謝 ORG 00H ;開頭位置 START: MOV 40H,#10 MOV 41H,#2 SETB P1.0 ;馬達直行 CLR P1.1 SETB P1.2 CLR P1.3 ;========================== ;========主程式迴圈========= ;========================== LOOP: L2: CALL WAVED MOV A,P2 ;P2=>A CPL A ;A反相 ANL A,#00000111B ;取3位元 CJNE A,#7,M1 ;A=7時(111) MOV 40H,#10 MOV 41H,#2 SETB P1.0 ;車子往前 CLR P1.1 SETB P1.2 CLR P1.3 JMP M8 M1: CJNE A,#2,M2 ;A=2時(010) MOV 40H,#10 MOV 41H,#2 SETB P1.0 ;車子往前 CLR P1.1 SETB P1.2 CLR P1.3 JMP M8 M2: CJNE A,#3,M3 ;A=3時(011) MOV 40H,#10 MOV 41H,#2 SETB P1.0 ;車子往前 CLR P1.1 SETB P1.2 CLR P1.3 JMP M8 M3: CJNE A,#6,M4 ;A=6時(110) MOV 40H,#10 MOV 41H,#2 SETB P1.0 ;車子往前 CLR P1.1 SETB P1.2 CLR P1.3 JMP M8 M4: CJNE A,#1,M5 ;A=1時(001) MOV 40H,#10 MOV 41H,#2 CLR P1.0 ;車子右轉 CLR P1.1 SETB P1.2 CLR P1.3 CALL DELAY JMP M8 M5: CJNE A,#4,M7 ;A=4時(100) MOV 40H,#10 MOV 41H,#2 SETB P1.0 ;車子左轉 CLR P1.1 CLR P1.2 CLR P1.3 CALL DELAY JMP M8 M7: CJNE A,#0,M8 ;A=0時(000) DJNZ 40H,M8 MOV 40H,#10 DJNZ 41H,M8 MOV 41H,#2 CLR P1.0 ;車子停 CLR P1.1 CLR P1.2 CLR P1.3 JMP M8 M8: JMP LOOP WAVED: CLR P3.0 ;選擇訊號00 CLR P3.1 CALL DELAY MOV R6,#5 WL1: MOV R7,#5 WL2: JNB P2.7,WD1 ;有超音波訊號則跳WD1 DJNZ R7,WL2 DJNZ R6,WL1 SETB P2.0 ;P2.0設為1,右邊LED暗 JMP WAV2 WD1: CLR P2.0 ;P2.0設為0,右邊LED亮 WAV2: SETB P3.0 ;選擇訊號01 CLR P3.1 CALL DELAY MOV R6,#5 WL3: MOV R7,#5 WL4: JNB P2.7,WD2 ;有超音波訊號則跳WD2 DJNZ R7,WL4 DJNZ R6,WL3 SETB P2.1 ;P2.1設為1,中間LED暗 JMP WAV3 WD2: CLR P2.1 ;P2.1設為0,中間LED亮 WAV3: CLR P3.0 ;選擇訊號10 SETB P3.1 CALL DELAY MOV R6,#5 WL5: MOV R7,#5 WL6: JNB P2.7,WD3 ;有超音波訊號則跳WD3 DJNZ R7,WL6 DJNZ R6,WL5 SETB P2.2 ;P2.2設為1,左邊LED暗 JMP WAVOK WD3: CLR P2.2 ;P2.2設為0,左邊LED亮 WAVOK: RET ; ====================== ; ==廷時副程式R5來定時== ; ====================== DELAY: MOV R5,#2 DL0: MOV R6,#60 DL1: MOV R7,#60 DL2: DJNZ R7,DL2 DJNZ R6,DL1 DJNZ R5,DL0 RET END -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.68.164.12
文章代碼(AID): #1CtChh5t (ASM)
文章代碼(AID): #1CtChh5t (ASM)