View Single Post
Old 16-04-2009, 11:58 AM   #1
maiduy082
Đệ tử 4 túi
 
Tham gia ngày: Apr 2008
Bài gửi: 66
:
hỏi về giao tiếp lcd voi pic16f877a

em đang làm với cái lcd 2 dòng
em làm y chang cái chương trình hiển thị chữ "be yeu" cua bác nhh
#include <16F877A.h>
#include <DEFS_16F877A.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#define RS RD0
#define RW RD1
#define E RD2
#define LCD PORTB

/*Ham yeu cau goi lenh dieu khien LCD*/
void comnwrt(void)
{
RS = 0;
RW = 0;
E = 1;
E = 0;
delay_ms(1);
}
/*Ham yeu cau goi du lieu hien thi len LCD*/
void datawrt(void)
{
RS = 1;
RW = 0;
E = 1;
E = 0;
delay_ms(1);
}
/*Ham main*/
void main(void)
{
set_tris_B(0);
set_tris_D(0);
delay_ms(100); // Tao tre 100ms cho LCD khoi dong

LCD = 0x38; // Hai hang, ma tran dot 5*7, 8 bit interface
comnwrt();
LCD = 0x0C; // Bat hien thi, tat con tro
comnwrt();

LCD = 0x85; // Vi tri hang 1,cot 6
comnwrt();

LCD = 'B'; // Xuat dong chu "BE YEU" ra LCD
datawrt();
LCD = 'E';
datawrt();
LCD = ' ';
datawrt();
LCD = 'Y';
datawrt();
LCD = 'E';
datawrt();
LCD = 'U';
datawrt();
LCD = '!';
datawrt();
}

khi em cho mạch chạy thi cai lcd đen thui cái dòng thứ nhất, dòng thứ 2 ko thấy gì, sau đó em rút điện ra thì mới thấy chữ "be yeu".
anh chị em giúp em với, cho em mấy cái TUT học giao tiếp lcd với. cám ơn anh chị nhiều.
maiduy082 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn