Tải bản đầy đủ (.pdf) (15 trang)

vi xử lý hệ thống điều khiển led ma trận

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (604.35 KB, 15 trang )



KHOA CÔNG NGHỆ ðIỆN TỬ
BỘ MÔN ðIỆN TỬ CÔNG NGHIỆP




T
T
À
À
I
I


L
L
I
I


U
U


H
H
Ư
Ư



N
N
G
G


D
D


N
N


T
T
H
H
Í
Í


N
N
G
G
H
H
I

I


M
M


-
-


T
T
H
H


C
C


H
H
À
À
N
N
H
H



















C. HỆ THỐNG ðIỀU KHIỂN LED MA TRẬN.
Giáo trình thực hành vi xử lý. 2 Biên soạn: Phạm Quang Trí

A. MỤC ðÍCH:

• Thực hành lập trình ứng dụng trên máy tính, biên dịch chương trình, nạp vào vi ñiều khiển và sử dụng mô
hình thí nghiệm ñể kiểm chứng.
• ðiều khiển thiết bị ngoại vi bằng các port của vi ñiều khiển.
• ðiều khiển việc hiển thị bằng cách sử dụng LED ma trận.
• Ứng dụng thực hiện việc hiển thị các thông tin tĩnh và ñộng trên LED ma trận dạng quang báo).

B. YÊU CẦU:


• Nắm vững tập lệnh của vi ñiều khiển MCS-51.
• Biết cách viết các chương trình ñiều khiển LED ma trận ở các chế ñộ khác nhau.
• Nắm ñược sơ ñồ và nguyên lý hoạt ñộng của khối LED ma trận trên mô hình thí nghiệm.
• Nắm ñược nguyên lý ñiều khiển LED ma trận ở các chế ñộ khác nhau.
• Biết cách viết các chương trình quang báo ñể hiển thị các thông tin ñược yêu cầu (thông tin dạng tĩnh và
dạng ñộng).


C. HỆ THỐNG ðIỀU KHIỂN LED MA TRẬN.
Bài 1: Chương trình điều khiển hiển thị chữ A màu đỏ trên LED ma trận (COL-RED được nối với Port1 có sử
dụng bộ đệm đảo, ROW được nối với Port2).
Giáo trình thực hành vi xử lý. 3 Biên soạn: Phạm Quang Trí
1 Trình tự tiến hành thí nghiệm:
1.1 Kết nối thiết bị thí nghiệm.
• Tắt nguồn cấp cho mơ hình thí nghiệm.
• Dùng dây bus 8 nối J64 (PORT1) ở khối vi điều khiển với J95 (INPUT 1) ở khối đệm dữ liệu.
• Dùng dây bus 8 nối J96 (OUTPUT 1) ở khối đệm dữ liệu với J9 (COLUMN RED MATRIX) ở khối LED
ma trận.
• Dùng dây bus 8 nối J65 (PORT2 / A8 A15) ở khối vi điều khiển với J13 (ROW MATRIX) ở khối LED
ma trận.
• Dùng hai dây bus 3 nối J116 (POWER) ở khối LED ma trận và J109 (POWER) ở khối đệm dữ liệu với
nguồn +5V ở khối nguồn.
ĐỆM - ĐẢO
DỮ LIỆU
LED MA TRẬN
POWER ROW MAT.
VI ĐIỀU KHIỂN
A0 A7
SELECT
CHIP

CLOCK
OUT
POWER
SW
NGUỒN
+5V
8
8
8
3

1.2 Sơ đồ ngun lý của hệ thống:
AD7
AD0
AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7
AD6
AD5
AD4
AD3
AD2
AD1
Q1
Q8

Q2
Q7
Q6
Q5
Q4
Q3
Q8
Q7
Q6
Q5
Q4
Q3
Q2
Q1
P1.0 P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7 COL7
COL6
COL5
COL4
COL3
COL2
COL1
COL0
P1.1

P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
ROW7
ROW6
ROW5
ROW4
ROW3
ROW2
ROW1
ROW0
COL0
COL1
COL2
COL3
COL4
COL5
COL6
COL7
ROW0
ROW1
ROW2
ROW3
ROW4
ROW5
ROW6
ROW7

COL0
ROW7
ROW6
ROW5
ROW4
ROW3
ROW2
ROW1
ROW0
COL1
COL2
COL3
COL4
COL5
COL6
COL7
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39

P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8

P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26

P2.6/A14
27
U1
AT89C51
C1
33p
C2
33p
X1
12MHz
2
3
4
5
6
7
8
9
1
RP1
10K
+5V
MẠCH ĐIỀU KHIỂN LED MA TRẬN
Q1
A1015
+5V
Q2
A1015
+5V
R2

