Tải bản đầy đủ (.pdf) (9 trang)

Vi Mạch MCS 51 - Ứng Dụng Thực Tế (Phần 2) part 1 pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (423.11 KB, 9 trang )

D. HỆ THỐNG ĐIỀU KHIỂN BÀN PHÍM.
Bài 2: Chương trình điều khiển bàn phím và biểu diễn các kiểu hiển thị trên tám LED thông qua các phím
được nhấn (KEYPAD được nối với Port0, LED được nối với Port1):
Nhấn phím “1”: 8 LED sáng tắt 3 lần.
Nhấn phím “2”: 8 LED sáng dần và tắt dần.
Nhấn phím “3”: 8 LED đếm lên nhị phân.
Nhấn phím “ESC”: 8 LED sáng dồn.
Giáo trình thực hành vi xử lý. 172 Biên soạn: Phạm Quang Trí
;***************************************************
SANGDON:
PUSH ACC
MOV R0,#08H ;LUU SO LAN DICH BIT
MOV R1,#00H ;TRANG THAI LED KHI DON LAN DAU TIEN
LAP2:
MOV R2,00H
MOV R3,#01H
LAP1:
MOV A,R3
ORL A,R1
MOV P1,A ;HIEN THI
LCALL DELAY500MS
MOV A,R3 ;DON LED
RL A
MOV R3,A
DJNZ R2,LAP1 ;CHUA DON XONG? QUAY LAI
DEC R0 ;GIAM SO LAN DON LED
SETB C ;THAY DOI TRANG THAI LED CHO LAN DON TIEP THEO
MOV A,R1
RRC A
MOV R1,A
CJNE R0,#00H,LAP2 ;CHUA HOAN TAT CHU TRINH? QUAY LAÁa


POP ACC
RET
;***************************************************
DELAY500MS: ;CTC TAO THOI GIAN TRE 500MS
PUSH 00H
MOV R0,#100
MOV TMOD,#01H
DEL1:
MOV TH0,#0ECH
MOV TL0,#78H
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R0,DEL1
POP 00H
RET
END
1.3 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên.
2 Bài tập:
• Bài 1: Hãy viết chương trình điều khiển và biểu diễn các kiểu hiển thị của chuỗi ký tự “DIEN-TU” trên
tám LED 7 đoạn. Tự lựa chọn phương pháp kết nối bàn phím và LED 7 đoạn.
 Nhấn phím “ENTER”: hiển thị chuỗi.
 Nhấn phím “ESC”: không hiển thị chuỗi.
 Nhấn phím “1”: sáng tắt chuỗi liên tục.
 Nhấn phím “2”: dịch chuyển chuỗi từ phải sang trái liên tục.
 Nhấn phím “3”: dịch chuyển chuỗi từ trái sang phải liên tục.
 Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.
• Bài 2: Hãy viết chương trình điều khiển và biểu diễn các kiểu hiển thị của một số chuỗi ký tự trên tám LED
7 đoạn. Tự lựa chọn phương pháp kết nối bàn phím và LED 7 đoạn.

 Nhấn phím “ESC”: không hiển thị chuỗi.
 Nhấn phím “1”: hiển thị chuỗi “COCACOLA”.
 Nhấn phím “2”: hiển thị chuỗi “PEPSI”.
 Nhấn phím “3”: hiển thị chuỗi “FANTA”.
 Nhấn phím “4”: hiển thị chuỗi “TRIBECO”.
 Nhấn phím “5”: hiển thị chuỗi “NUOCSUOI”.
D. HỆ THỐNG ĐIỀU KHIỂN BÀN PHÍM.
Bài 2: Chương trình điều khiển bàn phím và biểu diễn các kiểu hiển thị trên tám LED thông qua các phím
được nhấn (KEYPAD được nối với Port0, LED được nối với Port1):
Nhấn phím “1”: 8 LED sáng tắt 3 lần.
Nhấn phím “2”: 8 LED sáng dần và tắt dần.
Nhấn phím “3”: 8 LED đếm lên nhị phân.
Nhấn phím “ESC”: 8 LED sáng dồn.
Giáo trình thực hành vi xử lý. 173 Biên soạn: Phạm Quang Trí
 Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.
