Đề tài Nghiên cứu xây dựng Bảng quảng cáo từ LED Ma trận

LỜI NÓI ĐẦU Quảng cáo luôn là một trong các vấn đề đóng vai trò quan trọng trong sự phát triển của một công ty, doanh nghiệp hay thậm chí là của một cửa hàng. Quảng cáo tốt sẽ đem lại nhiều lợi ích to lớn. Cũng chính vì vậy mà không ngạc nhiên khi hàng năm các doanh nghiệp đã đầu tư rất nhiều vào vấn đề này. Một trong những biện pháp được ưa dùng hiện nay đó là sử dụng bảng quảng cáo bằng đèn LED, vì sự đơn giản, hiện đại, bắt mắt, chi phí hợp lý cũng như tính hiệu quả của nó. Những bảng thông tin, cổng chào hay những bảng LED quảng cáo với màu sắc sặc sỡ, bắt mắt, gây nhiều chú ý chắc hẳn đã không còn xa lạ đối với người dân, nhất là người dân đô thị. Quảng cáo bằng đèn LED hiện nay được ứng dụng rất rộng rãi trong nhiều ngành, nhiều lĩnh vực. Nó không chỉ giới hạn bởi việc hiển thị các dòng chữ, các biển hiệu nhấp nháy mà còn có thể hiển thị các hình ảnh đồ họa, các hình ảnh đầy đủ màu sắc và đặc biệt là có thể hiển thị được cả video. Nó cũng không chỉ giới hạn trong việc quảng cáo trong nhà (indoor), bán ngoài trời (semi – outdoor ) mà còn có thể quảng cáo ở cả ngoài trời, ngay giữa ban ngày với độ sáng và độ sắc nét cao. Do vậy, em được thầy giáo Nguyễn Xuân Chiến giao cho đề tài: ”Nghiên cứu xây dựng Bảng quảng cáo từ LED Ma trận” làm đề tài thực tập tốt nghiệp MỤC LỤC LỜI NÓI ĐẦU . - 1 - CHƯƠNG I. ĐẶT VẤN ĐỀ VÀ NHIỆM VỤ . - 2 - 1.1. Lý do chọn đề tài - 2 - 1.2. Mục đích và yêu cầu 1.2.1. Mục đích. 1.2.2. Yêu cầu. 1.3. Đối tượng nghiên cứu. - 2 - 1.4. Phương pháp nghiên cứu. - 2 - CHƯƠNG 2. TỔNG QUAN VỀ PHƯƠNG PHÁP ĐIỀU KHIỂN LED ĐƠN - 3 - 2.1. Khái quát chung về LED - 3 - 2.1.1. Lịch sử hình thành đèn LED - 3 - 2.1.2. Khái niệm về LED - 3 - 2.1.3. Hoạt động của đèn LED - 3 - 2.1.4. Ưu nhược điểm của đèn LED - 3 - 2.1.5. Ứng dụng của đèn LED - 3 - 2.2. Phương pháp điều khiển đèn LED - 3 - 2.2.1. Cơ sở lý thuyết - 3 - 2.2.2. Giới thiệu chung về hệ thống. - 3 - 2.2.3. Sơ đồ khối của mạch hiển thị dùng ma trận LED - 3 - 2.2.4. Nhiệm vụ của các khối - 3 - CHƯƠNG III. THIẾT KẾ PHẦN CỨNG . - 3 - 3.1. Phân tích hệ thống. - 3 - 3.1.1. Nguyên lý hoạt động của bảng điện tử. - 3 - 3.1.2. Phân tích hệ thống. - 3 - 3.2. Thiết kế tổng quan hệ thống. - 3 - 3.2.1. Thiết kế tổng quan phần cứng. - 3 - 3.2.2. Thiết kế phần cứng. - 3 - CHƯƠNG 4. THIẾT KẾ PHẦN MỀM - 3 - 4.1. Lưu đồ thuật toán. - 1 - 4.2. Phần mềm - 3 - CHƯƠNG 5. KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN . - 3 - 5.1. Kết Luận. - 3 - 5.2. Hướng phát triển. - 3 -

