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
}
}
À, 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à....
Bài học kiểu trực tuyến dù là loại đơn giản bậc nhất cũng vẫn cần chú tâm. Chỉ bật tai nghe lên thì không có loại nào thấm nổi đâu. Cách hay hơn, dễ hơn là kiếm phim tiếng Anh nào đó xem, ban đầu bật phụ đề tiếng Việt, nghe và...
Ha ha !
Thay đổi cách nghĩ thì sẽ nghĩ ra.
.
.
.
Một thứ cần kiểm soát dòng + nhiệt + công suất tiêu tán. Nhưng lại dùng tư duy ổn áp. Làm sao mà giải quyết được.
Nó là mạch ổn dòng.
Vì thế các anh nước lạ không thèm quan tâm là phải....
Vì cứ phải chỉnh sửa cho mỗi dải điện áp, quên chỉnh thì hư chíp phải bảo hành nên em thấy bất tiện, mới cần cái mạch 1 dải áp cao dùng cho tất cả loại đèn đó bác!...
Mình thỉnh thoảng cũng làm việc với người nước ngoài nói tiếng Anh thì toàn ghép nhặt từ, cộng với quơ tay quơ chân để diễn tả, hix. Nỗi khổ là không biết cách để mô tả sự việc. Tôi muốn tìm các bài giảng tiếng anh nào phù hợp...
Comment