TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI HÀ NÔI
KHOA :ĐIỆN-ĐIỆN TỬ
* * * * *
BÀI TẬP LỚN : VI XỬ LÝ
Thiết kế môn học : Đèn LED đơn ghép
thành đèn quảng cáo
Hà nội…ngày…tháng…năm
Giáo viên hướng dẫn : NGÔ THANH BÌNH
Sinh viên thực hiện :
Nguyễn Doãn Tùng (nhóm trưởng)
Vũ Văn Tuấn
Ngô Tiến Việt
Vũ Văn Việt
Nguyễn Văn Tùng
Nguyễn Ích Tráng
Trương Công Tuấn
Nguyễn Văn Tuấn
Bùi Khánh Toàn
Đỗ Xuân Tiếp
Lê Minh Tuấn
Trần Văn Vịnh
Ngô Hải Yến
Nguyễn Xuân Trường
Nguyễn Tiến Trung
Nhóm : 05
Lớp : Kĩ thuật viễn thông A – k50
I.GIỚI THIỆU QUANG BÁO
Ngày nay với sự phát triển của xã hội cùng với sự phát triển của khoa học kỹ thuật, cho nên nhu
cầu về thông tin trở nên thiết yếu đối với con người trong cuộc sống cũng như trong hoạt động
sản xuất kinh doanh. Để đáp ứng nhu cầu trên, quang báo là hình thức cung cấp thông tin hữu ích
không thể thiếu trong cuộc sống hằng ngày. Do đó quang báo ngày càng phát triển tinh vi hơn, đa
dạng hơn, từ việc thiết kế quang báo với văn bản được ghi chết trong ROM, đến việc thiết kế một
KIT vi xử lý để điều khiển.
Quang báo là hình thức thông báo trên bảng đèn. Bảng đèn quang báo gồm nhiều LED đơn hoặc
Ma trận LED ghép lại, mỗi một Ma Trận biểu diễn một kí tự. Tùy chiều dài của bảng đèn mà có
thể hiển thị những bản tin có độ dài khác nhau. Các từ trong văn bản sẽ lần lượt xuất hiện và
chạy dần từ phải sang trái. Khi văn bản đã hiển thị đến từ cuối cùng thì từ đầu tiên lại bắt đầu
xuất hiện trở lại. Quá trình đó cứ tiếp tục lại mãi.
Bên cạnh đó, với sự ra đời của máy tính điện tử đặc biệt là máy vi tính, chúng có những tính
năng ưu việt như khả năng xử lý dữ liệu nhanh chóng, độ tin cậy cao, lưu trữ lượng thông tin lớn
và quan trọng hơn cả là máy tính có thể kết hợp với nhiều thiết bị ngoại vi tùy theo mục đích ứng
dụng cụ thể, mà việc trao đổi và điều khiển trở nên đơn giản, chúng phụ thuộc vào phần mềm
điều khiển. Dựa vào tính đa dạng và mềm dẻo của máy tính người ta tìm cách ứng dụng nó vào
mục đích quảng cáo, chẳng hạn như dùng trong quang báo. Nhờ vậy, việc thiết kế phần cứng cho
quang báo trở thành ít phức tạp hơn, nhưng độ tin cậy cao hơn. Trong thực tế để hiển thị các văn
bản, người ta dùng các kiểu chữ là các Ma Trận LED 5x7, 5x8, 8x12 hoặc 8x14 tuỳ thuộc vào
mục đích sử dụng và độ phân giải.
Ở đây máy tính đóng vai trò truyền dữ liệu và điều khiển còn KIT vi xử lý có nhiệm vụ lưu trữ
và thực hiện chương trình quang báo. Việc kết hợp giữa hai thiết bị làm cho quang báo trở nên đa
dạng, phong phú, độ tin cậy cao và dễ dàng sử dụng. Ngoài ra Kit vi xử lý còn có thể thực hiện
chương trình quang báo .
Những hình quảng cáo làm từ những đèn LED:
…
II.GIỚI THIỆU VỀ CÁC LINH KIỆN DÙNG TRONG MẠCH
1. Vi điều khiển AT89C51 tần số 12MHz
VXL AT89C51
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U2
AT89C51
2. 22 điện trở 220 ôm
3. 2 tụ 33 pF
4. 1 thạch anh tần số 12MHz
X2
CRYSTAL
5. 1 tụ 1nF
6. 22 led màu đỏ
D1
LED-RED
7. - Sơ đồ chân của 89C51:
-Chức năng các chân của AT89C51 :AT89C51 có tất cả 40 chân có chức năng như các
đường xuất nhập. Trong đó có 24 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng),
mỗi dường có thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là
thành phần của các bus dữ liệu và bus địa chỉ.
*Các port:
+Port 0: là port có hai chức năng ở các chân 32-39 của 89C51. Trong các thiết kế cỡ nhỏ
không dùng bộ nhớ mở rộng, nó có chức năng như các đường IO. Đối với các thiết kế cỡ
lớn có bộ nhớ mở rộng, nó được kết hợp giữa bus địa chỉ và bus dữ liệu.
+Port 1: là port IO trên các chân 1-8. Các chân được kí hiệu p1.0, p1.1, p1.2, có thể dùng
cho giao tiếp với các thiết bị ngoài nếu cần. Port 1 không có chức năng khác, vì vậy
chúng chỉ được dùng cho giao tiếp với các thiết bị bên ngoài.
+Port 2: là 1 port có tác dụng kép trên các chân 21-28 được dùng như 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.
+Port 3: là port có tác 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 89C51 như ở
bảng sau:
Bit Tên
Chức năng chuyển đổi
P3.0 RXT Ngõ vào dữ liệu nối tiếp
P3.1 TXD Ngõ xuất dữ liệu nối tiếp
P3.2 INT0\ Ngõ vào ngắt cứng thứ 0
P3.3 INT1\ Ngõ vào ngắt cứng thứ 1
P3.4 T0 Ngõ vào của TIMER/COUNTER thứ 0
P3.5 T1 Ngõ vào của TIMER/COUNTER thứ 1
P3.6 WR\ Tín hiệu ghi dữ liệu lên bộ nhớ ngoài
P3.7 RD\ Tín hiệu đọc bộ nhớ dữ liệu ngoài
III.Phần mềm
1. Đề bài:Quang báo điện tử hiển thị dòng chữ : V-T-A
2. Lưu đồ thuật toán
3. Chương trình chính
BẮT ĐẦU
HIỂN THỊ LED
KHỞI TẠO HÊ THỐNG
Lập trình trên chip AT89C51
4.Chương trình thực hiện thuật toán trên được viết bằng ngôn ngữ
Assembly sử dụng chương trình dịch Reads51 để tạo ra file hex và được
nạp vào chip AT89C51:
#include <sfr51.inc>
org 00h
ljmp main
org 40h
main:
//sáng từ đèn 1 đến hết
next:
mov a,#11111110b
quay_p0:
mov p0,a
lcall delay
rl a
anl a,p0
mov p0,a
jz next1
sjmp quay_p0
next1:lcall delay
mov a,#11111110b
quay_p2:
mov p2,a
lcall delay
rl a
anl a,p2
mov p2,a
jz next2
sjmp quay_p2
next2:
mov a,#11111110b
quay_p3:
mov p3,a
lcall delay
rl a
anl a,p3
mov p3,a
jz nhay
sjmp quay_p3
nhay: lcall delay
//sáng từng chữ V-T-A
mov p0,#11111111b
mov p2,#11111111b
mov p3,#11111111b
lcall delay
mov p0,#00000000b
mov p2,#11111111b
mov p3,#11111111b
lcall delay
mov p0,#11111111b
mov p2,#00000000b
mov p3,#11111111b
lcall delay
mov p0,#11111111b
mov p2,#11111111b
mov p3,#00000000b
lcall delay
\\sáng dần bắt đầu từ chữ V
mov p0,#00000000b
mov p2,#11111111b
mov p3,#11111111b
lcall delay
mov p0,#00000000b
mov p2,#00000000b
mov p3,#11111111b
lcall delay
mov p0,#00000000b
mov p2,#00000000b
mov p3,#00000000b
lcall delay
//chớp tắt 3 lần
mov p0,#11111111b
mov p2,#11111111b
mov p3,#11111111b
lcall delay
mov p0,#00000000b
mov p2,#00000000b
mov p3,#00000000b
lcall delay
mov p0,#11111111b
mov p2,#11111111b
mov p3,#11111111b
lcall delay
mov p0,#00000000b
mov p2,#00000000b
mov p3,#00000000b
lcall delay
mov p0,#11111111b
mov p2,#11111111b
mov p3,#11111111b
mov p0,#00000000b
mov p2,#00000000b
mov p3,#00000000b
lcall delay
//sáng từ dưới lên
mov p0,#11110111b
mov p2,#10111111b
mov p3,#10111110b
lcall delay
mov p0,#11100011b
mov p2,#10011111b
mov p3,#00011100b
lcall delay
mov p0,#11000001b
mov p2,#10001111b
mov p3,#00001000b
lcall delay
mov p0,#10000000b
mov p2,#10000000b
mov p3,#00000000b
lcall delay
//tắt từ trên xuống
mov p0,#11000001b
mov p2,#10001111b
mov p3,#00001000b
lcall delay
mov p0,#11100011b
mov p2,#10011111b
mov p3,#00011100b
lcall delay
mov p0,#11110111b
mov p2,#10111111b
mov p3,#00111110b
lcall delay
mov p0,#11111111b
mov p2,#11111111b
mov p3,#11111111b
lcall delay
//sáng từ dưới lên
mov p0,#11110111b
mov p2,#10111111b
mov p3,#10111110b
lcall delay
mov p0,#11100011b
mov p2,#10011111b
mov p3,#00011100b
lcall delay
mov p0,#11000001b
mov p2,#10001111b
mov p3,#00001000b
lcall delay
mov p0,#10000000b
mov p2,#10000000b
mov p3,#00000000b
lcall delay
//tắt từ trên xuống
mov p0,#11000001b
mov p2,#10001111b
mov p3,#00001000b
lcall delay
mov p0,#11100011b
mov p2,#10011111b
mov p3,#00011100b
lcall delay
mov p0,#11110111b
mov p2,#10111111b
mov p3,#00111110b
lcall delay
mov p0,#11111111b
mov p2,#11111111b
mov p3,#11111111b
lcall delay
//sáng từ chữ T sang 2 bên
mov p0,#11111111b
mov p2,#10001111b
mov p3,#11111111b
lcall delay
mov p0,#11111111b
mov p2,#10001001b
mov p3,#11111111b
lcall delay
mov p0,#11111111b
mov p2,#10000000b
mov p3,#11111111b
lcall delay
mov p0,#10111111b
mov p2,#10000000b
mov p3,#11111110b
lcall delay
mov p0,#10011111b
mov p2,#10000000b
mov p3,#11111100b
lcall delay
mov p0,#10001111b
mov p2,#10000000b
mov p3,#11111000b
lcall delay
mov p0,#10000111b
mov p2,#10000000b
mov p3,#11110000b
lcall delay
mov p0,#10000011b
mov p2,#10000000b
mov p3,#01100000b
lcall delay
mov p0,#10000001b
mov p2,#10000000b
mov p3,#01000000b
lcall delay
mov p0,#10000000b
mov p2,#10000000b
mov p3,#00000000b
lcall delay
//sáng từ 2 bên vào giữa
mov p0,#11111111b
mov p2,#11111111b
mov p3,#11111111b
lcall delay
mov p0,#11111110b
mov p2,#11111111b
mov p3,#10111111b
lcall delay
mov p0,#11111100b
mov p2,#11111111b
mov p3,#10011111b
lcall delay
mov p0,#11111000b
mov p2,#11111111b
mov p3,#00001111b
lcall delay
mov p0,#11110000b
mov p2,#11111111b
mov p3,#00000111b
lcall delay
mov p0,#11100000b
mov p2,#11111111b
mov p3,#00000011b
lcall delay
mov p0,#11000000b
mov p2,#11111111b
mov p3,#00000001b
lcall delay
mov p0,#10000000b
mov p2,#11111111b
mov p3,#00000000b
lcall delay
mov p0,#10000000b
mov p2,#11110110b
mov p3,#00000000b
lcall delay
mov p0,#10000000b
mov p2,#11110000b
mov p3,#00000000b
lcall delay
mov p0,#10000000b
mov p2,#11100000b
mov p3,#00000000b
lcall delay
mov p0,#10000000b
mov p2,#11000000b
mov p3,#00000000b
lcall delay
mov p0,#10000000b
mov p2,#10000000b
mov p3,#00000000b
lcall delay
//chớp tắt 1 lần
mov p0,#11111111b
mov p2,#11111111b
mov p3,#11111111b
lcall delay
mov p0,#00000000b
mov p2,#00000000b
mov p3,#00000000b
lcall delay
mov p0,#11111111b
mov p2,#11111111b
mov p3,#11111111b
lcall delay
ljmp main
delay:
mov r1,#2
loop1:
mov r2,#100
loop2:
mov r3,#100
loop3:
nop
nop
nop
nop
nop
nop
nop
nop
djnz r3,loop3
djnz r2,loop2
djnz r1,loop1
ret
end
4. Mô phỏng quang báo chạy trên phần mềm proteus.
Mạch
d21
d20
d19
d22 d18
d17
d16
d15
d8
d9
d12
d13
d14
d10
d11
d1
d2
d3
d4
d5
d6
d7
d1
d2
d3
d4
d5
d6
d7
d22 d8d9d10d11d12d13d14d15d16d17d18d19d21 d20
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C51
X1
CRYSTAL
C1
33p
C2
33p
R23
10k
D1
D2
D4
D5
D7
D8 D9 D11
D12
D14
D18
D16
D15
D20
D21
D22
VCC
D3
D6
D10
D13
D17
D19
R4
220R
R3
220R
R2
220R
R5
220R
R6
220R
R7
220R
R1
220R
R22
220R
R21
220R
R20
220R
R19
220R
R18
220R
R17
220R
R16
220R
R15
220R
R14
220R
R13
220R
R12
220R
R11
220R
R10
220R
R9
220R
R8
220R
C3
30pF
IV. Kết Luận
Môn học VI XỬ LÝ là môn học mang tính thực hành cao, môn học đã giúp chúng em hiểu thêm
hơn nữa về chức năng và công dụng của các linh kiện điện tử, đặc biệt là các linh kiện ứng dụng
trong cuộc sống như đèn LED, tụ điện, điện trở …phần nào đã giúp con người thay thế sức lực
và dễ dàng tiếp cận khoa học công nghệ…
Cuối cùng, chúng em xin chân thành cám ơn thầy NGÔ THANH BÌNH đã hướng dẫn chúng em
làm bản báo cáo này.