CHƯƠNG TRÌNH ĐIỀU KHIỂN LCD SÁNG CHUỖI KÝ TỰ LƯU TRONG VÙNG NHỚ RAM NỘ

Một phần của tài liệu Tài liệu Các bài thực hành về vi điều khiển pdf (Trang 106 - 110)

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:

Một phần của tài liệu Tài liệu Các bài thực hành về vi điều khiển pdf (Trang 106 - 110)

Tải bản đầy đủ (PDF)

(132 trang)