ỨNG DỤNG HỆ THỐN GI ĐIỀU KHIỂN LED MA TRẬN.
TỰA BÀ I: CHƯƠNGTRÌNH CHỚP TẮT KÍ TỰA TRÊN LEDMA TRẬN
mov cotx,#00h sjmp main delay: mov r5,#1 de: mov r6,#50 djnz r6,$ djnz r5,de ret end
4. Thực hiện các bước giống như các bài chuẩn cho đến khi mạch chạy đúng yêu cầu. III. Câu hỏi:
1. Hãy giải thích tại sao khi muốn điều khiển tắt led ta chỉ thực hiện lệnh gọi chương trình con delay.
2. Hãy cho biết hai chương trình con delay và delay1s cùng sử dụng các thanh ghi R5, R6 có ảnh hưởng gì hay không – giải thích?
IV. Bài tập ứng dụng:
1. Hãy viết chương trình hiển thị kí tự A sáng một giây, kí tự B sáng một giây và lặp lại. 2. Hãy viết chương trình đếm lên từ 0 đến 9.
3. Hãy viết chương trình đếm xuống từ 9 về 0. V. Bài tập mẫu:
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh hien thi ki tu chu A tren ma tran led sang 1 giay va tat 1 giay
;ma chu A = 007H,0DBH,0DDH,0DBH,007H
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx hang equ p3 ;hang ket noi voi port 3
cotx equ p0 ;cot xanh ket noi voi port 0 cotd equ p2 ;cot do ket noi voi port 2 org 0000h
mov cotx,#0 ;tat quet neu co ket noi mov cotd,#0 ;tat quet neu co ket noi mov dptr,#machu_a
main: mov r2,#250 mainb: mov r1,#00
mov r3,#00000001b ;ma quet mainc: mov a,r1
movc a,@a+dptr mov hang,a mov cotx,r3 lcall delay mov cotx,#00h
inc r1 ;tang len de lay byte ke mov a,r3 ;dich chuyen ma quet
rl a mov r3,a
cjne r1,#5,mainc ;chi co 5 byte djnz r2,mainb
lcall delay1s ;goi chtr con delay 1s de tat led sjmp main delay: mov r5,#1 de: mov r6,#50 djnz r6,$ djnz r5,de ret delay1s: mov r5,#0 pnde: mov r6,#0 djnz r6,$ djnz r5,pnde ret
;khai bao ma chu A
machu_a: db 007H,0DBH,0DDH,0DBH,007H end
I. Mục đích yêu cầu: biết cách viết chương trình điều khiển led ma trận hiển thị một chuổi kí tự dịch chuyển.
II. Trình tự thực hiện:
1. Kết nối mạch theo trình tự :
- Dùng bus dây kết nối port 3 đến pinhd điều khiển hàng và kết nối port 2 đến pinhd điều khiển cột xanh hoặc đỏ.
- Gắn vi điều khiển vào đế nạp 40 pin ( socket ) ở modul nạp của hệ thống 2 . 2. Khởi động phần mềm, mở File mới và đặt tên file. Vd: bai3_3.asm
3. Viết chương trình với tên file vừa đặt :
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh chay chuoi SPKT tu trai sang phai
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx hang equ p3 ;hang ket noi voi port 3
cotx equ p0 ;cot xanh ket noi voi port 0 cotd equ p2 ;cot do ket noi voi port 2 org 0000h
mov cotx,#0 ;tat quet neu co ket noi mov cotd,#0 ;tat quet neu co ket noi main: mov dptr,#mach
maina: mov r2,#150 mainb: mov r1,#00
mov r3,#00000001b ;ma quet mainc: mov a,r1
movc a,@a+dptr mov hang,a mov cotx,r3 lcall delay mov cotx,#00h
inc r1 ;tang len de lay byte ke mov a,r3 ;dich chuyen ma quet
rl a mov r3,a cjne r1,#8,mainc djnz r2,mainb inc dptr NGÀY : SỐ TIẾT : LỚP : MSSV : THỰC HÀNH VI ĐIỀU KHIỂN BÀI SỐ : 3-3