View Single Post
Old 19-03-2011, 01:48 PM   #3
akatsu
Đệ 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;
}
/////////////////////////////////////////////////////////////////////
akatsu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn