Thứ Hai, 21 tháng 3, 2016

STM8S003K6 LCD 16x2 4bit

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.
B5:
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.
B6:
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.

  • 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.
B8:


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.
Hiển thị data ra màn hình.
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