
Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
Trang 29
BÀI 03:
ĐIỀU KHIỂN MA TRẬN LED VÀ BÀN PHÍM HEX
(LED MATRIX AND KEYPAD CONTROL)
MỤC ĐÍCH THÍ NGHIỆM
Giúp sinh viên bằng thực nghiệm khảo sát các vấn đề chính sau đây :
- Cách ghép nối máy tính với thiết bị ngoại vi như ma trận Led và bàn phím.
- Các giải thuật dùng để quét ma trận Led và kiểm tra phím nhấn.
THIẾT BỊ SỬ DỤNG
1. Bộ thí nghiệm μPTS-31.
2. Board thí nghiệm μPM-303.
3. Máy vi tính.
PHẦN I : CƠ SỞ LÝ THUYẾT
I. KẾT NỐI PHẦN CỨNG
Trong bài thí nghiệm này sử dụng khối thí nghiệm μPM-303 trên đó có ma trận
LED 5x7 và 1 bàn phím 4x4 như sau :
1. MA TRẬN LED
Ma trận LED gồm các LED phát quang bố trí thành hàng và cột trong một võ.
Các tín hiệu điều khiển hàng PA0 - PA6 ( Port A ) nối vào Anode của tất cả các LED
trên cùng một hàng. Các tín hiệu điều khiển cột PB0 -PB4 (Port B) nối vào Cathode
của tất cả cácv LED trên cùng một cột.
Khi có 1 cặp tín hiệu điều khiển hàng và cột ví dụ như khi PA0 = 1 và PB0 = 1,
các Anode của hàng LED thứ nhất RW1 (hàng trên cùng) được cấp điện thế cao. Đồng
thời các Cathode của cột LED thứ nhất CL1 (bìa trái) được cấp thế thấp.Tuy nhiên chỉ
có LED 1 là sáng vì nó có đồng thời thế cao trên Anode và thế thấp trên Cathode. Như
vậy khi có 1 cặp tín hiệu điều khiển hàng và cột thì chỉ có duy nhất 1 LED tại điểm
hàng và cột gặp nhau là sáng. Trên cơ sở cấu trúc như vậy ta có thể xây dựng được
bảng ma trận LED với số lượng LED lớn hơn ví dụ như trong các bảng quang báo.

Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
Trang 30
Sơ đồ kết nối ma trận Led 5 x 7
Trong trường hợp ta cần hiển thị đồng thời 1 số LED trong ma trận để có thể
hiển thị một ký hiệu nào đó ví dụ chữ ‘L‘ trên ma trận LED. Khi đó ta thấy các LED ở
cột bìa trái (CL1) sáng và các LED ở hàng dưới cùng (RW7) sáng. Nếu trong hiển thị
tĩnh ta phải đặt tất cả các PA0 đến PA6 và PB0-4 ở mức cao, lúc này sẽ làm sáng các ở
hàng RW7 và cột CL1 nhưng khi đó điều gì sẽ xảy ra?. Ta thấy rõ ràng là khi đó thì
các LED khác trong ma trận cũng được cấp áp cao vào Anode và áp thấp vào Cathode
do đó nó sẽ sáng tất cả các LED trong ma trận. Vì vậy trong điều khiển ma trận LED
ta không thể sử dụng phương pháp hiển thị tĩnh mà phải dùng phương pháp quét (hiển
thị động). Nnghĩa là tiến hành cấp tín hiệu điều khiển theo dạng xung theo kiểu quét
1
2 3
1
2 3
PORT B
1
2
3
4
5
6
7
8
+5V
1 2
1 2
PORT A
1
2
3
4
5
6
7
8
1
2 3
1
2 3
1
2 3
1
2 3
1 2
1 2
1
2 3
1 2

Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
Trang 31
cho các hàng và cột cần hiển thị. Tần số quét nhỏ nhất cho một chu kỳ cần khoảng
20Hz (50ms) nhằm bảo đảm cho mắt thấy các LED sáng đều không nháy. Như vậy để
hiển thị được chữ L có thể điều khiển tuần tự như trong bảng sau:
Nhịp 1 : PA0 - PA6 = 1, PB0 = 1 ; Sáng cột LED thứ nhất CL1
Nhịp 2 : PA0 - PA5 = 0, PA6 = 1, PB1 = 1 ; Sáng LED hàng RW7 và cột
CL2
Nhịp 3 : PA0 - PA5 = 0, PA6 = 1, PB2 = 1 ; Sáng LED hàng RW7 và cột
CL3
Nhịp 4 : PA0 - PA5 = 0, PA6 = 1, PB3 = 1 ; Sáng LED hàng RW7 và cột
CL4
Nhịp 5 : PA0 - PA5 = 0, PA6 = 1, PB4 = 1 ; Sáng LED hàng RW7 và cột
CL5
Nhịp 6 : Quay lại giống nhịp 1.
(từ nhịp 1 đến nhịp 6 là 1 chu kỳ quét tối thiểu phải là 20Hz)
TÍN HIỆU PB0 PB1 PB2 PB3 PB4
PA0 1
PA1 1
PA2 1
PA3 1
PA4 1
PA5 1
PA6 1 1 1 1 1
Tương tự cho khi hiển thị các ký hiệu hay các chữ khác.
2. BÀN PHÍM
Bàn phím trên khối μPM303 cũng được xây dựng theo cấu trúc ma trận gồm
16 phím (0-9, A-F) bố trí thành 4 hàng và 4 cột, gọi là bàn phím HEX. Để kiểm tra có
phím nhấn hay không máy tính xuất ra cột thứ nhất mức 0 và đọc vào các hàng, nếu
hàng nào xuống 0 tức là có phím nhấn trên hàng đó. Tín hiệu quét đọc từ máy tính cấp
qua các chốt PC0-PC3 (Port C). Khi nhấn công tắc nào sẽ cho phép tín hiệu từ máy
tính truyền qua công tắc nối tới hàng tương ứng. Máy tính sẽ so sánh đồng bộ với tín
hiệu quét cột đã phát để xác định công tắc được nhấn. Ví dụ khi nhấn số 9 tín hiệu quét
từ ngõ vào PC2 sẽ qua tiếp điểm công tắc 9 truyền ra PC6. Như vậy ngõ vào bàn phím
sẽ là cột còn ngõ ra là hàng.
II. PHẦN MỀM
Trong máy tính đã nạp sẵn 2 bộ chương trình viết bằng ngôn ngữ ASSEMBLY
chứa trong thư mục C:\TNVXL\TASM
- UPM302.ASM: Là chương trình gốc.
- UPM302.EXE: Là chương trình mã máy.
Chương trình sẽ quét lần lượt ma trận phím 4x4 và hiển thị giá trị ra ma trận
LED 7x5 tương ứng với giá trị phím ấn.

Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
Trang 32
*Lưu đồ chương trình cho bài thí nghiệm μPM303:
Begin
Khởi động 8255
U9: PA xuất, PB xuất, PCH nhập, PCL
xuất
Có phím nhấn?
Phím 'T'?
End
Có phím nhấn trên
bàn phím Hex?
Định lại dữ liệu cho mảng pa chứa
ký tự tương ứng với phím nhấn
trên bàn phím Hex
Hiển thị dữ liệu trong mảng pa lên
ma trận Led
Y
Y
N Y
N

Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
Trang 33
Sơ đồ kết nối của bàn phím Hex
PHẦN II : TIẾN TRÌNH THÍ NGHIỆM
I. KẾT NỐI PHẦN CỨNG
1. Nối cáp liên lạc giữa ổ nối CON1 của μPTS-31 với khối giao tiếp PCBUS-2
gắn trong máy tính.
2. Sử dụng dây có chốt cắm để nối mạch như sau:
- Nối các chốt nguồn +5V và đất (POWER INPUT) của khối μPM-303 với
nguồn +5V và đất của thiết bị chính μPTS-31. Chú ý cắm đúng phân cực nguồn.
3. Điều khiển từ bàn phím và chỉ thị tương ứng trên LED:
Trong thí nghiệm khi nhấn phím nào trên bàn phím (0 - 9, A - F) máy tính sẽ
điều khiển nhận và chỉ thị tương ứng trên ma trận LED.
- Nối cáp liên lạc giữa trạm PORT C của μPTS-31 (PART B) với trạm PORT C
trên khối thí nghiệm μPM-303.
- Nối cáp liên lạc giữa trạm PORT A của μPTS-31 (PART B ) với trạm PORT
A của khối thí nghiệm μPM-303.
- Nối cáp liên lạc giữa trạm PORT B của μPTS-31 (PART B ) với trạm PORT
B của khối thí nghiệm μPM-303.
1
8
2
PC1
7
3
+5V
E
PORT C
1
2
3
4
5
6
7
8
PC3
B9
6
A
PC2 PC0
5
+5V
PC4
PC7
+5V
D
4
FC
PC5
PC6
+5V
0

