Thực tế 8 Bit nhưng khi thiết kế mạch và lập trình phải 4 Bit để tiết kiệm chân PIC: Đầu tiên phải lấy thư viện LCD.
Đoạn cos sau đây có thể tham khảo
#include <htc.h>
#include "lcd.h"
#include <stdio.h>
//Cấu hình cho Chip
__CONFIG(INTIO & WDTDIS & PWRTDIS & MCLREN & UNPROTECT & DUNPROTECT & BORDIS & FCMDIS);
int value; //Khai báo biến value
void main()
{
VCFG1=VCFG0=0; //Điện áp tham chiếu Vref+=Vdd,Vref-=Vss
TRISA3=1; //RA3 là Input
ANS3=1; //RA3 là Analog(trong thanh ghi ANSEL:Analog Select Register)
CHS0=1; //Chọn kênh ADC : AN3 tương ứng chân RA3(trong thanh ghi ADCON0)
CHS1=1;
CHS2=0;
CHS3=0;
ADCS0=1; //Thời gian hoàn thành (Focs/8))
ADCS1=0;
ADFM=0; //Định dạng kết quả ADC 10bit được sau khi được chuyển đổi,canh chỉnh trái=>value=(high*4+low)
ADON=1; //Bat che do ADC
lcd_init(); //Hàm khởi tạo LCD chứa trong thư viện "lcd.c"
lcd_putc('\f'); //Hiển thị ký tự lên LCD trong dấu ' ' ,ở đây\f là xóa LCD
while(1)
{
GODONE=1; //Bắt đầu chuyển đổi
value=ADRESH*4 + ADRESL; //Gán biến value = giá trị chuyển đổi 10bit
lcd_gotoxy(0,0); //Chỉnh con trỏ chuột về đầu dòng hàng thứ nhất LCD
printf(" Gia tri ADC"); //In chuỗi ký tự:"Gia tri ADC"
printf("\n %d",value); //In giá trị ADC 10bit sau sau khi chuyển đổi được gán vào biếnvalue
}
}
|