TỰA BÀ I: CHƯƠNGTRÌNH ĐIỀU KHIỂN BÀN PHÍM VÀ HIỂN THỊ MÃ CỦA PHÍM

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

ỨNG DỤNG HỆ THỐN GI ĐIỀU KHIỂN LED 7 ĐOẠN

TỰA BÀ I: CHƯƠNGTRÌNH ĐIỀU KHIỂN BÀN PHÍM VÀ HIỂN THỊ MÃ CỦA PHÍM

NHẤN TRÊN LED 7 ĐOẠN.

Mã phím = 00

DCBA = 1111

Mã phím := mã phím + 04

Xoay mã quét sang trái gởi ra cộ t. Tăng cột lên 1 Đ Cột = 5 Đ Gán mã phím = FF Cột = 1 Quét = 1110 Đọc trạng thái hàng DCBA S S Begin End

Xoay DCBA qua Carry

Carry = 0 Đ

2. Kết nối mạch theo trình tự :

- Dùng bus dây kết nối port 0 đến pinhd điều khiển các đoạn a,b,c,d,e,f,g,dp và kết nối port 2 đến pinhd điều khiển quét hàng.

- Dùng port 1 chưa qua IC đệm kết nối với pindn của bàn phím.

- Gắn vi điều khiển vào đế nạp 40 pin ( socket ) ở modul nạp của hệ thống 2. 3. Khởi động phần mềm, mở File mới và đặt tên file. Vd: bai2_9

4. Viết chương trình với tên file vừa đặt :

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh quet phim dung he thong 1 ma phim hien thi tren 1led

;dung port 1 chua qua IC dem ket noi voi pinhd cua ban fim ;dung port0 va port 2 ket noi dieu khien led 7 doan

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org 0000h

mov sp,#60h mov dptr,#mafim

mov p2,#0feh ;xuat ma quet cho 1 led sang mov p0,#7fh

main: lcall keypres ;goi chtr con quet phim cjne a,#0ffh,main1

sjmp main

main1: lcall gma_hthi ;goi chtr con giai ma hien thi sjmp main

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;Chuong trinh con giai ma fim nhan va hien thi ra 1 led 7 doan ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx gma_hthi: movc a,@a+dptr

mov p0,a ret

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;Chuong trinh con quet phim va chong doi phim

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

keypres: mov r3,#10 ;nhap so dem 10 lan

keypres1 : lcall KEY ;Neu co phim an thi co c=1

jc pn1 ;kiem tra tiep neu c = 1

ret ;Neu khong co phim nhan thi co c=0

pn1: djnz r3,keypres1 ;Quay ve lap lai chong nay push acc ;Cat noi dung ma phim trong A keypres2: mov r3,#10 ;Nhap so dem 10 lan cho nha phim

keypres3: lcall key ;Co phim nhan hay khong

jc keypres2 ;Co thi kiem tra lai (adsbygoogle = window.adsbygoogle || []).push({});

djnz r3,keypres3 ;Khong thi lap lai 50 lan va dam bao

pop acc ;Khoi phuc lai gia tri cho A

ret ;ket thuc mot chuong trinh con

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;Chuong trinh con quet phim

key: mov r7,#0feh ;bat dau voi cot so 0(feh)

mov r6,#4 ;Su dung r6 lam bo dem

mov r5,#00

key1: mov p1,r7 ;xuat ma quet ra cot

mov a,p1 ;Doc lai port1 de xu ly tiep theo

anl a,#0f0h ;xoa 4 bit thap la hang

cjne a,#0f0h,key2 ;co nhan fim thi nhay mov a,r7

rl a ;xoay de chuyen den cot ke tiep

mov r7,a

mov a,r5 ;chuyen ma fim sang cot ke

add a,#4 mov r5,a

djnz r6,key1 ;Neu nhu sau moi lan 1 cot ma khong

clr c ;clr c neu nhu khong co phim duoc an

mov a,#0ffh ;thoat voi ma trong a = FFh ret

key2: swap a

key4: rrc a ;xoay sang phai tim bit 0

jnc key3 ;nhay neu (c)=0

inc r5 ;tang ma fim len cot ke

sjmp key4 ;tiep tuc cho den khi duoc (C)=0

key3: mov a,r5

setb c ret

;khai bao du lieu ma phim org 500h

mafim: db 0c0h,0f9h,0a4h,0b0h,099h,092h,082h,0f8h db 080h,090h,088h,083h,0c6h,0a1h,086h,08eh end

5. Thực hiện các bước giống như bài chuẩn và xem kết quả có hiển thị đúng yêu cầu hay không và hiệu chỉnh lại cho đúng.

III. Bài tập ứng dụng:

1. Hãy viết chương trình hiển thị chuỗi ‘-HA- NOI- ‘ trên 8 led và khi nhấn 1 phím số 1 thì chuỗi đó dịch chuyển sang trái. (adsbygoogle = window.adsbygoogle || []).push({});

2. Hãy viết chương trình hiển thị chuỗi ‘-HA- NOI- ‘ trên 8 led và khi nhấn 1 phím số 1 thì chuỗi đó dịch chuyển sang trái. Nhấn phím số 2 thì chuỗi dịch chuyển sang phải.

3. Hãy viết chương trình hiển thị chuỗi ‘-HA- NOI- ‘ trên 8 led và khi nhấn 1 phím số 1 thì tắt chuỗi nếu nhấn lại thì sáng chuỗi trở lại.

PHẦN 3:

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

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