các bạn chỉ mình với. trong code mình viết dưới đây, khi dịch thì ko báo lổi, nhưng khi cho chạy mô phỏng thì không được là sao ạ. Đây là code đọc giá trị ADC rồi cho hiển thị lên LCD.
//////////////
CODE:
#include <16f877a.h>
#device *=16 ADC=10
#include <lcd.c>
#fuses HS
#fuses NOWDT
#fuses NOLVP
#define LCD_ENABLE_PIN PIN_D0
#define LCD_RS_PIN PIN_D1
#define LCD_RW_PIN PIN_D2
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#define LCD_TYPE 1
#use delay(clock=20000000)
#use rs232(UART1, baud=9600, parity=N, stream=UART,errors)
CHAR lcd_buff[15];
INT16 value;
void main()
{
setup_ADC (ADC_clock_internal);
setup_adc_ports (ALL_ANALOG);
lcd_init () ;
WHILE (TRUE)
{
value = read_adc () ;
delay_ms (100);
sprintf (lcd_buff, "ADC = %lu", value);
lcd_gotoxy (1, 2) ;
lcd_putc (lcd_buff);
}
}
//////////////
CODE:
#include <16f877a.h>
#device *=16 ADC=10
#include <lcd.c>
#fuses HS
#fuses NOWDT
#fuses NOLVP
#define LCD_ENABLE_PIN PIN_D0
#define LCD_RS_PIN PIN_D1
#define LCD_RW_PIN PIN_D2
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#define LCD_TYPE 1
#use delay(clock=20000000)
#use rs232(UART1, baud=9600, parity=N, stream=UART,errors)
CHAR lcd_buff[15];
INT16 value;
void main()
{
setup_ADC (ADC_clock_internal);
setup_adc_ports (ALL_ANALOG);
lcd_init () ;
WHILE (TRUE)
{
value = read_adc () ;
delay_ms (100);
sprintf (lcd_buff, "ADC = %lu", value);
lcd_gotoxy (1, 2) ;
lcd_putc (lcd_buff);
}
}
Comment