1K
R3
1K
Q3
A1015
+5V
Q4
A1015
+5V
R11
1K
R12
1K
Q5
A1015
+5V
Q6
A1015
+5V
R13
1K
R14
1K
Q7
A1015
+5V
Q8
A1015
+5V
R15

1K
R16
1K
1B
1
2B
2
3B
3
4B
4
5B
5
6B
6
7B
7
8B
8
1C
18
2C
17
3C
16
4C
15
5C
14
6C

13
7C
12
8C
11
COM
10
U2
ULN2803
ROW COLUMN
+5V
2
3
4
5
6
7
8
9
1
RP2
10K
+5V
C3
10uF
R1
10k
+5V
Các điện trở này chỉ sử dụng
khi ta chạy mô phỏng


C. HỆ THỐNG ðIỀU KHIỂN LED MA TRẬN.
Bài 1: Chương trình ñiều khiển hiển thị chữ A màu ñỏ trên LED ma trận (COL-RED ñược nối với Port1 có sử
dụng bộ ñệm ñảo, ROW ñược nối với Port2).
Giáo trình thực hành vi xử lý. 4 Biên soạn: Phạm Quang Trí
1.3 Vẽ lưu ñồ giải thuật và viết chương trình ñiều khiển.
• Cách 1:


C. HỆ THỐNG ðIỀU KHIỂN LED MA TRẬN.
Bài 1: Chương trình ñiều khiển hiển thị chữ A màu ñỏ trên LED ma trận (COL-RED ñược nối với Port1 có sử
dụng bộ ñệm ñảo, ROW ñược nối với Port2).
Giáo trình thực hành vi xử lý. 5 Biên soạn: Phạm Quang Trí
;***************************************************
;CHUONG TRINH HIEN THI KY TU A TREN MA TRAN LED
;***************************************************
;KET NOI ROW -> PORT2, RED COLUMN -> PORT1 (CO DEM DAO)
;PHUONG PHAP: QUET COT (ACT = 1) - HIEN THI HANG (ACT = 0)
;***************************************************
ORG 00H
MAIN:

MOV P2,#07H ;XUAT MA HIEN THI RA HANG
MOV P1,#01H ;XUAT MA QUET RA COT 1
LCALL DELAYLED

MOV P1,#00H ;CHONG LEM


MOV P2,#0DBH ;XUAT MA HIEN THI RA HANG

MOV P1,#02H ;XUAT MA QUET RA COT 2
LCALL DELAYLED

MOV P1,#00H ;CHONG LEM


MOV P2,#0DDH ;XUAT MA HIEN THI RA HANG
MOV P1,#04H ;XUAT MA QUET RA COT 3
LCALL DELAYLED

MOV P1,#00H ;CHONG LEM


MOV P2,#0DBH ;XUAT MA HIEN THI RA HANG
MOV P1,#08H ;XUAT MA QUET RA COT 4
LCALL DELAYLED

MOV P1,#00H ;CHONG LEM


MOV P2,#07H ;XUAT MA HIEN THI RA HANG
MOV P1,#10H ;XUAT MA QUET RA COT 5
LCALL DELAYLED

MOV P1,#00H ;CHONG LEM


MOV P2,#0FFH ;XUAT MA HIEN THI RA HANG
MOV P1,#20H ;XUAT MA QUET RA COT 6
LCALL DELAYLED


MOV P1,#00H ;CHONG LEM


MOV P2,#0FFH ;XUAT MA HIEN THI RA HANG
MOV P1,#40H ;XUAT MA QUET RA COT 7
LCALL DELAYLED

MOV P1,#00H ;CHONG LEM


MOV P2,#0FFH ;XUAT MA HIEN THI RA HANG
MOV P1,#80H ;XUAT MA QUET RA COT 8
LCALL DELAYLED

MOV P1,#00H ;CHONG LEM

LJMP MAIN
;***************************************************
DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H

PUSH 01H

MOV R1,#5
DEL:

MOV R0,#250

DJNZ R0,$


DJNZ R1,DEL

POP 01H

POP 00H

RET

