Bạn bỏ đoạn lệnh #include "def_30F4011.h" đi, tạm thời dùng toàn bộ hàm chuẩn của CCS trước. Hàm main viết như bên dưới.
Bạn dùng lại cái thư viện lcd_lib_4bit.c của tôi, cái đó hoàn toàn đúng, không sai được, tôi dùng nó mấy năm nay rồi, chạy tốt.
Code:
void main()
{
// Set Output
set_tris_b(0x00);
set_tris_c(0x00);
set_tris_d(0x00);
set_tris_e(0x00);
// Init LCD, 4bit mode
lcd_init(); // Always call this first.
lcd_putcmd(1); // Clear LCD
//lcd_putc("\fNGUYEN THE TUNG\n"); // Viết như thế này là sai, vì hàm lcd_putc chỉ nhận đối số là 1 byte char
printf(lcd_putchar,"NGUYEN THE TUNG");
lcd_putcmd(0xC0 + 4); // hàng 2 cột 4
//lcd_putc("DTD45-DH1");
printf(lcd_putchar,"DTD45-DH1");
while(1)
{
output_low(PIN_E3);
delay_ms(250);
output_high(PIN_E3);
delay_ms(250);
}
}