Trích:
Nguyên văn bởi 000007
Em mới tìm hiểu PIC, em muốn viết một chương trình sử dụng ADC để hiển thị các mức điện áp 0-5v với nhiều đường vào từ AN0-AN4 (tất cả các đầu vào đều được cấp 1 nguồn điện áp riêng rẽ) của pic6F876a lên 1 LCD 16x2. Mọi người có thể giúp em thuật toán quét ADC để có thể nhận kết quả từ tất cả các đầu vào AN0-AN4 lên LCD được không ạ?
|
Theo tôi thì bạn nên viết một hàm con đọc AD cùa 1 kênh , khi nào cần đọc kênh nào chỉ cần gọi tên tên hàm ứng với kênh Ad đó . Nếu bạn muốn quét hết thì chỉ cần 1 vòng lặp đọc tất cả các kênh thôi .
vi du : với phần mềm CCS
Code:
unsigned int doc_ad(unsigned int x)
{
unsigned int AD=0;
set_adc_channel(x);
delay_us(10);
AD=read_adc();
return AD;
}
void main()
{
......// khởi động AD
while(true)
{
unsigned int i,j;
.... // khi có yêu cầu
for(i=0;i<5;i++) // đọc 5 kênh AD từ kênh 0 đến kênh 4
{
j=doc_ad(i);
....... // hiển thị giá trị AD j ra LCD
}
}
}