我用的是51單片機(jī)(開(kāi)發(fā)板)作為處理器。左右伺服電機(jī)(parallax的)分別連接的是p1.0與p1.1。左右QT1傳感器連接p2.0與p2.1.
語(yǔ)言是匯編
在單獨(dú)調(diào)試右輪的調(diào)速時(shí),可以做到1.3ms順時(shí)針轉(zhuǎn),1.7ms逆時(shí)針轉(zhuǎn),程序如下。同理與左輪 ORG 0000H START: CLR P1.0 MOV A ,#200 低電平延時(shí) CALL DLY100 SETB P1.0 ;;;youlun MOV A ,#17 高電平延時(shí) CALL DLY100 JMP START DLY100: 延時(shí) MOV R6 ,A DLY1: MOV R7,#49 DLY2: DJNZ R7,DLY2 DJNZ R6 ,DLY1 RET END 但是當(dāng)我將這兩個(gè)輪子放在一起調(diào)試時(shí)會(huì)發(fā)生兩個(gè)輪子都逆時(shí)針轉(zhuǎn)動(dòng),也就是右輪的1.3ms設(shè)置沒(méi)有起作用。這讓我十分頭疼。望各位大佬解答或者是賜教。謝謝 ORG 0000H JMP ST ORG 1000H ST: CALL y 右輪 call z 左輪 jmp ST z: CLR P1.1 MOV A ,#200 CALL DLY100 SETB P1.1 MOV A ,#17 左輪逆時(shí)針 CALL DLY100 ret y: CLR P1.0 MOV A ,#200 CALL DLY100 SETB P1.0 ;;;youlun MOV A ,#13 右輪順時(shí)針 CALL DLY100 ret DLY100: MOV R6 ,A DLY1: MOV R7,#49 DLY2: DJNZ R7,DLY2 DJNZ R6 ,DLY1 RET END
|