Hic lạ quá cho em hỏi chút nhé.
Tôi thử đưa 2 tín hiệu
1. từ LM35 (Vout khoảng 0.2V)
2. Từ 1 biến trở (Vout khoảng 2.5V)
Vậy mà ko hiểu sao giá trị của tín hiệu 1 lớn hơn có ai biết xin trả lời dùm với
(Chương trình test nên còn nhiều RÁC)
Code:
#include <16F877A.h>
#DEVICE *=16 ADC=10
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=12000000)
void main() {
int i, value, min, max;
setup_adc_ports(ALL_ANALOG);
// setup_adc_ports(ANALOG_RA3_REF);
setup_adc( ADC_CLOCK_INTERNAL );
set_adc_channel(0);
set_tris_b(0);
set_tris_d(0);
set_tris_e(0);
// set_tris_d(0b00000010);
output_b(0xf);
output_d(0xff);
delay_ms(500);
output_b(0x0f);
delay_ms(1000);
output_e(7);
i=0;
// setup_vref(FALSE);
// setup_vref (VREF_HIGH | 8);
//while(D1());
while(1){
if(i)
i=0;
else
i=1;
output_e(i);
value = Read_ADC();
delay_ms(800);
output_b(value);
value=value>>8;
output_d(value);
}
}