Đă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.

Đọc ADC Dùng
CCS-C
#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);
}
}