Page 1
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 1
LỜI CẢM ƠN
Em xin chân thành cám ơn thầy Vũ Thế Đảng đã hướng dẫn tận tình trong suốt
thời gian qua giúp em có thể hoàn thành tốt học phần này.
Trong quá trình viết báo cáo này do trình độ hiểu biết của em còn hạn chế, nên
còn nhiều thiếu sót mong thầy và các bạn góp ý bổ sung để em hoàn thiện hơn về kiến
thức cũng như rút kinh nghiệm cho các đề tài sau.
Em xin chân thành cảm ơn!
Bình Dương, Ngày 8 tháng 5 năm 2012.
Page 2
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 2
LỜI NHẬN XÉT CỦA GIÁO VIÊN
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................
Page 3
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 3
MỤC LỤC
PHẦN I: GIỚI THIỆU .................................................................................................... 4
PHẦN II: NỘI DUNG ..................................................................................................... 5
CHƢƠNG 1. CƠ SỞ LÝ THUYẾT ............................................................................ 5
1.1 Giới thiệu Vi điều khiển AT89S52 ................................................................. 5
1.2 Giới thiệu Led Cube ..................................................................................... 17
CHƢƠNG 2: THIẾT KẾ VÀ THI CÔNG MẠCH LED CUBE 5X5X5 .................. 19
2.1 Thiết kế phần cứng ....................................................................................... 19
2.2 Thiết kế phần mềm ....................................................................................... 22
2.3 Thi công và khắc phục lỗi............................................................................. 31
PHẦN III: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ĐỀ TÀI .................................... 37
TÀI LIỆU THAM KHẢO ............................................................................................. 38
Page 4
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 4
PHẦN I: GIỚI THIỆU
Vi điều khiển là một lĩnh vực khá lý thú đối với các bạn sinh viên chuyên ngành
Điện tử nói chung. Cùng với sự phát triển của ngành điện tử thì nhiều họ Vi điều khiển
đƣợc các hãng sản xuất chíp cho ra đời nhƣ: AT89, AVR của Atmel, PIC của
Microchip…
AT89 là bƣớc phát triển tiếp theo của họ 8051, cùng với sự phát triển đó nhiều
ứng dụng về nó đã đƣợc ra đời nhƣ: Mạch báo chuông tiết học, Điều khiển động cơ mà
gần với chúng ta hơn đó là những mạch ứng dụng vi điều khiển điều khiển Led đơn
đƣợc ứng dụng nhiều trong ngành quảng cáo.
Chắc hẳn ai trong chúng ta cũng đã một lần nghe qua từ 3D nhƣ xem phim 3D
hay Tivi 3D, và ắt hẳn bạn cũng đã từng nghe qua khối Led 3D hay Led Cube.
Ngày nay các ứng dụng về 3D ngày càng rộng rãi, đã thúc đẩy nhiều nhà khoa
học đi sâu nghiên cứu và cho ra những sản phẩm ứng dụng công nghệ 3D với chất
lƣợng ngày càng đƣợc nâng cao đáp ứng nhu cầu ngày càng cao của ngƣời dùng vì thế
việc nghiên cứu tìm hiểu led 3D đặt nền móng và giúp cho chúng ta hiểu hơn về công
nghệ 3D. Trong bài báo cáo này mình sẽ nói rõ hơn về khối led 3D qua đề tài: THIẾT
KẾ VÀ THI CÔNG LED CUBE 5X5X5 DÙNG VI ĐIỀU KHIỂN AT89S52.
Mục tiêu của đề tài: Tìm hiểu cấu tạo khối led cube từ đó lập trình tạo ra hiệu ứng
bắt mắt trong không gian 3 chiều
Phƣơng pháp nghiên cứu:
- Nghiên cứu và tìm hiểu 89S52 để ứng dụng hiệu ứng led Cube
- Thi công và thử nghiệm thực tế
Nội dung đề tài gồm 2 chƣơng :
Chƣơng 1: Giới thiệu chung
1.1 Giới thiệu Vi điều khiển AT89S52
1.2 Giới thiệu Led Cube
Chƣơng 2: Thiết kế và thi công mạch led Cube 5x5x5
2.1 Thiết kế phần cứng
2.2 Thiết kế phần mềm
2.3 Thi công và khắc phục lỗi
Tuy nhiên, do thời gian và kiến thức còn hạn chế nên không tránh khỏi sự thiếu
sót, mong nhận đƣợc sự đóng góp ý kiến của Thầyvà các bạn.
Bình Dƣơng, ngày 08 tháng 05 năm 2012
Sinh viên thực hiện
Võ Quang Lộc
Page 5
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 5
PHẦN II: NỘI DUNG
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
1.1 Giới thiệu Vi điều khiển AT89S52
1.1.1 Chức năng:
Vi điều khiển 8051 đƣợc Intel cho ra đời vào năm 1980 thuộc vi điều khiển đầu
tiên của họ MCS-51. Hiện tại rất nhiều nhà sản xuất nhƣ Siemens, Advanced
Micro Devices, Fusisu và Philips tập trung phát triển các sản phẩm trên cơ sở
8051.Atmel là hãng đã cho ra đời các chip 89C51, 52, 55 và sau đó cải tiến thêm,
hãng cho ra đời 89S51, 89S52, 89S8252…
Cấu hình 89S52:
8 KB Flash ROM bên trong
Vùng điện áp hoạt động 4.0V – 5.0V
Xung clock: 0 Hz – 33 MHz
256 x 8-bit RAM nội
8 nguồn ngắt
4 Port xuất nhập I/O 8 bit
3 bộ Timer/Counter 16 bit
Watchdog Timer
Giao tiếp nối tiếp
Cờ báo ngắt
Có thể mở rộng 64 KByte không nhớ chƣơng trình ngoài
Có thể mở rộng 64 KByte không nhớ dữ liệu ngoài
Sơ đồ chân
Hình 1.1: Sơ đồ chân IC AT89s52
Page 6
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 6
Sơ đồ khối
Hình 1.2: Sơ đồ khối IC AT89s52
Chức năng các chân
Port 0: là port có 2 chức năng với số thứ tự chân từ 32-39
- Trong các hệ thống điều khiển đơn giản sử dụng bộ nhớ bên trong
không dùng bộ nhớ mở rộng bên ngoài thì port 0 đƣợc dùng làm các
đƣờng I/O
Page 7
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 7
- Trong các hệ thống điều khiển lớn sử dụng bộ nhớ mở rộng bên ngoài
thì port 0 có chức năng là bus địa chỉ và bus dữ liệu AD7-AD0.
Port 1: với số thứ tự chân từ 1-8. có chức năng làm các đƣờng điều khiển
xuất nhập ngoài ra còn có các chân có chức năng nhƣ bảng sau:
Hình 1.3: Chức năng các chân port 1
Port 2: với số thứ tự chân từ 21-28 với hai chức năng
- Trong các hệ thống điều khiển đơn giản sử dụng bộ nhớ bên trong
không dùng bộ nhớ mở rộng bên ngoài thì port 2 đƣợc dùng làm các
đƣờng I/O
- Trong các hệ thống điều khiển lớn sử dụng bộ nhớ mở rộng bên ngoài
thì port 2 có chức năng là bus địa chỉ cao A8-A15
Port 3: có hai chức năng với số thứ tự chân 10-17các chân của port này có
nhiều chức năng khác nhau nhƣ bảng sau:
Hình 1.4: Chức năng các chân port 3
Page 8
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 8
Chân PSEN (Program store enable): là tín hiệu ngõ ra ở chân 29 cho phép
đọc bộ nhớ chƣơng trình mở rộng. khi có giao tiếp với bộ nhớ bên ngoài
mới dùng đến chân PSEN
Chân ALE/PROG (Address latch enable): là tín hiệu ngõ ra ở chân 30 dùng
làm tín hiệu điều khiển để giải đa hợp các đƣờng địa chỉ và dữ liệu khi kết
nối chúng với IC chốt..
Chân EA/VPP (External Access) số thứ chân là 31 có chức năng chọn bộ
nhớ chƣơng trình: EA=GND: Chọn bộ nhớ ngoại, EA=VCC chọn bộ nhớ
nội.
Chân RST (Reset) chân số 9 của vi điều khiển, khi nhấn nút reset thì mạch
sẽ reset vi điều khiển, khi reset thì tín hiệu phải ở mức cao ít nhất 2 chu kỳ
máy.
Sơ đồ mạch reset:
VCC
10kR
ResetSW
10uFC
Hình 1.5: Sơ đồ mạch Reset
Page 9
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 9
Trạng thái các thanh ghi sau khi reset:
Hình 1.6: Trạng thái các thanh ghi sau khi Reset
Chân XTAL1 và XTAL2: Chân 18, 19 của vi điều khiển. thƣờng đƣợc nối
với thạch anh tạo thành mạch tạo dao động cho VĐK. Tần số thạch anh
thƣờng dùng trong các ứng dụng là : 12Mhz , Tần số tối đa 33Mhz. Tần số
càng lớn vi điều khiển xử lí càng nhanh.
Sơ đồ mạch kết nối thạch anh:
Page 10
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 10
Y1
CRYSTAL
C233P
X2X1
C333P
Hình 1.7: Sơ đồ mạch kết nối thạch anh
Chân VCC, GND: chân 40, 20 của vi điều khiển dùng để cấp nguồn và nối
đất cho vi điều khiển.
1.1.2 Tổ chức bộ nhớ của Vi điều khiển
Vi điều khiển 89S52 có bộ nhớ nội bên trong và thêm khả năng giao tiếp với bộ
nhớ bên ngoài nếu bộ nhớ bên trong không đủ khả năng lƣu trữ chƣơng trình.
Bộ nhớ nội bên trong gồm có hai loại bộ nhớ: Bộ nhớ dữ liệu và bộ nhớ chƣơng
trình. Bộ nhớ dữ liệu có 256 byte, bộ nhớ chƣơng trình có dung lƣợng 8kbyte.
Bộ nhớ mỡ rộng bên ngoài cũng đƣợc chia làm hai loại bộ nhớ: bộ nhớ dữ liệu
và bộ nhớ chƣơng trình, khả năng giao tiếp là 64kbyte cho mỗi loại.
Hình 1.8: Tổ chức bộ nhớ của Vi điều khiển
Bộ nhớ mở rộng bên ngoài và bộ nhớ chƣơng trình bên trong không có gì đặc biệt
chỉ có khả năng lƣu trữ dữ liệu và mã chƣơng trình.
Bộ nhớ chƣơng trình bên trong của vi điều khiển thuộc loại bộ nhớ flash rom cho
phép xóa bằng xung điện và lập trình lại.
Bộ nhớ Ram nội bên trong là bộ nhớ đặc biệt, sơ đồ cấu trúc bên trong đƣợc trình
bày trong hình dƣới.
Page 11
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 11
7F FF
F0 F7 F6 F5 F4 F3
F2 F1 F0 B
RAM đa dụng
E0 E7 E6 E5 E4 E3
E2 E1 E0 ACC
D0 D7 D6 D5 D4 D3 D2 D1 D0 PSW
30 B8 - - - BC BB BA B9 B8 IP
2F 7F 7E 7D 7C 7B 7A 79 78
2E 77 76 75 74 73 72 71 70 B0 B7 B6 B5 B4 B3 B2 B1 B0 P.3
2D 6F 6E 6D 6C 6B 6A 69 68
2C 67 66 65 64 63 62 61 60 A8 AF AC AB AA A9 A8 IE
2B 5F 5E 5D 5C 5B 5A 59 58
2A 57 56 55 54 53 52 51 50 A0 A7 A6 A5 A4 A3 A2 A1 A0 P2
29 4F 4E 4D 4C 4B 4A 49 48
28 47 46 45 44 43 42 41 40 99 không đƣợc địa chỉ hóa bit SBUF
27 3F 3E 3D 3C 3B 3A 39 38 98 9F 9E 9D 9C 9B 9A 99 98 SCON
26 37 36 35 34 33 32 31 30
25 2F 2E 2D 2C 2B 2A 29 28 90 97 96 95 94 93 92 91 90 P1
24 27 26 25 24 23 22 21 20
23 1F 1E 1D 1C 1B 1A 19 18 8D không đƣợc địa chỉ hóa bit TH1
22 17 16 15 14 13 12 11 10 8C không đƣợc địa chỉ hóa bit TH0
21 0F 0E 0D 0C 0B 0A 09 08 8B không đƣợc địa chỉ hóa bit TL1
20 07 06 05 04 03 02 01 00 8A không đƣợc địa chỉ hóa bit TL0
1F Bank 3 89 TMOD
18 88 8F 8E 8D 8C 8B 8A 89 88 TCON
17 Bank 2 87 không đƣợc địa chỉ hóa bit PCON
10
0F Bank 1 83 không đƣợc địa chỉ hóa bit DPH
08 82 không đƣợc địa chỉ hóa bit DPL
07 Bank thanh ghi 0 81 không đƣợc địa chỉ hóa bit SP
00 (mặc định cho R0-R7) 80 87 86 85 84 83 82 81 80 P0
Hình 1.9: Cấu trúc bộ nhớ RAM bên trong vi điều khiển
1.1.3 Hoạt động định thời
1.1.3.1 Giới thiệu
Các bộ định thời (Timer) đƣợc sử dụng rộng rãi trong các ứng dụng đo lƣờng và
điều khiển. Tùy thuộc vào ứng dụng đầu vào của bộ định thời có thể là nguồn xung lấy
từ xung nhịp của vi điều khiển hoặc nguồn xung từ bên ngoài đƣa đến.
Page 12
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 12
Vi điều khiển họ 8051 có ba bộ định thời 16 bit trong đó hai bộ Timer 0 và Timer 1
có bốn chế độ hoạt động, còn Timer 2 có ba chế độ hoạt động.
1.1.3.2 Các thanh ghi của bộ định thời.
a. Các thanh ghi của Timer 0 và Timer 1.
Thanh ghi chế độ định thời TMOD: Thanh ghi TMOD chứa hai nhóm 4 bit dùng để
đặt chế độ làm việc cho Timer 0 và Timer 1
Bit Name Timer Description
7 GATE 1 Khi GATE = 1, Timer chỉ làm việc khi INT = 1
6 C/T 1 Bit đếm sự kiện hay ghi giờ
C/T = 1: Đếm sự kiện
C/T = 0: Ghi giờ đều đặn
5 M1 1 Bit chọn Mode của Timer 1
4 M0 1 Bit chọn Mode của Timer 1
3 GATE 0 Bit chọn cổng của Timer 0
2 C/T 0 Bit chọn chế độ Timer/Counter của Timer 0
1 M1 0 Bit chọn Mode của Timer 0
0 M0 0 Bit chọn Mode của Timer 0
Hình 1.10: Thanh ghi TMOD của Timer 0 và Timer 1
Thanh ghi điều khiển Timer TCON: Thanh ghi TCON chứa các bit trạng thái điều
khiển cho Timer 0 và Timer 1.
Bit Symbol Bit
Address
Description
TCON.7 TF1 8FH Cờ báo tràn của Timer1, đƣợc đặt bởi phần
cứng khi có tràn, đƣợc xóa bởi phần mềm
hoặc bởi phần cứng khi bộ xử lý chỉ đến
chƣơng trình phục vụ ngắt.
TCON.6 TR1 8EH Bit điều khiển Timer 1 hoạt động, đƣợc đặt/
xóa bằng phần mềm để điều khiển cho Timer
chạy/dừng
Page 13
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 13
TCON.5 TF0 8DH Cờ báo tràn Timer 0
TCON.4 TR0 8CH Bit điều khiển Timer 0 hoạt động
TCON.3 IE1 8BH Cờ ngắt do Timer 1.
TCON.2 IT1 8AH Cờ ngắt ngoài 1.
TCON.1 IE0 89H Cờ ngắt do Timer 0
TCON IT0 88H Cờ ngắt ngoài 0
Hình 1.11: Thanh ghi TCON của Timer 0 và Timer 1
b. Các thanh ghi của Timer 2.
Thanh ghi T2CON
Thanh ghi T2MOD: có địa chỉ 0C9H, thanh ghi này không định địa chỉ bit.
Thanh ghi TH2 và TL2, RCAP2H và RCAP2L: Thanh ghi TH2 và TL2 chứa giá trị
đếm của Timer 2, còn RCAP2H và RCAP2L chứa giá trị cần nạp lại của Timer 2.
1.1.3.3 Chế độ của bộ định thời
a. Các chế độ của Timer 0 và Timer 1.
- Mode 0 (mode Timer 13 bit): là chế độ định thời 13 bit, chế độ này tƣơng thích
với các bộ vi điều khiển trƣớc đó, trong các ứng dụng hiện nay, chế độ này không còn
thích hợp.
Hình 1.12: Chế độ Mode 0 của Timer 2
- Mode 1 (Mode Timer 16 bit): trong chế độ 1, bộ Timer dùng cả 2 thanh ghi TH
và TL để chứa giá trị đếm, vì vậy chế độ này còn đƣợc gọi là chế độ định thời 16 bit.
Page 14
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 14
Hình 1.13 : Chế độ Mode 1 của Timer 2
- Mode 2 (chế độ 8 bit tự nạp lại): Timer dùng TL để chứa giá trị đếm và TH để
chứa giá trị nạp lại vì vậy chế độ này đƣợc gọi là chế độ tự nạp lại 8 bit. Cách điều
khiển giống chế độ 1.
Hình 1.14 : Chế độ Mode 2 của Timer 2
- Mode 3 (Chế độ tách Timer): Timer 0 đƣợc tách thành 2 bộ Timer hoạt động
độc lập, chế độ này sẽ cung cấp cho vi điều khiên thêm một Timer nữa.
Hình 1.15: Chế độ Mode 3 của Timer 2
b. Các chế độ của Timer 2: có 3 chế độ hoạt động là chế độ thu nhận, tự nạp
lại và cung cấp tốc độ baud cho cổng nối tiếp.
Page 15
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 15
Hình 1.16: Các Chế độ của Timer 2
- Chế độ thu nhận (capture):
Hình 1.17: Chế độ thu nhận của Timer 2
- Chế độ tự nạp lại
Hình 1.18: Chế độ tự nạp lại của Timer 2
Page 16
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 16
- Chế độ phát tần số Baud
Hình 1.19: Chế độ phát tần số Baud của Timer 2
Page 17
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 17
1.2 Giới thiệu Led Cube
1.2.1 Giới thiệu
LED CUBE đƣợc tạo thành từ 125 bóng led, xếp thành 5 lớp, mỗi lớp 25 bóng.
Điều đặc biệt là ta không dùng 125 mối nối để thắp sáng từng bóng mà thay vào đó, ta
mắc chung các chân anode của 25 bóng trên 1 lớp lại với nhau và mắc chung 5 chân
cathode để tạo thành cột (có 25 cột).
1.2.2 Nguyên lý hoạt động
Để cho 1 led bất kỳ bật sáng, đầu tiên ta nối chân anode chung của lớp với điểm có
điện thế cao, khi đó 25 bóng led sẽ có chân anode đƣợc gắn với điểm điện thế cao,
việc còn lại là nối điểm điện thế thấp cho chân cathode của bóng led nào cần thắp sáng.
Việc cấp điện thế cao cho các lớp đƣợc thực hiện bởi 5 transistor PNP. 5 Transistor
này đƣợc điều khiển bởi 5 chân IO của vi điều khiển và đƣợc phân cực ở vùng bão hòa
và vùng ngƣng tƣơng ứng với mức logic 0 và 1 (ngƣợc mức logic với chân I/O của vi
điều khiển) Việc cấp điện thế thấp cho các cột đƣợc thực hiện bởi 25 chân I/O của vi
điều khiển. do không có transistor để nhận dòng nên khi khi tính toán điện trở hạn dòng
cho led phải lƣu ý đến khả năng nhận dòng của chân I/O vi điều khiển (thông số IOL
khoảng 200mA là tối đa). Ở thời điểm nào đó, mỗi chân này phải nhận dòng từ 5 bóng
led của 1 cột. Sơ đồ nguyên lý điều khiển sau đây:
Hình 1.20: Sơ đồ nguyên lý điều khiển Led
1.2.3 Cơ sở tính toán chọn linh kiện:
Page 18
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 18
Port 0 muốn hiển thị đƣợc và không bị nhiễu khi bỏ trống ta dùng điện trở léo lên
nguồn, chọn điện trở kéo lên 4,7 k.
Mỗi led đơn để sáng đƣợc đòi hỏi dòng qua led là 10mA, hiệu điện thế 3V (dùng
led 5mm xanh dƣơng).
Tính toán chọn điện trở hạn dòng cho led:
Ta có:
5 32 0 0
1 0
C C le d
le d
le d
V V V VR
I m A
chọn Rled = 220.
Hiển thị hiệu ứng trên khối led cube bằng phƣơng pháp quét giải mã bằng phần
cứng và phần mềm. khối quét và hiển thị led cube đƣợc thiết kế gồm 5 lớp, mỗi lớp 25
led đơn đƣợc nối anode chung đƣợc điều khiển bằng phƣơng pháp quét nhằm hiển thị
đƣợc các hiệu ứng 3D trên khối led cube.
Để cho led sáng ở chế độ đóng ngắt thì dòng qua led phải gấp 5 lần dòng có định
tức là mỗi led phải đƣợc cấp dòng đóng ngắt lên đến 50mA.
Dòng ngõ ra của vi điều khiển mức thấp là 20mA.
Phải chọn Transistor có: m a x
m a x5 * 2 0 1 0 0
CE
I I m A m A
m a x/ 1 0 0 / 2 0 5
C BI I
Ta có thể chọn Transistor là A1015 có dòng định mức là IC=200mA, =180 hoặc
transistor A1013 có dòng định mức IC=200mA, =60-320.
Tính toán chọn điện trở RB: khi transisotr dẫn bảo hòa VBE=0,7V; VCE=0,2V.
C E C C C C le dV V I R V (
C BI I )
B C C C le d C EI R V V V
C C le d C E
B
C
V V VI
R
Mà C C B E
B
B
V VI
R
C C B E C C le d C E
B C
V V V V V
R R
( ) (5 0 , 7 ) .5 .2 2 02 6 2 7
5 3 0 , 2
C C B E C
B
C C le d C E
V V RR
V V V
Vậy ta có thể chọn RB=1k; 1,2 k;; 1,5 k;;1,8 k;; 2,2 k;
Page 19
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 19
CHƯƠNG 2: THIẾT KẾ VÀ THI CÔNG MẠCH LED
CUBE 5X5X5
2.1 Thiết kế phần cứng
2.1.1 Sơ đồ mạch nguyên lý
Hình 2.1: Sơ đồ nguyên lý mạch điều khiển Led Cube 5x5x5
X1
R3
01K
KH
OÁI T
AÏO
DA
O Ñ
OÄN
G
KH
OÁI X
ÖÛ L
YÙ T
RU
NG
TA
ÂM
R1
9220
R1
4220
R1
RE
SIS
TO
R S
IP 9
1 23456789
+5
V
R9
220
J4
CO
N8
1 2 3 4 5 6 7 8
R3
31K
+5
V
MA
ÏCH
ÑIE
ÀU K
HIE
ÅN L
ED
CU
BE
5X
5X
5
Y1
CR
YS
TA
L
U2
LM
780
51
2
3V
I
GND
VO
KH
OÁI N
GU
OÀN
U1
AT8
9S
52
9
18
19
20
29
30
31
40
1 2 3 4 5 6 7 8
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
39
38
37
36
35
34
33
32
RS
T
XTA
L2
XTA
L1
GND
PS
EN
ALE
/PR
OG
EA
/VP
P
VCC
P1.0
/T2
P1.1
/T2
-EX
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P2.0
/A8
P2.1
/A9
P2.2
/A10
P2.3
/A11
P2.4
/A12
P2.5
/A13
P2.6
/A14
P2.7
/A15
P3.0
/RXD
P3.1
/TXD
P3.2
/IN
T0
P3.3
/IN
T1
P3.4
/T0
P3.5
/T1
P3.6
/WR
P3.7
/RD
P0.0
/AD
0P
0.1
/AD
1P
0.2
/AD
2P
0.3
/AD
3P
0.4
/AD
4P
0.5
/AD
5P
0.6
/AD
6P
0.7
/AD
7
D1
LE
D
R1
5220
R3
11K
R1
2220
R2
4220
+5
V
R2
1220
C1
C
R2
7220
LE
D
R2
6220
R3
21K
Q2
C2
33P
+5
V
R2
0220
RE
SE
T
RE
SE
T
R1
7220
R5
220
R4
220
Q5
X2
R1
0220
Q4
J2
CO
N8
1 2 3 4 5 6 7 8
R2
5220
X1
R2
220
R1
1220
R2
9220
R1
6220
X2
R3
41K
R3
220
SW
3R
36
220
LE
D
R2
2220
+5
V
Q1
PN
P B
CE
R8
220
KH
OÁI R
ES
ET
KH
OÁI B
AÙO
TÍN
HIE
ÄU
R1
3220
R3
510K
R2
3220
J1
1 2 3 4 5 6 7 8
J6
CO
N2
1 2
C5
22uF
R1
8220
+5
V
R2
8220
J3
CO
N8
1 2 3 4 5 6 7 8
D2
LE
D
+5
VQ
3
C3
33P
R7
220
Page 20
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 20
2.1.2 Sơ đồ mạch in
Hình 2.2: Sơ đồ mạch in mạch điều khiển Led Cube 5x5x5
Page 21
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 21
2.1.3 Mạch hoàn thành thực tế:
Hình 2.4: Mạch điều khiển Led Cube 5x5x5 thực tế
Page 22
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 22
2.2 Thiết kế phần mềm
2.2.1 Lƣu đồ:
KHỞI TẠO BIẾN
BẮT ĐẦU
HIỆU ỨNG TỎA RA
HIỆU ỨNG CHỚP TẮT
HIỆU ỨNG NƯỚC DÂNG
HIỆU ỨNG QUAY ĐỨNG
HIỆU ỨNG LƯỢN SÓNG
CHỚP
TẮT
NƯỚC
DÂNG
I <= n
QUÉT P0,P1,P2,P3
DELAY
XÓA
DELAY
Đ
S
Hình 2.5: Lưu đồ Chương trình chính Hình 2.6: Lưu đồ hiệu ứng Chớp tắt
Page 23
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 23
TỎA RA
XÓA
i <= n
QUÉT 5 DÒNG, CỘT 13
DELAY
XÓA
QUÉT 5 DÒNG, CỘT
7,8,9,12,14,17,18,19
DELAY
XÓA
QUÉT 5 DÒNG, CỘT
1,2,3,4,5,16,15,20,25,24,
23,22,21,16,11,6
DELAY
XÓA
CHỚP
TẮTS
NƯỚC
DÂNG
QUAY
ĐỨNG
KHỞI TẠO MẢNG
XÓA
I <= n
j <= 4
TẤT CẢ CỘT
DELAY
P0 = M[j]
Đ
S
Đ
S
Hình 2.8: Lưu đồ hiệu ứng Nước dâng Hình 2.7: Lưu đồ hiệu ứng Tỏa ra
Page 24
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 24
QUAY
ĐỨNG
LƯỢN
SÓNG
I <= n
XÓA
QUÉT 5 DÒNG, CỘT
11,12,13,14,15
DELAY
XÓA
QUÉT 5 DÒNG, CỘT
6,13,20
DELAY
XÓA
QUÉT 5 DÒNG, CỘT
1,7,13,19,25
DELAY
XÓA
QUÉT 5 DÒNG, CỘT
2,13,24
DELAY
XÓA
QUÉT 5 DÒNG, CỘT
3,8,13,15,23
DELAY
XÓA
QUÉT 5 DÒNG, CỘT
4,13,22
DELAY
QUÉT 5 DÒNG, CỘT
5,9,13,17,21
DELAY
QUÉT 5 DÒNG, CỘT
16,13,10
DELAY
Hình 2.9: Lưu đồ hiệu ứng Quay đứng
Page 25
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 25
LƯỢN
SÓNG
I <= n
XÓA
K < TIME
QUÉT L5, CỘT 1,2,3,4,5,
11,12,13,14,15,21,22,
23,24,25
DELAY
QUÉT L5, CỘT 1,2,3,4,5,
11,12,13,14,15,21,22,
23,24,25
DELAY
QUÉT L4, CỘT 6,7,8,9,
10,16,17,18,19,20
DELAY
DELAY
QUÉT L1, CỘT 1,2,3,4,5,
11,12,13,14,15,21,22,
23,24,25
DELAY
QUÉT L2, CỘT 6,7,8,9,10
16,17,18,19,20
DELAY
QUÉT L2, CỘT 6,7,8,9,10
16,17,18,19,20
DELAY
QUÉT L2, CỘT 1,2,3,4,
5 11,12,13,14,15,21,
22,23,24,25
DELAY
QUÉT L5, CỘT 6,7,8,9,
10,16,17,18,19,20
DELAY
QUÉT L5, CỘT 6,7,8,9,
10,16,17,18,19,20
DELAY
QUÉT L2, CỘT 1,2,3,4,
5,11,12,13,14,15,21,
22,23,24,25
DELAY
QUÉT L2, CỘT 1,2,3,4,
5,11,12,13,14,15,21,
22,23,24,25
DELAY
K < TIME
QUÉT L1, CỘT 6,7,8,9,
10,16,17,18,19,20
DELAY
QUÉT L1, CỘT 6,7,8,9,
10,16,17,18,19,20
DELAYQUÉT L1, CỘT 1,2,3,4,5,
11,12,13,14,15,21,22,
23,24,25
QUÉT L2, CỘT 1,2,3,4,
5 11,12,13,14,15,21,
22,23,24,25
DELAY
KHỞI TẠO BIẾN
(TRỞ VỀ CH.TR CHÍNH)
Hình 2.10: Lưu đồ hiệu ứng Lượn sóng
Page 26
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 26
2.2.2 Chƣơng Trình
#include <REGX52.H>
#include<stdlib.h>
unsigned int i,j,k,n;
sbit c1 = P1^0;
sbit c2 = P1^1;
sbit c3 = P1^2;
sbit c4 = P1^3;
sbit c5 = P1^4;
sbit c6 = P1^5;
sbit c7 = P1^6;
sbit c8 = P1^7;
sbit c9 = P3^0;
sbit c10 = P3^1;
sbit c11 = P3^2;
sbit c12 = P3^3;
sbit c13 = P3^4;
sbit c14 = P3^5;
sbit c15 = P3^6;
sbit c16 = P3^7;
sbit c17 = P2^0;
sbit c18 = P2^1;
sbit c19 = P2^2;
sbit c20 = P2^3;
sbit c21 = P2^4;
sbit c22 = P2^5;
sbit c23 = P2^6;
sbit c24 = P2^7;
sbit c25 = P0^6;
sbit L1 = P0^4;
sbit L2 = P0^3;
sbit L3 = P0^2;
sbit L4 = P0^1;
sbit L5 = P0^0;
Page 27
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 27
//=======================================
void delay(unsigned int t)
{
unsigned int i;
for(i=0;i<=t;i++);
}
//---------------------------------------
void tatcacot()
{
P1=P2=P3=0x00;c25=0;
}
//---------------------------------------
void xoatatcacot()
{
P1=P2=P3=0xff;c25=1;
}
//---------------------------------------
void xoa()
{
P0=P1=P2=P3=0xff;
}
//---------------------------------------
void toara(unsigned int time, unsigned char n)
{
xoa();
for(i=0;i<=n;i++)
{
L1=L2=L3=L4=L5=0;c13=0;delay(time);
xoa();
L1=L2=L3=L4=L5=0;c7=c8=c9=c12=c14=c17=c18=c19=0;delay(time);
xoa();
L1=L2=L3=L4=L5=0;c1=c2=c3=c4=c5=c10=c15=c20=c25=c24=c23=c22=c21
=c16=c11=c6=0;delay(time);
xoa();
}
}
Page 28
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 28
//----------------------------------------
void nuocdang(unsigned int time, unsigned char n)
{
unsigned char M[5]={0xfe,0xfd,0xfb,0xf7,0xef};
xoa();
for(i=0;i<=n;i++)
{
for(j=0;j<=4;j++)
{
P0=M[j];
tatcacot();
delay(time);
}
}
}
//----------------------------------------
void choptat(unsigned int time,unsigned char n)
{
for(i=0;i<n;i++)
{
P0=P1=P2=P3=0;delay(time);
xoa();delay(time);
}
}
//----------------------------------------
void quaydung(unsigned int time,unsigned char n)
{
for(i=0;i<n;i++)
{
xoa();
L1=L2=L3=L4=L5=0;
c11=c12=c13=c14=c15=0;
delay(time);
xoa();
L1=L2=L3=L4=L5=0;
c6=c13=c20=0;
delay(time);
Page 29
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 29
xoa();
L1=L2=L3=L4=L5=0;
c1=c7=c13=c19=c25=0;
delay(time);
xoa();
L1=L2=L3=L4=L5=0;
c2=c13=c24=0;
delay(time);
xoa();
L1=L2=L3=L4=L5=0;
c3=c8=c13=c18=c23=0;
delay(time);
xoa();
L1=L2=L3=L4=L5=0;
c4=c13=c22=0;
delay(time);
xoa();
L1=L2=L3=L4=L5=0;
c5=c9=c13=c17=c21=0;
delay(time);
xoa();
L1=L2=L3=L4=L5=0;
c16=c13=c10=0;
delay(time);
}
}
//----------------------------------------
void luonsong(unsigned int time,unsigned char n)
{
for(i=0;i<n;i++)
{
xoa();
for(k=0;k<time;k++)
{
L5=0;c1=c2=c3=c4=c5=c11=c12=c13=c14=c15=c21=c22=c23=c24=c25=0;delay(50);
L5=1;c1=c2=c3=c4=c5=c11=c12=c13=c14=c15=c21=c22=c23=c24=c25=1;delay(50);
L4=0;c6=c7=c8=c9=c10=c16=c17=c18=c19=c20=0;delay(50);
Page 30
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 30
L4=1;c6=c7=c8=c9=c10=c16=c17=c18=c19=c20=1;delay(50);
L1=0;c1=c2=c3=c4=c5=c11=c12=c13=c14=c15=c21=c22=c23=c24=c25=0;delay(50);
L1=1;c1=c2=c3=c4=c5=c11=c12=c13=c14=c15=c21=c22=c23=c24=c25=1;delay(50);
L2=0;c6=c7=c8=c9=c10=c16=c17=c18=c19=c20=0;delay(50);
L2=1;c6=c7=c8=c9=c10=c16=c17=c18=c19=c20=1;delay(50);
}
for(k=0;k<time;k++)
{
L4=0;c1=c2=c3=c4=c5=c11=c12=c13=c14=c15=c21=c22=c23=c24=c25=0;delay(50);
L4=1;c1=c2=c3=c4=c5=c11=c12=c13=c14=c15=c21=c22=c23=c24=c25=1;delay(50);
L5=0;c6=c7=c8=c9=c10=c16=c17=c18=c19=c20=0;delay(50);
L5=1;c6=c7=c8=c9=c10=c16=c17=c18=c19=c20=1;delay(50);
L2=0;c1=c2=c3=c4=c5=c11=c12=c13=c14=c15=c21=c22=c23=c24=c25=0;delay(50);
L2=1;c1=c2=c3=c4=c5=c11=c12=c13=c14=c15=c21=c22=c23=c24=c25=1;delay(50);
L1=0;c6=c7=c8=c9=c10=c16=c17=c18=c19=c20=0;delay(50);
L1=1;c6=c7=c8=c9=c10=c16=c17=c18=c19=c20=1;delay(50);
}
}
}
//========================================
void main()
{
while(1)
{
toara(20000,5);
choptat(10000,5);
nuocdang(15000,3);
quaydung(20000,3);
luonsong(50,10);
}
}
Page 31
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 31
2.3 Thi công và khắc phục lỗi
2.3.1. Chuẩn bị:
Dụng cụ:
- Khung led cube 5x5x5
- Mỏ hàn
- Chì hàn
- Nhựa thông
Linh kiện:
Tên linh kiện Số lƣợng
Chip Atmel 89S52 01
Thạch anh 12Mhz 01
Tụ điện 33pF hoặc 22pF 02
Tụ điện 100uF 01
Tụ điện 10uF 01
Nút nhấn 4 pin 01
Điện trở mảng 4,7 k 01
Điện trở 10k 01
Điện trở 1k 05
Điện trở 220 25
Đế 40 chân 01
IC ổn áp 7805 01
Led đục cao 5mm màu xanh dƣơng 125
Led đục cao màu xanh đỏ 02
Transistor 05
Jack cắm 8 và cáp bẹ 8 04
Jack nguồn và Adapter 01
2.3.2. Thi công.
B1: Ta tiến hành bẻ chân led nhƣ sau: chân Anode ta bẻ vuông góc ,chân cathode giữ
nguyên sau khi bẻ ta tiến hành hàn led .Hàn đủ 25 led ta đƣợc 1 lớp thứ nhất
Page 32
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 32
Hình 2.11 -2.12: Gắn led lên khung led cube 5x5x5
Và cứ nhƣ vậy ta bẻ tiếp 4 lớp còn lại.
Page 33
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 33
Hình 2.13: Hoàn thành 5 lớp trong khối led cube
B2: Khi đã bẻ xong 5 lớp ta tiến hành ghép các lớp thành một khối, ta ghép từng
lớp một cho đến khi hoàn thành ghép xong 5 lớp
Hình 2.14: Ghép và hàn các lớp thành khối led
Page 34
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 34
Hình 2.15: Hoàn thành hàn các lớp của khối led cube
Sau khi hàn đƣợc thành một khối ta tháo khung led cube ra ta đƣợc một khối hoàn
chỉnh.
B3: Hàn khối led vào cáp bẹ 8 theo sơ đồ sau:
J1 J2 J3 J4 J5
J10 J9 J8 J7 J6
J11 J12 J13 J14 J15
J20 J19 J18 J17 J16
J21 J22 J23 J24 J25
Page 35
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 35
Với: J1 = P1.0 J2 = P1.1 J3 = P1.2 J4 = P1.3 J5 = P1.4
J6 = P1.5 J7 = P1.6 J8 = P1.7 J9 = P3.0 J10 = P3.1
J11 = P3.2 J12 = P3.3 J13 = P3.4 J14 = P3.5 J15 = P3.6
J16 = P3.7 J17 = P2.0 J18 = P2.1 J19 = P2.2 J20 = P2.3
J21 = P2.4 J22 = P2.5 J23 = P2.6 J24 = P2.7 J25 = P0.6
Các chân điều khiển các lớp nhƣ sau:
L 1= P0.0 L2 = P0.1 L3 = P0.2 L4 = P0.3 L5 = P0.4
Hình 2.16: Hàn dây vào các chân của khối led cube
B4: Ráp khối led cube vào board mạch điều khiển, sau đó cắm nguồn và kiểm tra.
Page 36
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 36
Hình 2.17: Gắn board điều khiển vào khối led cube
B5: Hoàn tất khối led cube với hộp mica bao quanh khối led.
Hình 2.18: Khối led cube sau khi hoàn thành
Page 37
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 37
PHẦN III: KẾT LUẬN VÀ HƯỚNG PHÁT
TRIỂN ĐỀ TÀI
Sau một thời gian thực hiện đề tài cơ bản đã hoàn thành đúng thời gian và kết quả
thu đƣợc gần nhƣ đáp ứng đƣợc yêu cầu đề ra. Khối led cube đƣợc thiết kế đƣợc bao
trong vỏ hộp bằng mica tạo thêm tính thẩm mỹ cho khối led. Về mặt sử dụng, khối led
sử dụng nguồn adapter 5v vì thế chúng ta có thể linh động trong việc di chuyển cũng
nhƣ không lo về vấn đề hết pin. Về mặt ổn định và hiệu quả làm việc mạch hoạt động
tốt tuy nhiên vẫn còn một số điểm mắc phải do yếu tố về mặt thời gian và kinh nghiệm.
Tuy nhiên cũng có nhiều khó khăn và hạn chế trong quá trình thực hiện, thời gian
là vấn đề khó khăn lớn nhất mà ngƣời thực hiện gặp phải do phải đi làm ban ngày và đi
học ban đêm nên thời gian thực để thực hiện đề tài không đƣợc nhiều. mặt khác vấn đề
lập trình cũng là một đề cần đƣợc quan tâm nhiều hơn, do trình độ lập trình có hạn nên
các hiệu ứng trong khối led chƣa thực sự đẹp và bắt mắt. ngoài ra với những hạn chế
khách quan cũng nhƣ chủ quan nên một số vấn đề chƣa đƣợc tìm hiểu và quan tâm đầy
đủ nên sự thiếu sót của đề tài là điều không thể tránh khỏi.
Hƣớng phát triển đề tài:
- Trong thời gian tới sẽ có gắng phát triển từ khối led cube 5x5x5 lên khối led
cube 8x8x8 và10x10x10 sử dụng các loại vi điều khiển khác nhau nhƣ PIC hay AVR.
- Nâng cao khả năng lập trình để thêm vào các hiệu ứng nhấp nháy theo nhạc, cho
phép hiển thị ảnh động và trong khối led.
Page 38
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc Trang 38
TÀI LIỆU THAM KHẢO
1. Nguyễn Đình Phú. Vi điều khiển lý thuyết và thực hành, Trƣờng Đại học
Sƣ Phạm Kỹ Thuật TP.Hồ Chí Minh
2. Datasheet AT89S52
3. Website:
- Điện tử viễn thông - Đại học Huế
- Điện tử Việt Nam
- Đại học công nghiệp Hà Nội
- http://machdientu.net
- http://picprojects.org.uk - http://www.instructables.com
- http://dtvt.vn