- Đăng vào
Code đọc ADC hiện LCD vi điều khiển PIC và mô phỏng trong Proteus
Đoạn code CCS-C 4.11 dùng với chip PIC16f877A đọc ADC từ biến trở và hiển thị lên LCD. Chương trình được chay mô phỏng trong Proteus 8.1 để kiểm tra kết quả. Bạn có thể download Project CCS-C và Proteus ở cuối bài viết. Trong code có sử dụng thư viện LCD16x2 do mình viết có thể không chuẩn lắm.
#include "DEF_16f877a.h"
#FUSES NOWDT //No Watch Dog Timer
#FUSES BROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOPROTECT
#FUSES HS
#FUSES PUT
#use delay(clock=20000000)
//#use rs232(baud=56000, parity=N, xmit=PIN_C6, rcv=PIN_C7)
#include "LCD_Function.c"
#include "ADC_Function.c"
// 4-Bits Interface
void main()
{
setup_adc_ports( ALL_ANALOG );
setup_adc(ADC_CLOCK_INTERNAL );
set_adc_channel( 0 );
INT8 value[20];
int16 num;
ADC_Init();
trisb=0b11111000;
while(TRUE)
{
num = read_adc();
//num=ADC_Read();
delay_ms(20);
LCD_Init();
LCD_Clear();
sprintf(value,"%lu",num);
LCD_Dispstr(value);
/*if (num<333)
output_b(0b00000001);
else
if (num>=333&&num<666)
output_b(0b00000010);
else
output_b(0b00000100);
*/
DELAY_MS(500);
}
}