iVoVa
12-03-2011, 07:13 PM
Đây là schematic
http://cB4.upanh.com/19.1003.26864013.B9Y0/lcd.jpg
#include <18F4520.h>
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=4000000)
//#use FAST_IO(B C )
//#use FAST_IO(D E )
#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
#include <lcd.c> //
void main()
{
delay_ms(100);
lcd_init();
lcd_gotoxy(1,1);
lcd_putc('i');
lcd_putc('V');
lcd_putc('o');
lcd_putc('V');
lcd_putc('a');
lcd_putc(' ');
lcd_putc('!');
}
Cho mình hỏi một cách cụ thể là nhiệm vụ của các chân từ RD0 đến RD3 là dùng để làm j, làm sao mà PIC lại biết được là phải set RS mức H hay L, tương tự cho chân R/W và E.
Còn từ chân RD4 đến RD7 có phải là dùng để nhận dữ liệu từ LCD hay không.
Câu hỏi hơi ngốc nhưng mong các bạn giải thích cụ thể giùm.
http://cB4.upanh.com/19.1003.26864013.B9Y0/lcd.jpg
#include <18F4520.h>
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=4000000)
//#use FAST_IO(B C )
//#use FAST_IO(D E )
#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
#include <lcd.c> //
void main()
{
delay_ms(100);
lcd_init();
lcd_gotoxy(1,1);
lcd_putc('i');
lcd_putc('V');
lcd_putc('o');
lcd_putc('V');
lcd_putc('a');
lcd_putc(' ');
lcd_putc('!');
}
Cho mình hỏi một cách cụ thể là nhiệm vụ của các chân từ RD0 đến RD3 là dùng để làm j, làm sao mà PIC lại biết được là phải set RS mức H hay L, tương tự cho chân R/W và E.
Còn từ chân RD4 đến RD7 có phải là dùng để nhận dữ liệu từ LCD hay không.
Câu hỏi hơi ngốc nhưng mong các bạn giải thích cụ thể giùm.