TỰA BÀ I: CHƯƠNGTRÌNH HIỂN THỊ CHUỖI “SPKT” TRÊN LEDMA TRẬN

Một phần của tài liệu điều khiển Led đơn (Trang 51 - 58)

ỨNG DỤNG HỆ THỐN GI ĐIỀU KHIỂN LED MA TRẬN.

TỰA BÀ I: CHƯƠNGTRÌNH HIỂN THỊ CHUỖI “SPKT” TRÊN LEDMA TRẬN

mov a,dpl cjne a,#32,maina ljmp main delay: mov r5,#1 de: mov r6,#50 djnz r6,$ djnz r5,de ret org 0500h

mach: db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh ;8 byte ff de tat 8 led db 0B3H,06DH,06DH,06DH,09BH,0ffh ;ma chu S

db 001H,0EDH,0EDH,0EDH,0F3H,0ffh ;ma chu P db 001H,0EFH,0D7H,0BBH,07DH,0ffh ;ma chu K db 0FDH,0FDH,001H,0FDH,0FDH,0ffh ;ma chu T

db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh ;8 byte ff de tat 8 led

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. Muốn cho chuỗi chạy nhanh hơn hoặc chậm hơn thì phải làm gì ? IV. Bài tập ứng dụng:

1. Hãy điều chỉnh chương trình đã viết để chuỗi chạy theo chiều từ trái sang phải. 2. Hãy viết chương trình hiển thị chuỗi “SPKT-DT”.

3. Hãy viết chương trình hiển thị chuỗi dài ví du: “MICROCONTROLLER 89CXX”. 4. Hãy viết chương trình hiển thị lần lượt chuỗi “SPKT” sáng lần lượt 2 màu xanh , đỏ. 5. Hãy tổ hợp các bài đã viết và bài tập để viết chương trình chuỗi chạy từ phải qua trái và

từ trái qua phải. V. Bài tập mẫu:

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh chay chuoi SPKT tu trai sang phai hai mau xanh do

;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: lcall htdo ;goi chuong trinh con chay chu mau do lcall htxanh ;goi chuong trinh con chay chu mau xanh sjmp main

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;hien thi mau do

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx htdo: 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 mov a,dpl cjne a,#32,maina ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;hien thi mau xanh

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx htxanh: mov dptr,#mach

maini: mov r2,#150 mainh: mov r1,#00

mov r3,#00000001b ;ma quet maing: mov a,r1

movc a,@a+dptr mov hang,a mov cotd,r3 lcall delay mov cotd,#00h

inc r1 ;tang len de lay byte ke mov a,r3 ;dich chuyen ma quet

rl a mov r3,a cjne r1,#8,maing djnz r2,mainh inc dptr mov a,dpl cjne a,#32,maini ret delay: mov r5,#1 de: mov r6,#50 djnz r6,$ djnz r5,de ret org 0500h

mach: db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh ;8 byte ff de tat 8 led db 0B3H,06DH,06DH,06DH,09BH,0ffh ;ma chu S

db 001H,0EDH,0EDH,0EDH,0F3H,0ffh ;ma chu P db 001H,0EFH,0D7H,0BBH,07DH,0ffh ;ma chu K db 0FDH,0FDH,001H,0FDH,0FDH,0ffh ;ma chu T

db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh ;8 byte ff de tat 8 led

end

chương trình mẫu thứ 2

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh chay chuoi SPKT tu trai sang phai 3 mau xanh do cam

;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: lcall htdo ;goi chuong trinh con chay chu mau do lcall htxanh ;goi chuong trinh con chay chu mau xanh lcall htcam ;goi chuong trinh con chay chu mau cam sjmp main

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;hien thi mau do

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx htdo: mov dptr,#mach

maina: mov r2,#100 ;so lan lap lai 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 mov a,dpl cjne a,#32,maina ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;hien thi mau xanh

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx htxanh: mov dptr,#mach

maini: mov r2,#100 ;so lan lap lai mainh: mov r1,#00

