小弟是之前有發問過相同的問題,但是仍然沒能解決(不過在此先向nichal 和 wboe大大致謝)。我想對nichal大大說的是我有照著你給的劃圈的圖改了程式,但還是得到一樣的結果(另外我也有換顆馬達和接腳),他都是只做R1的指令,似乎我R2所給的指令他都沒有輸出,這到底是為什麼?? 謝謝!!!
補充一下,之所以要控制馬達的速度是因為讓機器人用馬達全速去動作的話,機器人會變得不穩而跌倒,所以想用部分的馬達能夠速度變慢來讓整個機器人穩定的完成動作,這樣的想法是對的嗎??
程式碼:
org 00h
mov r1,#00100000b
mov r2,#00000010b
jmp start
start:
mov r4,#50
loop: ; 到起始位置 90度
mov p1,r1
call delay15
mov p1,r2
call delay15
mov p1,#00000000b
call delay200
djnz r4,loop
;開始控制速度
;動作1
mov r4 ,#1
Loop1:
mov r7, #1 ;代表0.02的倍數
mov p1,r1
call delay15
call delay002
mov p1,r2
call delay15 ;
call delay002 ; 跟上面合起來是1.52ms
mov p1,#00000000b
call delay17ms ; 17ms
djnz r4 , Loop1
;動作2
mov r4 ,#1
Loop2:
mov r7, #2 ;代表0.02的倍數
mov p1,r1
call delay15
call delay002
mov p1,r2
call delay15 ;
call delay002 ; 跟上面合起來是1.52ms
mov p1,#00000000b
call delay17ms ; 17ms
djnz r4 , Loop2
;動作3
mov r4 ,#1
Loop3:
mov r7, #3 ;代表0.02的倍數
mov p1,r1
call delay15
call delay002
mov p1,r2
call delay15 ;
call delay002 ; 跟上面合起來是1.52ms
mov p1,#00000000b
call delay17ms ; 17ms
djnz r4 , Loop3
..
..
..接著是相同的指令
[ 本帖最後由 konica777 於 2009-1-20 15:44 編輯 ] |