看板 ASM 關於我們 聯絡資訊
由於最近學習控制感測器與馬達 然後程式不知怎麼的 怎麼修改都卡關 想請問下列程式有問題嗎 當後面感測器動作到一半 機器就會停止動作 請教是哪裡出了問題 感謝 程式如下. SCAN: MOV A,P0 MOV C,P1.3 RLC A MOV C,P1.2 RLC A MOV C,P1.1 RLC A MOV C,P1.0 RLC A ANL A,#FFH ;由於感測器的接腳分別是P0的0-3和 P1的0-3腳位想把他都丟進A裡面做判斷動作 CJNE A,#08H,R JMP N1 R: CJNE A,#04H,L JMP N1 L: CJNE A,#02H,LLL JMP N2 LLL: CJNE A,#01H,BRR JMP N2 BRR CJNE A,#80H,BR JMP N2 BR: CJNE A,#40H,BL JMP N2 BL: CJNE A,#20H,BLL JMP N1 BLL: CJNE A,#10H,GG JMP N1 GG: CJNE A,#00H,SCAN JMP N4 N1: CALL LEFT JMP SCAN N2: CALL RIGHT JMP SCAN N4: 以下是把數值丟進另外的馬達副程式讓馬達控制轉動角度 MOV R0,#6 MOV LEF,#120 MOV RIG,#130 MOV MED,#100 CALL AXN ; MOV R0,#6 MOV LEF,#45 MOV RIG,#55 MOV MED,#100 CALL AXN ; MOV R0,#3 MOV LEF,#45 MOV RIG,#55 MOV MED,#80 CALL AXN ; MOV R0,#6 MOV LEF,#120 MOV RIG,#130 MOV MED,#80 CALL AXN MOV R0,#6 MOV LEF,#130 MOV RIG,#130 MOV MED,#100 CALL AXN ; MOV R0,#6 MOV LEF,#130 MOV RIG,#55 MOV MED,#100 CALL AXN ; MOV R0,#3 MOV LEF,#130 MOV RIG,#55 MOV MED,#80 CALL AXN ; MOV R0,#6 MOV LEF,#130 MOV RIG,#130 MOV MED,#80 CALL AXN JMP SCAN -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.244.170.43
WolfLord:ANL A,#0FF 是廢話(無效指令)然後判斷邏輯很ORZ但是 10/01 01:01
WolfLord:應該可以工作。但是有幾個例外狀況不知道你有沒想過:傳 10/01 01:02
WolfLord:感器不只有一個被觸動,那就不會只有1248而已。另外,正 10/01 01:03
WolfLord:常傳感器都是觸發為0,你確你的電路定是觸發為1嗎? 10/01 01:03