這是一個讓伺服馬達到達中立的程式,每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 |