|
Tài trợ cho PIC Vietnam |
PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip |
|
Ðiều Chỉnh | Xếp Bài |
20-11-2012, 09:21 PM | #4 |
Nhập môn đệ tử
Tham gia ngày: Oct 2012
Bài gửi: 3
: |
em có mạch này mong các bác giúp! mục đích là điều khiển đèn sáng tối bằng chiết áp.
#include<16f877A.h> #device *=16 ADC=10 #fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use delay(clock=20000000) #include<def_877a.h> unsigned int16 value=0, temp=0; unsigned int16 doc_adc() { int8 i ; for(i=0;i<5;i++) { temp+=(unsigned int16)read_adc(); } value = temp/5; return(value); } void main() { byte value; setup_ccp1(CCP_PWM); // Configure CCP1 as a PWM setup_timer_2(T2_DIV_BY_4, 255, 16); // giá tr? b? chia t?n s? timer 2 là 4. // Th?i gian m?t chu k?: (255+1)*4*4/20 = 204.8 (us) setup_port_a(ALL_ANALOG,ADC_VDD_VSS); setup_adc(adc_clock_internal); set_adc_channel( 0 ); while( TRUE ) { value=read_adc(); //??c giá tr? t? chi?t áp ?i?u ch?nh t?c ?? set_pwm1_duty(doc_adc()); // Thi?t l?p ?? r?ng xung } // Th?i gian ?? r?ng xung = value*4/20 (us) } |
|
|