دايرة ADC بسيطة باستخدام 16F877A
دائما تعطيني القيمة 0
؟؟؟
كود:
//////////////////////
sbit lcd_rs at rb2_bit;
sbit lcd_en at rb3_bit;
sbit lcd_d4 at rb4_bit;
sbit lcd_d5 at rb5_bit;
sbit lcd_d6 at rb6_bit;
sbit lcd_d7 at rb7_bit;
sbit lcd_rs_direction at trisb2_bit;
sbit lcd_en_direction at trisb3_bit;
sbit lcd_d4_direction at trisb4_bit;
sbit lcd_d5_direction at trisb5_bit;
sbit lcd_d6_direction at trisb6_bit;
sbit lcd_d7_direction at trisb7_bit;
///////////
char str[16];
unsigned int temp;
float v;
////////////
void main() {
trisa=0b11111111;
adc_init(); lcd_init();
lcd_cmd(_lcd_cursor_off);
//////////////
for(;;)
{
temp = adc_read(2);
v = temp * 5 /1023;
FloatToStr(v,str);
lcd_out(1,1,"value = ");
delay_ms(1000);
lcd_out_cp(str);
delay_ms(1000);
}
}
البروتوس