• Bài 3: Hãy viết chương trình điều khiển và biểu diễn các kiểu hiển thị của LED1. Tự lựa chọn phương
pháp kết nối bàn phím và LED 7 đoạn.
 Nhấn phím “ESC”: không hiển thị.
 Nhấn phím “1”: hiển thị đếm BCD từ 0 lên 9 trên LED1.
 Nhấn phím “2”: hiển thị đếm BCD từ 9 xuống 0 trên LED1.
 Nhấn phím “3”: hiển thị đếm HEX từ 0 lên F trên LED1.
 Nhấn phím “4”: hiển thị đếm HEX từ 9 xuống 0 trên LED1.
 Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.
• Bài 4: Hãy viết chương trình điều khiển và biểu diễn các kiểu hiển thị của ký tự “A” trên LED ma trận. Tự
lựa chọn phương pháp kết nối bàn phím và LED ma trận.
 Nhấn phím “F1”: hiển thị ký tự màu đỏ.
 Nhấn phím “F2”: hiển thị ký tự màu xanh.
 Nhấn phím “F3”: hiển thị ký tự màu vàng.
 Nhấn phím “ESC”: không hiển thị ký tự.
 Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.

• Bài 5: Hãy viết chương trình điều khiển và biểu diễn các kiểu hiển thị của LED ma trận. Tự lựa chọn
phương pháp kết nối bàn phím và LED ma trận.
 Nhấn phím “ESC”: không hiển thị.
 Nhấn phím “1”: hiển thị đếm BCD từ 0 lên 9 trên LED ma trận.
 Nhấn phím “2”: hiển thị đếm BCD từ 9 xuống 0 trên LED ma trận.
 Nhấn phím “3”: hiển thị các ký tự từ A đến Z trên LED ma trận.
 Nhấn phím “4”: hiển thị các ký tự từ Z đến A trên LED ma trận.
• Bài 6: Hãy viết chương trình điều khiển và biểu diễn các kiểu hiển thị của chuỗi ký tự “DAI HOC CONG
NGHIEP TP HO CHI MINH” trên LED ma trận. Tự lựa chọn phương pháp kết nối bàn phím và LED ma
trận.
 Nhấn phím “ESC”: không hiển thị chuỗi.
 Nhấn phím “1”: dịch chuyển chuỗi từ phải sang trái liên tục.
 Nhấn phím “2”: dịch chuyển chuỗi từ trái sang phải liên tục.
 Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.
• Bài 7: Hãy viết chương trình điều khiển và biểu diễn các kiểu hiển thị của hai chuỗi ký tự “DAI HOC
CONG NGHIEP TP HO CHI MINH” và “KHOA DIEN TU” trên LED ma trận. Tự lựa chọn phương pháp
kết nối bàn phím và LED ma trận.
 Nhấn phím “ESC”: không hiển thị chuỗi.
 Nhấn phím “1”: dịch chuyển chuỗi từ phải sang trái liên tục.
 Nhấn phím “2”: dịch chuyển chuỗi từ trái sang phải liên tục.
 Nhấn phím “F1”: chọn chuỗi hiển thị có màu đỏ.
 Nhấn phím “F2”: chọn chuỗi hiển thị có màu xanh.
 Nhấn phím “F3”: chọn chuỗi hiển thị là “DAI HOC CONG NGHIEP TP HO CHI MINH”.
 Nhấn phím “F4”: chọn chuỗi hiển thị là “KHOA DIEN TU”.
• Bài 8: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.
3 Hướng dẫn:
Chương trình con quét phím có chống dội:
o Lưu đồ:

o Chương trình mẫu:

;***************************************************
;CTC QUET BAN PHIM MA TRAN 4 X 4, CO CHONG DOI.
;***************************************************
;NAME: SCANKEYPAD.
;INPUT: PORT 0 (ROW1 ROW4 -> P0.0 P0.3 & COL1 COL4 -> P0.4 P0.7).
;OUTPUT: C = 1: CO PHIM NHAN - ACC = CHUA MA PHIM (00H -> FFH).
D. HỆ THỐNG ĐIỀU KHIỂN BÀN PHÍM.
Bài 2: Chương trình điều khiển bàn phím và biểu diễn các kiểu hiển thị trên tám LED thông qua các phím
được nhấn (KEYPAD được nối với Port0, LED được nối với Port1):
Nhấn phím “1”: 8 LED sáng tắt 3 lần.
Nhấn phím “2”: 8 LED sáng dần và tắt dần.
Nhấn phím “3”: 8 LED đếm lên nhị phân.
Nhấn phím “ESC”: 8 LED sáng dồn.
Giáo trình thực hành vi xử lý. 174 Biên soạn: Phạm Quang Trí
; C = 0: KHONG CO PHIM NHAN.
;***************************************************
SCANKEYPAD:
PUSH 03H
MOV R3,#50 ;SO LAN LAP DE CHONG DOI
BACK:
ACALL GETKEY ;GOI CTC QUET PHIM
JNC NOPRESSED ;C = 0 -> THOAT KHI KHONG CO PHIM NHAN.
DJNZ R3,BACK ;C = 1 -> CO PHIM NHAN, GIAM SO LAN LAP DE CHONG DOI
NOPRESSED:
POP 03H
RET
;***************************************************
GETKEY:
PUSH 05H
PUSH 06H