END
C. HỆ THỐNG ðIỀU KHIỂN LED MA TRẬN.
Bài 1: Chương trình ñiều khiển hiển thị chữ A màu ñỏ trên LED ma trận (COL-RED ñược nối với Port1 có sử
dụng bộ ñệm ñảo, ROW ñược nối với Port2).
Giáo trình thực hành vi xử lý. 6 Biên soạn: Phạm Quang Trí
• Cách 2:
CẤT TẠM GIÁ TRỊ CỦA ACC, R0,
R1 VÀO STACK
SCANMATRIXSTA
NAME: SCANMATRIXSTA - QUÉT HIỂN THỊ LED MA TRẬN.
INPUT: DPTR = VÙNG NHỚ CHỨA DỮ LIỆU HIỂN THỊ.
OUTPUT: P1 = CỘT MA TRẬN (CÓ SỬ DỤNG BỘ ðẢO).
P2 = HÀNG MA TRẬN.
MODE: HIỂN THỊ HÌNH ẢNH TĨNH 8 x 8, QUÉT CỘT (TÍCH
CỰC MỨC 1), HIỂN THỊ HÀNG (TÍCH CỰC MỨC 0).
SCANMATRIXSTA:
LẤY LẠI GIÁ TRỊ CHO ACC, R0,
R1 TỪ STACK
NẠP VỊ TRÍ CỦA DỮ LIỆU HÀNG CHO CỘT ðẦU TIÊN
TRONG VÙNG MÃ (OFFSET CỦA DỮ LIỆU ðẦU TIÊN)
(R0) = 00H

NẠP MÃ QUÉT CHO CỘT ðẦU TIÊN
(R1) = 00000001B = 01H
SCAN:
XUẤT MÃ QUÉT RA CỘT
(P1) = (R1)
GỌI CTC TẠO TRỄ CHO 1 LED
DELAYLED
LẤY VỊ TRÍ CỦA DỮ LIỆU HÀNG CHO CỘT KẾ TIẾP
TRONG VÙNG MÃ (OFFSET CỦA DỮ LIỆU KẾ TIẾP)
(R0) = (R0) + 1
CHỐNG LEM - BỎ CHỌN CỘT
(P1) = 00000000B = 00H
DỊCH MÃ QUÉT CỘT
RL A - QUÉT CỘT KẾ TIẾP
QUÉT LED ?
(CHƯA QUÉT XONG)
ð
S
RET
DELAYLED
(XEM CTC NÀY TẠI VÍ DỤ B3.1 MBI)
NẠP ðỊA CHỈ VÙNG MÃ
(DPTR) = CODEDISP
BEGIN
GỌI CTC QUÉT LED MA TRẬN
SCANMATRIXSTA
MAIN:
C1.2
LẤY DỮ LIỆU HIỂN THỊ HÀNG TRONG
VÙNG Mà THEO VỊ TRÍ ðà XÁC ðỊNH

(A) = (R0)
(A) = (@A+DPTR)
XUẤT DỮ LIỆU HIỂN THỊ RA HÀNG
(P2) = (A)
VÙNG DỮ LIỆU HIỂN THỊ CODEDISP
07H,DBH,DDH,DBH,07H,FFH,FFH,FFH

;***************************************************

;CHUONG TRINH HIEN THI KY TU A TREN MA TRAN LED
;***************************************************
;KET NOI ROW -> PORT2, RED COLUMN -> PORT1 (CO DEM DAO)
;PHUONG PHAP: QUET COT (ACT = 1) - HIEN THI HANG (ACT = 0)
;***************************************************
ORG 00H
MAIN:

MOV DPTR,#CODEDISP ;NAP DIA CHI VUNG MA HIEN THI
LCALL SCANMATRIXSTA ;HIEN THI DU LIEU
LJMP MAIN
C. HỆ THỐNG ðIỀU KHIỂN LED MA TRẬN.
Bài 1: Chương trình ñiều khiển hiển thị chữ A màu ñỏ trên LED ma trận (COL-RED ñược nối với Port1 có sử
dụng bộ ñệm ñảo, ROW ñược nối với Port2).
Giáo trình thực hành vi xử lý. 7 Biên soạn: Phạm Quang Trí
;***************************************************
;CTC QUET MA TRAN 8 X 8.
;***************************************************
;NAME: SCANMATRIXSTA.
;OUTPUT: P1 = COLUMN MATRIX (NOT BUFFER).
; P2 = ROW MATRIX.

;INPUT: DPTR = VUNG NHO CHUA DU LIEU HIEN THI.
;MODE: STATIC DISP, SCAN COLUMN (ACT = 1) - DISPLAY ROW (ACT = 0).
;***************************************************
SCANMATRIXSTA:

PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H

PUSH 01H

MOV R0,#00H ;VI TRI CUA DU LIEU COT DAU TIEN TRONG VUNG MA
MOV R1,#01H ;MA QUET COT DAU TIEN
SCAN:
MOV A,R0
MOVC A,@A+DPTR ;LAY MA HIEN THI TRONG VUNG MA THEO VI TRI
MOV P2,A ;XUAT MA HIEN THI RA HANG
MOV P1,R1 ;XUAT MA QUET RA COT
LCALL DELAYLED

