Bạn chú ý chổ này . Sau khi đọc giá trị ADC kênh 0 xong thì nên lưu riêng giá trị ra một biến . VD ADC0_value . Sau đó mới set cho đọc kênh 1 . Cũng lưu riêng giá trị ra . VD ADC1_value . Sau đó mới xuất cả hai ra giá trị ra LCD .
Theo như code của bạn thì sau khi đọc giá trị ADC thì đều lưu vào cùng 1 biến nên giá trị kênh 0 sẽ bị thay thế bằng giá trị của kênh 1 được đọc liền sau đó .
Hoặc bạn cũng có thể đọc giá trị kênh 0 xong và xuất ra LCD liền rồi sau đó mới tiếp tục đọc kênh 1 và xuất ta LCD .
Code:
while(true)
{
doc_adc_0();
delay_ms(100);
doc_adc_1();
lcd_putcmd(0x80);
lcd_putchar(" adc: ");
hienthi(adc);
}
}