Professional Documents
Culture Documents
Xung pWm
Xung pwm c chu k khng i.
Nhng thi gian mc 1 c th khc
hoc bng thi gian mc 0
Duty cycle
Period
Xung PWM lm g?
Nu chng ta cp vo 2 bng n
xung c cng tn s, v mi bng
n c duty cycle khc nhau
=> th bng n c rng
xung(duty cycle) rng hn th sng
nhiu hn
Nu thay bng n bng ng c. Th
ng c no c cp xung c
rng xung(duty cycle) ln hn th
quay nhanh hn
Cho nn:
Dng pwm iu khin tc ng
c
Hay iu khin sng bng n
V nhiu chc nng khc
Nguyn l n gin l bt tt lin
tc. Bng n no c thi gian bt
ln hn th sng hn v ngc li
B PWM ca PIC18f4520
C 2 b to xung
PWM1
PWM2
Pwm1 cp xung ra trn chn CCP1/ RC2
Pwm2 cp xung ra trn chn CCp2/RC1
hoc RB3
Mun s dng cc chn ccp ny cn t
tris mc 0( u ra)
CCPRxH
OUT
PUT
S
Comparat
or
TRIS BIT
TMR2
Comarato
r
PR2
V d to xung 1Khz.
Duty cycle = 70%
S dng thch anh 4 MHz=> TOSC =
1/4 us
Xung 1khz = > chu k xung l 1000
(us)
Duty cycle = 70% = 70.1000/100 =
700 (us)
Chn h s TMR2 prescaler = 4
=> PR2+1= 1000/4/0.25/4=
250=>PR2=249
Th vin PWM.H
C 3 hm s dng
ClosePWMx: cm hot ng knh x
OpenPWMx: khi to knh x
SetDCPWMx: ci t rng xung
cho knh x
X: l knh 1 hoc 2
void main()
{
TRISC=0; // su dugn CCP1/ RC2
T2CONbits.T2CKPS1=0;
T2CONbits.T2CKPS0=1;// TMR2 prescaler
=4
ADCON1= 0x0f;
OpenPWM1(249);// khoi tao Pwm1
SetDCPWM1(700);// do rong xung l 700
while(1);