MOV P1,#00H ;CHONG LEM
INC R0 ;LAY DU LIEU KE TIEP
MOV A,R1 ;DICH MA QUET - MA QUET CHO COT KE TIEP
RL A
MOV R1,A
CJNE R0,#08H,SCAN ;KIEM TRA QUET CAC COT (MA TRAN GOM 8 COT)
POP 01H ;PHUC HOI GIA TRI CHO CAC THANH GHI
POP 00H

POP ACC
RET

;***************************************************
DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H

PUSH 01H

MOV R1,#5
DEL:

MOV R0,#250

DJNZ R0,$

DJNZ R1,DEL

POP 01H

POP 00H

RET
;***************************************************
CODEDISP:

DB 07H,0DBH,0DDH,0DBH,07H,0FFH,0FFH,0FFH ;CHU A
END
1.4 Lưu chương trình và biên dịch chương trình.
1.5 Kiểm tra lỗi và hiệu chỉnh lỗi nếu có.
1.6 Gắn chip vi ñiều khiển thí nghiệm vào socket tương ứng trên khối nạp chip và bật nguồn cho khối nạp chip
hoạt ñộng.
1.7 Nạp chương trình vào vi ñiều khiển.

1.8 Sử dụng vi ñiều khiển vừa nạp gắn vào socket tương ứng trên khối vi ñiều khiển.
1.9 Bật nguồn cho mô hình thí nghiệm. Quan sát kết quả hoạt ñộng, nếu kết quả hoạt ñộng không ñúng yêu
cầu của ñề bài thì phải quay lại kiểm tra việc kết nối mạch, hiệu chỉnh chương trình và làm lại các bước từ
bước 3 ñến bước 9.
2 Bài tập:
• Bài 1: Hãy viết chương trình ñiều khiển hiển thị chữ M màu ñỏ trên LED ma trận (COL-RED ñược nối với
Port1, ROW ñược nối với Port2).
• Bài 2:
Hãy viết chương trình ñiều khiển hiển thị số 8 màu xanh trên LED ma trận (COL-GRE ñược nối với
Port1, ROW ñược nối với Port2).
C. HỆ THỐNG ðIỀU KHIỂN LED MA TRẬN.
Bài 1: Chương trình ñiều khiển hiển thị chữ A màu ñỏ trên LED ma trận (COL-RED ñược nối với Port1 có sử
dụng bộ ñệm ñảo, ROW ñược nối với Port2).
Giáo trình thực hành vi xử lý. 8 Biên soạn: Phạm Quang Trí
• Bài 3: Hãy viết chương trình ñiều khiển hiển thị chữ A màu vàng trên LED ma trận (COL-RED ñược nối
với Port 1, COL-GRE ñược nối với Port2, ROW ñược nối với Port3).
• Bài 4:
Hãy lập bảng mã cho tất cả các ký tự chữ, ký tự số và ký tự ñặc biệt có trên bàn phím máy tính. Và
thử ñưa các mã ñã lập này vào chương trình ñiều khiển hiển thị ở trên ñể xem hình ảnh chúng như thế nào?
• Bài 5:
Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.
C. HỆ THỐNG ðIỀU KHIỂN LED MA TRẬN.
Bài 2: Chương trình ñiều khiển hiển thị chữ A màu ñỏ trên LED ma trận sáng tắt (COL-RED ñược nối với
Port1 có sử dụng bộ ñệm ñảo, ROW ñược nối với Port2).
Giáo trình thực hành vi xử lý. 9 Biên soạn: Phạm Quang Trí
1 Trình tự tiến hành thí nghiệm:
1.1 Kết nối thiết bị thí nghiệm.
• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1.
1.2 Sơ ñồ nguyên lý của hệ thống:
• Sơ ñồ nguyên lý của hệ thống tương tự như Bài 1.

1.3 Vẽ lưu ñồ giải thuật và viết chương trình ñiều khiển.
DELAYLED
(XEM CTC NÀY TẠI VÍ DỤ B3.1 MBI)
VÙNG DỮ LIỆU HIỂN THỊ CODEDISP
07H,DBH,DDH,DBH,07H,FFH,FFH,FFH
NẠP ðỊA CHỈ VÙNG MÃ
(DPTR) = CODEDISP
BEGIN
GỌI CTC QUÉT LED MA TRẬN
SCANMATRIXSTA
MAIN:
C2
NẠP THỜI GIAN HIỂN THỊ
(R0) = 50 - SỐ LẦN QUÉT
MP1:
ð
S
GIÃM SỐ LẦN QUÉT - HIỂN THỊ
SỐ LẦN QUÉT ≠ 0
(CHƯA QUÉT XONG)
GỌI CTC TẮT HIỂN THỊ LED
TATLED
SCANMATRIXSTA
(XEM CTC NÀY TẠI VÍ DỤ C1.2)
TATLED
CHƯƠNG TRÌNH TẠO TRỄ 1S
CẤT TẠM GIÁ TRỊ CỦA R0 VÀO
STACK
NẠP GIÁ TRỊ VÒNG LẶP
(R0) = 100

