Đồ Án Vi Xử Lý: Đèn LED Đơn Ghép Thành Đèn Quảng Cáo
Mọi ý kiến đóng góp xin gửi vào hòm thư: [email protected]
Kéo xuống để Tải ngay bản PDF đầy đủ: Sau “mục lục” và “bản xem trước”
(Nếu là bài nhiều công thức nên mọi người nên tải về để xem tránh mất công thức)
Bài liên quan: ĐỒ ÁN CƠ KẾT CẤU 2: TÍNH KHUNG SIÊU TĨNH BẰNG PHƯƠNG PHÁP LỰC
Mục Lục
- Đồ Án Vi Xử Lý: Đèn LED Đơn Ghép Thành Đèn Quảng Cáo
- I.GIỚI THIỆU QUANG BÁO
- II.GIỚI THIỆU VỀ CÁC LINH KIỆN DÙNG TRONG MẠCH
- 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
- 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:
- 4. Mô phỏng quang báo chạy trên phần mềm proteus.
- IV. Kết Luận
- Tải xuống tài liệu học tập PDF miễn phí
Tải ngay bản PDF tại đây: Đồ Án Vi Xử Lý: Đèn LED Đơn Ghép Thành Đèn Quảng Cáo
Đồ Án Vi Xử Lý: Đèn LED Đơn Ghép Thành Đèn Quảng Cáo
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 5×7, 5×8, 8×12 hoặc 8×14 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
- Vi điều khiển AT89C51 tần số 12MHz
VXL AT89C51
U2
19 | XTAL1 | P0.0/AD0 | 39 | ||||||
38 | |||||||||
P0.1/AD1 | |||||||||
37 | |||||||||
P0.2/AD2 | |||||||||
18 | 36 | ||||||||
XTAL2 | P0.3/AD3 | ||||||||
35 | |||||||||
P0.4/AD4 | |||||||||
34 | |||||||||
P0.5/AD5 | |||||||||
33 | |||||||||
P0.6/AD6 | |||||||||
9 | 32 | ||||||||
RST | P0.7/AD7 | ||||||||
21 | |||||||||
P2.0/A8 | |||||||||
22 | |||||||||
P2.1/A9 | |||||||||
23 | |||||||||
P2.2/A10 | |||||||||
29 | 24 | ||||||||
PSEN | P2.3/A11 | ||||||||
30 | 25 | ||||||||
ALE | P2.4/A12 | ||||||||
31 | 26 | ||||||||
EA | P2.5/A13 | ||||||||
27 | |||||||||
P2.6/A14 | |||||||||
28 | |||||||||
P2.7/A15 | |||||||||
1 | 10 | ||||||||
P1.0 | P3.0/RXD | ||||||||
2 | 11 | ||||||||
P1.1 | P3.1/TXD | ||||||||
3 | 12 | ||||||||
P1.2 | P3.2/INT0 | ||||||||
4 | 13 | ||||||||
P1.3 | P3.3/INT1 | ||||||||
5 | 14 | ||||||||
P1.4 | P3.4/T0 | ||||||||
6 | 15 | ||||||||
P1.5 | P3.5/T1 | ||||||||
7 | 16 | ||||||||
P1.6 | P3.6/WR | ||||||||
8 | 17 | ||||||||
P1.7 | P3.7/RD | ||||||||
AT89C51 |
- 22 điện trở 220 ôm
- 2 tụ 33 pF
- 1 thạch anh tần số 12MHz
X2
CRYSTAL
- 1 tụ 1nF
- 22 led màu đỏ
D1
LED-RED
- – 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
KHỞI TẠO HÊ THỐNG
HIỂN THỊ LED
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
C1 | ||||||||||||||||||||||||||||||||||||||||||||||
33p | X1 | |||||||||||||||||||||||||||||||||||||||||||||
C2 | CRYSTAL | d1 | d2 | d3 | d4 | d5 | d6 | d7 | ||||||||||||||||||||||||||||||||||||||
R1 | R2 | R3 | R4 | R5 | R6 | R7 | ||||||||||||||||||||||||||||||||||||||||
33p | 220R | 220R | 220R | 220R | 220R | 220R | 220R | |||||||||||||||||||||||||||||||||||||||
C3 | 19 | U1 | 39 | |||||||||||||||||||||||||||||||||||||||||||
30pF | XTAL1 | P0.0/AD0 | 38 | |||||||||||||||||||||||||||||||||||||||||||
P0.1/AD1 | 37 | |||||||||||||||||||||||||||||||||||||||||||||
P0.2/AD2 | ||||||||||||||||||||||||||||||||||||||||||||||
18 | 36 | |||||||||||||||||||||||||||||||||||||||||||||
XTAL2 | P0.3/AD3 | |||||||||||||||||||||||||||||||||||||||||||||
35 | ||||||||||||||||||||||||||||||||||||||||||||||
P0.4/AD4 | ||||||||||||||||||||||||||||||||||||||||||||||
P0.5/AD5 | 34 | |||||||||||||||||||||||||||||||||||||||||||||
33 | ||||||||||||||||||||||||||||||||||||||||||||||
P0.6/AD6 | ||||||||||||||||||||||||||||||||||||||||||||||
R23 | 9 | RST | P0.7/AD7 | 32 | ||||||||||||||||||||||||||||||||||||||||||
10k | P2.0/A8 | 21 | ||||||||||||||||||||||||||||||||||||||||||||
P2.1/A9 | 22 | |||||||||||||||||||||||||||||||||||||||||||||
P2.2/A10 | 23 | |||||||||||||||||||||||||||||||||||||||||||||
29 | PSEN | P2.3/A11 | 24 | |||||||||||||||||||||||||||||||||||||||||||
30 | 25 | |||||||||||||||||||||||||||||||||||||||||||||
31 | ALE | P2.4/A12 | 26 | |||||||||||||||||||||||||||||||||||||||||||
EA | P2.5/A13 | |||||||||||||||||||||||||||||||||||||||||||||
27 | ||||||||||||||||||||||||||||||||||||||||||||||
P2.6/A14 | 28 | |||||||||||||||||||||||||||||||||||||||||||||
1 | P2.7/A15 | 10 | ||||||||||||||||||||||||||||||||||||||||||||
P1.0 | P3.0/RXD | |||||||||||||||||||||||||||||||||||||||||||||
2 | P1.1 | P3.1/TXD | 11 | |||||||||||||||||||||||||||||||||||||||||||
3 | 12 | |||||||||||||||||||||||||||||||||||||||||||||
P1.2 | P3.2/INT0 | |||||||||||||||||||||||||||||||||||||||||||||
4 | 13 | |||||||||||||||||||||||||||||||||||||||||||||
P1.3 | P3.3/INT1 | |||||||||||||||||||||||||||||||||||||||||||||
5 | 14 | |||||||||||||||||||||||||||||||||||||||||||||
6 | P1.4 | P3.4/T0 | 15 | |||||||||||||||||||||||||||||||||||||||||||
P1.5 | P3.5/T1 | |||||||||||||||||||||||||||||||||||||||||||||
7 | 16 | |||||||||||||||||||||||||||||||||||||||||||||
P1.6 | P3.6/WR | |||||||||||||||||||||||||||||||||||||||||||||
8 | 17 | |||||||||||||||||||||||||||||||||||||||||||||
P1.7 | P3.7/RD | |||||||||||||||||||||||||||||||||||||||||||||
AT89C51 | ||||||||||||||||||||||||||||||||||||||||||||||
R22 | R21 | R20 | R19 | R18 | R17 | R16 | R15 | R14 | R13 | R12 | R11 | R10 | R9 | R8 | ||||||||||||||||||||||||||||||||
220R | 220R | 220R | 220R | 220R | 220R | 220R | 220R | 220R | 220R | 220R | 220R | 220R | 220R | 220R | ||||||||||||||||||||||||||||||||
d22 | d21 | d20 | d19 | d18 | d17 | d16 | d15 | d14 | d13 | d12 | d11 | d10 | d9 | d8 | ||||||||||||||||||||||||||||||||
D1
d1 |
D2 d2
D3
d3 |
VCC
D8 | D9 | ||
D7 | d8 | d9 | D12 |
d7 | |||
d12 | |||
D6 | D13 | ||
d6 | |||
d13 | |||
D5d5 | D14 | ||
d14 |
D4
d4 |
D10 D11
d10 | d11 |
D16
D15 | d15 | |
D17
d17 |
d16 |
D18 | |
d18 | D19 |
D22 | |
d19 | |
d22 | |
d20 |
D20
D21
d21 |
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.