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
Trang 1Em xin chân thành cảm ơn!
Bình Dương, Ngày 8 tháng 5 năm 2012
Trang 2LỜI NHẬN XÉT CỦA GIÁO VIÊN
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
Trang 4PHẦ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
Trang 5PHẦ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ó 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
Trang 6Sơ đồ 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
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
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
10k R
Reset
SW
10uF C
Hình 1.5: Sơ đồ mạch Reset
Trang 9Trạ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:
Trang 10Y 1
CRY STAL C2 33P
X2 X1
C3 33P
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
Trang 117F FF
F0 F7 F6 F5 F4 F
3 F2 F1 F0 B
RAM đa dụng
E0 E7 E6 E5 E4 E
3 E2 E1 E0 ACC
D0 D7 D6 D5 D4 D3 D2 D1 D0 PSW
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
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
10
Trang 12Vi đ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
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
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
Trang 13TCON.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
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
Trang 14Hì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
Trang 16- Chế độ phát tần số Baud
Hình 1.19: Chế độ phát tần số Baud của Timer 2
Trang 171.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
Trang 18Port 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:
Để 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
Trang 19CHƯƠNG 2: THIẾT KẾ VÀ THI CÔNG MẠCH LED
CUBE 5X5X5 2.1 Thiết kế phần cứng
Trang 202.1.2 Sơ đồ mạch in
Hình 2.2: Sơ đồ mạch in mạch điều khiển Led Cube 5x5x5
Trang 212.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ế
Trang 22NƯỚC DÂNG
Trang 23XÓ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ẮT S
NƯỚC DÂNG
QUAY ĐỨNG
Đ
S
Đ
S
Trang 24QUAY ĐỨNG
LƯỢN SÓNG
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
Trang 25QUÉ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
DELAY QUÉ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
Trang 27xoa();
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();
}
Trang 28{ P0=M[j];
tatcacot();
delay(time);
} }
xoa();delay(time);
} }
Trang 29for(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);
Trang 30L4=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);
} }
Trang 312.3 Thi công và khắc phục lỗi
Trang 32Hình 2.11 -2.12: Gắn led lên khung led cube 5x5x5
Trang 33Hì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
Trang 34Hì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:
Trang 35Hì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
Trang 36Hì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
Trang 37PHẦ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