View Single Post
Old 10-01-2011, 09:27 PM   #11
monkey.D.luffy
Nhập môn đệ tử
 
Tham gia ngày: Jan 2011
Bài gửi: 3
:
đọc giá trị ADC đầu vào để điều chỉnh duty phát xung PWM

chào cả nhà,mọi người giúp mình bài này nhé,mình mới học PIC nên nhiều thứ còn chưa rõ.
Mình sử dụng PIC 16F877A để điều khiển duty PWM ổn định điện áp ra cho mạch BOOST DC-DC,đầu điện áp phản hồi là chân AN0, sử dụng CCP1 để phát xung,mình muốn chọn chu kỳ PWM = 10us mà không biết cách làm,mình từng sử dụng câu lệnh "setup_timer2(T2_DIV_BY_1,255,1)" với clock = 20MHz nhưng Ts ra vẫn ko thấy đúng,mọi người chỉ giúp mình với.
Còn đoạn chương trình sau của mình thì lại cho ra chu kỳ PWM=0,25ms mà mình cũng không hiểu.

#include<16F877A.h>
#device *=16
#use delay(clock=20000000)
void main()
{
float adc; int16 i=400;
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);
set_tris_c(0x00);
setup_ccp1(CCP_PWM);
set_pwm1_duty(i);
delay_ms(100);
while(1)
{
adc=(float)read_adc();
if (adc>4)
i--;
else
i++;
}
}

mọi người xem và chỉ cho mình code đúng cái
monkey.D.luffy vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn