Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
Bác nào đã trải qua lcd 4 bit chi mình voi mình đã tham khảo tren dien đàn và trên mạng nhung khi viết xong thì no ko hien ra chu gi hết cả. Bác nào đã làm rồi thì cho mình chút kinh nghiệm !
Với giao tiếp lcd 4bit thì bạn gởi 4bit cao trước ,4bit thấp sau. Mỗi lần gởi 4bit như vậy ta chọn lại thanh ghi lệnh hay thanh ghi dữ liệu. lưu ý: 4 đường dữ liệu và 3 đường điều khiển của lcd bạn nối chung vào 1 port vdk, 4 đường dữ liệu thì nối với 4 bit cao của vdk.
// --------------------------------------------------
// Ham Gui 4 Bit Du Lieu Ra LCD
void lcd1602_send_4bit_data ( unsigned char cX )
{
LCD_D4 = cX & 0x01;
LCD_D5 = (cX>>1)&1;
LCD_D6 = (cX>>2)&1;
LCD_D7 = (cX>>3)&1;
}
// --------------------------------------------------
// Ham Gui 1 Lenh Cho LCD
void lcd1602_send_command (unsigned char cX )
{
lcd1602_send_4bit_data ( cX >>4 ); // gui 4 bit cao
lcd1602_enable() ;
lcd1602_send_4bit_data ( cX ); // gui 4 bit thap
lcd1602_enable() ;
}
// --------------------------------------------------
// Ham Khoi Tao LCD
void lcd1602_init ( void )
{
lcd1602_send_4bit_data ( 0x00 );
delay(200);
LCD_RS=0;
LCD_E=0; // che do gui lenh
lcd1602_send_4bit_data ( 0x03 ); // ket noi 8 bit
lcd1602_enable() ;
lcd1602_enable () ;
lcd1602_enable () ;
lcd1602_send_4bit_data ( 0x02 ); // ket noi 4 bit
lcd1602_enable() ;
lcd1602_send_command( 0x2C ); // giao thuc 4 bit, hien thi 2 hang, ki tu 5x8
lcd1602_send_command( 0x80);
lcd1602_send_command( 0x0C); // cho phep hien thi man hinh
lcd1602_send_command( 0x06 ); // tang ID, khong dich khung hinh
lcd1602_send_command( CLEAR_LCD ); // xoa toan bo khung hinh
}
// --------------------------------------------------
// Ham Thiet Lap Vi Tri Con Tro
void lcd1602_gotoxy(unsigned char x, unsigned char y)
{
unsigned char address;
if(!y)
address = (LINE_1+x);
else
address = (LINE_2+x);
delay(3);
lcd1602_send_command(address);
delay(1);
}
// --------------------------------------------------
// Ham Xoa Man Hinh LCD
void lcd1602_clear(void)
{
lcd1602_send_command( CLEAR_LCD );
//delay_us(300);
}
// Ham Gui 1 Ky Tu Len LCD
void kitu ( unsigned int cX )
{
LCD_RS=1;
lcd1602_send_command( cX );
LCD_RS=0;
}
// Ham ghi chuoi
void chuoi(unsigned char *s)
{
char i;
for(i=0;i<strlen(s);i++)
{
kitu(s[i]);
}
}
// Ham ghi cham 1 chuoi
void chuoi_cham(unsigned char *s)
{
char i;
for(i=0;i<strlen(s);i++)
{
kitu(s[i]);
delay(75);
}
}
void main()
{
lcd1602_init ();
lcd1602_clear ();
while(1)
{
lcd1602_send_command(0x80);
chuoi_cham("WELL COME TO ");// chuoi ky tu gui len man hinh
delay(200);
lcd1602_gotoxy (0,1);
chuoi_cham(" HVKTQS 2013");// chuoi ky tu gui len man hinh
}
}
Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).
Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
Thiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.
Uống rượu 1 mình, thấy trang này nhớ lại cách đây vài chục năm hàn thiếc với inox cực kỳ khó, phải dùng acid Hcl tác dụng lên kẻm Zn để có Zncl2 làm thuốc trợ hàn, lúc đó làm gì có acid Hcl và thuốc trợ hàn?
À, sản phẩm họ thiết kế ra, họ yêu cầu mình chứng minh là sau chỉnh sửa thì 1 là gỡ jump cắm lại không hư mạch, 2 là gỡ jump thì 220Vdc vẫn dùng được led áp thấp 20V mà không hư led như mình báo, nên họ hiểu rõ mà....
Comment