DEL:
GIÃM SỐ LẦN LẶP
SỐ LẦN LẶP ≠ 0
(CHƯA LẶP XONG)
ð
S
LẤY LẠI GIÁ TRỊ CHO R0 TỪ
STACK
RET
KHỞI ðỘNG TIMER
(TIMER 0, MODE 1)
(TMOD) = 01H
NẠP GIÁ TRỊ CHO TIMER
(T
DELAY
= 10000.T
MÁY
)
(TH0/TL0) = -10000 = D8F0H
CHƯA ðỦ THỜI GIAN
(TF0) = 0
ð
S
CHO TIMER HOẠT ðỘNG
(TR0) = 1
DỪNG TIMER
(TR0) = 0
XÓA CỜ TRÀN TIMER
(TF0) = 0
TATLED:


;***************************************************

;CHUONG TRINH HIEN THI KY TU A CHOP TAT TREN MA TRAN LED
;***************************************************
;KET NOI ROW -> PORT2, RED COLUMN -> PORT1 (CO DEM DAO)
;PHUONG PHAP: QUET COT (ACT = 1) - HIEN THI HANG (ACT = 0)
;***************************************************
ORG 00H
MAIN:
C. HỆ THỐNG ðIỀU KHIỂN LED MA TRẬN.
Bài 2: Chương trình ñiều khiển hiển thị chữ A màu ñỏ trên LED ma trận sáng tắt (COL-RED ñược nối với
Port1 có sử dụng bộ ñệm ñảo, ROW ñược nối với Port2).
Giáo trình thực hành vi xử lý. 10 Biên soạn: Phạm Quang Trí
MOV DPTR,#CODEDISP ;NAP DIA CHI VUNG MA HIEN THI
MOV R0,#50 ;BIEN LAP - THOI GIAN CUA 1 TRANG THAI MAN HINH LED
MP1:

LCALL SCANMATRIXSTA ;HIEN THI DU LIEU
DJNZ R0,MP1

LCALL TATLED ;TAT MA TRAN LED
LJMP MAIN
;***************************************************
;CTC QUET MA TRAN 8 X 8.
;***************************************************
;NAME: SCANMATRIXSTA.
;OUTPUT: P1 = COLUMN MATRIX (NOT BUFFER).
; P2 = ROW MATRIX.
;INPUT: DPTR = VUNG NHO CHUA DU LIEU HIEN THI.

;MODE: STATIC DISP, SCAN COLUMN (ACT = 1) - DISPLAY ROW (ACT = 0).
;***************************************************
SCANMATRIXSTA:

PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H

PUSH 01H

MOV R0,#00H ;VI TRI CUA DU LIEU COT DAU TIEN TRONG VUNG MA
MOV R1,#01H ;MA QUET COT DAU TIEN
SCAN:
MOV A,R0
MOVC A,@A+DPTR ;LAY MA HIEN THI TRONG VUNG MA THEO VI TRI
MOV P2,A ;XUAT MA HIEN THI RA HANG
MOV P1,R1 ;XUAT MA QUET RA COT
LCALL DELAYLED

MOV P1,#00H ;CHONG LEM
INC R0 ;LAY DU LIEU KE TIEP
MOV A,R1 ;DICH MA QUET - MA QUET CHO COT KE TIEP
RL A
MOV R1,A
CJNE R0,#08H,SCAN ;KIEM TRA QUET CAC COT (MA TRAN GOM 8 COT)
POP 01H ;PHUC HOI GIA TRI CHO CAC THANH GHI
POP 00H

POP ACC
RET
;***************************************************

DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H

PUSH 01H

MOV R1,#5
DEL:

MOV R0,#250

DJNZ R0,$

DJNZ R1,DEL

POP 01H

POP 00H

RET
;***************************************************
TATLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 1S
PUSH 00H

MOV R0,#100

MOV TMOD,#01H
TAT:

MOV TH0,#0D8H


MOV TL0,#0F0H

SETB TR0

JNB TF0,$

CLR TR0

CLR TF0

DJNZ R0,TAT

POP 00H