PUSH 07H
MOV A,#0EFH ;BAT DAU TAI COT 0
MOV R6,#4 ;R6 LAM BO DEM COT
TEST:
MOV P0,A ;TICH CUC COT
MOV R7,A ;LUU ACC
MOV A,P0 ;DOC LAI TU PORT 1
ANL A,#0FH ;CACH LY CAC HANG
CJNE A,#0FH,KEYPRESSED ;HANG TICH CUC ?
MOV A,R7 ;N -> DI CHUYEN TOI
RL A ;COT KE TIEP
DJNZ R6,TEST
CLR C ;KHONG CO PHIM DUOC NHAN HAY NHAN NHIEU PHIM CUNG LUC
SJMP EXIT ;THOAT VOI C = 0
KEYPRESSED:
MOV R7,A ;LUU TRONG R7
MOV A,#4 ;CHUAN BI TINH
CLR C ;TRONG SO CUA COT
SUBB A,R6 ;4 - R6 = TRONG SO
MOV R6,A ;LUU TRONG R6
MOV A,R7 ;PHUC HOI MA QUET
MOV R5,#4 ;DUNG R5 LAM BO DEM
AGAIN:
RRC A ;QUAY CHO DEN KHI = 0
JNC DONE ;THUC THI XONG KHI C = 0
INC R6 ;CONG 4 CHO DEN KHI TIM THAY HANG TICH CUC
INC R6
INC R6
INC R6
DJNZ R5,AGAIN

DONE:
SETB C ;CO PHIM NHAN -> C = 1
MOV A,R6 ;MA TRONG A
EXIT:
POP 07H
POP 06H
POP 05H
RET
;***************************************************





TRUNG TÂM THÍ NGHIỆM THỰC HÀNH ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP




T
T
À
À
I
I


L
L

I
I


U
U


H
H
Ư
Ư


N
N
G
G


D
D


N
N


T
T

H
H
Í
Í


N
N
G
G
H
H
I
I


M
M


-
-


T
T
H
H



C
C


H
H
À
À
N
N
H
H




















E. HỆ THỐNG ĐIỀU KHIỂN LCD.
Giáo trình thực hành vi xử lý. 176 Biên soạn: Phạm Quang Trí

A. MỤC ĐÍCH:

• Thực hành lập trình ứng dụng trên máy tính, biên dịch chương trình, nạp vào vi điều khiển và sử dụng mô
hình thí nghiệm để kiểm chứng.
• Điều khiển thiết bị ngoại vi bằng các port của vi điều khiển.
• Khảo sát nguyên lý hoạt động và nguyên lý điều khiển LCD.
• Điều khiển để hiển thị các thông tin trên màn hình tinh thể lỏng LCD (chuẩn công nghiệp, loại 2 hàng x 16
ký tự).
B. YÊU CẦU:

• Nắm vững tập lệnh của vi điều khiển MCS-51.
• Biết cách viết các chương trình điều khiển LCD.
• Nắm được sơ đồ và nguyên lý hoạt động của khối LCD trên mô hình thí nghiệm.
• Nắm được nguyên lý và kỹ thuật điều khiển để hiển thị các thông tin trên LCD.
• Biết cách viết các chương trình ứng dụng để hiển thị các dạng thông tin khác nhau trên LCD tùy theo nhu
cầu sử dụng.



