STM8S003K6 LCD 16x2 4bit
Schematic.
- Các bước setup LCD 16x2 4 bit data.
Lưu đồ các bước setup.
B1:
- Sau khi cấp nguồn cho LCD, delay >=15ms.
- Cho chân RS, RW xuống mức thấp.
B2:
- Gửi 4 bit data DB7=0, DB6=0, DB5=1, DB4=1.
- Cho chân E lên mức cao, delay khoảng 5us, E xuống thấp delay 50us.
- Delay >=4.1ms.
B3:
- Gửi 4 bit data DB7=0, DB6=0, DB5=1, DB4=1.
- Cho chân E lên mức cao, delay khoảng 5us, E xuống thấp delay 50us.
- Delay >=100us.
B4:
- Gửi 4 bit data DB7=0, DB6=0, DB5=1, DB4=0.
- Cho chân E lên mức cao, delay khoảng 5us, E xuống thấp delay 50us.
Command function set: DL=0 mode 4 bit, DL=1 mode 8 bit, N=0 mode 1 dòng, N=1 mode 2 dòng, F=0 mode font 5x10, F=1 mode font 5x8. => 0x28: giao tiếp 4 bit , 2 dòng, font 5x8.
- Gửi 4 bit cao.( 0010)
- Cho chân E lên mức cao, delay khoảng 5us, E xuống thấp delay 50us.
- Gửi 4 bit thấp. (1000)
- Cho chân E lên mức cao, delay khoảng 5us, E xuống thấp delay 50us.
Command on display: D=1 display on, D=0 display off, C=1 hiện con trỏ, C=0 tắt con trỏ. =>0x0C.
Tách ra gửi 2 lần mỗi lần 4 bit:
- Gửi 4 bit cao.(0000)
- Cho chân E lên mức cao, delay khoảng 5us, E xuống thấp delay 50us.
- Gửi 4 bit thấp.(1100)
- Cho chân E lên mức cao, delay khoảng 5us, E xuống thấp delay 50us.
B7:
Command entry mode- hiển thị tăng không dịch. ID=1 hiển thị tăng kí tự sau sẽ nằm bên phải kí tự trước, ID=0 hiển thị giảm kí tự sau hiển thị bên trái kí tự trước , S=1 kí tự trước sẽ bị đẩy đi ,kí tự sau sẽ chiếm chỗ, S=0 không dịch. =>0x06.
Command clear display- 0x01.
Command entry mode- hiển thị tăng không dịch. ID=1 hiển thị tăng kí tự sau sẽ nằm bên phải kí tự trước, ID=0 hiển thị giảm kí tự sau hiển thị bên trái kí tự trước , S=1 kí tự trước sẽ bị đẩy đi ,kí tự sau sẽ chiếm chỗ, S=0 không dịch. =>0x06.
- Gửi 4 bit cao.(0000)
- Cho chân E lên mức cao, delay khoảng 5us, E xuống thấp delay 50us.
- Gửi 4 bit thấp.(0110)
- Cho chân E lên mức cao, delay khoảng 5us, E xuống thấp delay 50us.
Command clear display- 0x01.
- Gửi 4 bit cao.(0000)
- Cho chân E lên mức cao, delay khoảng 5us, E xuống thấp delay 50us.
- Gửi 4 bit thấp.(0001)
- Cho chân E lên mức cao, delay khoảng 5us, E xuống thấp delay 50us.
B1:
- Gửi một byte command vị trí xuất data.
- Command: 0x80 + x (x=0->15): hàng 1 cột từ 0->15.
- Command: 0xC0 + x(x=0->15): hàng 2 cột từ 0->15.
- Gửi command.
- Cho chân RS=0.
- Gửi 4 bit cao.
- Cho chân E lên mức cao, delay khoảng 5us, E xuống thấp delay 50us.
- Gửi 4 bit thấp.
- Cho chân E lên mức cao, delay khoảng 5us, E xuống thấp delay 50us.
B2:
- Cho chân RS=1. Gửi 1 byte data mã ASCII.
- Gửi 4 bit data cao.
- Cho chân E lên mức cao, delay khoảng 5us, E xuống thấp delay 50us.
- Gửi 4 bit data thấp.
- Cho chân E lên mức cao, delay khoảng 5us, E xuống thấp delay 50us.
- Cho chân RS=0.
- Nếu muốn gửi một chuỗi ta gửi nhiều lần mã ASCII của kí tự trong chuỗi
Kết quả
Link code: https://drive.google.com/file/d/0B9pHWA4exz3gRjQxSGc3Vld3LU0/view?usp=sharing
Không có nhận xét nào:
Đăng nhận xét