RET
;***************************************************
CODEDISP:
DB 07H,0DBH,0DDH,0DBH,07H,0FFH,0FFH,0FFH ;CHU A
END
C. HỆ THỐNG ðIỀU KHIỂN LED MA TRẬN.
Bài 2: Chương trình ñiều khiển hiển thị chữ A màu ñỏ trên LED ma trận sáng tắt (COL-RED ñược nối với
Port1 có sử dụng bộ ñệm ñảo, ROW ñược nối với Port2).
Giáo trình thực hành vi xử lý. 11 Biên soạn: Phạm Quang Trí
1.4 Thực hiện lần lượt các bước từ 1.3 ñến 1.8 tương tự như bài trên.
2 Bài tập:
• Bài 1:
Hãy viết chương trình ñiều khiển hiển thị chữ W màu ñỏ sáng tắt trên LED ma trận (COL-RED
ñược nối với Port1, ROW ñược nối với Port2).
• Bài 2:
Hãy viết chương trình ñiều khiển hiển thị số 0 màu xanh sáng tắt trên LED ma trận (COL-GRE ñược

nối với Port1, ROW ñược nối với Port2).
• Bài 3:
Hãy viết chương trình ñiều khiển hiển thị chữ H màu vàng sáng tắt trên sáng tắt LED ma trận (COL-
RED ñược nối với Port 1, COL-GRE ñược nối với Port2, ROW ñược nối với Port3).
• Bài 4:
Hãy viết chương trình ñiều khiển hiển thị liên tục chữ A sáng màu ñỏ, sau ñó là màu xanh và cuối
cùng là màu vàng trên LED ma trận (COL-RED ñược nối với Port 1, COL-GRE ñược nối với Port2, ROW
ñược nối với Port3).
• Bài 5:
Hãy lập bảng mã cho tất cả các ký tự chữ, ký tự số và ký tự ñặc biệt có trên bàn phím máy tính. Và
thử ñưa các mã ñã lập này vào chương trình ñiều khiển hiển thị ở trên ñể xem hình ảnh chúng như thế nào?
• Bài 6:
Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.

C. HỆ THỐNG ðIỀU KHIỂN LED MA TRẬN.
Bài 3: Chương trình ñiều khiển hiển thị lần lượt các chữ A, B, C, a, b, c màu ñỏ trên LED ma trận (COL-RED
ñược nối với Port1 có sử dụng bộ ñệm ñảo, ROW ñược nối với Port2).
Giáo trình thực hành vi xử lý. 12 Biên soạn: Phạm Quang Trí
1 Trình tự tiến hành thí nghiệm:
1.1 Kết nối thiết bị thí nghiệm.
• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1.
1.2 Sơ ñồ nguyên lý của hệ thống:
• Sơ ñồ nguyên lý của hệ thống tương tự như Bài 1.
1.3 Vẽ lưu ñồ giải thuật và viết chương trình ñiều khiển.

;***************************************************

;CHUONG TRINH HIEN THI CHUOI KY TU A,B,C,a,b,c LAN LUOT TREN MA TRAN LED
;***************************************************
;KET NOI ROW -> PORT2, RED COLUMN -> PORT1 (CO DEM DAO)

;PHUONG PHAP: QUET COT (ACT = 1) - HIEN THI HANG (ACT = 0)
;***************************************************
ORG 00H
MAIN:

MOV DPTR,#CODEDISP ;NAP DIA CHI VUNG MA HIEN THI
MP1:
MOV R0,#50 ;BIEN LAP - THOI GIAN CUA 1 TRANG THAI MAN HINH LED
MP2:

LCALL SCANMATRIXSTA ;HIEN THI DU LIEU
DJNZ R0,MP2
MOV A,DPL ;DICH DEN DIA CHI CUA KY TU KE TIEP
ADD A,#8 ;ADDNEXT = ADDPREV + 8 (DO DAI KY TU = 8)
MOV DPL,A

CJNE A,#LOW(CODEDISP+48),MP1 ;KIEM TRA HIEN THI XONG TAT CA CAC CHUOI
LJMP MAIN
;***************************************************
;CTC QUET MA TRAN 8 X 8.
;***************************************************
;NAME: SCANMATRIXSTA.
;OUTPUT: P1 = COLUMN MATRIX (NOT BUFFER).
; P2 = ROW MATRIX.
;INPUT: DPTR = VUNG NHO CHUA DU LIEU HIEN THI.
;MODE: STATIC DISP, SCAN COLUMN (ACT = 1) - DISPLAY ROW (ACT = 0).
;***************************************************
SCANMATRIXSTA:

PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI

PUSH 00H

PUSH 01H

MOV R0,#00H ;VI TRI CUA DU LIEU COT DAU TIEN TRONG VUNG MA
MOV R1,#01H ;MA QUET COT DAU TIEN
SCAN:
MOV A,R0
C. HỆ THỐNG ðIỀU KHIỂN LED MA TRẬN.
Bài 3: Chương trình ñiều khiển hiển thị lần lượt các chữ A, B, C, a, b, c màu ñỏ trên LED ma trận (COL-RED
ñược nối với Port1 có sử dụng bộ ñệm ñảo, ROW ñược nối với Port2).
Giáo trình thực hành vi xử lý. 13 Biên soạn: Phạm Quang Trí
MOVC A,@A+DPTR ;LAY MA HIEN THI TRONG VUNG MA THEO VI TRI
MOV P2,A ;XUAT MA HIEN THI RA HANG
MOV P1,R1 ;XUAT MA QUET RA COT
LCALL DELAYLED

