Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 3548|回復: 1
打印 上一主題 下一主題

馬達程式問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-7-1 19:40:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這是一個讓伺服馬達到達中立的程式,每0.1ms計時一次
最後P2.0輸出pwm波 1.5ms 20ms
ORG 0000H
JMP START
ORG 000BH
JMP TIMER0
START: MOV R2,#1
MOV R1,#10
MOV TMOD,#00000001B
MOV TH0,#0FFH
MOV TL0,#64H
SETB EA
SETB ET0
SETB TR0
   
LOOP: JMP LOOP


TIMER0:
PUSH ACC
CLR TF0
MOV TH0,#0FFH
MOV TL0,#64H
INC R0
CYCLE1: CJNE R2,#0,SERVO1
CYCLE2: CJNE R0,#20,GOBACK
MOV R0,#0
DJNZ R1,CYCLE2
MOV R2,#1
MOV R0,#0
MOV R1,#10
SETB P2.0
JMP GOBACK

SERVO1: MOV A,R0
XRL A,#15
JNZ GOBACK
MOV R2,#0
CLR P2.0
GOBACK: POP ACC
RETI
  END


但是更改成每0.01ms計時一次 ,卻無法輸出PWM波,請問各位高手到底是為什麼啊?

更改地方

MOV TH0,#0FFH
MOV TL0,#0EFH

MOV TH0,#0FFH
MOV TL0,#0EFH


CYCLE2: CJNE R0,#200,GOBACK

  XRL A,#150
2#
 樓主| 發表於 2009-7-1 20:43:06 | 只看該作者
補充 使用的石英晶體是20MHz ,除以12,所以週期是0.6uS
0.6u*17=10.2uS,約等於0.01ms
0.01ms*150=1.5ms
0.01ms*2000=20ms
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-4-25 07:01 , Processed in 0.200848 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表