Em đang làm với con ATmega16.con này có 8 đầu vào ADC0-ADC7.Giả sử e cần đọc đầu vào từ kênh ADC0 e kết nối phần cứng như sau:
-chân AVCC và chân Vref e treo lên 5v(lấy từ nguồn máy tính)
-chân ADC0 e đọc điện áp đầu vào từ chân Vin(đc nối với 1 biến trở 2,2k để thay đồi điện áp Vin)
-ADC sử dụng chế độ 10bit
-hiển thì kết quả lên LCD
Kết quả:-khi e để Vin=5v => đọc đc là 1023
-khi để Vin=0v =>đọc đc giá trị khác 0(nó khoảng 10-18 ko ổn định)
-khi xoay biến trở thì giá trị đọc về thay đổi rất chậm
Em thử chuyển sang đọc ở 1 kênh khác giả sử ADC1 thì nó vẫn cho kết quả(giá trị đọc đc nhảy linh tinh).mặc dù e ko đưa điện áp đầu vào cho kênh này???chỗ này thấy hơi củ chuối.
Mong các cao thủ giúp tại hạ.
-chân AVCC và chân Vref e treo lên 5v(lấy từ nguồn máy tính)
-chân ADC0 e đọc điện áp đầu vào từ chân Vin(đc nối với 1 biến trở 2,2k để thay đồi điện áp Vin)
-ADC sử dụng chế độ 10bit
-hiển thì kết quả lên LCD
Kết quả:-khi e để Vin=5v => đọc đc là 1023
-khi để Vin=0v =>đọc đc giá trị khác 0(nó khoảng 10-18 ko ổn định)
-khi xoay biến trở thì giá trị đọc về thay đổi rất chậm
Em thử chuyển sang đọc ở 1 kênh khác giả sử ADC1 thì nó vẫn cho kết quả(giá trị đọc đc nhảy linh tinh).mặc dù e ko đưa điện áp đầu vào cho kênh này???chỗ này thấy hơi củ chuối.
Mong các cao thủ giúp tại hạ.
Comment