MOV P1,#00H ;CHONG LEM
INC R0 ;LAY DU LIEU KE TIEP
MOV A,R1 ;DICH MA QUET - MA QUET CHO COT KE TIEP
RL A
MOV R1,A
CJNE R0,#08H,SCAN ;KIEM TRA QUET XONG CAC COT (MA TRAN GOM 8 COT)
POP 01H ;PHUC HOI GIA TRI CHO CAC THANH GHI
POP 00H

POP ACC
RET
;***************************************************
DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS

PUSH 00H

PUSH 01H

MOV R1,#5
DEL:

MOV R0,#250

DJNZ R0,$

DJNZ R1,DEL

POP 01H

POP 00H

RET
;***************************************************
CODEDISP:

DB 07H,0DBH,0DDH,0DBH,07H,0FFH,0FFH,0FFH ;CHU A
DB 01H,6DH,6DH,6DH,93H,0FFH,0FFH,0FFH ;CHU B
DB 83H,7DH,7DH,7DH,0BBH,0FFH,0FFH,0FFH ;CHU C
DB 0BFH,57H,57H,57H,0FH,0FFH,0FFH,0FFH ;CHU a
DB 01H,6FH,77H,77H,8FH,0FFH,0FFH,0FFH ;CHU b
DB 8FH,77H,77H,77H,0BFH,0FFH,0FFH,0FFH ;CHU c
END
1.4 Thực hiện lần lượt các bước từ 1.3 ñến 1.8 tương tự như bài trên.
2 Bài tập:

• Bài 1:
Hãy viết chương trình ñiều khiển hiển thị số ñếm BCD từ 0 lên 9 màu ñỏ trên LED ma trận (COL-
RED ñược nối với Port1, ROW ñược nối với Port2).
• Bài 2:
Hãy viết chương trình ñiều khiển hiển thị số ñếm BCD từ 9 xuống 0 màu xanh trên LED ma trận
(COL-GRE ñược nối với Port1, ROW ñược nối với Port2).
• Bài 3:
Hãy viết chương trình ñiều khiển hiển thị các ký tự từ A ñến Z màu ñỏ trên LED ma trận (COL-
RED ñược nối với Port1, ROW ñược nối với Port2).
• Bài 4:
Hãy viết chương trình ñiều khiển hiển thị các ký tự từ Z ñến A màu xanh trên LED ma trận (COL-
GRE ñược nối với Port1, ROW ñược nối với Port2).
• Bài 5:
Hãy viết chương trình ñiều khiển hiển thị số ñếm BCD từ 0 ñến 9 trên LED ma trận (COL-GRE
ñược nối với Port1, ROW ñược nối với Port2). Với ñiều kiện màu của các số sẽ thay ñổi liên tục ðỎ –
XANH – VÀNG mỗi khi con số trên LED ma trận thay ñổi.
• Bài 6:
Hãy viết chương trình ñiều khiển hiển thị các ký tự từ A ñến Z trên LED ma trận (COL-GRE ñược
nối với Port1, ROW ñược nối với Port2). Với ñiều kiện màu của các ký tự sẽ thay ñổi liên tục ðỎ – XANH
– VÀNG sau mỗi một giây ñồng hồ.
• Bài 7:
Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.

C. HỆ THỐNG ðIỀU KHIỂN LED MA TRẬN.
Bài 4: Chương trình ñiều khiển hiển thị chuỗi ký tự “WELCOME” màu ñỏ trên LED ma trận dịch chuyển từ
phải sang trái (COL-RED ñược nối với Port1 có sử dụng bộ ñệm ñảo, ROW ñược nối với Port2).
Giáo trình thực hành vi xử lý. 14 Biên soạn: Phạm Quang Trí
1 Trình tự tiến hành thí nghiệm:
1.1 Kết nối thiết bị thí nghiệm.
• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1.

1.2 Sơ ñồ nguyên lý của hệ thống:
• Sơ ñồ nguyên lý của hệ thống tương tự như Bài 1.
1.3 Vẽ lưu ñồ giải thuật và viết chương trình ñiều khiển.

;***************************************************

;CHUONG TRINH HIEN THI CHUOI KY TU WELLCOME LAN LUOT TREN MA TRAN LED
;***************************************************
;ROW -> PORT2, RED COLUMN -> PORT1 (CO DEM DAO)
;PHUONG PHAP: QUET COT (ACT = 1) - HIEN THI HANG (ACT = 0)
;***************************************************
ORG 00H
MAIN:

