LCD là gì?
Màn hình tinh thể lỏng (liquid crystal display, LCD) là loại thiết bị hiển thị cấu tạo bởi các tế bào (các điểm ảnh) chứa tinh thể lỏng có khả năng thay đổi tính phân cực của ánh sáng và do đó thay đổi cường độ ánh sáng truyền qua khi kết hợp với các kính lọc phân cực. Chúng có ưu điểm là phẳng, cho hình ảnh sáng, chân thật và tiết kiệm năng lượng.
LCD là loại chỉ thị thụ động, tiêu thị năng lượng rất nhỏ và có tỉ số tương phản tốt. Ngoài ra có những tính chất thông dụng sau đây:
- Không tự phát ra ánh sáng và phụ thuộc vào ánh sáng xung quanh và ánh sáng nền.
- Có ánh sáng khuếch tán.
- Hoạt động ở dạng trong suốt hoặc phản chiếu.
- Thông dụng nhất là loại Neumatic (NLC), loại chất lỏng này trong suốt. Khi nó được áp điện trường lớn sẽ xuất hiện những ion di chuyển xuyên qua phá vỡ cấu trúc thông thường dạng tinh thể. Vì vậy chất lỏng được phân cực trở nên chắn sáng, có màu đen sậm hơn so với xung quanh. Khi điện trường mất đi, chất lỏng trở về dạng tinh thể cũ và trở nên trong suốt trở lại.
- Cấu tạo cụ thể của LCD gồm có một vật liệu tinh thể lỏng NLC có bề dày khoảng 10 mm được kẹp giữa hai miếng thủy tinh. Mặt thủy tinh được phủ một lớp mỏng kim loại (oxide thiếc) cho ánh sáng xuyên qua, được dùng làm bản cực mặt trước, bản cực mặt sau cũng thực hiện như vậy. Còn loại LCD phản chiếu thì bản cực mặt sau cho phản chiếu sáng.
Hình 3.1. LCD
LCD có những đặc điểm sau:
Điện trường cần thiết cho LCD hoạt động thông thường 104 V/cm. Do đó điện áp 10vcho LCD có bề dày 10 mm
Vật liệu NLC có điện trở rất lớn (1010 ohm) cho nên dòng để cho LCD hoạt động rất nhỏ khoảng 10 mA/cm2 và công suất hoạt động 10 mW/cm2
LCD là thiết bị họat động ở tốc độ chậm, thời gian để dẫn vài mili giây và tắt vài chục mili giây.
Hiện nay LCD (loại thông dụng có thể giao tiếp được với PIC) được chia thành 2 loại:
- LCD graphic: đặc điểm loại này là toàn bộ màn hình được chia thành các điểm ảnh, giá thành tùy thuộc vào độ phân giải và hãng sản xuất. Các độ phân giải thông thường là: 240x64, 240x128, 160x64, 128x128, 128x64...v.v
- LCD alphanumeric: Chỉ dùng để hiển thị chữ cái và chữ số. Với loại này 1 ký tự hiển thị trên một ma trận 5x7 hoặc 5x10, như vậy với loại LCD 16x2 (có hai hàng và mỗi hàng có 16 ký tự) sẽ có 32 ma trận xếp trên hai hàng. Hiện nay có các loại LCD thông alphanumeric thông dụng là: 14x2, 16x1, 20x2, 20x4.
Chân số Tên Chức năng
1 Vss Đất
2 VDD Cực + của nguồn điện
3 VEE Tương phản (constrast)
4 RS Register Select (chọn thanh ghi)
5 R/W Read/Write
7 D0 Bit 0 của dữ liệu
8 D1 Bit 1 của dữ liệu
9 D2 Bit 2 của dữ liệu
10 D3 Bit 3 của dữ liệu
11 D4 Bit 4 của dữ liệu
12 D5 Bit 5 của dữ liệu
13 D6 Bit 6 của dữ liệu
14 D7 Bit 7 của dữ liệu
Mặc dù theo sổ tay kỷ thuật LCD thì cấp nguồn cho nó là 5V DC (khoảng vài mA) nhưng cung cấp cho nó 6VDC hay 4.5 VDC thì nó vẫn hoạt động tốt và ngay cả với 3 VDC cũng đủ cho một số module. Kết quả là các module LCD tiêu thị năng lượng ít.
Chân 3 là chân điều khiển VEE dùng để thay đổi độ tương phản của màn hiển thị. Lý tưởng thì chân này nên nối nguồn điện áp thay đổi được, người ta thực hiện bằng cách gắn mạch chia áp dùng biến trở có đầu ra thay đổi đưa vào chân này; tuy nhiên nên chú ý là một số module cần nguồn điện DC 7V. Đơn giản là người ta nối chân này với 0V ( xuống đất).
Chân 4 là RS (Resgister Select= chọn thanh ghi) đây là 1 trong 3 ngõ vào điều khiển lệnh. Khi chân này để mức thấp thì các dữ liệu được truyền đến LCD được xử lý như các mệnh lệnh và các dữ liệu đọc ra chỉ trạng thái của nó. Bằng cách đưa đường RS này lên mức cao thì dữ liệu ký tự có thể xuất/nhập trên module này.
Chân 5 là đường R/W (read/write). Chân này được kéo xuống mức thấp để ghi các lệnh hay dữ liệu ký tự vào module hoặc được kéo lên mức cao để đọc dữ liệu ký tự hay thông tin trạng thái từ các thanh ghi của nó.
Chân 6 là đường E (enable), ngõ này dùng để khởi động việc chuyển các lệnh hay dữ liệu ký tự giữa module và các đường dữ liệu. Khi ghi ra màn hiển thị LCD, dữ liệu chỉ được chuyển khi có cạnh xuống ở tín hiệu E này. Tuy nhiên khi đọc ra từ LCD thì dữ liệu khả dụng sau khi có chuyển tiếp từ thấp lên cao và duy trì dữ liệu khả dụng cho đến khi tín hiệu xuống thấp một lần nữa.
Các chân 7 đến 14 là 8 đường bus dữ liệu (D0 đến D7). Dữ liệu có thể được chuyển đến và lấy ra khỏ bộ hiển thị LCD theo dạng một byte 8 bit hay dạng nữa byte 4 bit (nibble). Trong trường hợp sau chỉ có 4 đường dữ liệu trên được sử dụng (4 bit cao: D4 đến D7). Chế độ 4 bit này thuận tiện khi sử dụng vi xử lý, cần có ít đường xuất/nhập hơn.
Để hiển thị các chữ cái và các con số chúng ta gửi các mã ASCII của các chữ cái từ A đến Z, a đến z và các số từ 0 – 9 đến các chân này khi bật RS=1.
Bảng mã ký tự chuẩn của LCD
Cũng có các mã lệnh mà có thể được gửi đến LCD để xóa màn hình hoặc đưa con trỏ về đầu dòng hoặc nhấp nháy con trỏ.
Chú ý: chúng ta cũng có thể sử dụng RS = 0 để kiểm tra bit cờ bận để xem LCD có sẵn sàng nhận thông tin. Cờ bận là bit D7 và có thể được đọc khi R/W và RS = 0 như sau:
Nếu R/W=1, RS=0 khi D7= 1 (cờ bận) thì LCD bận bởi các công việc bên trong và sẽ không nhận bất kỳ thông tin mới nào. Khi D7=0 thì LCD sẵn sàng nhận thông tin mới. Lưu ý chúng ta nên kiểm tra cờ bận trước khi ghi bất kỳ dữ liệu nào lên LCD Sau đây là bảng mã lệnh của LCD:
Mã (Hex) Lệnh đến thanh ghi của LCD
1 Xóa màn hình hiển thị
2 Trở về đầu dòng
4 Giảm con trỏ (dịch con trỏ sang trái) 6 Tăng con trỏ (dịch con trỏ sang phải)
5 Dịch hiển thị sang phải
7 Dịch hiển thị sang trái
8 Tắt hiển thị, tắt con trỏ
A Tắt hiển thị, bật con trỏ
C Bật hiển thị, tắt con trỏ
F Tắt hiển thị, nhấp nháy con trỏ 10 Dịch vị trí con trỏ sang trái
14 Dịch vị trí con trỏ sang phải
18 Dịch toàn bộ hiển thị sang trái
1C Dịch toàn bộ hiển thị sang phải
80 Ép con trỏ về đầu dòng thứ nhất
C0 Ép con trỏ về đầu dòng thứ hai
38 Hai dòng và ma trận 5x7
Điều khiển LCD qua các bước:
- Bước 1: khởi tạo cho LCD.
- Bước 2: gán các giá trị cho các bit điều khiển các chân RS, R/W, E cho phù hợp với các chế độ: hiển thị các ký tự lên LCD hay thực hiện một lệnh của LCD.
- Bước 3: xuất byte dữ liệu ra cổng điều khiển 8 bit dữ liệu của LCD. - Bước 4: kiểm tra cờ bận xem LCD sẵn sàng nhận dữ liệu mới chưa. - Bước 5: quay vòng lại bước 1.
Các lệnh LCD cơ bản ở chế độ 8 bit: LCD_FIRST_ROW: Đưa con trỏ về hàng đầu tiên LCD_SECOND_ROW: Đưa con trỏ về hàng thứ 2 LCD_THIRD_ROW: Đưa con trỏ về hàng thứ 3 LCD_FOURTH_ROW: Đưa con trỏ về hàng thứ4 LCD_CLEAR: Xóa màn hình
LCD_RETURN_HOME: Về vị trí đầu dòng LCD_CURSOR_OFF: Không cho con trỏ hiển thị
LCD_UNDERLINE_ON: Bật con trỏ hiển thị dạng dấu gạch dưới _ LCD_BLINK_CURSOR_ON: Bật con trỏ nhấp nháy
LCD_MOVE_CURSOR_RIGHT: Chuyển con trỏ sang phải LCD_TURN_ON: Bật màn hình để hiển thị
LCD_TURN_OFF: Tắt màn hình hiển thị
LCD_SHIFT_LEFT: Dịch chuyển màn hình sang trái
LCD_SHIFT_RIGHT: Dịch chuyển màn hình sang phải