Professional Documents
Culture Documents
Mẫu Bai Tap Lon VXL Thuyet Minh
Mẫu Bai Tap Lon VXL Thuyet Minh
▪ Hệ thống đèn tín hiệu bao gồm 4 cột đèn, ở đây chỉ thiết kế cho 2 cụm chính cho
2 hướng, trong đó mỗi cụm bao gồm:
- 2 đèn xanh hướng chính của 2 cột đèn nối với chân P1.0 và P1.3
- 2 đèn vàng hướng chính của 2 cột đèn nối với chân P1.1 và P1.4
- 2 đèn đỏ hướng chính của 2 cột đèn nối với chân P1.2 và P1.5
- 2 cột đèn phụ được đấu nối tiếp với hướng chính để người đi đường dễ quan sát.
▪ Hệ thống phím bấm cho người đi bộ thiết kế cho 2 hướng chính để dễ dàng tác
động theo 2 hướng:
- 2 phím bấm của 2 cột đèn nối với chân P3.2 và P3.3
- 2 đèn đỏ dành cho người đi bộ được nối với chân P1.7 và P3.1
- 2 đèn xanh dành cho người đi bộ được nối với chân P1.6 và P3.0
Hoạt động
Đơn giản hoá thời gian để chạy mô phỏng, ta chọn như sau:
- Hướng 1: ta cho đèn đỏ sáng 10s, xanh sáng 10s và vàng sáng 2s
- Hướng 2: tương ứng hoạt động theo hướng 1. Tức là thời gian của đèn đỏ của
hướng 1 sẽ bằng tổng thời gian của đèn xanh và vàng của hướng 2 và ngược lại.
Cụ thể theo sơ đồ sau:
Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
1
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử
XANH 8s V 2s ĐỎ 12s
Hướng 2
- Hướng cho người đi bộ: bình thường đèn đỏ luôn luôn sáng, khi có tác động bấm
phím đèn đỏ sẽ sáng 3s để thoát hết các phương tiện trên đường, đồng thời đèn sáng 2 đèn
vàng 2 hướng chính. Sau đó bật đèn xanh của người đi bộ trong 10s, đồng thời sáng đèn
xanh hướng chính cùng chiều người đi bộ và sáng đèn đỏ hướng chính còn lại
- Chu trình được lặp lại như trên.
Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
2
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử
Địa Địa
chỉ Địa chỉ bit chỉ Địa chỉ bit
Byte Byte
Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
3
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử
40
30p 19
Vcc Po.7 32 AD7
XTAL1 33
12MHz Po.6 AD6
Po.5 34 AD5
XTAL2 Po.4 35 AD4
18
30p Po.3 36 AD3
Po.2 37 AD2
Po.1 38 AD1
29
PSEN\ Po.0 39 AD0
30 ALE P2.7 8
31 EA\ P2.6 7
9 P2.5 6
RET
P2.4 5
4
P2.3
17 3
P2.2
RD\ 16 2
WR\ P2.1
15 P2.0 1
T1
14 28
T0 P1.7 A15
INT1 13 27
12 P1.6 A14
INT0 26
TXD 11 P1.5 A13
P1.4 25 A12
RXD 10
P1.3 24 A11
P1.2 23 A10
P1.1 22 A9
P1.0 21 A8
Vss
20
a. Port 0: là port có 2 chức năng ở trên chân từ 32 đến 39 trong các thiết kế cỡ
nhỏ ( không dùng bộ nhớ mở rộng ) có hai chức năng như các đường IO. Đối với các thiết
kế cỡ lớn ( với bộ nhớ mở rộng ) nó được kết hợp kênh giữa các bus.
b. Port1: Port1 là 1 cổng IO trên các chân 1-8. Các chân được ký hiệu P1.0
….P1.8 có thể dùng cho các thiết bị ngoài nếu cần. Port1 không có chức năng khác, vì
vậy chúng ta chỉ được dùng trong giao tiếp với các thiết bị ngoài.
Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
4
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử
c. Port2: Port2 là một port công dụng kép trên các chân 21-28 được dùng như
các cổng xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở
rộng.
d. Port3: Là một port công dụng kép trên các chân 10-17. Các chân của port
này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của
8952 như ở bảng sau:
e. PSEN (Program store Enable) : 8952 có bốn tín hiệu điều khiển
PSEN là tín hiệu ra trên chân 29. Nó là tín hiệu điều khiển để cho phép bộ nhớ
chương trình mở rộng và thường được nối đến chân OE (Output Enable ) của một
EPROM để cho phép đọc các bytes mã lệnh.
PSEN sẽ ở mức thấp trong thời gian lấy lệnh. Các mã nhị phân của chương trình
được đọc từ EPROM qua bus và được chốt vào thanh ghi lệnh của 8952 để giải mã lệnh.
Khi thi hành chương trình trong ROM nội (8952 ) PSEN sẽ ở mức thụ động (mức cao).
Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
5
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử
g. EA (Extemal Acces):
Tín hiệu vào EA trên chân 31 thường đươc mặc lên mức cao (+5V) hoặc mức thấp
(GND). Nếu ở mức cao, 8952 thi hành chương trình từ ROM nội trong khoảng địa chỉ
thấp (4K). Nếu ở mức thấp, chương trình chỉ được thi hành từ bộ nhớ mở rộng. Khi dùng
8031, EA luôn được nối mức thấp vì không có bộ nhớ chương trình trên chip. Nếu EA
được nối mức thấp bộ nhớ trong chương trình 8952 sẽ bị cấm và chương trình thi hành từ
EPROM mở rộng. Người ta còn dùng chân EA làm chân cấp điện áp 21V khi lập trình
cho EPROM trong 8952.
h. SRT( Reset):
Ngõ vào RST trên chân 9 là ngõ reset của 8952. Khi tín hiệu này được đưa lên mức
cao (trong ít nhất 2 chu kỳ máy ), các thanh ghi trong 8952 được tải những giá trị thích
hợp để khởi động hệ thống.
MOV A,R5
Đây là lệnh một byte dùng địa chỉ thanh ghi. Tất nhiên, thao tác tương tự có thể
được thi hành bằng lệnh 2 byte dùng địa chỉ trực tiếp nằm trong byte thứ hai:
MOV A,05H
Các lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơn và nhanh hơn các lệnh
tương ứng nhưng dùng địa chỉ trực tiếp. Các giá trị dữ liệu được dùng thường xuyên nên
dùng một trong các thanh ghi này.
Bank thanh ghi tích cực có thể chuyển đổi bằng cách thay đổi các bit chọn bank thanh ghi
trong từ trạng thái chương trình (PSW). Giả sử rằng bank thanh ghi 3 được tích cực, lệnh sau sẽ
ghi nội dung của thanh ghi tích lũy vào địa chỉ 18H:
Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
6
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử
MOV R0,A
Ý tưởng dùng “các bank thanh ghi” cho phép “chuyển hướng” chương trình nhanh
và hiệu quả (từng phần riêng rẽ của phần mềm sẽ có một bộ thanh ghi riêng không phụ
thuộc vào các phần khác).
Lệnh reset :
8952 được reset bằng cách giữ chân RST ở mức cao ít nhất trong 2 chu kỳ máy và
trả nó về mức thấp. RST có thể được kích khi cấp điện dùng một mạch R-C.
+5V
+5V
100 10UF
8,2K
Trạng thái của tất cả các thanh ghi của 8952 sau khi reset hệ thống được tóm tắt
trong bảng sau:
Quan trọng nhất trong các thanh ghi trên là thanh ghi đếm chương trình, nó được đặt
lại 0000H. Khi RST trở lại mức thấp, việc thi hành chương trình luôn bắt đầu ở địa chỉ
đầu tiên trong bộ nhớ trong chương trình: địa chỉ 0000H. Nội dung của RAM trên chip
không bị thay đổi bởi lệnh reset
Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
7
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử
Truy xuất timer của AT89C52 dùng 6 thanh ghi chức năng cho trong bảng sau:
SFR MỤC ĐÍCH ĐỊA CHỈ Địa chỉ hóa từng bit
TCON Điều khiển timer 88H Có
TMOD Chế độ timer 89H Không
TL0 Byte thấp của timer 0 8AH Không
TL1 Byte thấp của timer 1 8BH Không
TH0 Byte cao của timer 0 8CH Không
TH1 Byte cao của timer 1 8DH Không
Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển cho timer 0 và timer 1.
Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
8
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử
Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
9
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử
Bắt đầu
Kết thúc
Trên đây là hoạt động của 2 hướng chính của hệ thống. Khi có tác động của phím bấm thì
tất cả các hướng dừng lại trong thời gian 3s. Sau đó đèn xanh của người đi bộ sáng 10s
đồng thời cho sáng luôn đèn xanh của hướng song song, hướng còn lại đèn đỏ.
Sau 10s đèn đỏ của người đi bộ lại sáng bình thường. Lúc này đèn vàng của 2 hướng
chính cũng được bật lên để chuẩn bị trả về trạng thái lúc trước có tác động bấm phím cho
nó.
Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
10
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử
1. Phần cứng
Sau đó ta đi viết chương trình chạy và nạp vào cho con VXL 89C52 này.
Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
11
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử
2. Lập trình
- Viết chương trình bằng ngôn ngữ Assembly trên phần mềm Keil
- Tạo một Folder mới rồi tạo một Project viết, chạy và dịch chương trình trong đó.
Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
12
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử
Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
13
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử
Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
14
Bài tập lớn môn Kỹ thuật VXL Bộ môn Kỹ Thuật điện tử
loop6:
lcall quetled setb tr0
djnz r5,loop6 clr p3.1
djnz r4,loop5 reti
lcall capnhat ;-------------------------
djnz r3,loop4
ret bangma: db
;------------------ 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,
ngat1: 6fh
mov a,leddv End.
mov leddvb,a
mov a,ledch
mov ledchb,a
mov a,ledtr
mov ledtrb,a
mov a,r0
mov r2,a
mov a,tddb
lcall tinhtg
mov p1,#14h
setb p3.1
clr p3.0
lcall trev
mov a,txdb
lcall tinhtg
mov p1,#0ch
setb p3.0
clr p3.1
lcall tredb
mov a,tddb
lcall tinhtg
mov p1,#24h
setb p3.1
clr p3.0
lcall trev
mov a,leddvb
mov leddv,a
mov a,ledchb
mov ledch,a
mov a,ledtrb
mov ledtr,a
mov a,r2
mov r0,a
Nhóm 2
Lớp: Cơ điện tử K45 ĐH Giao Thông Vận Tải
15