我用的是51單片機(開發板)作為處理器。左右伺服電機(parallax的)分別連接的是p1.0與p1.1。左右QT1傳感器連接p2.0與p2.1.
語言是匯編
在單獨調試右輪的調速時,可以做到1.3ms順時針轉,1.7ms逆時針轉,程序如下。同理與左輪 ORG 0000H START: CLR P1.0 MOV A ,#200 低電平延時 CALL DLY100 SETB P1.0 ;;;youlun MOV A ,#17 高電平延時 CALL DLY100 JMP START DLY100: 延時 MOV R6 ,A DLY1: MOV R7,#49 DLY2: DJNZ R7,DLY2 DJNZ R6 ,DLY1 RET END 但是當我將這兩個輪子放在一起調試時會發生兩個輪子都逆時針轉動,也就是右輪的1.3ms設置沒有起作用。這讓我十分頭疼。望各位大佬解答或者是賜教。謝謝 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 左輪逆時針 CALL DLY100 ret y: CLR P1.0 MOV A ,#200 CALL DLY100 SETB P1.0 ;;;youlun MOV A ,#13 右輪順時針 CALL DLY100 ret DLY100: MOV R6 ,A DLY1: MOV R7,#49 DLY2: DJNZ R7,DLY2 DJNZ R6 ,DLY1 RET END
|