mov r3,#00000001b ;ma quet maing: mov a,r1

movc a,@a+dptr mov hang,a mov cotd,r3 lcall delay mov cotd,#00h

inc r1 ;tang len de lay byte ke mov a,r3 ;dich chuyen ma quet

rl a mov r3,a cjne r1,#8,maing djnz r2,mainh inc dptr mov a,dpl cjne a,#32,maini ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;hien thi mau cam

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx htcam: mov dptr,#mach

mainx: mov r2,#250 mainy: mov r1,#00

mov r3,#00000001b ;ma quet mainw: mov a,r1

movc a,@a+dptr mov hang,a mov cotx,r3 mov cotd,r3 lcall delay mov cotx,#00h mov cotd,#00h

inc r1 ;tang len de lay byte ke mov a,r3 ;dich chuyen ma quet

rl a mov r3,a cjne r1,#8,mainw djnz r2,mainy inc dptr mov a,dpl cjne a,#32,mainx ret delay: mov r5,#1 de: mov r6,#50

djnz r6,$ djnz r5,de ret

org 0500h

mach: db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh ;8 byte ff de tat 8 led db 0B3H,06DH,06DH,06DH,09BH,0ffh ;ma chu S

db 001H,0EDH,0EDH,0EDH,0F3H,0ffh ;ma chu P db 001H,0EFH,0D7H,0BBH,07DH,0ffh ;ma chu K db 0FDH,0FDH,001H,0FDH,0FDH,0ffh ;ma chu T

db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh ;8 byte ff de tat 8 led end

chương trình mẫu thứ 3

;

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx

;chuong trinh chay chuoi SPKT tu trai sang phai 4 hang tren mau do 4 hang duoc mau xanh ;

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx

lap equ 100

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

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chay mau xanh do : 4 hang tren xanh - 4 hang duoi do

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx mov r5,#lap

mov dptr,#mach ; chpn4: mov r0,#00h

chpn3: mov r2,05 ;thuc hien 250 lan quet

chpn2: mov r1,00 ;copy dia chi dau de quan li data mov r3,#8 ;so lan hien thi la 8 cot

mov r4,#1 ;ma quet cot

chpn1: mov a,r1 ;chuyen dia chi tuong toi cho A movc a,@a+dptr ;lay data dua vao A

chpppn1: push acc

orl a,#0fh ;xoa 4 bit thap mov hang,a

mov cotx,r4

lcall delay ;goi chuong trinh con delay mov cotx,#00

pop acc

orl a,#0f0h ;xoa 4 bit cao mov hang,a

mov cotd,r4

lcall delay ;goi chuong trinh con delay

mov cotd,#00

lcall xoayr4 ;xoay ma quet

inc r1 ;chuan bi lay byte data ke djnz r3,chpn1 ;chuan bi sang cot ke djnz r2,chpn2 ;thuc hien chu ky tiep theo

inc r0 ;lay tang len 1 hang de lay 8buyte quay lai pn3 cjne r0,#40,chpn3

ljmp chpn4 ;chua het thi quay lai

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh con delay co kiem tra nhan du lieu

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx delay: mov 75h,#1 del2: mov 76h,#50 del1: djnz 76h,del1 djnz 75h,del2 ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;ch trinh con xoay ma quet dieu khien cot

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xoayr4: mov a,r4 ;lay data tu port 2

rl a ;xoay a sang phai de quet cot ke mov r4,a

ret

org 0500h

mach: db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh ;8 byte ff de tat 8 led db 0B3H,06DH,06DH,06DH,09BH,0ffh ;ma chu S

db 001H,0EDH,0EDH,0EDH,0F3H,0ffh ;ma chu P db 001H,0EFH,0D7H,0BBH,07DH,0ffh ;ma chu K db 0FDH,0FDH,001H,0FDH,0FDH,0ffh ;ma chu T

db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh ;8 byte ff de tat 8 led end

210

PHẦN 4:

Một phần của tài liệu điều khiển Led đơn (Trang 51 - 58)

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

(96 trang)
w