因為我腦袋空空阿 ,想不出啥新玩意兒,只是對機器人蠻感興趣的,剛好這邊又有圖.程式(電路還算簡單@Q@),就來作囉~想說起碼要先能這樣,不然要像板上的大大們能DIY出機器人應該更難
C部分OK囉~,照您說的測試是OK的~,那就麻煩您幫我試試看D部分囉 ,B部分的程式還要改這邊:
PWM_WIDTH:
MOV COUNT,@R0
LOOP1:
;SETB TR0 ;開啟T0計數器
;CLR TR0 ;關閉T0計數器
MOV R4,#0AH ;10次
LOOP4:
NOP ;每個 nop 延時 1us
NOP
DJNZ R4,LOOP4 ;R4=0時跳下一行=>(1us+1us+2us)X10 = 40us,此行本身要2us
DJNZ COUNT,LOOP1 ;將PWM的值乘以40us
MOV CUT,#0 ;因為T0中斷給兩個副程式使用,所以CUT累加在此須清除
MOV PWM,@R0 ;將R0的值交給DEL_L去取LOW的時間
INC R0 ;找下一個PWM的位置
RET
因為其實這兩個很像,都是在計時的部分,然後我TABLE的部分也改了一下,暫時讓每個輸出都呈現一樣的DW,
目前修改的結果是OK囉~,跟之前用計時中斷寫的效果一樣,這都要感謝您~ |