Lời nói đầu Quảng báo sử dụng nhiều lĩnh vực đời sống xã hội Hầu đâu ta ũcng thấy bảng quảng cáo với nhiều hình thức khác Với mục đích làm bật lên sản phẩm trời sáng hay tối người ta sử dụng rộng rãi bảng quảng cáo điện tử Bảng quảng báo điện tử có nhiều loại , sử dụng nhiều lĩnh vực khác , có khả hiển thị hình ảnh màu sắc phong phú Tuy nhiên điều kiện có hạn nên đề tài em mong muốn tìm hiểu nguyên lý thiết kế bảng quảng cáo điện tử có khả điều khiển hiển thị kí tự theo mong muốn Đầu tiên chúng em xin cảm ơn hướng dẫn bảo tận tình thầy Ngơ Thanh Hải Thầy cung cấp cho em tài liệu đề tài giúp em dễ dàng h ơn trình tìm hiểu đề tài Trong trình làm thực đề tài thầy bảo em gặp khó khăn để luận văn hồn thành Em xin cảm ơn thầy cô giáo khoa tận tình dạy dỗ em năm học vừa qua,đã giúp em có kiến thức sở để làm đề tài Sinh viên Huỳnh Hoài Nam NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Tp.Hồ Chí Minh, ngày tháng năm NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN Tp.Hồ Chí Minh, ngày tháng năm TĨM TẮT ĐỀ TÀI Nội dung đề tài việc điều khiển hiển thị led ma trận Khi điều khiển hiển thị led ma trận có phương pháp cấp nguồn theo hàng hay cột Đề tài tập trung trình bày phương pháp quét hàng cấp liệu cột Việc cấp nguồn cho hàng thực cách sử dụng Tip 127 transitor PNP ghép darlington, cấp nguồn cho cột hàng thực cách sử dụng ghi dịch 74HC595 Dữ liệu mã hóa cấp nguồn cho hàng cột gửi ghi dịch thông qua việc sử dụng vi điều khiển Việc điều khiển thời gian cấp nguồn cho ma trận tạo tốc độ quét thực cách sử dụng định thời Phần cuối đồ án trình bày cách tạo số hiệu ứng cho ma trận led sử dụng phương pháp quét hàng cấp liệu cột MỤC LỤC Lời nói đầu Nhận xét giảng viên hướng dẫn Nhận xét giảng viên phản biện Tóm tắt đề tài .4 Mục lục .5 Danh sách hình vẽ .9 Danh sách bảng biểu Danh sách công thức Phần mở đầu 10 Chương : Giới thiệu chung 111 1.1 Quảng cáo 111 1.2 Bảng led quảng báo 122 1.2.1 Một số đặc trưng 122 1.1.2 Quảng cáo led .133 1.3 Giới thiệu chung hệ thống 16 Chương : Giới thiệu vi điều khiển AVR Atmega32 188 2.1 Giới thiệu vi điều khiển họ AVR 188 2.1.1 Một số đặc trưng 188 2.1.2 Một số đặc trưng 19 2.1.3 Một số đặc trưng 21 2.1.4 Một số họ vi diều khiển AVR 22 2.2 Sơ vi điều khiển Atmega32 22 2.2.1 Đặc trưng 24 2.2.2 CPU 26 2.2.3 Bộ nhớ 31 Chương : Nguyên tắc điều khiển led ma trận 36 3.1 Cấu trúc nguyên lý cấp nguồn cho led ma trận .366 3.2 Nguyên tắc tạo font chữ hiển thị 37 3.3 Điều khiển hiển thị led ma trận 38 Chương 4: Điều khiển cấp nguồn cho led ma trận 41 4.1 Điều khiển quét hàng cho ma trận 41 4.1.1 Chức ULN2803 41 4.1.2 Sử dụng Tip127 để cấp nguồn cho 16 hàng ma trận 42 4.2 Điều khiển xuất liệu cột dùng 74HC595 44 4.2.1 Chức 74HC595 .44 4.2.2 Sử dụng 74HC595để cấp nguồn cho cột ma trận 45 Chương5: Tạo tần số quét cho ma trận 47 5.1 Timer1 Atmega16 47 5.1.1 Một số chế độ hoạt động 47 5.1.2 Các ghi 51 5.2 Tạo tần số quét ma trận .56 5.3 Kết luận 57 Chương 6: Hiệu ứng hiển thị bảng led 58 6.1 Bảng led hiển thị 58 6.2 Dịch trái, phải 59 6.3 Dịch lên xuống 62 6.4 Hiển thị kí tự 64 6.5 Kết luận 67 Kết luận 68 Tài liệu tham khảo 69 Phụ lục A: Sơ đồ ghép nối hệ thống điều khiển led ma trận .70 Phụ lục B: Mã chương trình nạp cho vi điều khiển 74 DANH SÁCH CÁC HÌNH VẼ Hình - Sơ đồ khối hệ thống 16 Hình - Cấu trúc nhớ AVR .19 Hình - Cấu trúc bên AVR 20 Hình - Sơ đồ khối Atmega32 23 Hình - Sơ đồ chân Atmega32 25 Hình - Sơ đồ khối cấu trúc Atmega32 .27 Hình - Các ghi hỗ trợ làm việc AVR CPU 29 Hình - Sơ đồ nhớ process .32 Hình - Sơ đồ nhớ liệu 33 Hình - Những chu kỳ truy xuất SRAM .33 Hình - Led ma trận chung anot 36 Hình - Lưu đồ thuật toán cấp nguồn cho ma trận led .39 Hình - Sơ đồ cấu tạo IC ULN2803 41 Hình - Chức hoạt động ULN2803 .42 Hình - Ghép nối Tip127 để quét hàng ma trận 43 Hình - Sơ đồ chân 74HC595 .44 Hình - Ghép nối tiếp IC 74HC595 .46 Hình - Giản đồ thời gian chế độ CTC .48 Hình - Giản đồ thời gian chế độ Fast PWM .49 Hình - Giản đồ thời gian chế độ Phase Corect PWM 51 Hình - Mơ hiệu ứng dịch trái 59 Hình - Lưu đồ thuật tốn hiệu ứng dịch trái .60 Hình - Mơ hiệu ứng dịch lên 62 Hình - Lưu đồ thuật toán hiệu ứng dịch lên 63 Hình - Mô hiệu ứng hiển thị chữ 65 Hình - Lưu đồ thuật toán hiệu ứng hiển thị tưng ký tự .66 Hình A - Khối cấp nguồn .70 Hình A - Khối quét hàng 70 Hình A - Khối xuất liệu cột .71 Hình A - Khối xử lý trung tâm quét hàng xuất liệu cột 72 Hình A - Khối giao tiếp máy tính 73 Hình A - Khối tích hợp thời gian 73 DANH SÁCH CÁC BẢNG BIỂU Bảng - Tạo font chữ cho kí tự 37 Bảng - Chức hoạt động 74HC595 .45 Bảng - Thiết lập chế độ đầu cho timer 52 Bảng - Các chế độ điều chế xung 52 Bảng - Lựa chọn tần số cho đếm 53 Bảng - Tạo tốc độ quét 60 Hz cho ma trận 56 DANH SÁCH CÁC CƠNG THỨC Cơng thức - Quan hệ tần số đầu với tần số timer chế dộ CTC 48 Công thức - Độ phân giải PWM 49 Công thức - Quan hệ tần số đầu với tần số timer chế độ Fast PWM 50 THIẾT KẾ VÀ THI CƠNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M PHẦN MỞ ĐẦU Quảng cáo vấn đề đóng vai trị quan trọng phát triển công ty, doanh nghiệp hay chí cửa hàng Quảng cáo tốt đem lại nhiều lợi ích to lớn Cũng mà khơng ngạc nhiên hàng năm doanh nghiệp đầu tư nhiều vào vấn đề Một biện pháp ưa dùng sử dụng bảng quảng cáo đèn LED, đơn giản, đại, bắt mắt, chi phí hợp lý tính hiệu Những bảng thơng tin, cổng chào hay bảng LED quảng cáo với màu sắc sặc sỡ, bắt mắt, gây nhiều ý hẳn khơng cịn xa lạ người dân, người dân đô thị Quảng cáo đèn LED ứng dụng rộng rãi nhiều ngành, nhiều lĩnh vực Nó khơng giới hạn việc hiển thị dòng chữ, biển hiệu nhấp nháy mà hiển thị hình ảnh đồ họa, hình ảnh full colour đặc biệt hiển thị video Nó khơng giới hạn việc quảng cáo nhà (indoor), bán trời (semi – outdoor ) mà cịn quảng cáo trời, ban ngày với độ sáng độ sắc nét cao (Chương I giới thiệu chi tiết vấn đề quảng cáo đèn LED) Tuy nhiên hạn c hế nhiều mặt nên đề tài em giới hạn việc hiển thị dòng chữ truyền từ IC Atmega32 số hiệu ứng hiển thị Trong chương đề tài em giới thiệu chung quảng cáo bảng LED, giới thiệu hệ thống sơ lược vi điều khiển AVR họ ATMega 32 - Chương trình bày nguyên tắc điều khiển ma trận led - Chương trình bày cề cách sử dụng IC thơng dụng để điều khiển cấp nguồn cho ma trận led - Chương trình bày cách tạo tần số quét cho ma trận sử dụng timer - Chương trình bày giải thuật tạo số hiệu ứng hiển thị kí tự ma trận led Đề tài hồn thành điều khiển hiển thị ký tự ma trận led kích thước 0,2 x 1,2m , có khả lựa chọn màu sắc, tốc độ quét, hiệu ứng hiển thị cho ma trận đồng thời có khả mở rộng cho ma trận kích thước lớn 10 THIẾT KẾ VÀ THI CƠNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M break; case '§': return 26; break; case 'a': return 27; break; case 'b': return 28; break; case 'c': return 29; break; case 'd': return 30; break; case 'e': return 31; break; case 'f': return 32; break; case 'g': return 33; break; case 'h': return 34; break; case 'i': return 35; break; case 'j': return 36; break; case 'k': return 37; break; case 'l': return 38; break; case 'm': return 39; break; 87 THIẾT KẾ VÀ THI CƠNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M case 'n': return 40; break; case 'o': return 41; break; case 'p': return 42; break; case 'q': return 43; break; case 'r': return 44; break; case 's': return 45; break; case 't': return 46; break; case 'u': return 47; break; case 'v': return 48; break; case 'w': return 49; break; case 'x': return 50; break; case 'y': return 51; break; case 'z': return 52; break; case 'đ': return 53; break; case 'á': 88 THIT K V THI CƠNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M return 54; break; case 'à': return 55; break; case 'ả': return 56; break; case '·': return 57; break; case '¹': return 58; break; case 'ă': return 59; break; case 'ắ': return 60; break; case '»': return 61; break; case '¼': return 62; break; case 'ẵ': return 63; break; case 'ặ': return 64; break; case '©': return 65; break; case 'Ê': return 66; break; case 'Ç': return 67; break; case 'È': return 68; 89 THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M break; case 'É': return 69; break; case 'Ë': return 70; break; case 'Ð': return 71; break; case 'Ì': return 72; break; case 'Ỵ': return 73; break; case 'Ï': return 74; break; case 'Ñ': return 75; break; case 'ª': return 76; break; case 'Õ': return 77; break; case 'Ị': return 78; break; case 'Ĩ': return 79; break; case 'Ơ': return 80; break; case 'Ư': return 81; break; case 'Ý': return 82; break; 90 THIẾT KẾ VÀ THI CƠNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M case '×': return 83; break; case 'Ø': return 84; break; case 'Ü': return 85; break; case 'Þ': return 86; case 'ã': return 87; break; case 'ß': return 88; break; case 'á': return 89; break; case 'â': return 90; break; case 'ä': return 91; break; case '«': return 92; break; case 'è': return 93; break; case 'å': return 94; break; case 'ổ': return 95; break; case 'ỗ': return 96; break; case 'é': return 97; 91 THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M break; case '¬': return 98; break; case 'í': return 99; break; case 'ê': return 100; break; case 'ë': return 101; break; case 'ì': return 102; break; case 'ỵ': return 103; break; case 'ó': return 104; break; case 'ï': return 105; break; case 'đ': return 106; break; case 'ị': return 107; break; case 'ô': return 108; break; case '': return 109; break; case 'ø': return 110; break; case 'õ': return 111; break; 92 THIẾT KẾ VÀ THI CƠNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M case 'ư': return 112; break; case '÷': return 113; break; case 'ù': return 114; break; case 'ý': return 115; break; case 'ú': return 116; break; case 'û': return 117; break; case 'ỹ': return 118; break; case 'ỵ': return 119; break; case '0': return 120; break; case '1': return 121; break; case '2': return 122; break; case '3': return 123; break; case '4': return 124; break; case '5': return 125; break; case '6': 93 THIẾT KẾ VÀ THI CƠNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M return 126; break; case '7': return 127; break; case '8': return 128; break; case '9': return 129; break; case '!': return 130; break; case '@': return 131; break; case '#': return 132; break; case '$': return 133; break; case '%': return 134; break; case '&': return 135; break; case '*': return 136; break; case '(': return 137; break; case ')': return 138; break; case '{': return 139; break; case '}': return 140; 94 THIẾT KẾ VÀ THI CÔNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M break; case '+': return 141; break; case ':': return 142; break; case ';': return 143; break; case ',': return 144; break; case '.': return 145; break; case '?': return 146; break; case '': return 148; break; case '[': return 149; break; case ']': return 150; break; case '-': return 151; break; case '=': return 152; break; case '_': return 153; break; case ' ': return 154; break; 95 THIẾT KẾ VÀ THI CƠNG BẢNG QUANG BÁO KÍCH THƯỚC 0.2 X 1.2M } } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// void shift_left(unsigned int *byte0,unsigned int *byte1,unsigned int *byte2,unsigned int *byte3,unsigned int *byte4,unsigned int *byte5,unsigned int *byte6,unsigned int *byte7,unsigned int *byte8) { *byte8