E. HỆ THỐNG ĐIỀU KHIỂN LCD.
Bài 1: Chương trình điều khiển LCD hiển thị hai dòng chữ “MICRO-CONTROLLER” và “DESIGNED BY:
PQT.” đứng yên trên hai dòng của màn hình LCD.
Giáo trình thực hành vi xử lý. 177 Biên soạn: Phạm Quang Trí
1 Trình tự tiến hành thí nghiệm:
1.1 Kết nối thiết bị thí nghiệm.
• Tắt nguồn cấp cho mô hình thí nghiệm.

• Dùng dây bus 3 nối J63 (PORT0 / DATA) ở khối vi điều khiển với J47 (CTRL LCD) ở khối LCDõ (chú ý
là ta chỉ nối 3 bit thấp của J63 và J47 với nhau).
• Dùng dây bus 8 nối J64 (PORT1) ở khối vi điều khiển với J46 (DATA / CODE LCD) ở khối LCD.
• Dùng dây bus 3 nối J104 (POWER) ở khối LCDõ với nguồn +5V ở khối nguồn.
PORT 0PORT 1PORT 3PORT 2
PORT 1PORT 3
40 PINS
20 PINS
3

1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.
;***************************************************
;CHUONG TRINH DIEU KHIEN LCD HIEN THI 2 DONG CHU DUNG YEN
;***************************************************
;RS -> P0.0, RW -> P0.1, E -> P0.2
;DATA BUS -> PORT 1
;***************************************************
EN BIT P0.2
RW BIT P0.1
RS BIT P0.0
DATABUS EQU P1
;***************************************************
ORG 00H
MAIN:
ACALL LCDINIT ;KHOI TAO LCD
MP1:
ACALL DISP_FLINE ;HIEN THI DONG 1
ACALL DISP_SLINE ;HIEN THI DONG 2
SJMP $
;***************************************************

LCDINIT: ;CTC KHOI TAO LCD
CLR RS ;RS = 0 - GUI LENH
CLR RW ;RW = 0 - WRITE LCD MODE
SETB EN ;E = 1 - ENABLE
MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7
ACALL SENDCOMMAND ;GUI LENH RA LCD
MOV TH0,#HIGH(-4100)
MOV TL0,#LOW(-4100)
ACALL DELAY ;DELAY 4.1MS
MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7
ACALL SENDCOMMAND ;GUI LENH RA LCD
MOV TH0,#HIGH(-100)
MOV TL0,#LOW(-100)
ACALL DELAY ;DELAY 100US
MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7
ACALL SENDCOMMAND ;GUI LENH RA LCD
MOV DATABUS,#0CH ;CODE = C0H - CHO PHEP LCD HIEN THI
ACALL SENDCOMMAND ;GUI LENH RA LCD
MOV DATABUS,#01H ;CODE = 01H - XOA LCD
ACALL SENDCOMMAND ;GUI LENH RA LCD
RET
E. HỆ THỐNG ĐIỀU KHIỂN LCD.
Bài 1: Chương trình điều khiển LCD hiển thị hai dòng chữ “MICRO-CONTROLLER” và “DESIGNED BY:
PQT.” đứng yên trên hai dòng của màn hình LCD.
Giáo trình thực hành vi xử lý. 178 Biên soạn: Phạm Quang Trí
;***************************************************
SENDCOMMAND: ;CTC GUI LENH (SENDCOMMAND) VA GUI DU LIEU (SENDDATA) RA LCD
CLR RS ;RS = 0 - GUI LENH
SJMP PULSE_EN
SENDDATA:

SETB RS ;RS = 1 - GUI DU LIEU
NOP
PULSE_EN: ;TAO XUNG ENABLE DE CHUYEN THONG TIN (COMMAND/DATA) VAO LCD
CLR RW ;RW = 0 - WRITE LCD MODE
CLR EN ;EN = 0
NOP
SETB EN ;EN = 1 - XUNG ENABLE
NOP
;KIEM TRA CO BAO BAN (BUSY FLAG) DE DAM BAO HOAN TAT VIEC LCD GHI NHAN THONG TIN GUI DEN
;*************************************************************
;MOV TH0,#HIGH(-1000) ;DOAN LENH NAY DUOC THAY THE CHO DOAN LENH KIEM TRA DUOI DAY
;MOV TL0,#LOW(-1000) ;KHI CHAY CHUONG TRINH NAY TRONG PHAN MEM MO PHONG TOPVIEW
;ACALL DELAY
;*************************************************************
MOV DATABUS,#0FFH ;CAU HINH PORT 1 CHO CHE DO PORT NHAP
SETB RW ;RW = 1 - READ LCD MODE
CLR RS ;RS = 0 - GUI LENH
CLR EN ;EN = 0
NOP
SETB EN ;EN = 1 - XUNG ENABLE
NOP
BUSY: ;BUSY = 0 -> HOAN TAT, BUSY = 1 -> DANG THUC HIEN
MOV A,DATABUS ;DOC DU LIEU TU LCD
JB ACC.7,BUSY ;KIEM TRA CO BUSY
BUSY2: ;KIEM TRA CO BAO BAN (BUSY FLAG) LAN THU HAI
MOV A,DATABUS ;DOC DU LIEU TU LCD
JB ACC.7,BUSY2 ;KIEM TRA CO BUSY LAN 2
CLR RW ;RW = 0 - WRITE LCD MODE
;*************************************************************
RET

