Đồ án 2 GVHD: ThS Vũ Thế Đảng
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!
SVTH: Võ Quang Lộc
Trang 1
Bình Dương, Ngày 8 tháng 5 năm 2012.
Đồ án 2 GVHD: ThS Vũ Thế Đảng
LỜI NHẬN XÉT CỦA GIÁO VIÊN .................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... ....................................................................................................
SVTH: Võ Quang Lộc
Trang 2
Đồ án 2 GVHD: ThS Vũ Thế Đảng
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
SVTH: Võ Quang Lộc
Trang 3
TÀI LIỆU THAM KHẢO ............................................................................................. 38
Đồ án 2 GVHD: ThS Vũ Thế Đảng
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
SVTH: Võ Quang Lộc
Trang 4
Võ Quang Lộc
Đồ án 2 GVHD: ThS Vũ Thế Đảng
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
Hình 1.1: Sơ đồ chân IC AT89s52
SVTH: Võ Quang Lộc
Trang 5
Sơ đồ chân
Đồ án 2 GVHD: ThS Vũ Thế Đảng
Hình 1.2: Sơ đồ khối IC AT89s52
Sơ đồ khối
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
SVTH: Võ Quang Lộc
Trang 6
- 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
Đồ án 2 GVHD: ThS Vũ Thế Đảng
- 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.
Hình 1.3: Chức năng các chân port 1
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:
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
Hình 1.4: Chức năng các chân port 3
SVTH: Võ Quang Lộc
Trang 7
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:
Đồ án 2 GVHD: ThS Vũ Thế Đảng
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.
Hình 1.5: Sơ đồ mạch Reset
SVTH: Võ Quang Lộc
Trang 8
Sơ đồ mạch reset:
Đồ án 2 GVHD: ThS Vũ Thế Đảng
Hình 1.6: Trạng thái các thanh ghi sau khi Reset
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.
SVTH: Võ Quang Lộc
Trang 9
Sơ đồ mạch kết nối thạch anh:
Hình 1.7: Sơ đồ mạch kết nối thạch anh
Đồ án 2 GVHD: ThS Vũ Thế Đảng
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.
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 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.
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.
SVTH: Võ Quang Lộc
Trang 10
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.
F2 F1 F0 B
GVHD: ThS Vũ Thế Đảng Đồ án 2
FF F0 F7 F6 F5 F4 F 3
E2 E1 E0 ACC
RAM đa dụng
E0 E7 E6 E5 E4 E 3
-
- BC BB BA B9 B8 IP
AC AB AA A9 A8 IE
TH1 TH0 TL1 TL0 TMOD
30 2F 7F 7E 7D 7C 7B 7A 79 78 2E 77 76 75 74 73 72 71 70 2D 6F 6E 6D 6C 6B 6A 69 68 2C 67 66 65 64 63 62 61 60 2B 5F 5E 5D 5C 5B 5A 59 58 2A 57 56 55 54 53 52 51 50 29 4F 4E 4D 4C 4B 4A 49 48 28 47 46 45 44 43 42 41 40 27 3F 3E 3D 3C 3B 3A 39 38 26 37 36 35 34 33 32 31 30 25 2F 2E 2D 2C 2B 2A 29 28 24 27 26 25 24 23 22 21 20 23 1F 1E 1D 1C 1B 1A 19 18 22 17 16 15 14 13 12 11 10 21 0F 0E 0D 0C 0B 0A 09 08 20 07 06 05 04 03 02 01 00 1F Bank 3
D0 D7 D6 D5 D4 D3 D2 D1 D0 PSW B8 - B0 B7 B6 B5 B4 B3 B2 B1 B0 P.3 A8 AF A0 A7 A6 A5 A4 A3 A2 A1 A0 P2 99 không đƣợc địa chỉ hóa bit SBUF 98 9F 9E 9D 9C 9B 9A 99 98 SCON 90 97 96 95 94 93 92 91 90 P1 8D không đƣợc địa chỉ hóa bit 8C không đƣợc địa chỉ hóa bit 8B không đƣợc địa chỉ hóa bit 8A không đƣợc địa chỉ hóa bit 89
88 8F 8E 8D 8C 8B 8A 89 88 TCON 87 không đƣợc địa chỉ hóa bit PCON 83 không đƣợc địa chỉ hóa bit DPH 82 không đƣợc địa chỉ hóa bit DPL 81 không đƣợc địa chỉ hóa bit SP 80 87 86 85 84 83 82 81 80 P0
18 17 Bank 2 10 0F Bank 1 08 07 Bank thanh ghi 0 00 (mặc định cho R0-R7)
7F
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
SVTH: Võ Quang Lộc
Trang 11
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.
Đồ án 2 GVHD: ThS Vũ Thế Đảng
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
Khi GATE = 1, Timer chỉ làm việc khi INT = 1 7 GATE 1
Bit đếm sự kiện hay ghi giờ 6 C/T 1
C/T = 1: Đếm sự kiện
C/T = 0: Ghi giờ đều đặn
Bit chọn Mode của Timer 1 5 M1 1
Bit chọn Mode của Timer 1 4 M0 1
3 0 GATE 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 Description Bit Address
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
SVTH: Võ Quang Lộc
Trang 12
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
Đồ án 2 GVHD: ThS Vũ Thế Đảng
TCON.5 TF0 Cờ báo tràn Timer 0 8DH
TCON.4 TR0 Bit điều khiển Timer 0 hoạt động 8CH
8BH Cờ ngắt do Timer 1. TCON.3 IE1
8AH Cờ ngắt ngoài 1. TCON.2 IT1
89H Cờ ngắt do Timer 0 TCON.1 IE0
88H Cờ ngắt ngoài 0 TCON IT0
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
SVTH: Võ Quang Lộc
Trang 13
- 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.
Đồ án 2 GVHD: ThS Vũ Thế Đảng
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
SVTH: Võ Quang Lộc
Trang 14
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.
Đồ án 2 GVHD: ThS Vũ Thế Đảng
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
SVTH: Võ Quang Lộc
Trang 15
Hình 1.18: Chế độ tự nạp lại của Timer 2
Đồ án 2 GVHD: ThS Vũ Thế Đảng
- Chế độ phát tần số Baud
SVTH: Võ Quang Lộc
Trang 16
Hình 1.19: Chế độ phát tần số Baud của Timer 2
Đồ án 2 GVHD: ThS Vũ Thế Đảng
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
SVTH: Võ Quang Lộc
Trang 17
1.2.3 Cơ sở tính toán chọn linh kiện:
Đồ án 2 GVHD: ThS Vũ Thế Đảng
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).
chọn Rled = 220.
Tính toán chọn điện trở hạn dòng cho led: Ta có:
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ó:
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.
(
)
Mà
Vậy ta có thể chọn RB=1k; 1,2 k;; 1,5 k;;1,8 k;; 2,2 k;
SVTH: Võ Quang Lộc
Trang 18
Tính toán chọn điện trở RB: khi transisotr dẫn bảo hòa VBE=0,7V; VCE=0,2V.
Đồ án 2 GVHD: ThS Vũ Thế Đảng
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ý
SVTH: Võ Quang Lộc
Trang 19
Hình 2.1: Sơ đồ nguyên lý mạch điều khiển Led Cube 5x5x5
Đồ án 2 GVHD: ThS Vũ Thế Đảng
2.1.2 Sơ đồ mạch in
SVTH: Võ Quang Lộc
Trang 20
Hình 2.2: Sơ đồ mạch in mạch điều khiển Led Cube 5x5x5
Đồ án 2 GVHD: ThS Vũ Thế Đảng
2.1.3 Mạch hoàn thành thực tế:
SVTH: Võ Quang Lộc
Trang 21
Hình 2.4: Mạch điều khiển Led Cube 5x5x5 thực tế
Đồ án 2 GVHD: ThS Vũ Thế Đảng
2.2 Thiết kế phần mềm 2.2.1 Lƣu đồ:
SVTH: Võ Quang Lộc
Trang 22
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
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc
Trang 23
Hình 2.7: Lưu đồ hiệu ứng Tỏa ra Hình 2.8: Lưu đồ hiệu ứng Nước dâng
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc
Trang 24
Hình 2.9: Lưu đồ hiệu ứng Quay đứng
Đồ án 2 GVHD: ThS Vũ Thế Đảng
SVTH: Võ Quang Lộc
Trang 25
Hình 2.10: Lưu đồ hiệu ứng Lượn sóng
Đồ án 2 GVHD: ThS Vũ Thế Đảng
2.2.2 Chƣơng Trình
c1 = P1^0; c2 = P1^1; c3 = P1^2; c4 = P1^3; c5 = P1^4; c6 = P1^5; c7 = P1^6; c8 = P1^7; c9 = P3^0; c10 = P3^1; c11 = P3^2; c12 = P3^3; c13 = P3^4; c14 = P3^5; c15 = P3^6; c16 = P3^7; c17 = P2^0; c18 = P2^1; c19 = P2^2; c20 = P2^3; c21 = P2^4; c22 = P2^5; c23 = P2^6; c24 = P2^7; c25 = P0^6;
SVTH: Võ Quang Lộc
Trang 26
#include
Đồ án 2 GVHD: ThS Vũ Thế Đảng
{ unsigned int i; for(i=0;i<=t;i++); }
{ P1=P2=P3=0xff;c25=1; }
{ P0=P1=P2=P3=0xff; }
{ 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
xoa(); }
SVTH: Võ Quang Lộc
Trang 27
//======================================= void delay(unsigned int t) //--------------------------------------- void tatcacot() { P1=P2=P3=0x00;c25=0; } //--------------------------------------- void xoatatcacot() //--------------------------------------- void xoa() //--------------------------------------- void toara(unsigned int time, unsigned char n) =c16=c11=c6=0;delay(time); }
Đồ án 2 GVHD: ThS Vũ Thế Đảng
{ P0=M[j]; tatcacot(); delay(time); }
{ for(j=0;j<=4;j++) }
{ unsigned char M[5]={0xfe,0xfd,0xfb,0xf7,0xef}; xoa(); for(i=0;i<=n;i++) }
{
for(i=0;i SVTH: Võ Quang Lộc Trang 28 //----------------------------------------
void nuocdang(unsigned int time, unsigned char n)
//----------------------------------------
void choptat(unsigned int time,unsigned char n)
//----------------------------------------
void quaydung(unsigned int time,unsigned char n) {
for(i=0;i Đồ án 2 GVHD: ThS Vũ Thế Đảng 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);
} } {
for(i=0;i SVTH: Võ Quang Lộc Trang 29 //----------------------------------------
void luonsong(unsigned int time,unsigned char n)
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); Đồ án 2 GVHD: ThS Vũ Thế Đảng } { for(k=0;k