Hướng dẫn sử dụng kit thực hành lập trình vi điều khiển AT89S52
Phạm Văn Thuận – Bộ môn KTMT, Khoa CNTT, ĐHBK HN
A-Các khối chức năng (xem chi tiết trên hình 1)
1. Khối cấp nguồn: cung cấp nguồn cho toàn mạch. Có 2 nguồn cung cấp có thể sử dụng, đó là nguồn qua Adapter (~9-
12V, 1A) hoặc lấy nguồn từ cổng USB của máy tính. Nguồn được chọn thông qua Jump nguồn.
2. Khối nạp chương trình qua cổng LPT: thực hiện nạp chương trình cho vi điều khiển thông qua chuẩn SPI.
3. Khối vi điều khiển (89S51, 89S52): dòng vi điều khiển thuộc họ 8051 của hãng ATMEL có hỗ trợ chuẩn SPI.
4. Ghép nối led 7 đoạn module 4
5. Ghép nối LCD
6. Ghép nối ma trận led (kích thước 4x4)
7. Ghép nối ma trận phím (kích thước 4x4): cho phép lập trình ở hai chế độ là quét và lập trình xử lý ngắt bàn phím
(ngắt INT0). Ngắt này dùng chung với ngắt của ADC0804 nên cần thiết lập Jump (J_INT_0) để một thời điểm chỉ có
một khối chức năng sử dụng ngắt này.
8. Ghép nối máy tính qua cổng COM theo giao thức RS232
9. Khối hồng ngoại: lập trình bộ thu phát hồng ngoại (tương tự ứng dụng cửa tự động hay các dây chuyền đếm sản
phẩm)
10. Khối ADC0804: thực hiện chuyển đổi tín hiệu tương tự thành tín hiệu số, có thể test onboard qua biến trở hay ghép
nối với tín hiệu từ sensor qua chân mở rộng (J_ADC).
11. Khe cắm mở rộng cho cổng P2. Cho phép người lập trình có thể mở rộng, ghép nối thêm với các đối tượng khác.
Hướng dẫn sử dụng kit thực hành lập trình vi điều khiển AT89S52
Phạm Văn Thuận – Bộ môn KTMT, Khoa CNTT, ĐHBK HN
Hình 1. Các khối chức năng
Hướng dẫn sử dụng kit thực hành lập trình vi điều khiển AT89S52
Phạm Văn Thuận – Bộ môn KTMT, Khoa CNTT, ĐHBK HN
Chú ý: vị trí và chức năng của các Jump trên mạch (xem chi tiết trên hình 2)
1. Chọn nguồn (nguồn từ adapter hay cổng USB của máy tính)
2. Thiết lập chế độ hoạt động của module led 7 đoạn (sử dụng hay không sử dụng)
3. Chọn chip ADC0804 (chân CS mặc định được nối xuống đất -> chip ADC0804 được chọn)
4. Mở rộng, lấy tín hiệu cho ADC0804 từ bên ngoài. Nó bao gồm một chân tín hiệu và một chân đất chung.
5. Ghép nối với tín hiệu bên ngoài để lập trình bộ đếm ngoài thông qua 2 chân T0 và T1 của vi điều khiển.
6. Chọn mức điện áp cho các chân Collecter của các transistors điều khiển ma trận led.
7. Chọn sử dụng lập trình đếm hồng ngoại.
8. Chọn khối chức năng nào sử dụng ngắt ngoài INT0 (ma trận phím hay ADC)
Hướng dẫn sử dụng kit thực hành lập trình vi điều khiển AT89S52
Phạm Văn Thuận – Bộ môn KTMT, Khoa CNTT, ĐHBK HN
Hình 2. Vị trí và chức năng các Jump
Hướng dẫn sử dụng kit thực hành lập trình vi điều khiển AT89S52
Phạm Văn Thuận – Bộ môn KTMT, Khoa CNTT, ĐHBK HN
B-Các ví dụ đi kèm
1. Lập trình ghép nối module led 7 đoạn
Mục đích: cho module led 7 đoạn hiển thị lần lượt từ 0 đến 9 và quay vòng trở lại.
Thực hiện:
Thiết lập Jump 2 sang mức dương.
Nạp code chương trình: Led_7Seg.hex
2. Lập trình ghép nối LCD
Mục đích: hiển thị một xâu ký tự (VD: AT89S52 KIT)
Thực hiện:
Rút jump 6 (nếu đang cắm)
Nạp code chương trình: LCD.hex
3. Lập trình ghép nối ma trận led
Mục đích: quét ma trận led, quét sáng từng hàng và quay vòng.
Thực hiện:
Thiết lập Jump 6 (nối 1-2)
Nạp code chương trình Led_Matrix.hex
4. Lập trình ghép nối ma trận phím (sử dụng ngắt bàn phím)
Mục đích: khi người dùng nhấn cột 1 thì sẽ bật sáng nhấp nháy ma trận led 2 lần.
Thực hiện:
Thiết lập Jump 8 (nối 2-3) để cho phép bàn phím sử dụng ngắt ngoài INT0
Nạp code chương trình Keypad.hex
5. Lập trình bộ đếm hồng ngoại: có thể lập trình ở chế độ hỏi vòng hay viết chương trình con xử lý ngắt (INT1)
Mục đích: khi có vật cản giữa 2 con led phát và led thu, ma trận led sẽ nhấp nháy 2 lần.
Thực hiện:
Cắm cả hai jump trong cụm jump số 7.
Cắm các led phát và led thu:
Led phát: bên phải (chân + ở dưới)
Hướng dẫn sử dụng kit thực hành lập trình vi điều khiển AT89S52
Phạm Văn Thuận – Bộ môn KTMT, Khoa CNTT, ĐHBK HN
Led thu: bên trái (chân + ở trên)
Nạp code Infrared.hex
6. Lập trình ghép nối cổng COM máy tính qua giao thức RS232
Mục đích: truyển một chuỗi ký tự từ vi điều khiển lên máy tính (VD: 89S52 Starter KIT)
Thực hiện:
Trên PC:
Chạy chương trình SimpleCom.exe.
Bấm nút connect để mở kết nối.
Trên 89S52 KIT:
Tắt nguồn.
Cắm cáp cổng COM nối với máy tính.
Bật nguồn.
Nạp code Serial.hex
7. Lập trình ghép nối với ADC0804:
Mục đích: đọc giá trị điện áp trên biến trở, hiển thị trên màn hình LCD
Thực hiện:
Nạp code ADC0804.hex
Xoay biến trở (gần khối hồng ngoại) để thấy sự khác biệt.
C-Các sơ đồ nguyên lý của mạch
Hướng dẫn sử dụng kit thực hành lập trình vi điều khiển AT89S52
Phạm Văn Thuận – Bộ môn KTMT, Khoa CNTT, ĐHBK HN
PWR_LED
1
1
BH2
BH4
BV2
BV4
T0
LCD_E
C470_2
3
ADC_IN
12
MISO
1
KE3Y_INT
INT1
13
28
BH1
1
XTAL1
20
XTAL
P2.0
2
JP_RF
T0
3
4
10uF
File:
E:\Hoc
tap
&
Giang
day\ \KIT89S52.Sch
4
11
3
4
1
2
3
2
1
ADC_I
NT
GND
2
1
2
3
4
A
Designator
JP1
KIT89S52_Part2.SchDoc
A
USB
VCC
JP_ExternaVl
CC
PW1
LED0
BH1
JP_Counter
BH3
POWER
T1
VCC
BV1
C104_C2104_3
JP_LCD
BV3
1
2
VCC
SW_PWR
VCC
VCC
5
ADC_INT
18
AD0
13
MOSI
VCC
29
VCC
Q2
VCC2
T0
14
27
BH2
LCD
VCC
Zener5
19
LCD_VR2
VCC
Diode
11DQ03
VCC
J_SPI
INT1
C10
5
6
VCC
B
B
C
C
D
D
MAX232
DB9_ASyn
Title
Size
A
Number
Revision
Date:
12/11/2007
Sheet
of
File:
E:\Hoc
tap
&
Giang
day\ \KIT89S52.Sch
DDocrawn
By:
1
2
3
4
11
11
10
8
1
2
RF_E
1
2
3
4
5
MAX232
C9
VCC
DB9
1
C11
10uF
1
C1+
VDD
C1-
VCC
C2+
C2-
T1IN
T1OUT
T2IN
T2OUT
R1OUT
R1IN
R2OUT
R2IN
GND
VEE
3
16
4
14
11
6
10uF
2
10
7
7
TxD
12
13
3
RxD
8
9
8
4
15
6
9
5
DB
C12
RF_E
+
C
9
C
10
_E
-
E
RF
D0
a
D1
b
D2
c
D3
d
D4
e
D5
f
D6
g
D7
dot
Q1
VCC1
Q3
VCC3
Q4
VCC4
1
ADC0804
VCC
_
I
3
2
1
CS
VCC
RD
WR
INTR
CLK
IN
DB0
CLKOUT
DB1
REF/2
DB2
IN+
DB3
IN
-
DB4
DB5
AGND
DB6
DGND
DB7
20
RD
2
5
ADC
WR
3
A
JMP_ADC
4
18
A
19
17
AD1
9
16
AD2
6
15
AD3
7
14
AD4
8
13
MOS
12
MIS
2
1
10
11
SCK
VCC
D0
7
DB
L
0
CD_VR
A
1
DB1
DB2
K
DB3
DB4
DB5
DB6
DB7
VCC
E
GND
RW
RS
VO
15
D1
8
16
D2
9
D3
10
2
D4
11
D5
12
D6
13
D7
14
LCD6_E
1
T0
5
3
T1
4
Fuse
AD0
1
P1.0
VCC
P1.1
P0.0
P1.2
P0.1
P1.3
P0.2
P1.4
P0.3
P1.5
P0.4
P1.6
P0.5
P1.7
P0.6
RESET
P0.7
P3.0(RxD)
EA/VPP
P3.1(TxD)
ALE/PROG
P3.2(INT0)
PSEN
P3.3(INT1)
P2.7
P3.4
P2.6
P3.5
P2.5
P3.6
P2.4
P3.7
P2.3
XTAL2
P2.2
P2.1
GND
40
AD1
2
39
D0
AD2
3
38
D1
AD3
4
37
D2
AD4
5
36
D3
MOSI
6
35
D4
MISO
7
34
D5
SCK
8
33
D6
RESET
9
32
D7
RxD
10
31
2
TxD
11
30
KE3
INT0
12
INT1
T0
ADC_I
TN1T_JMP
15
26
BH3
WR
16
25
BH4
RD
17
24
BV1
C33_
18
23
BV2
22
BV3
XT
21
BV4
C33_2
UC1
VCC
2
1
1
2
3
10
9
8
7
6
5
4
3
2
1
6
SHELL
SHELL
GND
D+
D-
VCC
5
Bridge
4
3
2
IN
OUT
3
2
1
C
4
70_1
3
C104_1
C470_3
Hướng dẫn sử dụng kit thực hành lập trình vi điều khiển AT89S52
Phạm Văn Thuận – Bộ môn KTMT, Khoa CNTT, ĐHBK HN
LTR5
LTR6
LTR7
LTR8
3
KeyOpC
DM74ALS
9
KeyOpB
LTR1
LTR2
LTR3
LTR4
DM74ALS08N
9013
9013
9013
9013
BV3
4
1K
1K
1K
1K
SegR1
SegR2
SegR3
SegR4
9013
9013
9013
9013
13
PR5
PR1
100
CK
SCK
RESET
BT08
BT12
RS
VCC
CK
DO
RS
BE
LED08
T
LED12
3
1
3
1
3
1
3
1
2
2
D3
BH4
3
1
3
1
BV4
D7
D2
BH3
BV3
D6
3
1
3
1
BV2
D5
D1
BH2
D4
3
1
3
1
BV1
D0
BH1
BV1
BV2
BV3
BV4
1
2
3
4
A
BV1
1
KeyOpA
Led_Matrix_E
1K
VCC
8
KEY_INT
LT1
LT2
LT3
LT4
1K
1K
1K
1K
LH1
LH2
LH3
LH4
DM74ALS08N
SegR5
SegR6
SegR7
SegR8
VCC
SegT1
SegT2
SegT3
SegT4
1K
1K
1K
1K
Q1
Q2
Q3
Q4
DB25
BH1
VCC
ShortC
BT04
DI
RS
DO
1K
MOSI
PR2
BT16
100
PR3
PR4
VCC
100
LH1
LED01
LED02
LED03
LED04
C10uF
PR6
ShortC
4
P
K
R7
4
P
K
R
7
8
RESET
4
P
K
R
7
9
4K7
VCC
A
B
B
C
C
D
D
LED16
Title
Size
A
Number
Revision
Date:
12/11/2007
Sheet
of
File:
E:\Hoc
tap
&
Giang
day\ \KIT89S52_Par
t2D.SracwhDnoBcy:
1
2
3
4
LH2
LED05
LED06
LED07
LH3
LED09
LED10
LED11
LH4
LED13
LED14
LED15
26
27
BT_RESE
100
BE
74HC541
DI
2
A1
Y1
A2
Y2
A3
Y3
A4
Y4
A5
Y5
A6
Y6
A7
Y7
A8
Y8
G1
VCC
G2
GND
18
3
17
4
16
5
6
7
15
14
13
8
MISO
1
12
9
11
20
19
10
BH2
BT01
BT02
BT03
BT05
BT06
BT07
BH3
BT09
BT10
BT11
BH4
BT13
BT14
BT15
25
12
24
11
23
10
22
9
21
DO
8
20
7
19
CK
6
18
GND
5
BE
17
4
16
3
15
2
14
1
2
2
2
2
2
2
2
2
BV4
5
0
8N
9
KeyO
10
6
BV2
2
1K
1K
1K