;***************************************************
DISP_FLINE: ;CTC DAT DIA CHI BAT DAU DONG 1 VA NAP DU LIEU DONG 1 VAO DDRAM
MOV DATABUS,#80H ;CODE = 80H - DAT DDRAM DIA CHI BAT DAU CUA DONG 1 - 00H
ACALL SENDCOMMAND ;GUI LENH RA LCD
MOV DPTR,#FLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG 1 CUA LCD
ACALL WRITE ;GUI VUNG DU LIEU SANG LCD
RET
;***************************************************
DISP_SLINE: ;CTC DAT DIA CHI BAT DAU DONG 2 VA NAP DU LIEU DONG 2 VAO DDRAM
MOV DATABUS,#0C0H ;CODE = C0H - DAT DDRAM DIA CHI BAT DAU CUA DONG 2 - 40H
ACALL SENDCOMMAND ;GUI LENH RA LCD
MOV DPTR,#SLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG 2 CUA LCD
ACALL WRITE ;GUI VUNG DU LIEU SANG LCD
RET
;***************************************************
WRITE: ;CTC GUI DU LIEU SANG LCD, KET THUC GUI DU LIEU KHI DU LIEU GUI DI LA 99H
MOV A,#0 ;OFFSET DAU TIEN TRONG VUNG DU LIEU CUA DPTR
MOVC A,@A+DPTR ;LAY DU LIEU TU VUNG DU LIEU
CJNE A,#99H,WRITE_CONT ;KIEM TRA LAY HET DU LIEU TRONG VUNG DU LIEU - 99H
RET
WRITE_CONT: ;KHONG PHAI LA DU LIEU KET THUC - CHUA LAY HET DU LIEU
MOV DATABUS,A ;CHUYEN DU LIEU CAN GUI RA PORT DEN LCD
ACALL SENDDATA ;GUI DU LIEU RA LCD
INC DPTR ;CHUYEN SANG DU LIEU KE TIEP
SJMP WRITE ;QUAY TRO VE DE GUI DU LIEU KE TIEP
RET
;***************************************************
DELAY:
MOV TMOD,#01H


SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
E. HỆ THỐNG ĐIỀU KHIỂN LCD.
Bài 1: Chương trình điều khiển LCD hiển thị hai dòng chữ “MICRO-CONTROLLER” và “DESIGNED BY:
PQT.” đứng yên trên hai dòng của màn hình LCD.
Giáo trình thực hành vi xử lý. 179 Biên soạn: Phạm Quang Trí
;***************************************************
FLINE_DATA: ;DU LIEU HIEN THI DONG 1
DB 'MICRO-CONTROLLER'
DB 99H ;MA KET THUC DONG (TU CHON)
SLINE_DATA: ;DU LIEU HIEN THI DONG 2
DB 'DESIGNED BY: PQT'
DB 99H ;MA KET THUC DONG (TU CHON)
END
1.3 Lưu chương trình và biên dịch chương trình.
1.4 Kiểm tra lỗi và hiệu chỉnh lỗi nếu có.
1.5 Gắn chip vi điều khiển thí nghiệm vào socket tương ứng trên khối nạp chip và bật nguồn cho khối nạp chip
hoạt động.
1.6 Nạp chương trình vào vi điều khiển.
1.7 Sử dụng vi điều khiển vừa nạp gắn vào socket tương ứng trên khối vi điều khiển.
1.8 Bật nguồn cho mô hình thí nghiệm. Quan sát kết quả hoạt động, nếu kết quả hoạt động không đúng yêu
cầu của đề bài thì phải quay lại kiểm tra việc kết nối mạch, hiệu chỉnh chương trình và làm lại các bước từ
bước 3 đến bước 9.
2 Bài tập:
(xem thêm trong phần hướng dẫn và phần bài tập của Bài 3)



