You are on page 1of 8

Bài tập Vi xử lý Nhóm 2

BÀI TẬP LỚN KĨ THUẬT VI XỬ LÝ.


I.Cấu trúc chung về VĐK AT89C52.
VĐK 89C52 mà chúng ta sử dụng có những đặc điểm sau:
• 4KB ROM bên trong
• 256 Byte ngoài
• 4 Port xuất nhập dữ liệu I/O
• Giao tiếp nối tiếp
• 64 KB vùng nhớ mã ngoài
• 64 KB vùng nhớ dữ liệu ngoài
• Xử lý Boolean
II.Khảo sát sơ đồ chân. U2

39 21
Trên sơ đồ chân trên có các nhóm chân sau: 38 P0.0/AD0
P0.1/AD1
P2.0/A8
P2.1/A9
22
37 23
P0.2/AD2 P2.2/A10
1. Nhóm chân nguồn nuôi. 36
35 P0.3/AD3 P2.3/A11
24
25
34 P0.4/AD4 P2.4/A12 26
+ nguồn nuôi 5V (chân số 40) . 33 P0.5/AD5
P0.6/AD6
P2.5/A13
P2.6/A14
27
32 28
P0.7/AD7 P2.7/A15
+ nối đất (chân số 20). 1 10
2 P1.0 P3.0/RXD 11
2. Nhóm chân điều khiển. 3 P1.1
P1.2
P3.1/TXD
P3.2/INTO
12
4 13
P1.3 P3.3/INT1
Nhóm này còn phân biệt các tín hiệu vào, ra. 5
6 P1.4 P3.4/TO
14
15
7 P1.5 P3.5/T1 16
a. Nhóm tín hiệu vào điều khiển. 8 P1.6 P3.6/WR 17
P1.7 P3.7/RD
+ Xtal1 (chân số 18), Xtal2 (chân số 19): nối 19
18 XTAL1 PSEN
29
XTAL2
tinh thể thạch anh cho mày phát xung nhịp 9
RST ALE/PROG
30

31
chu trình. EA/VPP

+ RST(Reset): (chân số 9): nối chuyển mạch AT89C51

để xóa về trạng thái ban đầu hay khởi động lại.
+ /EA/CPP: (chân số 31) chọn nhớ ngoài (nối đất) hay chọn nhớ trong (nối
nguồn nuôi 5V).
+ T2 hay P1.0: (chân số 1) tín hiệu vào đếm cho Timer2/ Counter2 của 8952
+ T2EX: (chân số 2) tín hiệu vào ngắt ngoài 2 cho 8950.
+ /INT0 hay P3.2: (chân số 12) tín hiệu vào gây ngắt ngoài 0 cho 8051.
+ /INT1 hay P3.3: (chân số 13) tín hiệu vào gây ngắt ngoài 1 cho 8051.
+ T0 hay P3.4: (chân số 14) tín hiệu vào đếm cho Timer0/ Counter0.
+ T1 hay P3.5: (chân số 15) tín hiệu vào đếm cho Timer1/ Counter1.
b. Nhóm tín hiệu ra điều khiển.
+ ALE//PROG: (chân số 30) dùng để đưa tín hiệu chốt dịa chỉ (ALE) khi
có nhớ ngoài hay điều khiển ghi chương trình /PROG.

Điều khiển hoc- K45 1


Bài tập Vi xử lý Nhóm 2

+ /PSEN: (chân số 29) dùng để đưa tín hiệu điều khiển đọc bộ nhớ chương
trình ROM ngoài.
+ /WR hay P3.6: (chân số 16) để đưa tín hiệu ghi dữ liệu vào bộ nhớ ngoài
+ /RD hay P3.7: (chân số 17) để đưa tín hiệu đọc dữ liệu từ bộ nhớ ngoài.
c. Nhóm các tín hiệu địa chỉ, dữ liệu.
+ cổng vào, ra địa chỉ/ dữ liệu P0 hay P0.0-P0.7: (chân số 39-32) dùng để
trao đổi tin về dữ liệu D0-D7, hoặc đưa ra các địa chỉ thấp (A0-A7) theo
chế độ dồn kênh (kết hợp với tín hiệu chốt địa chỉ ALE).
+ cổng vào ra địa chỉ/ dữ liệu P2 hay P2.0-P2.7: (chân số 21-28) dùng để
trao đổi tin song song về dữ liệu (D0-D7) hoặc đưa ra địa chỉ cao (A8-
A15).
+ cổng vào ra dữ liệu P1 hay P1.0-P1.7: (chân số 1-8) dùng để trao đổi tin
song song dữ liệu (D0-D7).
+ cổng vào, ra P3 hay P3.0-P3.7: (chân số 10-17).
- P3.0: (chân số 10) đưa vào tín hiệu nhận tin nối tiếp RXD
- P3.1: (chân số 11) đưa ra tín hiệu truyền tin nối tiếp TXD
- /INT0 hay P3.2: (chân số 12) tín hiệu vào gây ngắt 0 của VĐK
- /INT1 hay P3.3: (chân số 13) tín hiệu vào gây ngắt 1 của VĐK
- T0 hay P3.4: (chân số 14) tín hiệu vào đếm cho Timer0/ Counter0
cho VĐK 8051/8052.
- T1 hay P3.5: (chân số 15) tín hiệu vào đếm cho Timer1/ Counter1
cho VĐK 8051/8052.
- /WR hay P3.6: (chân số 16) để đưa tín hiệu ghi dữ liệu vào bộ
nhớ ngoài.
- /RD hay P3.7: (chân số 17) để đưa tín hiệu đọc dữ liệu từ bộ nhớ
ngoài.
- T2 hay P1.0: (chân số 1)tín hiệu vào đếm cho Timer2/ Counter2
cho VĐK 8052.
- T2EX: (chân số 2) tín hiệu vào gây ngắt 2 của VĐK 8052.
Ngoài các tín hiệu chuyên dùng trên, cổng vào/ ra P3 này còn dùng để trao
đổi tin về dữ liệu D7-D0.

