พอดีผมใช้ pic16f877a รับค่าจากเซนเซอร์อะคับ ผมใช้โค๊ด ADC อะคับ แล้ว compile และ run ได้ปรกติอะคับ
แต่เปลี่ยนมาใช้เบอร์ 16f628a กลับ compile ไม่ผ่านอะคับ
พอดีเป็นโปรเจคอะคับ และต้องใช้ 16f628a หลายตัวด้วยอะคับ เพราะประหยัด และ input output ไม่มากเกินไปด้วยอะคับ
ไม่ทราบว่าจะแก้ยังดีคับ
รบกวนช่วยหน่อนนะคับ
อันนี้เป็นโค๊ด 16f877a คับ
#include <16F877A.h> // Standard Header file for the PIC16F877A
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#define use_portd_lcd
#include "LCD16x2.c"
float ldr1,ldr2,sum1,volt=5;
void VOLT_LDR()
{
set_adc_channel(0);
delay_ms(10);
ldr1=read_adc();
port_b_pullups(true);
ldr2=(ldr1*4)+(ldr1/64);
sum1=((ldr2*volt)/1023);
lcd_gotoxy(1,1);
printf(lcd_putc,"VOLT LDR: %.2f V"sum1);
delay_ms(50);
if(sum1<4)
{ output_high(PIN_B0);
delay_ms(20000);
}
else
{ output_low(PIN_B0); }
}
void main(void)
{
lcd_init();
set_tris_d(0x00);
setup_adc_ports(all_analog);
setup_adc(adc_clock_internal);
set_adc_channel(0);
while(TRUE)
{
VOLT_LDR();
}
}