Em đang viết code cho LCD ở chế độ 4 bit , nhưng em không thể ép con trỏ về đầu dòng 2 được, dù em đã khai báo chế độ 4 bit .Các anh chị giúp em với
Chế độ 4 bit của LCD
Collapse
X
-
Tags: None
-
Bạn dùng VDK gì vậy? Và viết chương trình bằng ngôn ngữ gì?Mua bán thiết bị điện công nghiệp tại Hà Nội, toàn quốc.
http://diencongnghiep360.com/
http://tudienhathe.vn/
-
-
4 bit LCD
Bạn có thể đưa code lên cho mọi người check thử? Đây là code của mình để bạn tham khảo nhé
Code:;In this whole 4-bit tutorial LCD is connected to ;my controller in following way... ;D4 - P3.0 ;D5 - P3.1 ;D6 - P3.2 ;D7 - P3.3 ;EN - P3.7 ;RS - P3.5 ;RW gnd lcd_port equ P3 ;LCD connected to Port3 en equ P3.7 ;Enable connected to P3.7 rs equ P3.5 ;Register select to P3.5 lcd_reset: ;LCD reset sequence mov lcd_port, #0FFH mov delay,#20 ;20mS delay acall delayms mov lcd_port, #83H ;Data = 30H, EN = 1, First Init mov lcd_port, #03H ;Data = 30H, EN = 0 mov delay,#15 ;Delay 15mS acall delayms mov lcd_port, #83H ;Second Init, Data = 30H, EN = 1 mov lcd_port, #03H ;Data = 30H, EN = 0 mov delay,#5 ;Delay 5mS acall delayms mov lcd_port, #83H ;Third Init mov lcd_port, #03H mov delay,#5 ;Delay 5mS acall delayms mov lcd_port, #82H ;Select Data width (20H for 4bit) mov lcd_port, #02H ;Data = 20H, EN = 0 mov delay,#5 ;Delay 5mS acall delayms ret lcd_init: acall lcd_reset ;Call LCD Reset sequence mov a,#28H ;4-bit, 2 line, 5x7 dots acall lcd_cmd ;Call LCD command mov a,#0CH ;Display ON cursor OFF acall lcd_cmd ;Call LCD command mov a,#06H ;Set entry mode (Auto increment) acall lcd_cmd ;Call LCD command mov a,#80H ;Bring cursor to line 1 acall lcd_cmd ;Call LCD command ret lcd_cmd: ;LCD command Routine mov temp,a ;Save a copy of command to temp swap a ;Swap to use higher nibble anl a,#0FH ;Mask the first four bits add a,#80H ;Enable = 1, RS = 0 mov lcd_port,a ;Move it to lcd port anl a,#0FH ;Enable = 0, RS = 0 mov lcd_port,a ;Move to lcd port mov a,temp ;Reload the command from temp anl a,#0FH ;Mask first four bits add a,#80H ;Enable = 1 mov lcd_port,a ;Move to port anl a,#0FH ;Enable = 0 mov lcd_port,a ;Move to lcd port mov delay,#1 ;delay 1 ms acall delayms ret lcd_dat: ;LCD data Routine mov temp,a ;Keep copy of data in temp swap a ;We need higher nibble anl a,#0FH ;Mask first four bits add a,#0A0H ;Enable = 1, RS = 1 mov lcd_port,a ;Move to lcd port nop clr en ;Enable = 0 mov a,temp ;Reload the data from temp anl a,#0FH ;we need lower nibble now add a,#0A0H ;Enable = 1, RS = 1 mov lcd_port,a ;Move to lcd port nop clr en ;Enable = 0 mov delay,#1 ;Delay 1mS acall delayms ret
Comment
-
Bài viết mới nhất
Collapse
-
bởi ittcHic, sao nhiều anh em khuyên là đàn ông đã học thì học luôn số sàn chứ đừng học số tự động anh....-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 17:46 -
-
bởi mèomướp1. Tìm hiểu đc thì càng tốt, bận thì thôi. Ko cần quá quan trọng
2. Số tự động cho đơn giản, kiểu như đi xe ga ấy ạ
3. Học lý thuyết tử tế ok
4.ok
5.có. đủ số km, tgian cầm lái là đc
6.đi ăn tập thể,...-
Channel: Tâm tình dân kỹ thuật
14-08-2026, 16:34 -

Comment