Điều khiển hoc- K45 2


Bài tập Vi xử lý Nhóm 2

III. Thiết kế Bài tập lớn.


1. Nhiệm vụ.
Thiết kế cụn đèn giao thông sáng theo chu trình.
- Đèn đỏ sáng 29s, đèn vàng sáng 5s, đèn xanh sáng 24s.
- Trong khoảng thời gian các đèn sáng, 2 LED 7 thanh làm nhiệm
vụ đếm ngược thời gian đặt trước về 00 rồi tác động đèn màu
tương ứng.
- Chu trình được lặp lại vô tận.
2. Thiết kế.
Các mạch thiết kế: Mạch chủ điều khiển đèn màu (xanh, vàng, đỏ).

Điều khiển hoc- K45 3


Bài tập Vi xử lý Nhóm 2

Mạch bố trí LED 7 thanh:

Mạch nguồn nuôi cho hệ thống:

Điều khiển hoc- K45 4


Bài tập Vi xử lý Nhóm 2

Sơ đồ mạch in: mặt Buttom

3. Kết quả.
Một số hình ảnh thu được khi mạch hoàn thành:
+ Mạch khi chưa chạy thử.
+ Mạch đang chạy thử khi đèn đỏ và đèn vàng đang
sáng.
+ Mạch đang chạy thử khi đèn đỏ và đèn xanh đang
sáng.

Điều khiển hoc- K45 5


Bài tập Vi xử lý Nhóm 2

Code chương trình được viết trên Reads 51.


#include "sfr51.inc"
ORG 00H
LJMP MAIN
tg_xanh equ 24
tg_vang equ 4
tg_do equ 29
ORG 30H
MAIN:
mov SP,#5fh
mov P1,#00h
mov P2,#00h
mov P3,#00h
mov P0,#00h
lap:
mov 16h,#tg_xanh
mov 17h,#tg_do
mov P2,#09h ; xanh 1 do 2
lcall dkden2
dec 17h

mov 16h,#tg_vang
mov P2,#11h ; vang 1 do 2
lcall dkden1

mov 16h,#tg_do
mov 17h,#tg_xanh
mov P2,#24h ; do 1 xanh 2
lcall dkden1
dec 16h

mov 17h,#tg_vang
mov P2,#22h ; do 1 vang 2
lcall dkden2
sjmp lap

; cac chuong trinh con ho tro.


; chuong trinh con giai ma hex sang ma bcd & su dung 7447 de giai ma cho LED 7 thanh
hextobcd:
mov A,16h ; giai ma so thu nhat
mov B,#10
div AB
mov 36h,A
mov 37h,B

mov A,17h ; giai ma so thu hai


mov B,#10
div AB
mov 26h,A
mov 27h,B
ret

Điều khiển hoc- K45 6


Bài tập Vi xử lý Nhóm 2

; chuong trinh con hien thi LED 7 thanh


hienthi: ; mat 20 micro s
mov P1,27h ; hang don vi cho LED 1
setb P1.4
lcall tre10us
clr P1.4

mov P1,26h ; hang chuc cho LED 1


setb P1.5
lcall tre10us
clr P1.5

mov P1,37h ; hang don vi cho LED 2


setb P1.6
lcall tre10us
clr P1.6

mov P1,36h ; hang chuc cho LED 2


setb P1.7
lcall tre10us
clr P1.7
ret

; chuong trinh delay 1s


delay:
mov R1,#100
delay1: mov R2,#50
delay2: mov R3,#100
lcall hienthi
delay3: djnz R3,delay3
djnz R2,delay2
djnz R1,delay1
ret

; chuong trinh delay 1ms


tre10us:
mov R4, #10
tre: djnz R4, tre
ret

; chuong trinh dieu khien den


dkden1:
lap1:
lcall hextobcd
lcall delay
dec 16h
djnz 17h, lap1
lcall hextobcd
lcall delay
ret

Điều khiển hoc- K45 7


Bài tập Vi xử lý Nhóm 2

dkden2:
lap2:
lcall hextobcd
lcall delay
dec 17h
djnz 16h, lap2
lcall hextobcd
lcall delay
ret

END

IV. Kết luận.


Qua bài tập lớn Vi xử lý này chúng em đã hiểu rõ hơn về phần cấu trúc
cũng như khẳ năng lập trình cho chip AT89xx(chip mà nhóm em sử dụng là
AT89C52). Chúng em biết được đây chỉ là những bài mở đầu trong quá trình đi
sâu cũng như những ứng dụng của VĐK trong cuộc sống hàng ngày của chúng
ta và sẽ cố gắng hoàn thiện cũng như mở rộng tính năng, tính ứng dụng trong
thực tế.

Điều khiển hoc- K45 8