IV. Các chú ý:
CHƯƠNG TRÌNH ĐIỀU KHIỂN LCD SÁNG CHUỖI KÝ TỰ LƯU TRONG VÙNG NHỚ RAM NỘ
mov 39h,#'N' mov 3ah,#'H' mov 3bh,#' ' mov 3ch,#'P' mov 3dh,#'H' mov 3eH,#'U' mov 3fh,#' ' mov 40h,#'D' mov 41h,#'T' mov 42h,#'D' mov 43h,#'D' mov 44h,#' ' mov 45h,#'0' mov 46h,#'9' mov 47h,#'0' mov 48h,#'3' mov 49h,#'9' mov 4ah,#'8' mov 4bh,#'2' mov 4ch,#'4' mov 4dh,#'4' mov 4eH,#'3' mov 4fh,#' ' ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;Chuong trinh con hien thi noi dung tren LCD cua2 vung nho
;30H->3Fh hang 1; 40H-> 4Fh hang 2;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx hienthichung: mov A,#080h ;set DDRAM lcall ktao
mov r1,#16 mov R0,#30H fline: lcall Write
inc r0
djnz r1,fline
mov a,#0c0h ;set DDRAM lcall ktao
mov r1,#16 mov r0,#40H sline: lcall Write
inc r0
djnz r1,sline ret
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chtr con goi data hien thi ra LCD
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx write: mov byteout,@R0
lcall data_byte ret
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh con khoi tao LCD
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ktao: mov byteout,a
lcall command_byte ret
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;Feed command/data to the LCD module
data_byte: setb rs ;RS high for a data byte data_bytea: clr rw ;R/W low for a write mode
clr e nop
setb e ;Enable pulse nop
nop
mov byteout,#0ffh ;configure port1 to input mode setb rw ;set RW to read
clr rs ;set RS to command clr e ;generate enable pulse nop nop setb e lcall delay100 ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chtr con khoi tao LCD
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx khtaolcd: setb e ;Enable
clr rs ;RS low
clr rw ;RW low mov a,#38h ;tu dieu khien LCD lcall ktao
lcall delay41 ;delay 4.1 mSec mov A,#38h ;function set
lcall ktao
lcall delay100 ;delay mov A,#38h ;function lcall ktao
mov A,#0ch ;tu dieu khien display on lcall ktao
mov A,#01h ;tu dieu khien Clear display lcall ktao
mov A,#06h ;tu dieu khien entry mode set lcall ktao
mov A,#80h ;thiet lap dia chi LCD (set DD RAM) lcall ktao
ret
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh con delay 4.1 ms
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx delay41: mov 7eh,#90h
de_a: mov 7fh,#200 djnz 7fh,$ djnz 7eh,de_a
ret
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh con delay 255 microgiay
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx delay100: mov 7fh,#00
djnz 7fh,$ ret
3. Biên dịch và nạp chương trình và xem kết kết quả.
III. Bài tập ứng dụng:
1. Hãy thay đổi dữ liệu ở hàng fline và sline để hiển thị các kí tự theo yêu cầu.
2. Hãy viết lại các chương trình điều khiển động cơ bước có các nút điều khiển “start”, “stop”, “đảo chiều” có hiển thị số bước và số vòng trên LCD.
Chú ý: Từ phần 7 trở về sau thì chỉ sử dụng cho bộ thí nghiệm lớn. PHẦN 7: