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
Trang 1Hướng dẫn sử dụng kit thực hành lập trình vi điều khiển AT89S52
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
Trang 2Hình 1 Các khối chức năng
Trang 3Hướng dẫn sử dụng kit thực hành lập trình vi điều khiển AT89S52
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)
Trang 4Hình 2 Vị trí và chức năng các Jump
Trang 5Hướng dẫn sử dụng kit thực hành lập trình vi điều khiển AT89S52
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)
Trang 6 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
Trang 7Hướng dẫn sử dụng kit thực hành lập trình vi điều khiển AT89S52 PWR_LED
BH4 BV2 BV4
C470_2
3
KE 3 Y_INT INT1 13 28 BH1
1
XTAL1
20
T0
3 4
10uF
A
Designator
A
USB
VCC JP_ExternaVl CC
1
2
VCC
VCC
5 ADC_INT
18 AD0
29 VCC Q2 VCC2
LCD
VCC
J_SPI
INT1
C10 5
6
VCC
Size
A
11
10
RF_E
1
2
3
4
5
MAX232 C9 VCC
DB9
1
C11
10uF
C2+
C2- T1IN T1OUT T2IN T2OUT R1OUT R1IN R2OUT R2IN
4
14
11
6
TxD
3
9
5
DB C12
RF_E
C
10
_E
RF
D0 a
D1 b
D2 c
D3 d
D4 e
D5 f
D6 g
D7 dot
Q1 VCC1
Q3 VCC3
Q4 VCC4
_I
3
RD
CLK IN DB0 CLKOUT DB1
DB5
20
RD 2
5 ADC
WR 3
A
JMP_ADC
8
13 MOS
12 MIS
2
1
VCC D0 7
DBL0CD_VRA1 DB1
DB3 DB4 DB5 DB6 DB7
VCC
RW
15
D1 8
16
D2 9
D3 10
2
D4 11
D5 12
D6 13
D7 14
LCD 6 _E 1
T0 5
3
T1 4
Fuse
AD0 1
RESET P0.7 P3.0(RxD) EA/VPP P3.1(TxD) ALE/PROG P3.2(INT0) PSEN P3.3(INT1) P2.7
P2.1 GND
40
AD1 2 39 D0 AD2 3 38 D1 AD3 4 37 D2 AD4 5 36 D3
RESET 9 32 D7
2
KE 3
INT0 12
INT1 T0
ADC_I T N 1 T_JMP 15 26 BH3
C33_ 18 23 22 BV2BV3
2
1
1
2
3
10
9
8
7
6
5
4
3
2
1
6 SHELL SHELL GND D+
D- VCC
5
3
2
2
1
C4 70_1
3
C104_1
C470_3
Trang 8
DM74ALS 9
KeyOpB
13
PR5 PR1 100
RESET
BT08
BT12
RS
VCC
CK
DO
RS BE
LED12
VCC
DB25
ShortC
BT04
DI
PR2
100
LH1 LED01 LED02 LED03 LED04
PK R7 4
PK R7 8
PK R7 9 4K7
VCC
A
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
5
6
7
15
14
13
8
MISO
1
12
20
BH3
BH4
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
08N 9
10
6