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 N
Trang 1TRƯỜ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
Trang 2Giá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
Trang 3khô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:
Trang 4II.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
P1.0 1
P1.1 2
P1.2 3
P1.3 4
P1.4 5
P1.5 6
P1.6 7
P1.7 8
U2
AT89C51
2 22 điện trở 220 ôm
3 2 tụ 33 pF
4 1 thạch anh tần số 12MHz
Trang 5CRYSTAL
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ỏ
Trang 6khô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:
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
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
Trang 7Lậ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:
BẮT ĐẦU
KHỞI TẠO HÊ THỐNG
HIỂN THỊ LED
Trang 8mov 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
Trang 9lcall 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
Trang 10mov 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
Trang 11lcall 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
Trang 12mov 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
Trang 13mov 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
Trang 14mov 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.
Trang 15d8 d9
d12
d13
d14
d d
d1 d2 d3 d4 d5 d6 d7
d22 d21 d20 d19 d18 d17 d16 d15 d14 d13 d12 d11 d10 d9 d8
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/WRP3.5/T1 16 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.