![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#10 | |
Đệ tử 2 túi
Tham gia ngày: Apr 2009
Bài gửi: 44
: |
Trích:
Bạn tham khảo ví dụ nha: #include <16f877a.h> #include <def_877a.h> #device *=16 adc=8 #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use delay(clock=200000000) int8 P=0; void init() { // cai PWM bo dieu che xung cho dong co setup_ccp1(CCP_PWM); // Bat che do PWM cho RC1 // setup_ccp2(CCP_PWM); // Bat che do PWM cho RC2 setup_timer_2(T2_DIV_BY_4,156,1);//Ta co PR2=199,prescale=1 //Tpwm=[PR2+1]*4*1/clock*prescale=[199+1]*4/20000000*1=40 us //Fpwm=1/Tpwm=25 kHZ // set_tris_c(0b00000000); set_pwm1_duty (10); } void main() { init(); // Khoi tao che do cho bo ADC setup_adc_ports(AN0); setup_adc(ADC_CLOCK_INTERNAL); delay_us(10); // Lay mau nhiet do lan dau tien P=Read_ADC(ADC_START_AND_READ); //Lire Vin restart_wdt(); // Woof ! delay_ms (10); TRISA = 0x3F; TRISB = 0x00; TRISC = 0x0B; TRISE = 0x07; TRISD=0x03; PORTB=0x00; PORTC=0x0B; PORTD=0x00; while (true) { if(RA3==0||RD0==0){ if(RA3==0){ if(RA1==0||RA2==0){ if(RA1==0){RC5=1;RD2=0; delay_ms(3);RC4=RD3=1; }; if(RA2==0){RD2=1;RC5=0; delay_ms(3);RC4=RD3=1; }; } else {RC5=RD2=0;RD3=1;RC4=1;delay_us(100);}; }; if(RD0==0){ if(RA1==0||RA2==0){ if(RA1==0){RC5=0;RD2=1; delay_ms(3);RC4=RD3=1; }; if(RA2==0){RD2=0;RC5=1; delay_ms(3);RC4=RD3=1; }; } else {RC5=RD2=1;delay_ms(3);RC4=RD3=1;}; }; } else {RD3=RC4=RC5=RD2=0;}; if((RA1==0||RA2==0)&&RA3==1&&RD0==1){ if(RA1==0){ RC5=1;RD2=0; delay_ms(3);RC4=1;RD3=0; }; if(RA2==0){ RC5=0;RD2=1; delay_ms(3);RC4=0;RD3=1; }; }; delay_ms(1); P=Read_ADC(ADC_START_AND_READ); //Lire Vin restart_wdt(); // Woof ! delay_ms(4); P=P/1.57; set_pwm1_duty (P); delay_ms (2); /* set_pwm2_duty(10);//100% delay_ms(50); set_pwm2_duty(25);//80% delay_ms(100); set_pwm2_duty(50);//50% delay_ms(100); set_pwm2_duty(100); delay_ms(100); set_pwm2_duty(120); delay_ms(100);*/ } }
__________________
ĐT : 0167 6455 880 Mail: quanghuy1205@gmail.com https://www.facebook.com/ThietKeDienTu |
|
![]() |
![]() |
|
|