|
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 |
19-03-2011, 01:48 PM | #3 |
Đệ tử 2 túi
Tham gia ngày: Aug 2010
Bài gửi: 27
: |
bạn có thể làm như thế này mình ví dụ dùng 2 kênh adc thôi nha.còn lại bạn làm tương tự nhá. đây là code đo adc 2 kênh dùng để tính Công Suất= UxI. Thân
///////////////////////////////////////////////////////////////////////////////////// #include <16F877A.h> #include <def_877a.h> #device adc=8 #FUSES HS #use delay(clock=8000000) #include <lcd1_doan.c> int16 giatriadc0,giatriadc1; float tong,von,ampe; void channel_0(); void channel_1(); void congsuatP(); #int_rda void main() { set_adc_channel(1); setup_adc(adc_clock_internal); setup_adc_ports(ALL_ANALOG); enable_interrupts(int_rda) ; enable_interrupts(global) ; lcd_init(); printf(lcd_putc,"*DH-CNTPHCM_HUI*"); while(1) { channel_0(); delay_ms(100); channel_1(); delay_ms(10); congsuatP(); lcd_gotoxy(1,2); printf(lcd_putc,"%3.1f",tong); lcd_gotoxy(7,2); lcd_putc("KW"); } } void channel_0() { set_adc_channel(1); giatriadc0=read_adc(); von=(float)giatriadc0*76/51; } void channel_1() { set_adc_channel(2); giatriadc1=read_adc(); ampe=(float)giatriadc1/51; } void congsuatP() { tong=(float)von*ampe/1000; } ///////////////////////////////////////////////////////////////////// |
|
|