doc47 trang | Chia sẻ: lvcdongnoi | Lượt xem: 6470 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Nghiên cứu xây dựng Bảng quảng cáo từ LED Ma trận, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI NÓI ĐẦU ******O()O****** Quảng cáo luôn là một trong các vấn đề đóng vai trò quan trọng trong sự phát triển của một công ty, doanh nghiệp hay thậm chí là của một cửa hàng. Quảng cáo tốt sẽ đem lại nhiều lợi ích to lớn. Cũng chính vì vậy mà không ngạc nhiên khi hàng năm các doanh nghiệp đã đầu tư rất nhiều vào vấn đề này. Một trong những biện pháp được ưa dùng hiện nay đó là sử dụng bảng quảng cáo bằng đèn LED, vì sự đơn giản, hiện đại, bắt mắt, chi phí hợp lý cũng như tính hiệu quả của nó. Những bảng thông tin, cổng chào hay những bảng LED quảng cáo với màu sắc sặc sỡ, bắt mắt, gây nhiều chú ý chắc hẳn đã không còn xa lạ đối với người dân, nhất là người dân đô thị. Quảng cáo bằng đèn LED hiện nay được ứng dụng rất rộng rãi trong nhiều ngành, nhiều lĩnh vực. Nó không chỉ giới hạn bởi việc hiển thị các dòng chữ, các biển hiệu nhấp nháy mà còn có thể hiển thị các hình ảnh đồ họa, các hình ảnh đầy đủ màu sắc và đặc biệt là có thể hiển thị được cả video. Nó cũng không chỉ giới hạn trong việc quảng cáo trong nhà (indoor), bán ngoài trời (semi – outdoor ) mà còn có thể quảng cáo ở cả ngoài trời, ngay giữa ban ngày với độ sáng và độ sắc nét cao. Do vậy, em được thầy giáo Nguyễn Xuân Chiến giao cho đề tài:”Nghiên cứu xây dựng Bảng quảng cáo từ LED Ma trận ” làm đề tài thực tập tốt nghiệp. Nhiệm vụ thiết kế : Bảng ma trận LED hiển thị chữ 1 màu đỏ chạy hiệu ứng từ phải qua trái. Hiển thị được đồng hồ kim có cả giờ,phút, giây. Trong thời gian làm đồ án em luôn nhận được sự giúp đỡ chỉ bảo tận tình của các thầy cô giáo trong khoa Điện tử, đặc biệt là thầy Nguyễn Xuân Chiến và các bạn sinh viên khác cùng với sự nỗ lực hết mình, em đã hoàn thành bản đồ án một cách tốt nhất. Tuy nhiên do trình độ còn hạn chế và thời gian có hạn nên bản đồ án của em hẳn vẫn còn nhiều thiếu sót. Em kính mong nhận được sự đóng góp của các thầy cô giáo và các bạn để bản đồ án của em được hoàn thiện hơn. Em xin chân thành cám ơn! Sinh viên thực hiện: Nguyễn Văn Giới. Nhận xét của giáo viên hướng dẫn Hà nội, Ngày… tháng 05 năm 2011 GV hướng dẫn: CHƯƠNG 1. ĐẶT VẤN ĐỀ VÀ NHIỆM VỤ 1.1. Lý do chọn đề tài Điện – Điện tử là một trong những lĩnh vực rất phát triển và đánh giá được tốc độ phát triển về kinh tế cũng như khoa học kĩ thuật của một đất nước. Việc phát triển, chế tạo các lọai Chip, các lọai IC tích hợp thông dụng, có ứng dụng nhiều trong thực tế có vai trò to lớn trong quá trình phát triển khoa học kĩ thuật liên quan đến kĩ thuật điện – điện tử - tự động hóa. Ở Việt Nam công nghệ chế tạo các lọai Chip vi điều khiển, các công nghệ tích hợp IC chưa được chú trọng phát triển, phần lớn còn ứng dụng và phụ thuộc nhiều vào các công nghệ tiên tiến của các nước phát triển như: Mỹ, Nhật Bản … đặc biệt là tập đoàn điện tử khổng lồ Intel… Vì vậy việc học tập, tìm hiểu nghiên cứu lại những công nghệ phát triển của các nước bạn có ý nghĩa đặc biệt quan trọng đối với người học và đóng vai trò không nhỏ trong quá trình phát triển nền giáo dục của nước nhà. 1.2. Đối tượng nghiên cứu Đối tượng nghiên cứu của đồ án môn học nói riêng và các môn học chuyên ngành Điện tử nói chung là các sinh viên theo học, tìm hiểu và nghiên cứu trong lĩnh vực Điện tử, đồng thời là tất cả những người yêu thích chuyên ngành Điện tử, vì đây là môn học cơ bản làm nền tảng, trang bị kiến thức cho người học để có thể tự tìm hiểu, nghiên cứu các tài liệu học tập cho các môn học tiếp theo, đồng thời cũng cố kiến thức các môn học đã được học trong thời gian theo học tại trường. 1.3. Phương pháp nghiên cứu Phương pháp nghiên cứu đề tài của đồ án môn học : Nghiên cứu xây dựng Bảng quảng cáo từ LED ma trận chủ yếu bằng thực nghiệm. Vì môn học có tính chất lý thuyết, và liên quan mật thiết đến thực tế nên việc tìm kiếm tài liệu tiếng Việt liên quan đến đề tài là rất khó khăn nên quá trình hòan thành đồ án môn học chủ yếu bằng các tài liệu do giáo viên hướng dẫn cung cấp cùng sự giúp đỡ của bạn bè, các sinh viên khóa trên và một số tài liệu trên mạng Internet. CHƯƠNG 2. TỔNG QUAN VỀ PHƯƠNG PHÁP ĐIỀU KHIỂN LED MA TRẬN 2.1. Khái quát chung về LED 2.1.1. Lịch sử hình thành đèn LED Cách đây 13 năm, đèn LED quả là không tưởng cho tới khi khoa học công nghệ xuất hiện. Nó đã giải quyết mọi khó khăn còn vướng mắc. Kể từ đó, đèn LED đã tạo nên cuộc cách mạng nhanh chóng. Chúng hiện đang được lắp đặt trong rất nhiều thiết bị, bao gồm cả hệ thống chiếu sáng của bể bơi, đèn đọc… Đèn LED đã có mặt từ những thập niên 60, nhưng mà hầu hết chỉ dùng hiển thị thời gian của đồng hồ báo thức hay dung lượng pin của máy ghi hình. Một thời gian dài, đèn LED đã không được dùng làm nguồn sáng bởi vì chúng chỉ cho ánh sáng đỏ, xanh lá cây và vàng mà không cho ánh sáng trắng. Đến năm 1993, công ty hoá chất Nichia của Nhật Bản cho ra đời loại đèn LED xanh dương, là sự kết hợp giữa ánh sáng đỏ và xanh lá cây để cho ra ánh sáng trắng. Sự kiện này đã mở ra một lĩnh vực mới về công nghệ LED. Đèn LED dựa trên công nghệ bán dẫn ngày càng tăng về độ chiếu sáng, hiệu suất và tuổi thọ, giống như bộ xử lý của máy tính, phát triển ngày càng nhanh và giá thành ngày càng giảm theo thời gian. Những năm 1960: Phát minh ra đèn Led ánh sáng đỏ. Những năm 1970: Phát minh ra Led 7 đoạn. Những năm 1980: Phát minh ra led xanh lá cây. Những năm 1990: Phát minh ra led xanh dương là cơ sở để phát triển đèn led ánh sáng trắng. Những năm 2000: Thời điểm bùng nổ đèn Led chiếu sáng. 2.1.2. Khái niệm về LED LED (viết tắt của Light Emitting Diode, có nghĩa là điốt phát quang) là các điốt có khả năng phát ra ánh sáng hay tia hồng ngoại, tử ngoại. Cũng giống như điốt, LED được cấu tạo từ một khối bán dẫn loại p ghép với một khối bán dẫn loại n. 2.1.3. Hoạt động của đèn LED Hoạt động của đèn LED giống với nhiều loại điốt bán dẫn. Khối bán dẫn loại p chứa nhiều lỗ trống tự do mang điện tích dương nên khi ghép với khối bán dẫn n (chứa các điện tử tự do) thì các lỗ trống này có xu hướng chuyễn động khuếch tán sang khối n. Cùng lúc khối p lại nhận thêm các điện tử (điện tích âm) từ khối n chuyển sang. Kết quả là khối p tích điện âm (thiếu hụt lỗ trống và dư thừa điện tử) trong khi khối n tích điện dương (thiếu hụt điện tử và dư thừa lỗ trống). Ở biên giới hai bên mặt tiếp giáp, một số điện tử bị lỗ trống thu hút và khi chúng tiến lại gần nhau, chúng có xu hướng kết hợp với nhau tạo thành các nguyên tử trung hòa. Quá trình này có thể giải phóng năng lượng dưới dạng ánh sáng (hay các bức xạ điện từ có bước sóng gần đó). Tùy theo mức năng lượng giải phóng cao hay thấp mà bước sóng ánh sáng phát ra khác nhau (tức màu sắc của LED sẽ khác nhau). Mức năng lượng (và màu sắc của LED) hoàn toàn phụ thuộc vào cấu trúc năng lượng của các nguyên tử chất bán dẫn. LED thường có điện thế phân cực thuận cao hơn điốt thông thường, trong khoảng 1,5 đến 3V. Nhưng điện thế phân cực nghịch ở LED thì không cao. Do đó, LED rất dễ bị hư hỏng do điện thế ngược gây ra. Loại LED điện thế phân cực thuận: Đỏ: 1,4 - 1,8V. Vàng: 2 - 2,5V. Xanh lá cây: 2 - 2,8V. 2.1.4. Ưu nhược điểm của đèn LED Ưu điểm + Tuổi thọ cao: Hiện tại đèn LED cho ánh sáng trắng có tuổi thọ lên tới 50,000 giờ sử dụng liên tục gấp 50 lần so với bóng đèn 60W thông thường. Nếu sử dụng 10 giờ mỗi ngày, thì bóng có thể sử dụng trong 23 năm. + Lợi ích kinh tế: Đèn LED tiết kiệm 70-80% năng lượng so với các loại bóng đèn thông thường. + Tốt cho thị lực của người sử dụng: Ánh sáng của đèn LED dịu mát, hiệu ứng chói mắt thấp và hoàn toàn không nhấp nháy hư của bóng huỳnh quang, vốn bị coi là nguyên nhân gây ra bệnh đau nửa đầu và động kinh. + Ít ảnh hưởng tới môi trường: Do phần lớn năng lượng được chuyển hóa thành quang năng, do đó hiệu ứng nhiệt của đèn LED rất thấp. Nó hoàn toàn không tỏa nhiệt vào môi trường. Các nghiên cứu khoa học cho thấy một bóng LED trung bình tỏa ra một lượng nhiệt 3,4 btu/h (tương đương với 1W), trong khi một bóng đèn dây tóc có độ sáng tương đương tỏa ra nhiệt lượng khoảng 85 btu/h (tương đương với 25W). Ngoài ra bóng đèn LED không chứa thủy ngân và do đó sẽ ít gây hại cho môi trường hơn khi thải bỏ + Thời gian khởi động nhanh: Không giống với bóng đèn huỳnh quang, đèn LED gần như bật sáng ngay lập tức khi được cấp điện. + Bền vững đặc biệt: Do được làm từ chất liệu nhựa cao cấp nên đèn LED có thể chịu đựng các lực va đập mạnh, hoặc các ảnh hưởng bởi thời tiết như mưa , nắng … Nhược điểm + Chi phí sản xuất cao, lắp đặt thi công phức tạp, tốn nhiều thời gian hơn các loại bóng thông thường khác. + Toả nhiệt ở chân đèn, gây ảnh hưởng đến các bộ phận liền kề. + Chưa tiện dụng: Đèn LED vẫn là mặt hàng công nghệ cao phải mua từ đại lý của hãng, bộ điều khiển của hãng nào chỉ chạy với đèn LED của đúng hãng đấy mà thôi. 2.1.5. Ứng dụng của đèn LED + Đèn chiếu sáng sử dụng các LED phát ánh sáng trắng. + LED được dùng để làm bộ phận hiển thị trong các thiết bị điện, điện tử, đèn quảng cáo, trang trí, đèn giao thông. + Có nghiên cứu về các loại LED có độ sáng tương đương với bóng đèn bằng khí neon. Đèn chiếu sáng bằng LED được cho là có các ưu điểm như gọn nhẹ, bền, tiết kiệm năng lượng. + Các LED phát ra tia hồng ngoại được dùng trong các thiết bị điều khiển từ xa cho đồ điện tử dân dụng. + Ðèn LED  có thể được sử dụng trong nhiều lĩnh vực như đèn đọc, chiếu sáng bể bơi, nhất là cho chiếu sáng quảng cáo ngoài trời tại những nơi khó thay lắp, do có tuổi thọ cao hơn nhiều lần so với bóng đèn neon, đồng thời có nhiều mầu sắc phong phú như: đỏ, xanh lá, xanh da trời, mầu hổ phách... Ở nước ta, đèn LED được ứng dụng để tiết kiệm năng lượng, phục vụ cho quảng cáo, chiếu sáng đô thị. Ðiển hình là việc lắp đặt hệ thống đèn LED tại cầu sông Hàn và Thuận Phước (TP. Ðà Nẵng). 2.2. Phương pháp điều khiển đèn LED Theo yêu cầu của đồ án: Nghiên cứu xây dựng Bảng quảng cáo từ LED đơn. Hiển thị được dòng chữ chạy: “KHOA ĐIỆN TỬ”. Bảng hiển thị màu đỏ, với kích thước 16x64. Vì vậy ta chia ra làm 2 modul nhỏ với kích thước mỗi modul là 16x32 LED tương đương với một LED ma trận có kích thước 16x32. Sau đó ta điều khiển theo nguyên tắc của LED ma trận. 2.2.1. Cơ sở lý thuyết Dựa trên nguyên tắc như quét màn hình, ta có thể thực hiện việc hiển thị ma trận đèn bằng cách quét theo hàng và quét theo cột. Mỗi LED trên ma trận LED có thể coi như một điểm ảnh. Địa chỉ của mỗi điểm ảnh này được xác định đồng thời bởi mạch giải mã hàng và giải mã cột, điểm ảnh này sẽ được xác định trạng thái nhờ dữ liệu đưa ra từ bộ vi điều khiển AT 89C52. Như vậy tại mỗi thời điểm chỉ có trạng thái của một điểm ảnh được xác định. Tuy nhiên khi xác định địa chỉ và trạng thái của điểm ảnh tiếp theo thì các điểm ảnh còn lại sẽ chuyển về trạng thái tắt (nếu LED đang sáng thì sẽ tắt dần). Vì thế để hiển thị được toàn bộ hình ảnh của ma trận đèn, ta có thể quét ma trận nhiều lần với tốc độ quét rất lớn, lớn hơn nhiều lần thời gian kịp tắt của đèn. Mắt người chỉ nhận biết được tối đa 24 hình/s do đó nếu tốc độ quét rất lớn thì sẽ không nhận ra được sự thay đổi nhỏ của đèn mà sẽ thấy được toàn bộ hình ảnh cần hiển thị. Sơ đồ khối: Giải mã cột Ma trận đèn LED Dữ liệu Giải mã hàng Hình 2.1. Sơ đồ khối dùng ma trận LED Để thực hiện được quét hàng và quét cột thì ma trận LED được thiết kế như sau: + Các LED trên cùng một hàng sẽ được nối các chân dương với nhau. + Các LED trên cùng một cột sẽ được nối các chân âm với nhau như hình vẽ. Ta có thể mô phỏng một ma trận LED đơn giản 4x4 như sau: Hình 2.2. Sơ đồ thiết kế ma trận LED Trạng thái của một LED sẽ được quyết định bởi tín hiệu điện áp đi vào đồng thời cả 2 chân. Ví dụ để LED sáng thì điện áp 5v phải đưa vào chân dương và chân âm phải được nối đất, LED sẽ tắt khi không có điện áp đưa vào chân dương. Với đề tài này, chúng em chia ra làm 2 modul nhỏ với kích thước mỗi modul là 16x32 LED để hiển thị. Ta có sơ đồ nguyên lý của ma trận LED 8x8: Hình 2.3. Sơ đồ nguyên lý ma trận LED 8x8 2.2.2. Giới thiệu chung về hệ thống Với mục đích tìm hiểu về cách thiết kế và xây dựng một bảng quảng cáo điện tử bằng đèn LED đơn giản chúng em xây dựng một hệ thống quang báo với sơ đồ khối như sau: Khối điều khiển hiển thị: có chức năng xử lý các dữ liệu mà máy tính truyền tới để tạo ra các dữ liệu về mức logic cần cấp cho các LED trong từng cột đồng thời điều khiển quá trình cấp nguồn cho led ma trận. Khối này được xây dựng bằng các thủ tục xử lý dữ liệu trên vi điều khiển. Khi nhận được dữ liệu về chuỗi ký tự cần hiển thị thì khối này sẽ tạo dữ liệu về mức logic cần cấp cho LED ma trận. Khi nhận được dữ liệu về màu sắc, hiệu ứng hiển thị thì khối này sẽ xác định thủ tục gửi dữ liệu cho các khối chốt dữ liệu hàng và cột. 2.2.3. Sơ đồ khối của mạch hiển thị dùng ma trận LED 2.2.4. Nhiệm vụ của các khối Bộ vi điều khiển 89S52 Đây là nơi lưu giữ chương trình điều khiển chính và dữ liệu cho các mạch giải mã hàng và cột. AT89C52 là một hệ vi tính 8 bit đơn chip CMOS có hiệu suất cao, công suất nguồn tiêu thụ thấp và có 4Kbyte bộ nhớ ROM Flash xoá được/lập trình được. Chip này được sản xuất dựa vào công nghệ bộ nhớ không mất nội dung có độ tích hợp cao. AT89S52 có các đặc trưng chuẩn sau: 8Kbyte Flash, 256 byte RAM, 32 đường xuất nhập, ba bộ định thời/đếm 16 bit, một cấu trúc ngắt hai mức ưu tiên và 6 nguyên nhân ngắt, một port nối tiếp song công, mạch tạo dao động và tạo xung Clock trên Chip. Chế độ nghỉ dừng CPU trong khi vẫn cho phép RAM, các bộ định thời/đếm, Port nối tiếp và hệ thống ngắt hoạt động. Mô tả các chân của IC 8952: Hình2.4. Sơ đồ chân IC 89S52 Vcc: Chân cung cấp điện. - GND: Chân nối đất. Port 0: Port 0 là port xuất nhập 8 bit 2 chiều cực D hở. Port 0 còn được cấu hình làm bus địa chỉ (byte thấp) và làm bus dữ liệu đa hợp trong khi truy xuất bộ nhớ dữ liệu ngoài và bộ nhớ chương trình ngoài. Port 0 cũng nhận các byte mã trong khi lập trình cho Flash và xuất các byte mã trong khi kiểm tra chương trình. Port 1: Port 1 là port xuất nhập 8 bit hai chiều có các điện trở kéo lên bên trong. Khi các logic 1 được ghi lên các chân của port 1, các chân này được kéo lên mức cao bởi các điện trở kéo lên bên trong và có thể được sử dụng như là các ngõ vào. Khi làm nhiệm vụ là các port nhập, các chân của port 1 đang được kéo xuống mức thấp do tác động bên ngoài sẽ cấp dòng do có các điện trở kéo lên bên trong. Port 2: Port 2 là port xuất nhập 8 bit hai chiều có các điện trở kéo lên bên trong. Khi các logic 1 được ghi lên các chân của port 2, các chân này được sử dụng như là các ngõ vào. Khi làm nhiệm vụ port nhập, các chân của port 2 đang được kéo xuống mức thấp do tác động bên ngoài sẽ cấp dòng do có các điện trở kéo lên bên trong. Port 2 tạo ra byte cao của bus địa chỉ trong thời gian tìm nạp lệnh từ bộ nhớ chương trình ngoài, và trong thời gian truy xuất bộ nhớ dữ liệu ngoài sử dụng các địa chỉ 16 bit. Port 3: Là port xuất nhập 8 bit hai chiều có các điện trở kéo lên bên trong. Khi các logic 1 được ghi lên các chân của port 3, các chân này được kéo lên mức cao bởi các điện trở kéo lên bên trong và có thể được sử dụng như là các ngõ vào. Khi làm nhiệm vụ port nhập, các chân của port 3 đang được kéo xuống mức thấp do tác động bên ngoài sẽ cấp dòng do có các điện trở kéo lên bên trong. Port 3 còn được sử dụng làm các chức năng khác của AT89C52: P3.0 gõ vào Port nối tiếp. P3.1 gõ ra Port nối tiếp. P3.2 gõ vào ngắt ngoài 0. P3.3 gõ vào ngắt ngoài 1. P3.4 gõ vào bên ngoài của bộ định thời 1. P3.5 gõ vào bên ngoài của bộ định thời 0. P3.6 điều khiển ghi bộ nhớ dữ liệu ngoài. P3.7 điều khiển đọc bộ nhớ dữ liệu ngoài. RST: Ngõ vào Reset. Mức cao trên chân này trong 2 chu kỳ máy trong khi bộ dao động đang hoạt động sẽ Reset AT89S52. Hình 2.5. Mạch Reset tự động khi khởi động máy Với bài này em thực hiện Reset bằng cách nối chân 9 của 89S51 với nguồn 5V . ALE: ALE là một xung ngõ ra cho phép chốt địa chỉ ALE (Address Latch Enable) cho phép chốt byte thấp của địa chỉ trong thời gian truy xuất bộ nhớ ngoài. Chân này cũng được dùng làm ngõ vào xung lập trình (PROG) trong thời gian lập trình cho FlashC. Khi hoạt động bình thường, xung của ngõ ra ALE luôn luôn có tần số bằng 1/6 tần số của mạch dao động trên chip, có thể được sử dụng cho các mục đích định thời từ bên ngoài vàtạo xung Clock. Tuy nhiên cần lưu ý là một xung ALE sẽ bị bỏ qua trong mỗi chu kì truyxuất của bộ nhớ dữ liệu ngoài. Khi cần, hoạt động cho phép chốt byte thấp của địa chỉ sẽ được vô hiệu hoá bằng cách set bit 0 của thanh ghi chức năng đặc biệt có địa chỉ byte là 8E(h). Khi bit này được set, ALE chỉ tích cực trong thời gian thực thi lệnh MOVX hoặc MOVC. Ngược lại chân này sẽ đượckéo lên mức cao. Việc set bit không cho phép hoạt động chốt byte thấp của địa chỉ sẽkhông có tác dụng nếu bộ vi điều khiển đang ở chế độ thực thi chương trình ngoài. XTAL1: Ngõ vào đến mạch khuếch đại đảo của mạch dao động và ngõ vào đến mạch tạo xung Clock bên trong chip. XTAL2: Ngõ ra từ mạch khuếch đại đảo của mạch dao động. Để tạo mạch dao động cho vi điều khiển 89C52 hoạt động, chúng em chọn mạch tạo dao động như hình vẽ dưới đây, với các giá trị của linh kiện là: C1 = C2 =30pF. Thạch anh dao động có tần số 12MHz. Chú ý: C1, C2 = 30 pF ± 10 pF for Crystals = 40 pF ± pF for Ceramic Resonators Hình 2.6. Kết nối của mạch dao dộng Mạch giải mã hàng Dùng IC 74LS138 (3 đầu vào, 8 đầu ra) để giải mã cho các cột của các ma trận LED. Do mỗi thời điểm chỉ có một IC giải mã được làm việc nên ta phải thiết kế mạch phân kênh để chọn IC làm việc.Ví dụ dùng chân P2.3 & P2.4 của vi điều khiển 89C52 để làm đầu vào cho mạch phân kênh. Hình 2.7. Sơ đồ chân IC 74LS138 Hình 2.8. Sơ đồ chân IC 74L Ta có bảng 1: bảng trạng thái cho mạch phân kênh như sau: H = HIGH Level L = LOW Level X = Don’t Care G2 = G2A + G2B Hình 2.9. Bảng trạng thái phân kênh Theo nguyên tắc quét ma trận led thì tại mỗi thời điểm ta chỉ cấp nguồn cho một hàng của ma trận do đó có thể dùng 74LS138 để cấp nguồn cho các hàng của ma trận . Các đầu vào ( A,B,C) của 74LS138 sẽ được nối với các chân của IC đệm tăng dòng, các đầu ra của 74LS138 được nối với các cột của ma trận led thông qua một cổng phủ định ( hoặc các bộ đệm dòng cấp nguồn cho hàng ), còn các chân G1 được nối với dương nguồn,G2A được nối đất, G2B nối với chân cho phép đầu ra của IC đệm tăng dòng .Thông qua việc gửi tín hiệu từ vi điều khiển tới các chân đầu vào của 74LS138 ta có thể chọn được hàng cần cấp nguồn . Khi mở rộng ma trận ta tăng thêm số lượng IC để cấp nguồn cho tất cả các hàng, các IC này có thể cùng nối chung hoặc riêng chân điều khiển. Hoặc chỉ sử dụng một IC nhưng cấp nguồn đồng thời cho tất cả các ma trận, khi đó một chân của IC sẽ được nối với các hàng của các ma trận khác nhau Mạch giải mã cột Điều khiển cấp nguồn cho cột dùng 74HC59 Chức năng của 74HC59 74HC595 là bộ ghi dịch 8 bít gồm có : 1 đầu vào cho phép (OE ) 1 đầu vào chọn thanh ghi dịch () 1 đầu vào dữ liệu nối tiếp (DS) 1 đầu vào cấp xung cho thanh ghi dịch (SH_CP) 1 đầu vào cấp xung cho thanh ghi chứa (ST_CP) 8 đầu ra 3 trạng thái ( Q1 đến Q7 và Q7’) Hình2.10. Sơ đồ chân 74HC595 Bảng2 : Chức năng hoạt động của 74HC595 Đầu vào Đầu ra Chức năng SH_CP ST_CP DS Q7’ Qn X X L L X L kđ MR mức thấp dữ liệu chỉ dịch trong thanh ghi dịch đầu ra không đổi trạng thái X L L X L L Xóa thanh ghi dich nạp dữ liệu vào thanh ghi chứa X X H L X L Z Xóa thanh ghi dịch đầu ra ở trạng thái trở kháng cao X L H H Q6’ kđ Dịch chuyển trạng thái cao vào thanh ghi dịch, giá trị trước đó của bít thứ 6 trong thanh ghi dịch được chuyển sang đầu ra Q7’ X L H X kđ Qn’ Nội dụng của thanh ghi dịch được chuyển sang thanh ghi chứa và chuyển sang đầu ra L H X Q6’ Qn’ Dịch chuyển nội dung của thanh ghi dịch đồng thời nội dung của thanh ghi dịch cũ được chuyển vào thanh ghi chứa và các đầu ra song song Sử dụng 74HC595để cấp nguồn cho các cột của ma trận Khi dùng 74HC595 để cấp nguồn cho ma trận led ta nối các đầu ra song song của 74HC595 với các chân cấp nguồn cho các cột của ma trận. Đồng thời phải sử dụng 3 chân của vi điều khiển để nối với các chân DS,SH_CP,ST_CP của 74HC595. Các bit dữ liệu mã hóa mức logic cần cấp cho các cột của 1 hàng ma trận sẽ được truyền liên tiếp DS của 74HC595. Để đồng bộ bit thì vi điều khiển mỗi khi xuất 1 bit tới chân DS sẽ phát một xung có sườn dương vào chân SH_CP. Sau khi truyền xong hết dữ liệu, để các led trên cột sáng thì ta phải chuyển dữ liệu trong thanh ghi dịch vào các đầu ra của 74HC595 bằng cách cấp 1 xung sườn dương vào chân ST_TP. Chú ý để IC có thể hoạt động và đẩy dữ liệu ra các chân đầu ra thì chân phải nối đất, chân nối dương nguồn. Hình 2.11. Ghép nối 74HC595 với vi điều khiển để cấp nguồn cho hàng của ma trận Khi mở rộng ma trận led ta ghép nhiều 74HC595 nối tiếp nhau: các chân SH_CP được nối chung với 1 nguồn cấp xung, các chân ST_CP cũng được nối chung với nhau, đầu ra Q7’ của IC phía trước được nối với đầu vào DS của IC tiếp theo. Khi đó dữ liệu sẽ được dịch đồng bộ từ IC này sang IC khác và đầu ra của các IC cũng được chốt đồng bộ. Hình 2.12. Ghép nối tiếp các IC 74HC595 CHƯƠNG 3. THIẾT KẾ PHẦN CỨNG 3.1. Phân tích hệ thống 3.1.1. Nguyên lý hoạt động của bảng điện tử Nguyên lý hoạt động của bảng điện tử dựa theo nguyên lý hoạt động của các màn hình, đó là sử dụng phương pháp quét hình theo từng dòng.Mỗi dòng gồm nhiều điểm ảnh, mỗi điểm ảnh có thể có một hoặc vài đèn, màu sắc khác nhau. Mỗi đèn được biểu diễn thông qua một bit dữ liệu, bit 1 tương ứng với đèn sáng, bit 0 tương ứng với đèn tắt. Tại một thời điểm, không phải tất cả các dòng trên màn hình đều sáng nhưng do tốc độ quét nhanh và sự lưu ảnh trên võng mạc tạo cho người nhìn thấy hình ảnh liên tục. Trong quá trình quét, mạch điều khiển sẽ đưa dữ liệu ra Module hiển thị, chính dữ liệu này sẽ quyết định điểm ảnh nào sáng, điểm ảnh nào tắt, màu sắc của điểm ảnh là gì. Các điểm ảnh này sẽ tạo ra hình ảnh trên bảng điện tử. Hình 3.1. Nguyên tắc tạo ảnh trên ma trận LED 3.1.2. Phân tích hệ thống Trong đồ án này, bảng điện tử có kích thước 16x64 cm, ta chia làm 16x64 điểm ảnh, mỗi điểm ảnh là một đèn LED, ta chia làm 2 Module, mỗi Module có kích thước 16x32 điểm ảnh. Để hiển thị một hình ảnh ta phải quét hết 16 dòng. Nếu thời gian quét một dòng là 1ms, thì để quét xong một hình ảnh ta phải mất 16ms. Nếu thời gian trễ cho một hình ảnh là 34ms thì thời gian hiển thị của hình ảnh đó là 50ms. Như vậy, ta có thể hiển thị được 1000/50 = 20 hình/s. Chất lượng hình ảnh phụ thuộc vào tốc độ dòng quét, tỉ lệ thời gian sáng và thời gian tối của từng dòng. Thời gian quét dòng phụ thuộc vào thời gian đẩy dữ liệu ra và thời gian trễ sáng cho dòng đó. Độ trễ sáng của dòng có ảnh hưởng đến mức độ sáng tối cũng như màu sắc của hình ảnh, vì vậy, để tạo ra nhiều mức sáng tối và tăng số màu hiển thị thì phải có khả năng thay đổi độ trễ sáng của dòng. 3.2. Thiết kế tổng quan hệ thống 3.2.1. Thiết kế tổng quan phần cứng Phần cứng bảng điện tử gồm có: Module điều khiển, Module quét dòng, Module quet cột và các Module hiển thị. Module điều khiển lấy dữ liệu đưa ra bảng điện tử, đồng thời đưa các tín hiệu điều khiển tới Module quét dòng để điều khiển việc quét dòng. Module quét dòng dựa vào các tín hiệu từ Module điều khiển để đưa tín hiệu chọn dòng ra Module hiển thị, quyết định dòng nào sáng, dòng nào tối. Các Module hiển thị nhận dữ liệu và tín hiệu điều khiển từ Module điều khiển và Module quét dòng, thông qua các IC chuyên dụng để điều khiển các đèn sáng tối, tạo ra hình ảnh trên bảng điện tử. Sơ đồ khối tổng quan phần cứng như sau: Hình 3.2. Sơ đồ khối tổng quan phần cứng Vì hệ thống được thiết kế theo mô hình của hệ thống tự động, nên chương trình điều khiển phải đáp ứng tất cả những công việc đặt ra của hệ thống, khi khởi động hệ thống chương trình điều khiển thực hiện quét xâu văn bản cần hiển thị, nạp dữ liệu nhận được vào bộ đệm của bảng điện tử, sau đó thể hiện thông tin lên bảng điện tử, công việc đó được lặp đi lặp lại nhiều lần. 3.2.2. Thiết kế phần cứng Như đã mô tả , phần cứng của bảng điện tử gồm có Module điều khiển, Module quét dòng, và các Module hiển thị. Module điều khiển lấy dữ liệu đưa ra bảng điện tử, đồng thời đưa các tín hiệu điều khiển tới Module quét dòng để điều khiển việc quét dòng. Module quét dòng dựa vào các tín hiệu từ Module điều khiển để đưa tín hiệu chọn dòng ra Module hiển thị, quyết định dòng nào sáng, dòng nào tối. Các Module hiển thị nhận dữ liệu và tín hiệu điều khiển từ Module điều khiển và Module quét dòng, thông qua các IC chuyên dụng để điều khiển các đèn sáng tối, tạo ra hình ảnh trên bảng điện tử. Sau đây là thiết kế chi tiết từng module. a. Module hiển thị Module này có nhiệm vụ nhận dữ liệu và các tín hiệu điều khiển đưa tới từ Module điều khiển để xác định điểm ảnh nào sẽ sáng hay tắt, sáng màu gì trên mỗi dòng được quét. Hệ thống sử dụng bảng hiển thị Led ma trận anode chung có kích thước 16x32 LED. Các ma trận này được nối với nhau thành 16 dòng và 32 cột. Module hiển thị sử dụng các ma trận LED.Trong một Module 16x32 ta chia làm 4 phần nhỏ, mỗi phần có kích thước 4x32 LED. Sau đây chúng em trình bày sơ đồ nguyên lý của một bảng hiển thị có kích thước 16x32 Led. Sơ đồ nguyên lý của một Module ma trận LED như sau: Led ma trận hàng Anôt, cột Catôt kích thước 4x32 Led Led ma trận hàng Anôt, cột Catôt kích thước 4x32 Led Led ma trận hàng Anôt, cột Catôt kích thước 4x32 Led Led ma trận hàng Anôt, cột Catôt kích thước 4x32 Led Hình 3.4. Sơ đồ nguyên lý của một ma trận LED Tại mỗi điểm là một đèn LED. Mỗi đèn có hai cực dương và âm. Cực dương sẽ dùng để điều khiển quét dòng. Do đó tất cả các đèn trên cùng một dòng có chung cực dương (Li). Các đèn trên cùng một cột có chung cực âm . Dữ liệu và các tín hiệu điều khiển được đưa ra Module hiển thị theo kiểu đẩy nối tiếp. Các IC điều khiển led trên Module hiển thị sẽ dựa vào các tín hiệu điều khiển để quyết định đẩy dữ liệu đến các Module hiển thị tiếp theo hoặc chốt dữ liệu để hiển thị ra bảng điện tử. Trên cơ sở đó, mỗi module hiển thị cần phải có các tín hiệu chính sau : SHIFT(CLOCK) :Xung đồng hồ để dịch 1 bit dữ liệu vào từ (và ra khỏi) thanh ghi dịch. DATA :Xuất tín hiệu điều khiển ra khuếch đại công suất 74HC245. OE : Chân cho phép đầu ra A, B : Chân xuất tín hiệu ra hàng LATCH : Chốt dữ liệu ra thanh ghi dịch để cập nhật các điểm ảnh trên cột. Sau đây là sơ đồ nguyên lý của Moule hiển thị led: Hình 3.5. Sơ đồ nguyên lý của một Moule hiển thị led Hệ thống sử dụng các IC điều khiển led 74HC595. Sơ đồ chân của IC này như sau: Hình 3.6. Sơ đồ chân của IC 74HC595 Mỗi module hiển thị kích thước 16x32 được điều khiển bởi 16 IC 74HC595. Mỗi IC này có các tín hiệu vào ra như sau : SRCLK(SHIFTM): Xung đồng hồ vào Module. SDI : Tín hiệu dữ liệu vào thanh ghi dịch. SDO : Dữ liệu ra từ thanh ghi dịch. RCLK(LATCHM): Tín hiệu cho phép chốt dữ liệu từ thanh ghi dịch. QA,..,QH : Các chân ra từ bộ thanh ghi dịch 8 bit sau khi đã được chốt Ngoài ra còn một số thành phần khác : Sử dụng 1 IC 74HC245 làm IC đệm dữ liệu và khuếch đại tín hiệu (tăng dòng). Sơ đồ chân của IC này như sau: Hình 3.7. Sơ đồ chân của IC 74HC245 Hoạt động của Module này như sau: Các bít dữ liệu cho các Led trên Module được đưa đến chân SDI của IC 74HC595 trên Module điều khiển Led tương ứng , đầu ra SDO của IC trước được nối với đầu vào SDI của IC tiếp theo. Khi xung SHIFTM được kích hoạt, tại mỗi IC, bit dữ liệu ở đầu vào SDI được lưu vào thanh ghi dịch tại bit b0, đồng thời bit b6 dịch sang bit b7 và giá trị của bít b7 được đưa ra SDO. Quá trình dịch liên tục đến khi hết một hàng ngang các Module, tương ứng với các điểm ảnh cần hiển thị. Sau khi đợi một khoảng thời gian (phụ thuộc vào tốc độ quét), dữ liệu cho cột mới được cập nhật bằng cách kích hoạt tín hiệu LATCH để chốt tín hiệu từ các thanh ghi dịch đồng thời nguồn điện cung cấp cho cột trước đó bị tắt để chuyển cho cột kế tiếp. AM, BM là chân xuất tín hiệu ra hàng. OEM là chân cho phép xuất tín hiệu đầu ra đưa tới Module hiển thị thứ nhất. LATCHM là chân chốt dữ liệu của Module hiển thị thứ nhất. SHIFTM là chân ghi dịch tín hiệu ra Module hiển thị thứ nhất. DATAM là chân xuất tín hiệu ra Module hiển thị thứ nhất. LATCHN là chân chốt dữ liệu của Module hiển thị tiếp theo. SHIFTN là chân ghi dịch tín hiệu ra Module hiển thị tiếp theo. Ưu điểm : Do sử dụng IC chuyên dụng nên tốc độ đẩy dữ liệu nhanh, nên có thể tận dụng thời gian còn lại vào việc khác Do sử dụng bộ chốt bên trong nên đảm bảo thời gian tắt rất nhỏ, không ảnh hưởng tới độ sáng của các điểm ảnh b. Khối giải mã hàng Nhiệm vụ của module này là giãi mã tín hiệu chọn dòng từ module điều khiển đưa xuống, để tại mỗi thời điểm chỉ cho một dòng được sáng. Bảng điện tử có kích thước 16 dòng và 64 cột, được quét bởi một Module quét dòng, đầu vào là các tín hiệu điều khiển được đưa xuống từ Module điều khiển, đầu ra sẽ chọn một trong số 16 dòng để hiện thị. Mỗi Module hiển thị tại một thời điểm chỉ cho một dòng được sáng. Module quét dòng phải chọn một trong số 16 dòng để hiển thị nên cần tín hiệu chọn dòng từ Module điều khiển đưa xuống là các tín hiệu AM, BM. Các tín hiệu chọn dòng sẽ được giải mã bằng IC giải mã 74LS138. Trên mỗi dòng của bảng điện tử có 64 điểm , do vậy một dòng sẽ có 64 đèn. Vì vậy, các tín hiệu chọn dòng này phải đi qua bộ khuếch đại công suất để có thể cung cấp đủ dòng cho 64 đèn sáng đồng thời trong trường hợp cực đại. Sau đây là sơ đồ khối và sơ đồ nguyên lý của một Module quét dòng: Sơ đồ khối của một Module quét dòng: BM AM VCC GND OEM Row 1 Row 0 Row 15 . . . . . . Bộ phận giải mã Bộ phận khuyếch đại công suất Hình 3.9. Sơ đồ khối của Module quét hàng Bộ phận giải mã gồm IC 74LS138, ngoài 2 tín hiệu chọn dòng AM, BM, còn có một tín hiệu OEM là tín hiệu cho phép đầu ra của bộ điều khiển đưa tớ Module dùng để bật tắt dòng được chọn. Thực chất đó là tín hiệu cho phép IC giải mã hoạt động, nó cũng được nối chung đến tất cả các chân cho phép của IC 74LS138. Khi tín hiệu này ở mức cao, IC giải mã không hoạt động, dòng tắt. Khi tín hiệu này ở mức thấp, IC giải mã hoạt động, tùy thuộc vào tín hiệu AM,BM cho phép chọn một trong số 16 dòng. Điều này giúp ta hoàn toàn có thể điều khiển được thời điểm sáng của các dòng được chọn. Bộ phận khuếch đại công suất khi có tín hiệu chọn dòng sẽ cung cấp một dòng điện có khả năng cho 64 đèn sáng đồng thời. Trên mỗi Module sẽ gồm 8 đèn công suất, trong đó mỗi đèn điều khiển hai dòng của Module hiển thị. Sử dụng 4 con khuếch đại công suất APM4953: Là các đường cung cấp nguồn cho 16 dòng.Sơ đồ cấu tạo của APM4953 như sau: Hình 3.11. Sơ đồ cấu tạo của APM4953 Tín hiệu đầu ra H1, H2, H3, H4 là các tín hiệu chọn hàng, mỗi một tín hiệu này được đưa tới 2 con khuếch đại APM 4953, đầu ra của APM 4953 tương ứng với các tín hiệu H1, H2, H3, H4 là HLED1, HLED2, HLED3, HLED4, HLED5, HLED6, HLED7, HLED8. Ở đây ta sử dụng chuẩn quét Led ma trận 1:4 tức là với một tín hiệu chọn hàng H1 ở đầu ra của IC 74LS138 được đưa tới đầu vào của 2 con khuếch đại công suất APM 4953 ta sẽ được 2 tín hiệu đầu ra của APM 4953 là HLED1 và HLED5 được đưa tới Anode của hàng 1 và hàng 5 của Module hiển thị Led làm cho hàng 1 và hàng 5 sáng đồng thời. Tương tự với các tín hiệu H2, H3, H4 ta có đầu ra tương ứng là HLED2 và HLED6, HLED3 và HLED7, HLED4 và HLED8 c. Module điều khiển Đây là Module điều khiển chính của bảng điện tử với bộ xử lý trung tâm là vi điều khiển AT89C52. Module điều khiển là Module quan trọng nhất, nó điều khiển toàn bộ hoạt động của hệ thống. Có thể nói đây là bộ não của toàn bộ hệ thống, nó thực hiện các chức năng sau. - Nhận dữ liệu từ bộ nhớ chương trình ghi vào bộ nhớ RAM - Lấy dữ liệu từ bộ nhớ RAM và hiển thị qua bảng điện tử thông qua các thao tác đẩy dữ liệu và quét hàng. Dựa trên những nguyên lý và yêu cầu công việc như vậy, Module điều khiển được thiết kế như sau. Trung tâm của Module điều khiển cũng là thành phần chính của Module điều khiển là vi điều khiển AT89S52, vi điều khiển này sẽ điều khiển mọi hoạt động của Module điều khiển, vi điều khiển được chế tạo trên công nghệ SRAM có khả năng lưu trữ chương trình lớn, và có khả năng cấu hình(nạp lại chương trình) nhiều lần. Vi điều khiển có thể được lập trình bằng ngôn ngữ ASSEMBLY hoạc C để thực hiện các chức năng cần thiết. Ưu điểm của việc sử dụng vi điều khiển la: Nhanh chóng xây dựng được các thiết bị điều khiển cần thiết với các chức năng phức tạp dựa vao các công cụ thiết kế mạch và ngôn ngữ lập trình. Có thể thực hiện với tốc độ cao do thực hiện bằng phần cứng. Do vây, với yêu câu của việc điều khiển bảng điện tử chọn vi điều khiển làm vi mạch điều khiển là hợp lý và cần thiết. Vi điều khiển thực hiện đọc dữ liệu từ RAM đẩy dữ liệu ra Module quét dòng thông qua các chân của Port1 là AD0, AD1, AD2, AD3, AD4, AD5. trong đó AD0 - AD3 là các tín hiệu chọn dòng,. Mặt khác vi điều khiển đẩy dữ liệu ra Module hiển thị qua các chân của Port1 là AD3, AD4, AD5. Trong đó AD3 là chân tín hiệu SHIFT(CLK) dùng để đưa dữ liệu vào thanh ghi dịch của các IC 74HC595, AD4 là chân tín hiệu LATCH dùng để chốt dữ liệu vào thanh ghi dịch của các IC đó, chân còn lại là AD5 là chân tín hiệu điều khiển cho các hàng của Module hiển thị. Ngoài ra Module diều khiển còn có khối cung cấp nguồn để nuôi vi điều khiển và khối tạo xung nhịp. J1 là giắc cắm để truyền tín hiệu từ Module điều khiển tới bảng hiển thị thứ nhất còn J2 là giắc cắm truyền tín hiệu từ bảng hiển thị thứ nhất sang bảng hiển thị thứ hai. CHƯƠNG 4. THIẾT KẾ PHẦN MỀM Chương trình chính 4.1. Lưu đồ thuật toán Khởi tạo hệ thống Hiển Thị Sai Trễ = x ms Đúng Dịch con trỏ dữ liệu Con trỏ dữ liệu về đầu Số lần dịch = số hàng Sai Đúng Hình 4.1. Lưu đồ chương trình chính thể hiện các bước hiển thị Chương trình con hiển thị Hàng= Số hàng Tắt Led Trễ Cấp nguồn và dữ liệu Chọn cột Thoát Sai Đúng Hình 4.2. Lưu đồ chương trình con thực hiện nội dung hiển thị Hình 4.3. Lưu đồ chương trình cấp nguồn cho ma trận Led 4.2. Phần mềm Ở đây em thực hiện lập trình bằng ngôn ngữ C. Sau đây là nội dung phần mềm: #include #include #include unsigned int i,j,k,m,n,p; unsigned char x,y; ///mang hang/cot code unsigned char text[32][8]={ //trang1//D4LTCNTD 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0x0f,0xf6,0x07,0x7e,0x1d,0xfd,0xf7,0xc3, 0x77,0xf6,0xff,0x7d,0xed,0xfd,0xf7,0xdd, 0x7b,0xf6,0xff,0x7b,0xf5,0xfd,0xf7,0xde, 0x7b,0xf6,0xff,0x7b,0xfd,0xfd,0xf7,0xde, 0x7b,0xf6,0xff,0x7b,0xfd,0xfd,0xf7,0xde, 0x7a,0x02,0xff,0x7b,0xfd,0xfd,0xf7,0xde, 0x7a,0xf6,0xff,0x7b,0xfd,0xf9,0xf7,0xde, 0x7a,0xf6,0xff,0x7b,0xfd,0xf5,0xf7,0xde, 0x7a,0xf6,0xff,0x7b,0xfd,0xed,0xf7,0xde, 0x7b,0x76,0xff,0x7b,0xfd,0xdd,0xf7,0xde, 0x7b,0x76,0xff,0x7b,0xfd,0xbd,0xf7,0xde, 0x7b,0xb6,0xff,0x7b,0xf5,0x7d,0xf7,0xde, 0x77,0xb6,0xff,0x7d,0xec,0xfd,0xf7,0xdd, 0x0f,0xd6,0xf8,0x0e,0x1d,0xfd,0x80,0xc3, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, //trang 2//epu 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0x80,0xcf,0xfc,0x3f,0xff,0xff, 0xff,0xff,0x80,0xcf,0xf8,0x1f,0xff,0xff, 0xff,0xff,0x9f,0xcf,0xf1,0x8f,0xff,0xff, 0xff,0xff,0x9f,0xcf,0xf3,0xcf,0xff,0xff, 0xff,0xff,0x9f,0xcf,0xf3,0xcf,0xff,0xff, 0xff,0xff,0x9f,0xcf,0xf3,0xcf,0xff,0xff, 0xff,0xff,0x81,0xc1,0xf3,0xcf,0xff,0xff, 0xff,0xff,0x81,0xc0,0x73,0xcf,0xff,0xff, 0xff,0xff,0x9f,0xce,0x33,0xcf,0xff,0xff, 0xff,0xff,0x9f,0xcf,0x33,0xcf,0xff,0xff, 0xff,0xff,0x9f,0xcf,0x33,0xcf,0xff,0xff, 0xff,0xff,0x9f,0xce,0x33,0xcf,0xff,0xff, 0xff,0xff,0x80,0xc0,0x73,0xcf,0xff,0xff, 0xff,0xff,0x80,0xc1,0xf3,0xcf,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, }; code unsigned char chuchay[16][13]={ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0x0f,0xf6,0x07,0x7e,0x1d,0xfd,0xf7,0xc3,0xff,0x80,0xcf,0xfc,0x3f, 0x77,0xf6,0xff,0x7d,0xed,0xfd,0xf7,0xdd,0xff,0x80,0xcf,0xf8,0x1f, 0x7b,0xf6,0xff,0x7b,0xf5,0xfd,0xf7,0xde,0xff,0x9f,0xcf,0xf1,0x8f, 0x7b,0xf6,0xff,0x7b,0xfd,0xfd,0xf7,0xde,0xff,0x9f,0xcf,0xf3,0xcf, 0x7b,0xf6,0xff,0x7b,0xfd,0xfd,0xf7,0xde,0xff,0x9f,0xcf,0xf3,0xcf, 0x7a,0x02,0xff,0x7b,0xfd,0xfd,0xf7,0xde,0xff,0x9f,0xcf,0xf3,0xcf, 0x7a,0xf6,0xff,0x7b,0xfd,0xf9,0xf7,0xde,0xff,0x81,0xc1,0xf3,0xcf, 0x7a,0xf6,0xff,0x7b,0xfd,0xf5,0xf7,0xde,0xff,0x81,0xc0,0x73,0xcf, 0x7a,0xf6,0xff,0x7b,0xfd,0xed,0xf7,0xde,0xff,0x9f,0xce,0x33,0xcf, 0x7b,0x76,0xff,0x7b,0xfd,0xdd,0xf7,0xde,0xff,0x9f,0xcf,0x33,0xcf, 0x7b,0x76,0xff,0x7b,0xfd,0xbd,0xf7,0xde,0xff,0x9f,0xcf,0x33,0xcf, 0x7b,0xb6,0xff,0x7b,0xf5,0x7d,0xf7,0xde,0xff,0x9f,0xce,0x33,0xcf, 0x77,0xb6,0xff,0x7d,0xec,0xfd,0xf7,0xdd,0xff,0x80,0xc0,0x73,0xcf, 0x0f,0xd6,0xf8,0x0e,0x1d,0xfd,0x80,0xc3,0xff,0x80,0xc1,0xf3,0xcf, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff } ; /* 0xff,0xff,0xff,0xff,0xcf,0xff,0xff,0x7f, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xe1,0x39,0x7f,0x78,0x82,0x3c,0x3f,0x38, 0xc1,0x39,0x7f,0x70,0x82,0x3c,0x3f,0x98, 0x99,0x39,0x7f,0x66,0xf2,0x3c,0x3f,0xcf, 0x39,0x39,0x7f,0x4e,0xf2,0x3c,0x3f,0xcf, 0x39,0x39,0x7f,0x4e,0xf2,0x3c,0x3f,0xcf, 0x30,0x01,0x3f,0x4c,0xc2,0x1c,0x3f,0xcf, 0x30,0x01,0x3f,0x4c,0xc2,0x0c,0x3f,0xcf, 0x39,0x39,0x7f,0x4e,0xf2,0x24,0x3f,0xcf, 0x99,0x39,0x7f,0x66,0xf2,0x30,0x3f,0xcf, 0xc1,0x39,0x7f,0x70,0x82,0x38,0x3f,0xcf, 0xe1,0x39,0x7f,0x78,0x82,0x3c,0x3f,0xcf, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xd7,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xef,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0x7e,0xfc,0xf3,0x24,0x4f,0xce,0x7f,0x9c, 0x3c,0xf8,0x73,0x26,0x4f,0xce,0x3f,0x98, 0x19,0xf3,0x33,0x27,0x4f,0xce,0x1f,0x93, 0x99,0xff,0x93,0x27,0x4f,0xce,0x9f,0x9f, 0x99,0xff,0xc3,0x27,0x4f,0xce,0x9f,0x9f, 0x99,0xff,0xe3,0x27,0x47,0xc0,0x9f,0x1f, 0x99,0xff,0xc3,0x27,0x43,0xc0,0x9f,0x1f, 0x99,0xff,0x93,0x27,0x49,0xce,0x9f,0x9f, 0x19,0xf3,0x33,0x27,0x4c,0xce,0x1f,0x93, 0x39,0xf8,0x73,0x26,0x4e,0xce,0x3f,0x98, 0x71,0xfc,0xf3,0x26,0x4f,0xce,0x7f,0x9c, 0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xdf,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0x1f,0xf7,0xff,0xff,0xff, 0x93,0x73,0xf8,0x0f,0x3a,0x7e,0xfe,0xe7, 0x93,0x33,0xf0,0xc7,0x9c,0x7c,0xfe,0xe7, 0x93,0x13,0xe3,0x67,0xc8,0x79,0xfe,0x67, 0x93,0x93,0xe7,0xe7,0xc9,0x79,0xfe,0x27, 0x13,0x90,0xe7,0xe7,0xc9,0x79,0xfe,0x87, 0x10,0x90,0xe7,0xe7,0xc9,0x79,0xfe,0xc7, 0x90,0x93,0xe7,0xe7,0xc9,0x79,0xfe,0x87, 0x93,0x93,0xe7,0xe7,0xc9,0xb9,0xfd,0x27, 0xb3,0x1b,0xe7,0xc7,0xc8,0xd9,0xfb,0x67, 0x73,0x3d,0xf0,0x0f,0xcc,0xc9,0xf3,0xe7, 0xf3,0x7e,0xf8,0x1f,0xce,0xc9,0xf3,0xe7, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xfe,0xff,0xff,0xff,0xff,0xfe,0xff, 0x7f,0xff,0xff,0xff,0xff,0xff,0xfd,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xc9,0xc9,0x39,0xce,0xf9,0xff,0xff,0xff, 0xcc,0xc9,0x19,0xcc,0xf9,0xff,0xff,0xff, 0xce,0xc9,0x89,0xc9,0xf9,0xff,0xff,0xff, 0xcf,0xc9,0xc9,0xcf,0xf9,0xff,0xff,0xff, 0xcf,0x09,0xc8,0xcf,0xf9,0xff,0xff,0xff, 0x0f,0x08,0xc8,0x0f,0xf8,0xff,0xff,0xff, 0x0f,0xc8,0xc9,0x0f,0xf8,0xff,0xff,0xff, 0xcf,0xc9,0xc9,0xcf,0xf9,0xff,0xff,0xff, 0xce,0xd9,0x8d,0xc9,0xf9,0xff,0xff,0xff, 0xcc,0xb9,0x1e,0xcc,0xf9,0xff,0xff,0xff, o 0xcd,0x79,0x3f,0xce,0xf9,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xfe,0xff,0xff,0xff,0xff,0xff, */ bdata unsigned char bbyte; sbit LSB = bbyte^0; sbit MSB = bbyte^7; // 32x16 red sbit oe=P0^0; sbit a=P0^1; sbit b=P0^2; sbit clk=P0^4; sbit sclk=P0^3; sbit r=P0^5; void delay (unsigned int ms) { unsigned int t; for(t=1;t<ms;t++) { TMOD = 0x01; TH0 = -1000/256; TL0 = -1000%256; TF0 = 0; TR0 = 1; while (TF0 == 0); TR0 = 0; } } void chu_tinh(unsigned char trang) { unsigned int hang,cot,chuanquet,dich; for(chuanquet=0;chuanquet<=3;) { if(chuanquet==0) {oe=1;a=0;b=0;} if(chuanquet==1) {oe=1;a=1;b=1;} if(chuanquet==2) {oe=1;a=0;b=1;} if(chuanquet==3) {oe=1;a=1;b=0;} clk=0; for(cot=0;cot<=7;) { for(hang=(chuanquet+trang*16);hang<=(15+trang*16);) { bbyte= text[hang][cot]; for(dich=1;dich<=8;dich++) { sclk=0; r=MSB; sclk=1; bbyte=(bbyte<<1); } hang=hang+4; } cot++; } oe=0; clk=1; chuanquet++; } } void start_right(unsigned char chuanquet,unsigned int width) { unsigned int hang,cot,dich; if(chuanquet==0) {oe=1;a=0;b=0;} if(chuanquet==1) {oe=1;a=1;b=1;} if(chuanquet==2) {oe=1;a=0;b=1;} if(chuanquet==3) {oe=1;a=1;b=0;} clk=0; for(cot=0;cot<=7;) { for(hang=chuanquet;hang<=15+chuanquet;) { if ((cot+width/8)<=6) { x=0xff; y=0xff; } if ((cot+width/8)==7) { x=0xff; y=(chuchay[hang][cot-(7-width/8)]); } if ((cot+width/8)>7) { x=(chuchay[hang][cot-(8-width/8)]); y=(chuchay[hang][cot-(7-width/8)]); } bbyte=((x>(8-(width%8)))); for(dich=1;dich<=8;dich++) { sclk=0; r=MSB; sclk=1; bbyte=(bbyte<<1); } hang=hang+4; } cot++; } oe=0; clk=1; } void end_left(unsigned char chuanquet,unsigned int width) { unsigned int hang,cot,dich; if(chuanquet==0) {oe=1;a=0;b=0;} if(chuanquet==1) {oe=1;a=1;b=1;} if(chuanquet==2) {oe=1;a=0;b=1;} if(chuanquet==3) {oe=1;a=1;b=0;} clk=0; for(cot=0;cot<=7;) { for(hang=chuanquet;hang<=15+chuanquet;) { if ((cot+width/8)<=6) { x=(chuchay[hang][5+cot+width/8]); y=(chuchay[hang][6+cot+width/8]); } if ((cot+width/8)==7) { x=(chuchay[hang][5+cot+width/8]); y=0xff; } if ((cot+width/8)>7) { x=0xff; y=0xff; } bbyte=((x>(8-(width%8)))); for(dich=1;dich<=8;dich++) { sclk=0; r=MSB; sclk=1; bbyte=(bbyte<<1); } hang=hang+4; } cot++; } oe=0; clk=1; } main(void) { delay(20); while(1) { for(i=1;i<=100;i++) { chu_tinh(0); } for(i=1;i<=100;i++) { chu_tinh(1); } for(p=1;p<=104;p++) { for(j=1;j<=4;j++)//toc do chay { start_right(0,p); start_right(1,p); start_right(2,p); start_right(3,p); } } for(p=1;p<=64;p++) { for(j=1;j<=4;j++)//toc do chay { end_left(0,p); end_left(1,p); end_left(2,p); end_left(3,p); } } } } CHƯƠNG 5. KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN 5.1. Kết Luận Thông qua đề tài: “Nghiên cứu xây dựng Bảng quảng cáo từ LED đơn” sinh viên đã rút ra được nhiều bài học rất bổ ích, học tập được tinh thần làm việc nghiêm túc, nhất là việc kết hợp kiến thức của các môn chuyên ngành mà sinh đã được trang bị trong nhà trường để thực hiện đề tài. Bên cạnh đó nhóm nghiên cứu cũng đã tự đánh giá được phần nào còn hạn chế, ít nhiều bổ sung thêm các kiến thức môn hoc chuyên ngành và một phong cách làm việc khoa học, nghiêm túc. Trong điều kiện thời gian nghiên cứu có hạn, vấn đề nghiên cứu còn rất mới đối với sinh viên nghiên cứu nên trong thời gian thực hiện đề tài, em đã gặp không ít những khó khăn nhưng nhờ có sự hướng dẫn tận tình của thầy Đinh Xuân Phi hướng dẫn, cùng với sự nỗ lực, lòng đam mê, ham học hỏi của bản thân nên em đã hoàn thành nhiệm vụ được giao. Đề tài này có ý nghĩa rất lớn bởi vì nó mang tính khoa học, tính thực tế và tính kinh tế cao: Tính khoa học: Bằng những vốn kiến thức chuyên môn của ngành Điện Tử, em đã vận dụng để thực hiện yêu cầu đề tài đặt ra. Giới thiệu một số loại quảng cáo điện tử, những phương án thực hiện, cách thiết kế, xây dựng chương trình và thi công hoàn chỉnh 1 sản phẩm: “ Bảng quảng cáo điện tử từ LED đơn ”. Hiển thị dòng chữ chạy chính xác, màu sắc bắt mắt hiển thị đúng theo yêu cầu đặt ra.. Tính thực tế : Đề tài này thực hiện được ứng dụng vào thực tế đời sống và quảng bá thương hiệu đặc biệt được dùng trong các tòa nhà, cửa hàng, văn phòng để đưa được thông tin hữu ích tới mọi người. Tính kinh tế: Lượng linh kiện sử dụng trong mạch không nhiều, có thể được sản xuất theo quy mô công nghiệp tuy nhiên cần chỉnh sửa và phát triển thêm. Đề tài hoàn thành thực tế chỉ đáp ứng về mặt học tập, nó là ứng dụng những kiến thức đã học vào giải quyết một công việc cụ thể trong học tập, đáp ứng nhu cầu mày mò học hỏi của sinh viên. Còn về mặt thẩm mỹ - kinh tế và độ chính xác cao thì không thể so sánh được với các thiết bị chuyên dụng có sẵn trên thị trường. Qua quá trình thực hiện đề tài, nhóm nghiên cứu đã tự đánh giá được phần nào còn hạn chế, ít nhiều bổ sung thêm các kiến thức môn hoc chuyên ngành và một phong cách làm việc khoa học, nghiêm túc. 5.2. Hướng phát triển Trong mạch điều khiển của bảng điện tử LED sẽ thiết kế thêm phần giao tiếp máy tính, nếu có thêm thời gian em sẽ phát triển thêm chương trình điều khiển thay đổi nội dung hiển thị bảng điện tử từ máy tính và hiển thị được đa sắc. Chương trình điều khiển từ máy tính sẽ tạo được điều kiện thuận lợi nhằm phát huy tính sáng tạo và khả năng thông tin kịp thời, chính xác tới mọi người… 5.3.Một số hình ảnh thực tế MỤC LỤC

Các file đính kèm theo tài liệu này:

  • docbao_cao_thuc_tap_led_ma_tran_9698 (1).doc
Luận văn liên quan