MOV DPTR,#CODEDISP ;NAP DIA CHI VUNG MA HIEN THI
MP1:
MOV R0,#20 ;BIEN LAP - THOI GIAN CUA 1 TRANG THAI MAN HINH LED
MP2:

LCALL SCANMATRIXSTA ;HIEN THI DU LIEU
DJNZ R0,MP2
INC DPTR ;DICH CHUOI DI MOT MA KY TU
MOV A,DPL

CJNE A,#LOW(CODEDISP+42),MP1 ;KIEM TRA HIEN THI XONG CHUOI
SJMP MAIN ;SO MA KY TU CUA CHUOI = 7 KY TU * 6 MA = 42 MA KY TU
;***************************************************
;CTC QUET MA TRAN 8 X 8.
;***************************************************
;NAME: SCANMATRIXSTA.

;OUTPUT: P1 = COLUMN MATRIX (NOT BUFFER).
; P2 = ROW MATRIX.
;INPUT: DPTR = VUNG NHO CHUA DU LIEU HIEN THI.
;MODE: STATIC DISP, SCAN COLUMN (ACT = 1) - DISPLAY ROW (ACT = 0).
;***************************************************
SCANMATRIXSTA:

PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H

PUSH 01H

MOV R0,#00H ;VI TRI CUA DU LIEU COT DAU TIEN TRONG VUNG MA
MOV R1,#01H ;MA QUET COT DAU TIEN
SCAN:
MOV A,R0
MOVC A,@A+DPTR ;LAY MA HIEN THI TRONG VUNG MA THEO VI TRI
C. HỆ THỐNG ðIỀU KHIỂN LED MA TRẬN.
Bài 4: Chương trình ñiều khiển hiển thị chuỗi ký tự “WELCOME” màu ñỏ trên LED ma trận dịch chuyển từ
phải sang trái (COL-RED ñược nối với Port1 có sử dụng bộ ñệm ñảo, ROW ñược nối với Port2).
Giáo trình thực hành vi xử lý. 15 Biên soạn: Phạm Quang Trí
MOV P2,A ;XUAT MA HIEN THI RA HANG
MOV P1,R1 ;XUAT MA QUET RA COT
LCALL DELAYLED

MOV P1,#00H ;CHONG LEM
INC R0 ;LAY DU LIEU KE TIEP
MOV A,R1 ;DICH MA QUET - MA QUET CHO COT KE TIEP
RL A
MOV R1,A

CJNE R0,#08H,SCAN ;KIEM TRA QUET XONG CAC COT (MA TRAN GOM 8 COT)
POP 01H ;PHUC HOI GIA TRI CHO CAC THANH GHI
POP 00H

POP ACC
RET
;***************************************************
DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H

PUSH 01H

MOV R1,#5
DEL:

MOV R0,#250

DJNZ R0,$

DJNZ R1,DEL

POP 01H

POP 00H

RET
;***************************************************
CODEDISP:

DB 81H,7FH,87H,7FH,81H,0FFH ;CHU W

DB 01H,6DH,6DH,6DH,7DH,0FFH ;CHU E
DB 01H,7FH,7FH,7FH,7FH,0FFH ;CHU L
DB 83H,7DH,7DH,7DH,0BBH,0FFH ;CHU C
DB 83H,7DH,7DH,7DH,83H,0FFH ;CHU O
DB 01H,0FBH,0F7H,0FBH,01H,0FFH ;CHU M
DB 01H,6DH,6DH,6DH,7DH,0FFH ;CHU E
END
1.4 Thực hiện lần lượt các bước từ 1.3 ñến 1.8 tương tự như bài trên.
2 Bài tập:
• Bài 1:
Hãy viết chương trình ñiều khiển hiển thị chuỗi ký tự “KHOA DIEN TU” màu xanh dịch chuyển từ
phải sang trái trên LED ma trận (COL-GRE ñược nối với Port1, ROW ñược nối với Port2).
• Bài 2:
Hãy viết chương trình ñiều khiển hiển thị chuỗi ký tự “TRUONG DAI HOC CONG NGHIEP TP
HO CHI MINH – KHOA DIEN TU” màu ñỏ dịch chuyển từ phải sang trái trên LED ma trận (COL-RED
ñược nối với Port1, ROW ñược nối với Port2).
• Bài 3:
Hãy viết chương trình ñiều khiển hiển thị tương tự như bài tập 1 và 2 nhưng màu của ma trận LED
sẽ thay ñổi liên tục ðỎ – XANH – VÀNG sau mỗi một giây ñồng hồ.
• Bài 4:
Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.


×