With an 8MHz clock on a PIC16, the closest you can get is 125kHz (PR2=7) or 111kHz (PR2=8). Also, the resolution will be less than 4 bits (0-8 or just a little more than 3 bit resolution).
With an 8MHz clock on a PIC16, the closest you can get is 125kHz (PR2=7) or 111kHz (PR2=8). Also, the resolution will be less than 4 bits (0-8 or just a little more than 3 bit resolution).
i've come out with manually pwm generator coding.this is my code:
DEFINE OSC 8
TRISC.2=0
PWM_STATUS VAR PORTC.2
MAIN:
HIGH PWM_STATUS
PAUSEUS 4
LOW PWM_STATUS
PAUSEUS 4
GOTO MAIN
END
total time per cycle=4u+4u=8us...so...f=125khz...i hope this will work.i will tested it today...
Except that it'll take at least one cycle to set the pin high (probably 2), one cycle to set the pin low (probably 2), 2 cycles to execute the GOTO MAIN...
And if you'd read your PBP manual, you'd notice that pauseus has a minimum delay of 12us vs. the 4us you want.
Therefore, you're code will probably output a 50% duty cycle square wave at about 66.6Khz...give or take...
And do you want actual PWM or just a 120Khz pulse? 2 totally different things you know...
Last edited by skimask; - 11th September 2008 at 00:33.
just 120khz pulse only one time use.actually,i want to inject the pulse when the zero-crossing interrupt occur to couple with the 50hz ac power line.the zero-crossing interrupt has be discuss before in this forum.
Looks like you're well on your way over here http://forum.microchip.com/tm.aspx?m=364475
oh no.my x-10 receiver circuit cannot detect 100khz-120khz pwm frequency.i've tested today and you know what, it need a 1Mhz pwm frequency.how can i generate it.oh nooo.
Bookmarks