E. HỆ THỐNG ĐIỀU KHIỂN LCD.
Bài 2: Chương trình điều khiển LCD hiển thị hai dòng chữ “WELLCOME TO MICROCONTROLLER
SYSTEM – 51” và “DESIGNED BY: PQT.” trên hai dòng của màn hình LCD với yêu cầu: dòng chữ
thứ nhất sẽ dịch chuyển liên tục từ phải sang trái, dòng chữ thứ hai đứng yên.
Giáo trình thực hành vi xử lý. 180 Biên soạn: Phạm Quang Trí
1 Trình tự tiến hành thí nghiệm:
1.1 Kết nối thiết bị thí nghiệm.
• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1.
1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.
;***************************************************
;CHUONG TRINH DIEU KHIEN LCD HIEN THI DONG CHU 1 DICH CHUYEN, DONG CHU 2 DUNG YEN
;***************************************************
EN BIT P0.2
RW BIT P0.1
RS BIT P0.0
DATABUS EQU P1
;***************************************************
ORG 00H
MAIN:
ACALL LCDINIT ;KHOI TAO LCD
MOV DPTR,#SLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG 2 CUA LCD
ACALL DISP_SLINE ;HIEN THI DONG 2
MP1: MOV DPTR,#FLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG 1 CUA LCD
SHIFT:
ACALL DISP_FLINE ;HIEN THI DONG 1
MOV R1,#50 ;DELAY 500MS
DEL500:
MOV TH0,#HIGH(-10000)
MOV TL0,#LOW(-10000)
ACALL DELAY

DJNZ R1,DEL500 ;THOI GIAN DUNG YEN CUA MOT TRANG THAI MAN HINH LCD
INC DPTR ;TANG GIA TRI DPTR DE DICH CHUYEN DONG CHU
MOV A,DPL ;KIEM TRA DA DICH XONG DONG CHU RA MAN HINH LCD
CJNE A,#LOW(FLINE_DATA+40),SHIFT
MOV A,DPH
CJNE A,#HIGH(FLINE_DATA+40),SHIFT
SJMP MP1
;***************************************************
LCDINIT: ;CTC KHOI TAO LCD
CLR RS ;RS = 0 - GUI LENH
CLR RW ;RW = 0 - WRITE LCD MODE
SETB EN ;E = 1 - ENABLE
MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7
ACALL SENDCOMMAND ;GUI LENH RA LCD
MOV TH0,#HIGH(-4100)
MOV TL0,#LOW(-4100)
ACALL DELAY ;DELAY 4.1MS
MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7
ACALL SENDCOMMAND ;GUI LENH RA LCD
MOV TH0,#HIGH(-100)
MOV TL0,#LOW(-100)
ACALL DELAY ;DELAY 100US
MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7
ACALL SENDCOMMAND ;GUI LENH RA LCD
MOV DATABUS,#0CH ;CODE = C0H - CHO PHEP LCD HIEN THI
ACALL SENDCOMMAND ;GUI LENH RA LCD
MOV DATABUS,#01H ;CODE = 01H - XOA LCD
ACALL SENDCOMMAND ;GUI LENH RA LCD
MOV DATABUS,#0C0H ;CODE = C0H - DAT DDRAM DIA CHI BAT DAU CUA DONG 2 - 40H
ACALL SENDCOMMAND ;GUI LENH RA LCD (VI DONG 2 DUNG YEN TRONG KHI DONG 1 CHAY)

RET
;***************************************************
SENDCOMMAND: ;CTC GUI LENH (SENDCOMMAND) VA GUI DU LIEU (SENDDATA) RA LCD
CLR RS ;RS = 0 - GUI LENH
SJMP PULSE_EN
SENDDATA:

SETB RS ;RS = 1 - GUI DU LIEU
NOP
PULSE_EN: ;TAO XUNG ENABLE DE CHUYEN THONG TIN (COMMAND/DATA) VAO LCD
CLR RW ;RW = 0 - WRITE LCD MODE

×