PDA

View Full Version : Pwm ccs


socola
29-07-2009, 02:17 PM
#use delay(clock=20000000)
int i;
void main()
{
setup_ccp1(CCP_PWM); // khoi tao bo PWM1
setup_timer_2(T2_DIV_BY_1,1023,1);

set_pwm1_duty(0); //khoi tao duty=0
while(true)
{
for(i=0;i<1023;i++)
{
set_pwm1_duty(i);
delay_ms(50);
}
for(i=1023;i>0;i--)
{
set_pwm1_duty(i);
delay_ms(50);
}

}
}



Mình tập viết cho nó sáng dần lên rồi tắt dần. Nhưng nó chỉ sáng dần, bác nào biết xin chỉ giáo

bien_van_khat
29-07-2009, 02:37 PM
Trong CCS mặc định kiểu int là 8 bit. Do đó bạn không thể đếm tới 1023

Bạn cần khai báo

int16 i;

hoặc

long i;