TRUNG TÂM THÍ NGHIỆM THỰC HÀNH ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP
T
T
À
À
I
IL
L
I
I
Ệ
Ệ
U
UH
H
Ư
Ư
Ớ
Ớ
Ệ
Ệ
M
M-
-T
T
H
H
Ự
Ự
C
CH
H
À
À
N
N
H
H
H
Ạ
Ạ
M
MQ
Q
U
U
A
A
N
N
G
GT
T
R
R
Í
Í
TP. HỒ CHÍ MINH
11 - 2005
CHƯƠNG 2: HƯỚNG DẪN SỬ DỤNG PHẦN MỀM MCU PROGRAM LOADER. .....................................40
2.1 Giới thiệu: ............................................................................................................................................................40
2.2 Hướng dẫn sử dụng phần mềm MCU Program Loader:......................................................................................41
CHƯƠNG 3: HỆ THỐNG CÁC BÀI THỰC HÀNH VI ĐIỀU KHIỂN.............................................................47
Một số lưu ý khi viết chương trình và kết nối mạch ............................................................................................47
A. Hệ thống điều khiển LED đơn....................................................................................................................48
• Mục đích: ................................................................................................................................................48
• Yêu cầu: ..................................................................................................................................................48
• Bài 1: Chương trình điều khiển 8 LED được nối với Port0 sáng tắt......................................................48
• Bài 2: Chương trình điều khiển đếm lên nhị phân 8 bit và hiển thị trên 8 LED được nối với Port0......51
• Bài 3: Chương trình điều khiển 8 LED được nối với Port0 sáng dần và tắt hết. ...................................52
• Bài 4: Chương trình điều khiển 8 LED được nối với Port0 sáng đuổi...................................................54
• Bài 5: Chương trình điều khiển 8 LED được nối với Port0 sáng dồn. ...................................................56
• Bài 6: Chương trình điều khiển 8 LED được nối với Port0 hoạt động bằng cách tổng hợp các phương
pháp điều khiển đã thực tập....................................................................................................................58
• Bài 7: Chương trình con điều khiển tạo thời gian trễ 200
µ
s, 20ms, 2s sử dụng Timer..........................60
B. Hệ thống điều khiển LED 7 đoạn...............................................................................................................62
• Mục đích: ................................................................................................................................................62
• Yêu cầu: ..................................................................................................................................................62
• Bộ hiển thị LED7 đoạn được thiết kế theo phương pháp không đa hợp và ngõ vào dữ liệu kiểu BCD. 62
o Bài 1: Chương trình điều khiển hiển thị số 7 trên LED3. ................................................................62
o Bài 2: Chương trình điều khiển hiển thị đếm số BCD từ 0 lên 9 trên LED3...................................64
o Bài 3: Chương trình điều khiển hiển thị số 35 trên hai LED. ..........................................................66
o Bài 4: Chương trình điều khiển hiển thị đếm số BCD từ 00 lên 99 trên hai LED............................67
o Bài 5: Chương trình điều khiển hiển thị số 1234 trên bốn LED. .....................................................68
o Bài 6: Chương trình điều khiển hiển thị đếm số BCD từ 0000 đến 9999 trên bốn LED..................69
o Bài 1: Chương trình điều khiển hiển thị số 1 trên LED7. ..............................................................110
o Bài 2: Chương trình điều khiển hiển thị đếm số BCD từ 0 lên 9 trên LED7.................................111
o Bài 3: Chương trình điều khiển hiển thị số 12 trên hai LED. ........................................................113
o Bài 4: Chương trình điều khiển hiển thị đếm số BCD từ 00 lên 99 trên hai LED..........................116
o Bài 5: Chương trình điều khiển hiển thị số 1234 trên bốn LED. ...................................................118
o Bài 6: Chương trình điều khiển hiển thị đếm số BCD từ 0000 đến 9999 trên bốn LED................121
o Bài 7: Chương trình điều khiển hiển thị số 12345678 trên tám LED. ...........................................122
o Bài 8: Chương trình điều khiển hiển thị đếm số BCD từ 00000000 lên 99999999 trên tám LED.123
• Bộ hiển thị LED 7 đoạn được thiết kế theo phương pháp đa hợp và ngõ vào dữ liệu kiểu 7 đoạn (dùng
vi mạch giải đa hợp bên ngoài).............................................................................................................125
o Bài 1: Chương trình điều khiển hiển thị số 1 trên LED7. ..............................................................125
o Bài 2: Chương trình điều khiển hiển thị đếm số BCD từ 0 lên 9 trên LED7.................................126
o Bài 3: Chương trình điều khiển hiển thị số 12 trên hai LED. ........................................................128
o Bài 4: Chương trình điều khiển hiển thị đếm số BCD từ 00 lên 99 trên hai LED..........................131
o Bài 5: Chương trình điều khiển hiển thị số 1234 trên bốn LED. ...................................................133
o Bài 6: Chương trình điều khiển hiển thị đếm số BCD từ 0000 đến 9999 trên bốn LED................134
o Bài 7: Chương trình điều khiển hiển thị số 12345678 trên tám LED. ...........................................137
o Bài 8: Chương trình điều khiển hiển thị đếm số BCD từ 00000000 lên 99999999 trên tám LED.139
• Ứng dụng điều khiển LED 7 đoạn tổng hợp. ........................................................................................142
o Bài 1: Chương trình điều khiển hiển thị đếm GIỜ – PHÚT – GIÂY trên sáu LED. ......................142
o Bài 2: Chương trình điều khiển hiển thị chuỗi ký tự “-HA-NOI-“ trên tám LED..........................145
o Bài 3: Chương trình điều khiển hiển thị và chớp tắt chuỗi ký tự “ -HA-NOI- “ trên tám LED.....147
o Bài 4: Chương trình điều khiển hiển thị lần lượt các chuỗi ký tự “-HA-NOI“, “-DA-LAT-“, “-
SAIGON-“ trên tám LED. Mỗi chuỗi hiển thị cách nhau 1 giây....................................................149
o Bài 5: Chương trình điều khiển hiển thị và dịch chuyển chuỗi ký tự “-HA-NOI-SAI-GON-“ trên
tám LED từ phải sang trái..............................................................................................................151
C. Hệ thống điều khiển LED ma trận...........................................................................................................153
• Mục đích: ..............................................................................................................................................153
• Yêu cầu: ................................................................................................................................................153
• Bài 1: Chương trình điều khiển hiển thị chữ A màu đỏ trên LED ma trận...........................................154
• Bài 2: Chương trình điều khiển nút nhấn, khi ta nhấn nút KEY0 thì 8 LED sẽ chớp tắt với tần số 5 Hz
và ngược lại khi ta nhả nút KEY0 thì 8 LED sẽ chớp tắt với tần số 20 Hz...........................................184
G. Hệ thống điều khiển công tắc....................................................................................................................186
• Mục đích: ..............................................................................................................................................186
• Yêu cầu: ................................................................................................................................................186
• Bài tập: Chương trình điều khiển công tắc và hiển thị lên tám LED mức logic hiện tại (LED sáng =
mức cao, LED tắt = mức thấp) của tám công tắc gạt...........................................................................187
H. Hệ thống điều khiển relay.........................................................................................................................189
• Mục đích: ..............................................................................................................................................189
• Yêu cầu: ................................................................................................................................................189
• Bài tập: Chương trình điều khiển RELAY1 và RELAY2 đóng ngắt tuần tự và liên tục. Thời gian giữa
hai lần đóng ngắt là 1s..........................................................................................................................190
I. Hệ thống điều khiển motor bước..............................................................................................................192
• Mục đích: ..............................................................................................................................................192
• Yêu cầu: ................................................................................................................................................192
• Bài 1: Chương trình điều khiển STEPPER1 quay cùng chiều kim đồng hồ .........................................193
• Bài 2: Chương trình điều khiển STEPPER1 quay cùng chiều kim đồng hồ một vòng rồi dừng lại............
...............................................................................................................................................................195
• Bài 3: Chương trình điều khiển STEPPER1 quay bằng cách nhấn nút KEY0: quay thuận, KEY1: quay
ngược, KEY2: dừng...............................................................................................................................196
J. Hệ thống điều khiển ngắt (Interrupt). .....................................................................................................198
• Mục đích: ..............................................................................................................................................198
• Yêu cầu: ................................................................................................................................................198
• Bài 1: Chương trình điều khiển t?o sóng vuông tuần hoàn có tần số 10 Hz (sử dụng ngắt Timer) tại
chân P0.0 và hiển thị mức logic tại chân này lên LED0.......................................................................199
• Bài 2: Chương trình điều khiển đếm số xung t?i chân INT0 (sử dụng ngắt ngoài) và hiển thị số xung
này (tối đa là 255 lần) lên ba LED 7 đoạn ...........................................................................................200
K. Hệ thống điều khiển Timer/Counter........................................................................................................203
• Mục đích: ..............................................................................................................................................203
• Yêu cầu: ................................................................................................................................................203
nhớ ngoài. ...................................................................................................................................................
• Bài 4: Chương trình điều khiển Port I/O, liên tục đọc các giá trị từ các công tắc gạt SW0 – SW7 và
hiển thị mức logic hiện tại (LED sáng = mức cao, LED tắt = mức thấp) của các công tắc này lên LED.
Sử dụng cơ chế bộ nhớ ngoài......................................................................................................................
N. Hệ thống điều khiển ADC...............................................................................................................................
• Mục đích: ....................................................................................................................................................
• Yêu cầu: ......................................................................................................................................................
• Bài 1: Chương trình điều khiển biến đổi A/D thông qua ADC0809 và hiển thị giá trị của kênh ngõ vào
(kênh IN0) lên hai LED 7 đoạn (LED1 và LED0; dưới dạng số HEX từ 00H -> FFH). Sử dụng cơ chế
bộ nhớ ngoài. ..............................................................................................................................................
• Bài 2: Chương trình điều khiển biến đổi A/D thông qua ADC0809 và hiển thị giá trị của kênh ngõ vào
(kênh IN0) lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số DEC từ 0 -> 255). Sử dụng cơ
chế bộ nhớ ngoài.................................................................................................................................
• Bài 3: Chương trình điều khiển biến đổi A/D thông qua ADC0809 và hiển thị giá trị điện áp của kênh
ngõ vào (kênh IN0) lên bốn LED 7 đoạn (LED3: hàng đơn vị; LED2, LED1 và LED0: ba số phần thập
phân). Sử dụng cơ chế bộ nhớ ngoài...........................................................................................................
• Bài 3: Chương trình điều khiển biến đổi A/D thông qua ADC0809 và hiển thị giá trị của hai kênh ngõ
vào (kênh IN0 và IN1) lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số thập phân từ 0 ->
255), LED7 hiển thị kênh ngõ vào. Việc chuyển đổi kênh biến đổi được thực hiện bằng cách nhấn nút
KEY0. Sử dụng cơ chế bộ nhớ ngoài...........................................................................................................
O. Hệ thống điều khiển DAC...............................................................................................................................
• Mục đích: ....................................................................................................................................................
• Yêu cầu: ......................................................................................................................................................
• Bài 1: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện biến đổi giá trị lưu
trong thanh ghi R0 thành điện áp tương tự. Giá trị trong thanh ghi R0 thay đổi liên tục 00H, 40H, 80H,
C0H và FFH, mỗi lần cách nhau 2 giây.....................................................................................................
• Bài 2: Chương trình điều khiển biến đổi D/A thông qua DAC0808 và thực hiện biến đổi giá trị lưu
trong thanh ghi R0 thành điện áp tương tự. Giá trị trong thanh ghi R0 thay đổi liên tục từ 00H ->
FFH, mỗi lần cách nhau 2 giây và được hiển thị lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới
dạng số thập phân từ 0 -> 255). .................................................................................................................
I
IL
L
I
I
Ệ
Ệ
U
UH
H
Ư
Ư
Ớ
Ớ
N
N
G
GD
D
Ẫ
Ẫ
T
T
H
H
Ự
Ự
C
CH
H
À
À
N
N
H
H
Program Loader. Phần mềm mô phỏng Topview cho phép bạn mô phỏng và chạy thử các chương trình điều khiển
trên máy tính với một số module thiết bị ngoại vi có sẵn tương tự như trên mô hình thí nghiệm vi điều khiển ngoài
thực tế, phần mềm này còn cho bạn khả năng soạn thảo và biên dịch chương trình theo ngôn ngữ Assembler. Phần
mềm MCU Program Loader cho phép bạn khả năng nạp chương trình cho các loại vi điều khiển đã nêu trên từ máy
tính. Các bạn có thể tìm hiểu thêm về hai phần mềm này trong các phần sau của giáo trình (phần mềm mô phỏng
Topview xem trong tài liệu “Hướng dẫn sử dụng phần mềm mô phỏng MCS-51 Topview Simulator”).
Các chương tiếp theo sẽ trình bày chi tiết hơn về cấu hình của mô hình thí nghiệm vi điều khiển, cách thức sử
dụng phần mềm và cung cấp các bài thí nghiệm thực hành mẫu cũng như các bài tập mở rộng có thể phục vụ rất tốt
cho việc tự học của các bạn.
Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển.
Giáo trình thực hành vi xử lý. 9 Biên soạn: Phạm Quang Trí
1.2 Cấu hình của mô hình thí nghiệm vi điều khiển:
1.2.1 Khối lập trình vi điều khiển:
• Sơ đồ nguyên lý:
D0
R111
1K2
A12
P1.1
VPP
D39
5V6
C48
1000u
VDD
P1.0
A13
SW18
POWER SW
VDD
U35 74573
2
3
4
5
6
7
8
9
11
1
19
18
17
16
15
14
13
12
10
20
D0
D1
D2
D3
A13
C41
104
D6
R121
4K7
D36
1N4007
D1
A10
R122
22/2W
15. KHOÁI LAÄP TRÌNH VI ÑIEÀU KHIEÅN
A7
D4
P1.6
A6
R116
100/2W
D3D3
VCC
D3
R115
10K
D43
1N4007
R123
1K2
D7
D37
25
26
27
28
10
11
12
13
14
15
16
17
PSEN
ALE
VCC
GND
EA
X1
X2
RST
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P1.0
P1.1
A4
P1.6
Q24
C1815
R112
1K2
A14
A8
P1.3
C50
100u
D4
P1.5
A11
C51
104
C49
100u
A3
C45
104
D1
D34
6V7
D0
A1
P3.7
R110
3K3
D6
4
5
16
15
26
12
9
11
10
13
8
14
7
C1+
C1-
C2+
C2-
VCC
GND
V+V-
R1OUT
R2OUT
T1IN
T2IN
R1IN
R2IN
T1OUT
T2OUT
D1
R113
18
9
39
38
37
36
35
34
33
32
1
2
3
4
5
6
7
8
21
22
23
24
25
26
27
28
10
11
12
13
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
VCC
C43
33p
C42
10u VPC
C38
104
P3
TO PC
5
9
4
8
3
7
2
15
16
17
18
19
4
5
20
101
2
3
6
7
8
9
11
P1.0/AIN0
P1.1/AIN1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
X2
X1
VCC
GNDRST/VPP
P3.0/RXD
P3.1/TXD
nối tiếp được gửi và nhận từ cổng COM 9 chân và chuyển đổi từ mức logic TTL sang mức tín hiệu RS232 hoặc
chuyển đổi từ mức tín hiệu RS232 sang mức logic TTL bằng vi mạch MAX232. Một sợi cáp port nối tiếp được
dùng để nối cổng COM của khối lập trình vi điều khiển với cổng COM của máy tính (cổng RS232).
Nguồn cung cấp 16 VDC được cung cấp cho khối lập trình thông qua đầu nối J90A và công tắc SW18
(POWER SW). Các diode D36, D37, D40, D42 làm nhiệm vụ chỉnh lưu điện áp và chống hiện tượng sai cực tính
nguồn khi ta dùng nguồn DC cung cấp cho khối (Lưu ý: ta có thể sử dụng nguồn DC 16V hoặc AC 12V để cung
cấp cho khối). Điện áp này là điện áp chưa được ổn áp và được gọi là VDD. VDD được dùng để tạo ra ba mức điện
áp khác nhau là VCC, VPP và VPC. Điện áp VCC có mức điện áp là 5V được tạo ra từ vi mạch ổn áp LM7805 để
cung cấp cho bộ vi điều khiển trung tâm U34 hoạt động. Điện áp VPP có mức điện áp là 0V, 5V hoặc 12V theo sự
điều khiển của bộ vi điều khiển trung tâm. Điện áp VPC có mức điện áp là 0V, 5V hoặc 6.5V theo sự điều khiển
của bộ vi điều khiển trung tâm. Các loại điện áp khác nhau này được yêu cầu trong suốt quá trình lập trình cho các
chip vi điều khiển.
Trung tâm của khối lập trình này là bộ vi điều khiển trung tâm U34 và phần mềm điều khiển của nó. Phần mềm
này có khả năng nhận dạng chip vi điều khiển được đưa vào mạch thông qua một trong hai socket ZIF là SLAVE
40 PIN và SLAVE 20 PIN. Các thông tin này được sang phần mềm MCU Program Loader trên máy tính để xác lập
các thông số hoạt động điều khiển. Khi một tập tin chương trình được gửi đi từ máy tính, các thông tin này sẽ được
bộ vi điều khiển trung tâm tải đến chip vi điều khiển cần lập trình bằng các tín hiệu địa chỉ, dữ liệu và điều khiển
tương thích. Sau khi việc lập trình đã hoàn tất thì các dữ liệu đã được ghi vào này sẽ được gửi ngược trở lại máy
tính để kiểm tra lỗi trong quá trình nạp chip, từ đó đưa ra thông báo quá trình lập trình thành công hay có lỗi.
Bạn cần phải chú ý đến một điểm rất quan trọng là luôn luôn phải tắt nguồn cung cấp cho khối lập trình vi
điều khiển trước khi tiến hành tháo/gắn chip vi điều khiển vào socket nhằm tránh gây hỏng chip vi điều khiển
này.
• Ứng dụng:
Khối lập trình vi điều khiển này kết hợp với phần mềm MCU Program Loader trên máy tính có khả năng lập
trình cho các loại chip sau:
P1.6
DATA BUS
J39
PORT 2
1
2
3
4
5
6
7
8
C20
104
12 MHz
P2.7
CLK12
T0
C19
10u
P0.7
P1.0
P3.5
VCC
VCC
D5
LOW ADDRESS BUS
9. KHOÁI VI ÑIEÀU KHIEÅN
D4
C23
3
Y1
12MH z
P3.0
T1
A1
P1.2
P1.0
D4
C22
10u
A1
6000H - 7FFFH
A3P3.3
P3.2
A13
P1.3
P1.4
VCC
D1
A2
RST
A10
A7
C17
104
VCC
WR
P1.2
P1.7
19
18
9
39
38
37
36
35
34
33
32
1
2
3
4
5
6
7
8
21
22
23
24
25
26
27
28
10
11
12
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/IN T0
P3.3/IN T1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
188 KHz
VCC
A12
D6
J37
PORT 0
1
2
3
4
5
6
7
8
R135
1K2
A11
P2.3
1.5 MHz
INT1
D23
1N4148
R100
8K2
D46
LED
A9
P3.6
P3.2
P1.4
VCC
INT
P2.6
D7
P1.5
VCC
T1
INT0
A13
A6
U25 SOCKET 20PIN
12
13
14
15
16
P3.4/T0
P3.5/T1
P3.7
VCC
D0
TXD
P1.2
C14
104
HIGH ADDRESS BUS
P2.1
P3.7
RD
P1.5
VCC
D6
D5
P2.5
INT1
J41
A0-A7 BUS
1
2
3
4
5
6
7
8
D3
11
1
19
18
17
16
15
14
13
12
10
20
D0
D1
D2
D3
D4
D5
D6
D7
LE
OE
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
3
4
5
6
7
8
P1.1
J901A
DC 5V
1
2
P1.4
6 MHz
P3.1
3 MHz
D1
BT1
3V6
J35
SELECT CHIP
1
2
3
4
5
6
7
8
A2
P1.3
U22 6264
10
9
8
7
6
5
4
3
25
24
21
23
2
11
12
13
15
16
17
18
19
28
14
22
27
20
26
A0
A1
P3.1
94 KHz
VCC
R102
8K2
C21
33p
P0.3
U23 74138
1
2
3
15
14
13
12
11
10
9
7
16
8
6
4
5
A
B
C
Y0
Y1
5
4
3
25
24
21
23
2
11
12
13
15
16
17
18
19
28
14
22
27
1
20
A0
A1
A2
A3
A4
A5
A6
A7
5
6
7
8
9
C000H - DFFFH
A12
J34
CS6264
1
2
P3.6• Sơ đồ bố trí linh kiện: Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển.
Giáo trình thực hành vi xử lý. 12 Biên soạn: Phạm Quang Trí
• Giới thiệu chung:
Khối vi điều khiển được thiết kế để cho phép người sử dụng thuận tiện trong việc tiến hành thí nghiệm đối với
các loại vi điều khiển họ 89 của hãng Atmel ở mọi chế độ làm việc khả thi, gồm các loại vi điều khiển 40 chân và
các vi điều khiển 20 chân.
o Thí nghiệm vi điều khiển 20 chân: vi điều khiển cần thí nghiệm sẽ được gắn vào socket U25
(SOCKET 20PIN), tần số hoạt động của chip do Y2 quyết định, các port xuất nhập của chip J43
(PORT 1): Port 1 (trong đó P3.0 và P3.1 là ngõ vào của bộ ADC trong chip); J44 (PORT 3): Port 3
(trong đó P3.6 không sử dụng). Để reset chip bạn sử dụng nút nhấn SW17 (RESET).
o Thí nghiệm cấu hình vi điều khiển sử dụng bộ nhớ bên trong hay bộ nhớ bên ngoài (Dung lượng
ROM/RAM ngoài có sẵn: 8KB/8KB, RAM có nguồn Back-up).
o Phát các tín hiệu giải mã địa chỉ (CS): 0000H - 1FFFH, 2000H - 3FFFH, 4000H - 5FFFH, 6000H -
7FFFH, 8000H - 9FFFH, A000H - BFFFH, C000H - DFFFH, E000H – FFFFH.
o Phát các xung clock có tần số: 12MHz, 6MHz, 3MHz, 1.5MHz, 750KHz, 375KHz, 188KHz,
94KHz.
1.2.3 Khối LED điểm:
• Sơ đồ nguyên lý:
D5
LED
D13
LED
R75 330
LED4
+5V
R64 330
1. KHOÁI DAÕY LED
R51 330
D15
LED
D16
LED
VCC
LED5
GND
D12
LED
D2
LED
LED6
LED1
D9
LED
J9
BARLED
1
2
3
4
5
6
7
8
R56 330
LED3
R76 330
R55 330
R50 330
LED7
D6
LED
J103
POWER
1
2
3
R63 330
thể hoạt động tốt nhất.
Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thông qua đầu nối J103 (POWER).
• Ứng dụng:
o Thí nghiệm phương pháp kết nối LED điểm với vi điều khiển.
o Thí nghiệm phương pháp điều khiển từng LED.
o Thí nghiệm phương pháp điều khiển dãy LED.
o Thí nghiệm các kiểu điều khiển LED sáng tắt.
o Thí nghiệm nguyên lý điều khiển đèn giao thông.
1.2.4 Khối LED 7 đoạn:
• Sơ đồ nguyên lý:
J2
SEL IN1
1
2
3
4 Q1
A1015
SEL0
G
G
J110
POWER
1
2
D
A
R22330
D
A
C
Q6
DP
D
Q2
R4
2K2
SEL3
R1
2K2
+5V
R13 330
R28330
U3
LED7
8
3
7
6
4
2
9
1
10
5
7SEG7 IN
1
2
3
4
5
6
7
8
J1
SEL LED IN
1
2
3
4
5
6
7
8
U5
LED7
8
3
7
6
4
2
9
1
10
D
Q5
E
D
E
Q3
D
SEL5
G
VCC
R44330
E
D
SEL6
F
Q4
G
VCC
R11 330
U7
LED7
8
3
7
6
4
2
9
1
10
B
E
R37330
SEL1
A
R6
2K2
B
R31330
Q1
Q6
A1015
DP
F
VCC
R34330
VCC
Q6
B
GND
Q6
Q3
C
E
Q0
U8
LED7
8
3
7
R35330
R3
2K2
SEL4
DP
Q1
F
R10 330
E
C
C
C
R40330
SEL7
C
Q7
J8
7SEG4 IN
1
2
3
4
5
6
7
8
R15 330
J7
7SEG5 IN
1
R9 330
E
U2
LED7
8
3
7
6
4
2
9
1
10
5
CA
CA
A
B
C
D
F
E
G
DP
Q4
SEL1
B
A
E
C
R7
2K2
J3
SEL IN1
1
2
3
4
R26330
J6
7SEG6 IN
1
2
3
4
5
6
7
8
SEL2
VCC
F
E
A
U4
LED7
8
3
7
6
• Giới thiệu chung:
Khối LED 7 đoạn bao gồm 8 LED 7 đoạn loại Anode chung kết hợp lại với nhau theo hai cách thiết kế khác
nhau. Các LED này đều được cấp nguồn thông qua các transistor Q1 - Q8 đóng vai trò như các công tắc và được
điều khiển thông qua các tín hiệu điều khiển tích cực mức thấp tại đầu nối J1 (SEL LED IN), J2 (SEL IN1) và J3
(SEL IN2).
8 LED này được chia ra làm hai nhóm với hai phương pháp thiết kế khác nhau cho mỗi nhóm:
o Phương pháp không đa hợp (phương pháp điều khiển LED trực tiếp): được thiết kế trên cơ sở 4
LED (U1, U2, U3, U4). Phương pháp này là phương pháp mà các đoạn của mỗi LED sẽ được nối
vào mỗi Port điều khiển độc lập với nhau và Anode của tất cả các LED sẽ được cấp nguồn đồng
thời với nhau (thông thường thì sẽ được nối thẳng lên VCC). J5, J6, J7, J8 (7SEG IN): ngõ vào tín
hiệu 7 đoạn (A-G và DP) của từng LED sẽ được nối đến từng Port điều khiển độc lập với nhau; J3
(SEL IN2): ngõ vào tín hiệu điều khiển cấp nguồn cho các LED, ở chế độ này thì sẽ được nối trực
tiếp xuống GND để cấp nguồn liên tục và đồng thời cho tất cả các LED. Phương pháp điều khiển
trong trường hợp này là cấp mã 7 đoạn tương ứng của số cần hiển thị ra LED 7 đoạn mong muốn.
Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển.
Giáo trình thực hành vi xử lý. 16 Biên soạn: Phạm Quang Trí
o Phương pháp đa hợp (phương pháp điều khiển quét LED): được thiết kế trên cơ sở 4 LED (U5,
U6, U7, U8). Phương pháp này là phương pháp mà tất cả các đoạn của các LED sẽ được nối chung
vào nhau và vào một Port điều khiển còn Anode của tất cả các LED sẽ được nối vào một Port điều
khiển khác và được cấp tín hiệu quét LED một cách tuần tự (tại một thời điểm thì chỉ có một LED
được cấp nguồn hoạt động). J4 (7SEG IN MUL): ngõ vào tín hiệu 7 đoạn (A-G và DP) đa hợp của
tất cả các LED sẽ được nối đến một Port điều khiển; J2 (SEL IN1): ngõ vào tín hiệu điều khiển cấp
nguồn cho các LED, ở chế độ này thì sẽ được nối đến một Port điều khiển khác cung cấp tín hiệu
quét LED để cấp nguồn tuần tự cho các LED. Phương pháp điều khiển trong trường hợp này là
Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển.
Giáo trình thực hành vi xử lý. 17 Biên soạn: Phạm Quang Trí
Bảng mã điều khiển quét LED:
Mã HEX Tín hiệu quét điều khiển các Transistor
FE 1 1 1 1 1 1 1 0 Transistor 1 ON
FD 1 1 1 1 1 1 0 1 Transistor 2 ON
FB 1 1 1 1 1 0 1 1 Transistor 3 ON
F7 1 1 1 1 0 1 1 1 Transistor 4 ON
EF 1 1 1 0 1 1 1 1 Transistor 5 ON
DF 1 1 0 1 1 1 1 1 Transistor 6 ON
BF 1 0 1 1 1 1 1 1 Transistor 7 ON
7F 0 1 1 1 1 1 1 1 Transistor 8 ON
Ngoài ra còn các mã 7 đoạn cho các LED khác, các bạn có thể tự mình thiết lập thêm để nâng cao số lượng ký
tự có thể hiển thị trên LED 7 đoạn cho thí nghiệm của mình.
Lưu ý để khối này hoạt động ta cần phải cấp nguồn cho khối thông qua đầu nối J110 (POWER).
• Ứng dụng:
o Thí nghiệm phương pháp kết nối LED 7 đoạn với vi điều khiển.
o Thí nghiệm phương pháp điều khiển từng LED 7 đoạn.
o Thí nghiệm phương pháp điều khiển dãy LED 7 đoạn.
o Thí nghiệm các kiểu điều khiển LED sáng tắt và hiển thị thông tin.
o Thí nghiệm các phương pháp điều khiển LED 7 đoạn ở các chế độ khác nhau: đa hợp, không đa
hợp, ngõ vào BCD hay 7 đoạn, …
o Thí nghiệm nguyên lý điều khiển đèn giao thông.
R59 10
Q14
A1015
R61 10
R68 10
+5V
Q10
A1015
J12
COL GREEN MATRIX
1
2
3
4
5
6
7
8
R66 10
GND
R54 10
U9 MATRIXLED
22
19
16
13
3
6
9
12
C0GC0R
C1R
C2R
C3R
C4R
C5R
C6R
C7R
C3
R86 330
R70 10
VCC
R5
R2
R87 330
R1
Q12
A1015
R84 330
C2
R83 330
3. KHOÁI LED MA TRAÄN
R3
GND
C3
R7
J13
ROW MATRIX
1
2
J116
POWER
1
2
3
R0
C0
C1
R60 10• Sơ đồ bố trí linh kiện:
Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển.
Giáo trình thực hành vi xử lý. 19 Biên soạn: Phạm Quang Trí
• Giới thiệu chung:
Loại ma trận LED sử dụng trên mô hình thí nghiệm này là loại ma trận LED 24 chân gồm 8 hàng và 8 cột. Ma
trận LED này có hai màu chính là xanh và đỏ, ngoài ra còn có một màu phụ là do sự tổng hợp của hai màu trên mà
ra.
Mỗi điểm LED trên ma trận có cấu tạo gồm hai LED màu xanh và màu đỏ ghép lại với nhau theo nguyên tắc
Anode ghép chung và Cathode để riêng. Ma trận LED 8 hàng x 8 cột này gồm 24 chân được chia ra làm ba nhóm
chân: 8 chân HÀNG R0-R7 (là các Anode chung của các LED trên cùng một hàng), 8 chân CỘT ĐỎ C0R-C7R (là
các Cathode chung của các LED màu đỏ trên cùng một cột), 8 chân CỘT XANH C0G-C7G (là các Cathode chung
của các LED màu xanh trên cùng một cột). Sự kết hợp các mức logic cao/thấp thích hợp trên các hàng và cột theo
một qui luật nhất định (hiển thị theo phương pháp quét hay còn gọi là phương pháp chỉ thị động) mà ta sẽ có được
D1
J128
CTRL LCD
1
2
3
R149
10K
ENA
25. KHOÁI LCD
BL
Q25
C1815
D4
D0
RS D2
R/W
LCD
16 Characters x 2 Lines
U57 TC1602A
1
2
3
4
5
6
7
8
9
10
GND
J127
DATA LCD
1
2
3
4
5
6
7
8
R148
2K7
D6
VCC
+5V
D7
J121
BACKLIGHT
1
2
D5
VCC
GND• Sơ đồ bố trí linh kiện:
SW0
SW2
SW3
SW5
SW6
VCC
SW1
VCC
J106
POWER
1
2
3
GND
SW4
SW7
+5V
R147 10K
1
2
3
4
5
6
7
8
9
GND
J122
SWITCH
o Thí nghiệm phương pháp kết nối công tắc với vi điều khiển.
o Thí nghiệm ứng dụng điều khiển thiết bị bằng công tắc.
o Tạo các mức logic thấp (0V) hoặc logic cao (5V) cho các khối khác trên mô hình thí nghiệm.
1.2.8 Khối nút nhấn:
• Sơ đồ nguyên lý:
SW19
KEY0
GND
SW26
KEY7
K0
VCC
KEY4
K7
+5V
R128
4K7
GND
K4
SW21
KEY2
R132
4K7
VCC
K2
16. KHOÁI NUÙT NHAÁN
VCC
SW22
KEY3
SW24
KEY5
VCC
K1
K2
K7
R125
4K7
SW23
KEY4
SW25
KEY6
KEY2
K3
KEY6
R127
4K7
KEY5
SW20
KEY1
VCC
R126
4K7
K6
VCC
K3
K5
1.2.9 Khối bàn phím:
• Sơ đồ nguyên lý:
R3
R1
SW3 3
C3
R1
SW10 8
R1
SW6 5
R0
R0
R2
SW14 0
C0
SW13
ESC
R2
C2
5. KHOÁI PHÍM MA TRAÄN
C2
C1
SW7 6
SW11 9
SW15
ENTER
R2
C3
C0
SW2 2
J15
KEYBOARD
1
2
3
4
5
6
7
8
C1
C2• Sơ đồ bố trí linh kiện: Chương 1: Cấu hình của mô hình thí nghiệm vi điều khiển.
Giáo trình thực hành vi xử lý. 24 Biên soạn: Phạm Quang Trí
• Giới thiệu chung:
Khối bàn phím trên mô hình thí nghiệm này được thiết kế dựa vào cấu trúc hàng và cột của ma trận. Bàn phím
gồm 16 phím được sắp xếp theo ma trận 4 x 4 (tức 4 hàng x 4 cột). Các hàng và cột của ma trận phím này được kết
nối với vi điều khiển thông qua đầu nối J15 (KEYBOARD), R0-R3: các hàng của ma trận phím, C0-C3: các cột
của ma trận phím.
Để điều khiển bàn phím ma trận này ta sử dụng phương pháp quét phím. Để điều khiển quét phím thì bạn xuất
1
2
COM21
R91
330
NO12
VCC
NC22
NO22NO12
GND
R89
330
NO11
COM21
VCCVCC
COM12
R90
2K2
6. KHOÁI RELAY
COM12
NC11
GND
Q18
C1815
+5V
J27
RELAY 1 OUT
1
2
3
5
6
8
7
1
2
NO21
NC12
COM22
VCC
GND
NC11
NC22
J111
POWER
1
2
3
COM11
COM22
REL1
GND
COM21
Q17
C1815
COM22
NO11
D17
LED
NO22
o Thí nghiệm phương pháp kết nối relay với vi điều khiển.
o Thí nghiệm ứng dụng điều khiển relay.
1.2.11 Khối tạo xung:
• Sơ đồ nguyên lý:
U18 LM555
3
4
8
1
52
6
7
OUT
RST
VCC
GND
CVTRG
THR
DSCHG
VCC
PULSE
+5V
PULSE
GND
C10
10u
VCC
VCC