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
                
              
                                            
                                
            
 
            
                 15 trang
15 trang | 
Chia sẻ: oanh_nt | Lượt xem: 2994 | Lượt tải: 2 
              
            Bạn đang xem nội dung tài liệu Bài tập lớn Đèn LED đơn ghép thành đèn quảng cáo, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
 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 
 U2
 19 39
 XTAL1 P0.0/AD0
 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
 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 
 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 
 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
 1 2 3 4 5 6 7
 C2 CRYSTAL d d d d d d d
 VCC
 R1 R2 R3 R4 R5 R6 R7
 220R 220R 220R 220R 220R 220R 220R
 33p
 D8 D9 D10 D11 D18
 0 1
 1 1
 9
 d d d
 D1 D7 D17 8
 1
 1 7 8 D12
 d d d d D19
 C3 U1 d12
 19 39
 30pF XTAL1 P0.0/AD0 D22
 38
 P0.1/AD1 D6 7 9
 2 6 D13 1 1
 37 d d d d
 P0.2/AD2 D2
 18 36 d13
 XTAL2 P0.3/AD3
 35 D20
 P0.4/AD4 2
 2
 34 d
 P0.5/AD5 D3
 3 5
 33 d d
 P0.6/AD6 D5 D16 6 0
 D14 1 2
 9 32 d d
 RST P0.7/AD7
 R23 d14 D21
 21
 10k P2.0/A8 D4
 22 4
 d
 P2.1/A9 5
 1
 23 d
 P2.2/A10 D15
 29 24
 PSEN P2.3/A11 1
 2
 30 25 d
 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
 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
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.