(Đồ án hcmute) thiết kế và thi công mạch quang báo sử dụng pic18 điều khiển bằng tin nhắn điện thoại và máy tính

98 5 0
(Đồ án hcmute) thiết kế và thi công mạch quang báo sử dụng pic18 điều khiển bằng tin nhắn điện thoại và máy tính

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN - ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN - ĐIỆN TỬ THIẾT KẾ VÀ THI CÔNG MẠCH QUANG BÁO SỬ DỤNG PIC18 ĐIỀU KHIỂN BẰNG TIN NHẮN ĐIỆN THOẠI VÀ MÁY TÍNH GVHD: KS HÀ A THỒI SVTH: CHÂU HUỲNH TÀI MSSV: 10901066 SVTH: NGUYỄN MINH HOÀNG MSSV: 10901066 SKL 0 Tp Hồ Chí Minh, tháng 2/2016 an BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MƠN ĐIỆN TỬ-CÔNG NGHIỆP - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN – ĐIỆN TỬ ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG MẠCH QUANG BÁO SỬ DỤNG PIC18 ĐIỀU KHIỂN BẰNG TIN NHẮN ĐIỆN THOẠI VÀ MÁY TÍNH GVHD: KS HÀ A THỒI SVTH: CHÂU HUỲNH TÀI MSSV: 10901066 SVTH: NGUYỄN MINH HOÀNG MSSV: 10901066 Tp Hồ Chí Minh - 2/2016 an PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Thông tin sinh viên Họ tên: CHÂU HUỲNH TÀI …… MSSV:10901066 Tel: 0984 984 355 Email: 1407taispkt@gmail.com Họ tên: NGUYỄN MINH HOÀNG… MSSV:10901066 Tel: Email: 10901089@student.hcmute.edu.vn Thông tin đề tài Tên đề tài: THIẾT KẾ VÀ THI CÔNG MẠCH QUANG BÁO SỬ DỤNG PIC18 ĐIỀU KHIỂN BẰNG TIN NHẮN ĐIỆN THOẠI VÀ MÁY TÍNH Mục đích đề tài: Đồ án tốt nghiệp thực tại: Bộ môn Điện Tử Viễn Thông, Khoa Điện Điện Tử, Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh Thời gian thực hiện: Từ ngày 20/10/2016 đến 20/1 /2016 Các nhiệm vụ cụ thể đề tài - Tìm hiểu PIC18F4620 - Nghiên cứu phương án điều khiển led ma trận 16x32 - Tìm hiểu module SIM900 - Tìm hiểu phương thức giao tiếp UART, RS232,… - Nghiên cứu cách lập trình cho PIC trình biên dịch CCS - Nghiên cứu lập trình visual basic giao tiếp máy tính - Xây dựng sơ đồ kết nối khối - Thiết kế mô mạch - Xây dựng lưu đồ giải thuật - Viết chương trình chạy mô để sửa lỗi - Thi công mạch - Nạp chương trình, chạy thử kiểm tra lỗi - Viết báo cáo Lời cam đoan sinh viên Tôi – Châu Huỳnh Tài cam đoan ĐATN cơng trình nghiên cứu thân tơi hướng dẫn Thầy Hà A Thồi Các kết công bố ĐATN trung thực không chép từ cơng trình khác Tp.HCM, ngày 20 tháng 10 năm 2015 SV thực đồ án Châu Huỳnh Tài an Tp.HCM, ngày tháng năm 2016 Giáo viên hướng dẫn (Ký ghi rõ họ tên học hàm học vị) Xác nhận Bộ Môn an TRƯỜNG ĐẠI HỌC SPKT TPHCM Khoa Điện - Điện Tử Bộ Mơn Điện Tử Viễn Thơng CỘNG HỊA Xà HỘI CHỦ NGHĨA VIỆT NAM Độclập - Tự - Hạnhphúc Tp Hồ Chí Minh, ngày 25 tháng 12 năm 2015 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Châu Huỳnh Tài Lớp:109010B Họ tên sinh viên 2: Nguyễn Minh Hoàng Lớp:109010C MSSV:10901066 MSSV:10901089 Tên đề tài: THIẾT KẾ VÀ THI CÔNG MẠCH QUANG BÁO SỬ DỤNG PIC18 ĐIỀU KHIỂN BẰNG TIN NHẮN ĐIỆN THOẠI VÀ MÁY TÍNH Tuần/ngày Nội dung Xác nhận GVHD Tuần 1: (11/10 – 17/10/2015) Tuần 2: (18/10 – 24/10/2015) Liên hệ giáo viên hướng dẫn, chọn đề tài tốt nghiệp lên kế hoạch thực Lên đề cương chi tiết cho đề tài tốt nghiệp Tuần 3: (25/10 – 31/10/2015) Tìm hiểu lí thuyết led ma trận, cách lập trình tính tốn thơng số cho led Tìm hiểu lí thuyết vi điều khiển PIC18F4450, port xuất nhập, lệnh điều khiển … Tuần 4: (1/11 – 7/11/2015) Tuần 5: (8/11 – 14/11/2015) Nghiên cứu phương án điều khiển led ma trận 16x32 Tìm hiểu module SIM900 Tuần 6: (15/11 – 21/11/2015) Tìm hiểu phương thức giao tiếp UART, RS232,… Tuần 7: (22/11 –28/11/2015) Nghiên cứu cách lập trình cho PIC trình biên dịch CCS Nghiên cứu lập trình visual basic giao tiếp máy tính Thiết kế mơ mạch máy tính Tuần 8: (29/11 – 5/12/2015) an Tuần 9: (6/12 – 12/12/2015) Thi cơng mạch thực tế, nạp chương trình, chạy thử kiểm tra lỗi Tuần 10: (13/12 – 19/12/2015) Viết báo cáo Tuần 11: (20/12 – 26/12/2015) Hoàn thiện GV HƯỚNG DẪN (Ký ghi rõ họ tên) an LỜI CẢM ƠN Lời đầ u tiên chúng em xin chân thành cảm ơn quý thầ y cô trường Đa ̣i Ho ̣c Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh đã dạy dỗ và tạo điều kiện để chúng em có thể hoàn thành tớt khố học Xin chân thành cảm ơn Khoa Điện – Điện Tử đã hỗ trợ thiết bị và vật tư giúp chúng em học và thực tập môi trường đầy đủ và tiện nghi Chúng em xin chân thành cảm ơn quý thầy cô môn Điện Tử Công Nghiệp đã trang bị cho em kiến thức và giúp đỡ em giải khó khăn trình làm đờ án Đặt biệt chúng em xin chân thành cảm ơn Thầy hướng dẫn, KsHà A Thồi đã tận tình giúp đỡ trình lựa chọn đề tài và hỡ trợ chúng em q trình thực hiện đờ án Thầ y đã tâ ̣n t ình giúp đỡ, chỉ thiếu xót và cho lời khuyên , chia sẻ những kinh nghiêm quý báu giúp chúng em hoàn thành tốt đồ án tố t nghiê ̣p Tuy đã cố gắ ng chúng em thiếu xót về kiế n thức cũng kinh nghiê ̣m thực tế nên đề tài hạn chế Kính mong nhận thông cảm và góp ý chân tình của quý thầ y Chúng em xin chân thành cảm ơn ! Nhómthựchiệnđềtài vi an Chƣơng DẪN NHẬP 1.1 Đặt vấn đề Ngày nay, xã hội ngày phát triển nhu cầu truyền bá thông tin ngày tăng Sản xuất phát triển kéo theo việc cần nhanh chóng thơng tin sản phẩm tới người tiêu dùng nhiều hơn, quan nhà nước cần thông báo nhiều thơng tin tới người dân Chính lý mà nhu cầu quảng cáo truyền bá thơng tin ngày tăng cao Hiện nay, có nhiều hình thức để truyền bá thơng tin, quảng cáo sản phẩm phát tờ rơi, treo băng rơn, hiệu, dán áp phích,… Tuy nhiên, nhu cầu quảng cáo ngày tăng để đáp ứng nhu cầu hình thức quảng cáo truyền thống tờ rơi, áp phích, băng rơn, … khơng cịn đáp ứng tốt nữa, quang báo điện tử đời 1.2 Lý chọn đề tài Với phát triển vũ bão khoa học công nghệ, sản phẩm tiên tiến ngày xuất nhiều, sản xuất phát triển mạnh kéo theo việc thứ thay đổi nhanh chóng thông tin phải cập nhật thông báo tức thời việc quan trọng tất lĩnh vực Để đáp ứng nhu cầu đó, thiết bị điều khiển từ xa qua thiết bị di động điều khiển trực tiếp máy tính Việc sử dụng vi điều khiển quang báo điện tử có nhiều ưu điểm mà phương pháp quảng cáo truyền thống so sánh việc thay đổi thông tin cách nhanh chóng, xác, thơng tin hiển thị chuyển động, màu sắc phong phú,… Với nhu cầu thực tiễn nhưu nên nhóm thực định chọn đề tài : “THIẾT KẾ VÀ THI CÔNG MẠCH QUANG BÁO SỬ DỤNG PIC18 ĐIỀU KHIỂN BẰNG TIN NHẮN ĐIỆN THOẠI VÀ MÁY TÍNH” 1.3 Nội dung nghiên cứu Mục tiêu đề tài tìm hiểu nghiên cứu hoạt động module SIM900, nguyên lý hoạt động module led ma trận 16x32, cách lập trình PIC18F4620 cách truyền nhận liệu qua máy tính thông qua chuẩn giao tiếp UART, RS232 để thi công mạch quang báo điều khiển tin nhắn điện thoại máy tính Như vậy, với nội dung đề đề tài bao gồm nội dung sau: - Tìm hiểu PIC18F4620 Nghiên cứu phương án điều khiển led ma trận P10 (16x32) Tìm hiểu module SIM900 Tìm hiểu phương thức giao tiếp RS232, UART,… Nghiên cứu lập trình cho PIC trình biên dịch CCS an 1.4 Giới hạn Nghiên cứu lập trình visual basic giao tiếp máy tính Xây dựng sơ đồ khối kết nối Thiết kế mô mạch Xây dựng lưu đồ giải thuật Viết chương trình mà chạy mơ để sửa lỗi Thi cơng mạch Nạp chương trình, chạy thử kiểm tra lỗi Viết báo cáo Báo cáo đề tài tốt nghiệp Trong khuôn khổ để tài chúng em xin giới hạn sau: 1.5 - Font chữ hiển thị quang báo font chữ khơng dấu - Chỉ có hiệu ứng chữ chạy từ phải sang trái - Sử dụng bảng Led P10 ( 16x32) Bố cục đề tài Như vậy, với yêu cầu mục tiêu, giớ hạn đề ra, đồ án xây dựng bao gồm chương sau:  Chƣơng 1: Tổng quan – chương trình bày khái quát lĩnh vực nghiên cứu, đề mục đích đề tài, đưa nhiệm vụ, giới hạn đề tài trình bày phương pháp nghiên cứu đươc sử dụng  Chƣơng 2: Cơ sở lý thuyết – chương trình bày tóm lượt sở lý thuyết sử dụng đồ án phương pháp để ứng dụng lý thuyết vào thực tiễn  Chƣơng 3: Thiết kế phần cứng – chương trình bày trình thiết kế, xây dựng phần cứng đồ án : sơ đồ khối, sơ đồ nguyên lý, mạch in, …  Chƣơng 4: Thiết kế phần mềm – chương trình bày trình thiết xây dựng phần mềm đồ án : lưu đồ, giải thuật chương trình, giao diện Visual Basic để điều khiển máy tính  Chƣơng 5: Kết luận – chương trình bày kết đạt được, so sánh với mục tiêu đặt ra, rút kinh nghiệm, đề hướng phát triển đề tài an Chƣơng CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu Khối xử lý trung tâm khối có vai trị Khối xử lý trung tâm có nhiệm vụ tiếp nhận, xử lý liệu đến cách tự động Đề tài sử dụng PIC18F4620 để làm khối xử lý có tín năng, ưu điểm vượt trội vi điều khiển khác Các vi điều khiển họ PIC có ưu điểm vượt trội nhiều so với họ 8051 với nhiều module tích hợp sẵn : module ADC 10bit, PWM 10bit, Opam, EEPROM,… thuận lợi nhiều việc thiết kế mạch mà không cần phải thiết kế thêm module bổ trợ họ vi điều khiển 8051, đó, mạch điện thi công gọn, tiết kiệm linh kiện, hạn chế sai xót từ module bổ trợ Bên cạnh ưu điểm phần cứng, PIC cịn hỗ trợ nhiều để lập trình phần mềm dễ dàng Hiện nay, ngồi ngơn ngữ Assembly phức tạp, PIC cịn lập trình dễ dàng tảng ngơn ngữ C dễ hiểu, gần gũi với người dùng Việc lập trình PIC hỗ trợ nhiều từ trình biên dịch sử dụng ngơn ngữ C, điển hình trình biên dịch CCS MIKROC Ngồi ra, PIC dòng vi điều khiển đời từ lâu, nên có nhiều tài liệu diễn đàn điện tử nói họ vi điều khiển này, nguồn tài liệu tìm để hỗ trợ cho việc nghiên cứu vô phong phú PIC18F4620 sử dụng đề tài vi điều khiển phổ thơng với tính dễ sử dụng:  Tập lệnh để lập trình có 35 lệnh dễ nhớ dễ học, có độ dài 16bit           Mỗi lệnh thực thi chu kỳ xung clock Tốc độ hoạt động tối đa cho phép 64MHz 64k Flash Rom 3936 Bytes Ram 1024 Bytes EEPROM Port điều khiển vào với tín hiệu điều khiển độc lập, với dịng cao có thề kích trực tiếp transitor mà không cần qua buffer định thời Timer0, Timer1, Timer2, Timer3 định thời Timer0 8bit lập trình định thời Timer1, Timer2 Timer3 16bit hoạt động chế độ sleep với nguồn xung clock module CCP ( bao gồm Capture bắt giữ, Compare so sánh, PWM điều chế xung 10bit) module ECCP ADC với 13 kênh ADC 10bit so sánh tương tự hoạt động độc lập an 20 ả 21 Đ 22 ? 23 ? 24 ? 25 ? 26 ? 27 ? 28 ? 29 ? 30 ? 31 ? */ //tao ma chu tu day /*32 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' 40 ( 41 ) 42 * 43 + 44 , 45 46 47 / 48 49 50 51 52 53 54 55 56 57 */ //vi tri so ki tu const char font1[] = {0,6,12,22,33,44,59,73,77,83,89, 96,106,111,118,123,131, 142,153,164,175,186,197,208,219,230,241}; //ma chu const char font1h[]= { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFE,0x3E,0x00,0x00,0x00,0x3C, 0x1E,0x00,0x00,0x3E,0x0E,0x00,0x00,0x00,0x90,0xF0,0x7C,0x1E,0x90,0xF8,0x1E,0x10, 0x10,0x00,0x00,0x38,0x7C,0xFE,0xE6,0xC2,0xC3,0x8E,0x8E,0x0C,0x00,0x00,0x78,0xFC, 0x86,0xC2,0x7E,0xBC,0xC0,0x20,0x18,0x8C,0x82,0x80,0x00,0x00,0x00,0x00,0x80,0xB8, 0xFC,0xFE,0xC2,0x7E,0x3E,0x1C,0xC0,0xC0,0xC0,0x40,0x00,0x00,0x3E,0x0E,0x80,0xE0, 0xF8,0x7C,0x0E,0x06,0x00,0x00,0xFE,0xFC,0xF0, 0x00,0x18,0x3A,0x3C,0x2A,0x08,0x00,0x00,0x80,0x80,0x80,0xF0,0xF0,0x80,0x80,0x80, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0x7C,0x0E,0x02, 0x06,0xE0,0xF8,0xFC,0x3C,0x06,0x02,0x02,0xFE,0xFC,0xF8,0x00,0x00, an 0x00,0x00,0x04,0xC4,0xFC,0xFE,0x3E,0x00,0x00,0x00,0x00,0x00,0x38,0x3C,0x9E,0xC2, 0xE2,0xFE,0x7E,0x3C,0x00,0x00,0x00,0x0C,0x4C,0x4E,0x42,0xE2,0xBE,0xBE,0x1C,0x00, 0x00,0x80,0xE0,0x30,0x18,0x8C,0xFE,0xFE,0x7E,0x00,0x00,0x00,0x80,0x78,0x26,0x26, 0x62,0xE2,0xC2,0xC2,0x02,0x00,0x80,0xE0,0xF8,0x78,0x2C,0x24,0xE6,0xE2,0xC2,0x02, 0x00,0x00,0x0E,0x02,0x82,0xC2,0xF2,0x7A,0x1E,0x0E,0x02,0x00,0x00,0x00,0xB8,0xFC, 0xFE,0xE2,0xE2,0xFE,0xBE,0x9C,0x00,0xF0,0xF8,0xFC,0x0E,0x02,0x02,0xC2,0xFE,0xFC, 0x78, }; const char font1l[]= { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x1B,0x19,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x1F,0x07,0x02,0x1A,0x1F,0x03,0x02, 0x00,0x00,0x00,0x0C,0x0C,0x1C,0x50,0x30,0x19,0x1F,0x0F,0x07,0x00,0x00,0x00,0x00, 0x10,0x18,0x0C,0x02,0x01,0x00,0x0E,0x1F,0x11,0x18,0x0F,0x07,0x00,0x0E,0x0F,0x1F, 0x19,0x10,0x11,0x17,0x0F,0x1C,0x3E,0x3B,0x31,0x10,0x00,0x00,0x00,0x00,0x00,0x1F, 0x7F,0xFF,0x00,0x00,0x80,0xE0,0x7C,0x3F,0x0F, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x0F,0x0F,0x01,0x01,0x01, 0x00,0x00,0x58,0x38,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x18,0x18, 0x00,0x00,0x00,0x70,0x7C,0x0F,0x03,0x00,0x00,0x00, 0x00,0x00,0x07,0x0F,0x1F,0x10,0x10,0x18,0x0F,0x0F,0x07,0x01,0x00, 0x00,0x10,0x10,0x18,0x1F,0x1F,0x1F,0x10,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1F,0x1F, 0x1B,0x19,0x18,0x0C,0x00,0x00,0x0C,0x1C,0x1C,0x10,0x10,0x18,0x1F,0x0F,0x07,0x00, 0x00,0x03,0x03,0x02,0x12,0x12,0x1F,0x1F,0x1F,0x02,0x02,0x00,0x0C,0x1C,0x1C,0x10, 0x10,0x18,0x0F,0x0F,0x03,0x00,0x00,0x07,0x0F,0x1F,0x10,0x10,0x18,0x0F,0x0F,0x03, 0x00,0x00,0x00,0x18,0x1E,0x1F,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x0E,0x0F,0x1F, 0x19,0x10,0x10,0x19,0x0F,0x0F,0x07,0x00,0x10,0x11,0x11,0x19,0x09,0x0F,0x07,0x03, 0x01,0x00, }; /*//////////////// 58 : 59 ; 60 < 61 = 62 > 63 ? 64 @ 65 A 66 B 67 C 68 D 69 E //12 70 F 71 G 72 H //15 73 I 74 J 75 K 76 L 77 M 78 N 79 O 80 P */ //vi tri ky tu const char font2[]= {0,6,12,25,38,51,60,74,87,100,112,126,137,147,159,173, 179,186,198,208,222,233,244,254}; an //machu const char font2h[]= { 0x00,0x00,0x80,0xC0,0xC0,0x00,0x00,0x00,0x80,0xC0,0xC0,0x00,0x00,0x00,0x80,0x80, 0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x40, 0x40,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0x10,0x30,0x20,0x20,0x40,0x40,0x80,0x80, 0x80,0x00,0x00,0x00,0x0C,0x0C,0x86,0xC2,0xE2,0x7E,0x3E,0x1C,0x00,0x00,0xE0,0x18, 0x0C,0x84,0xE2,0x72,0x12,0xF2,0xF2,0x14,0x0C,0xF0,0x00,0x00,0x00,0x00,0xC0,0x20, 0x18,0x1E,0xFE,0xFC,0xE0,0x00,0x00,0x00,0x00,0x00,0xFE,0xFE,0xFE,0xC2,0x42,0x62, 0xE2,0xFE,0xBE,0x9C,0xC0,0xF0,0xF8,0x1C,0x0C,0x06,0x02,0x02,0x02,0x02,0x0E,0x1C, 0x00,0x00,0xFE,0xFE,0xFE,0x02,0x02,0x02,0x02,0x0E,0xFE,0xFC,0xF8,0x00,0x00,0x00, 0xFE,0xFE,0x7E,0x42,0x42,0x42,0xE2,0x02,0x06,0x00,0x00,0xFE,0xFE,0x7E,0x42,0x42, 0x42,0xE2,0x06,0xF0,0xF8,0x1C,0x0C,0x06,0x02,0x82,0x82,0x82,0x86,0x9C,0x8C,0x00, 0x00,0xFE,0xFE,0xFE,0x46,0x42,0x40,0x40,0x40,0xFE,0xFE,0x7E,0x02, 0x02,0x02,0xFE,0xFE,0x02,0x02,0x00,0x00,0x02,0x02,0xFE,0xFE,0x02, 0x02,0xFE,0xFE,0x82,0xC2,0xE0,0xF2,0x92,0x0A,0x06,0x02,0x02, 0x02,0xFE,0xFE,0x02,0x02,0x00,0x00,0x00,0x00,0x00, 0x02,0xFE,0x06,0x3C,0xF0,0xC0,0x00,0x80,0xE0,0x18,0x06,0xFE,0xFE,0x02, 0x02,0x06,0xFE,0x1E,0x38,0x70,0xE0,0x80,0x02,0xFE,0x02, 0xF0,0xF8,0x0C,0x06,0x02,0x02,0x02,0x06,0x0C,0xF8,0xF0, 0x02,0xFE,0xFE,0x42,0x42,0x42,0x42,0x66,0x3C,0x1C, }; const char font2l[]= { 0x00,0x18,0x1D,0x0D,0x00,0x00,0x00,0x98,0x79,0x39,0x00,0x00,0x00,0x00,0x01,0x02, 0x02,0x04,0x04,0x08,0x08,0x10,0x10,0x00,0x00,0x00,0x00,0x04,0x04,0x04,0x04,0x04, 0x04,0x04,0x04,0x04,0x00,0x00,0x00,0x00,0x10,0x08,0x08,0x08,0x04,0x04,0x02,0x02, 0x01,0x00,0x00,0x00,0x18,0x1A,0x1B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06, 0x0C,0x0B,0x17,0x14,0x12,0x13,0x14,0x0A,0x09,0x04,0x10,0x18,0x1E,0x03,0x01,0x01, 0x01,0x01,0x13,0x1F,0x1F,0x1E,0x10,0x00,0x10,0x1E,0x1F,0x1F,0x10,0x10,0x10,0x10, 0x18,0x0F,0x0F,0x07,0x03,0x07,0x0F,0x1C,0x18,0x10,0x10,0x10,0x10,0x08,0x0C,0x04, 0x10,0x1F,0x1F,0x1F,0x10,0x10,0x10,0x18,0x0C,0x0E,0x07,0x03,0x00,0x00,0x10,0x1F, 0x1F,0x1F,0x10,0x10,0x10,0x10,0x18,0x1C,0x00,0x10,0x1F,0x1F,0x1F,0x10,0x00,0x00, 0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x10,0x10,0x10,0x18,0x0F,0x0F,0x0F,0x00,0x10, 0x1E,0x1F,0x1F,0x10,0x00,0x00,0x00,0x10,0x1C,0x1F,0x1F,0x10,0x00, 0x10,0x10,0x1F,0x1F,0x10,0x10,0x38,0x20,0x20,0x20,0x1F,0x1F,0x00, 0x10,0x1F,0x1F,0x10,0x10,0x01,0x13,0x17,0x1F,0x1E,0x1C,0x18, 0x10,0x1F,0x1F,0x10,0x10,0x10,0x10,0x18,0x18,0x1E, 0x10,0x1F,0x10,0x00,0x03,0x1F,0x0E,0x03,0x00,0x10,0x10,0x1F,0x1F,0x10, 0x00,0x10,0x1F,0x10,0x00,0x00,0x01,0x03,0x0F,0x1F,0x00, 0x03,0x07,0x0C,0x18,0x10,0x10,0x10,0x18,0x0C,0x07,0x03, 0x10,0x1F,0x1F,0x10,0x10,0x00,0x00,0x00,0x00,0x00, }; /*////////////////////// 81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X 89 Y 90 Z 91 [ an 92 \ 93 ] 94 ^ 95 _ 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g 104 h 105 i 106 j*/ //vi tri ki tu const char font3[]= {0,14,26,37,48,60,72,88,100,112,122,127,137,142,152,160,165,175,185,194,204,214,221,231,241,246,2 51}; //ma chu const char font3h[]= { 0xE0,0xF8,0xFC,0x0C,0x06,0x02,0x02,0x02,0x06,0x0C,0xFC,0xF8,0xE0,0x00,0x02,0xFE, 0xFE,0xFE,0x82,0x82,0xC2,0xC6,0xFE,0x3E,0x1C,0x00,0x38,0x7C,0xFE,0xE6,0xE2,0xE2, 0xC2,0xC6,0xCC,0x80,0x00,0x0E,0x06,0x02,0x02,0xFE,0xFE,0xFE,0x02,0x02,0x06,0x0E, 0x02,0xFE,0xFE,0xFE,0x02,0x00,0x00,0x00,0x00,0x02,0xFE,0x02,0x02,0x3E,0xFE,0xFE, 0xC2,0x00,0x00,0x00,0xC2,0x7E,0x0E,0x02,0x02,0x7E,0xFE,0xFE,0x80,0x00,0x82,0xFE, 0xFE,0xFE,0xE2,0x00,0x00,0xC2,0x3E,0x02,0x02,0x06,0x1E,0x3E,0xFA,0xE0,0xE0,0xB0, 0x1E,0x06,0x02,0x00,0x02,0x06,0x1E,0x3E,0x7A,0xE0,0xC0,0x80,0x60,0x3E,0x0E,0x02, 0x00,0x0E,0x06,0x82,0xE2,0xF2,0xFE,0x3E,0x0E,0x02,0x00,0xFE,0xFE,0xFE,0x02,0x00, 0x00,0x02,0x1C,0x70,0x80,0x00,0x00,0x00,0x00,0x02,0xFE,0xFE,0xFE,0x00,0x00,0x00, 0xC0,0x38,0x0E,0x02,0x1C,0x70,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x02,0x06,0x06,0x08,0x00,0x60,0x60,0x20,0x20,0xE0,0xC0,0xC0,0x00,0x00,0x04, 0xFE,0xFE,0xFE,0x40,0x20,0xE0,0xE0,0x80,0x00,0x80,0xC0,0xE0,0x60,0x20,0x60,0xE0, 0xC0,0x00,0x80,0xC0,0xE0,0x60,0x20,0x24,0xFE,0xFE,0xFE,0x00,0x80,0xC0,0xE0,0x20, 0x20,0xE0,0xE0,0xC0,0x00,0x00,0x20,0xFC,0xFE,0xFE,0x22,0x02,0x00,0x80,0xC0,0xE0, 0x20,0x20,0xE0,0xE0,0xE0,0x20,0x00,0x04,0xFE,0xFE,0xFE,0x20,0x20,0xE0,0xE0,0xC0, 0x00,0x44,0xEE,0xEE,0xEE,0x00,0x40,0xEE,0xEE,0xEE,0x00,}; const char font3l[]= { 0x03,0x07,0x0F,0x0C,0x18, 0x10,0x1E,0x30,0x78,0xCC,0x8F,0x87,0x81,0x00,0x10,0x1F,0x1F,0x1F,0x10,0x00,0x01, 0x1F,0x1F,0x1E,0x18,0x10,0x04,0x0C,0x18,0x10,0x10,0x11,0x19,0x0F,0x0F,0x07,0x00, 0x00,0x00,0x00,0x10,0x1F,0x1F,0x1F,0x10,0x00,0x00,0x00,0x00,0x07,0x0F,0x1F,0x18, 0x10,0x10,0x10,0x10,0x08,0x07,0x00,0x00,0x00,0x01,0x07,0x0F,0x1F,0x18,0x0E,0x03, 0x00,0x00,0x00,0x00,0x00,0x03,0x0F,0x1F,0x1C,0x07,0x00,0x01,0x0F,0x1F,0x1F,0x0E, 0x01,0x00,0x00,0x10,0x18,0x1E,0x13,0x01,0x01,0x03,0x17,0x1F,0x1C,0x18,0x10,0x00, 0x00,0x00,0x00,0x10,0x1F,0x1F,0x1F,0x10,0x00,0x00,0x00,0x18,0x1C,0x1F,0x1F,0x13, 0x11,0x10,0x10,0x18,0x1C,0x00,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x01, 0x0E,0x18,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00, 0x00,0x01,0x02,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00, 0x0E,0x1E,0x1F,0x11,0x11,0x1F,0x1F,0x1F,0x10,0x00,0x00,0x0F,0x1F,0x1F,0x10,0x10, 0x1F,0x0F,0x07,0x00,0x07,0x0F,0x1F,0x18,0x10,0x10,0x10,0x08,0x00,0x07,0x0F,0x1F, 0x18,0x10,0x10,0x1F,0x1F,0x1F,0x00,0x07,0x0F,0x1F,0x1A,0x13,0x13,0x11,0x09,0x00, 0x00,0x10,0x1F,0x1F,0x1F,0x10,0x00,0x00,0x63,0xE7,0xEF,0x90,0x90,0x9F,0xFF,0xE7, an 0x60,0x00,0x10,0x1F,0x1F,0x1F,0x10,0x10,0x1F,0x1F,0x1F,0x10,0x10,0x1F,0x1F,0x1F, 0x00,0x80,0xFF,0xFF,0x7F,0x00, }; /*////////////////////// 107 k 108 l 109 m 110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 { 124 | 125 ** 126 ~ */ //vi tri ki tu const char font4[]= {0,10,15,30,40,50,60,69,76,84,90,100,109,122,131,140,148,154,164,170,189,}; //ma chu const char font4h[]= { 0x04,0xFE,0xFE,0xFE,0x00,0x80,0xE0,0x60,0x20,0x00,0x04,0xFE,0xFE,0xFE,0x00,0x40, 0xE0,0xE0,0xE0,0x40,0x20,0xE0,0xE0,0xC0,0x20,0x20,0xE0,0xE0,0xC0,0x00,0x40,0xE0, 0xE0,0xE0,0x40,0x20,0xE0,0xE0,0xC0,0x00,0x80,0xC0,0xE0,0x60,0x20,0x60,0xE0,0xC0, 0x80,0x00,0x40,0xE0,0xE0,0xE0,0x20,0x20,0xE0,0xC0,0x80,0x00,0x80,0xC0,0xE0,0x20, 0x20,0xC0,0xE0,0xE0,0x00,0x40,0xE0,0xE0,0xC0,0x60,0x60,0x60,0xC0,0xE0,0xE0,0x20, 0x20,0x60,0x40,0x00,0x20,0xE0,0xFC,0xFC,0x20,0x20,0x00,0xE0,0xE0,0xE0,0x00,0xC0, 0xE0,0xE0,0x00,0x00,0x20,0xE0,0xE0,0xE0,0x00,0x00,0x20,0xE0,0x20,0x20,0xE0,0xE0, 0x20,0x00,0x20,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x20,0x20,0x60,0xE0,0xE0,0x80,0xA0, 0xE0,0x20,0x00,0x20,0xE0,0xE0,0x20,0x00,0x00,0x20,0xE0,0x20,0x40,0x60,0x20,0xA0, 0xE0,0xE0,0x60,0x00,0x00,0xFC,0xFE,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00, 0x00,0x00,0x00,0x10,0x14,0x36,0x3E,0x18,0x24,0x00, 0x00,0x00,0xC0,0x30,0x0C,0x04,0x26,0x62,0x23,0x01,0x01,0x23,0x62,0x26,0x04,0x1C,0x70,0x80,0x00, }; const char font4l[]= { 0x10,0x1F,0x1F,0x1F,0x11,0x07,0x1E,0x1C,0x18,0x00,0x10,0x1F,0x1F,0x1F,0x10,0x10, 0x1F,0x1F,0x1F,0x10,0x10,0x1F,0x1F,0x1F,0x10,0x10,0x1F,0x1F,0x1F,0x10,0x10,0x1F, 0x1F,0x1F,0x10,0x10,0x1F,0x1F,0x1F,0x10,0x07,0x0F,0x1F,0x18,0x10,0x18,0x1F,0x0F, 0x07,0x00,0x80,0xFF,0xFF,0xFF,0x90,0x18,0x1F,0x0F,0x07,0x00,0x07,0x1F,0x1F,0x10, 0x90,0xFF,0xFF,0xFF,0x80,0x10,0x1F,0x1F,0x1F,0x10,0x00,0x00,0x09,0x13,0x13,0x13, 0x1F,0x1F,0x0E,0x00,0x00,0x1F,0x1F,0x1F,0x10,0x10,0x00,0x0F,0x1F,0x1F,0x10,0x1F, 0x1F,0x1F,0x10,0x00,0x00,0x01,0x07,0x1F,0x1E,0x18,0x06,0x01,0x00,0x00,0x03,0x0F, 0x1F,0x10,0x0E,0x03,0x0F,0x1C,0x1C,0x0F,0x01,0x00,0x10,0x18,0x1D,0x03,0x17,0x1F, 0x1C,0x18,0x10,0x00,0x83,0x87,0x8F,0x48,0x38,0x1F,0x07,0x00,0x18,0x1C,0x1F,0x17, 0x13,0x10,0x18,0x00,0x01,0x7F,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00, 0x00,0x00,0x00,0x00,0x00,0x36,0x3E,0x18,0x24,0x00, an 0x00,0x00,0x07,0x18,0x30,0x62,0x4C,0xC8,0x90,0x90,0x90,0x90,0xC8,0x4C,0x62,0x30,0x18,0x07,0x00, }; /*/////////// 127 Ư 128 ầ 129 ỹ 130 131 132 „ 133 … 134 † 135 ‡ 136 ˆ 137 ‰ 138 Š 139 ‹ 140 Œ 141 ì 142 Ä 143 Å 144 É 145 ‘ 146 ’ 147 “ 148 ” 149 • 150 – 151 — 152 ˜ 153 ™ 154 š 155 › 156 œ 157 ¥ 158 P 159 ƒ 160 161 í 162  163 Ê 164 Ô 165 Ơ 166 Ư 167 Đ 168 ă 169 â 170 ê 171 ô 172 173 174 đ 175 176 177 ± 178 ² an 179 ³ 180 ´ 181 182 ả 183 ã 184 185 186 187 ằ 188 ẳ 189 ẵ 190 ắ 191 ¿ 192 À 193 Á 194  195 à 196 197 198 ặ 199 ầ 200 ẩ 201 É 202 Ê 203 Ë 204 Ì 205 Í 206 Ỵ 207 Ï 208 Ð 209 Đ 210 Ị 211 Ĩ 212 Ơ 213 Õ 214 Ư 215 × 216 Ø 217 Ù 218 Ú 219 Û 220 Ü 221 í 222 ị 223 ò 224 225 ỏ 226 â 227 ã 228 ä 229 å 230 æ 231 ç 232 è 233 é an 234 ê 235 ë 236 ì 237 í 238 ỵ 239 ï 240 ð 241 đ 242 ị 243 ó 244 245 õ 246 247 ÷ 248 ø 249 ù 250 ỳ 251 ỷ 252 ỹ 253 ý 254 ỵ 255 ÿ */ an MỤC LỤC Danh sách hình i Danh sách bảng iii Chƣơng DẪN NHẬP 1.1 Đặt vấn đề 1.2 Lý chọn đề tài 1.3 Nội dung nghiên cứu 1.4 Giới hạn 1.5 Bố cục đề tài Chƣơng CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu 2.2 Tổng quan vi điều khiển PIC18F4620 2.2.1 Sơ đồ khối PIC18F4620 2.2.2 Sơ đồ chân nhớ 2.2.3 Các cổngI/O PIC18F6420 2.2.4 Truyền thông nối tiếp EUART 2.2.5 Ngắt (interrupt) 2.3 Chức thông số LCD16x2 2.3.1 2.4 Chức chân LCD16x2 Module led ma trận 2.4.1 Cấu tạo 2.4.2 Nguyên lý hoạt động 2.4.3 Tập lệnh cho LCD16X2 11 2.5 Led ma trận P10 11 2.5.1 Thông số module led ma trận P10 (16x32) 11 2.5.2 Nguyên lý hoạt động led ma trận P10 13 2.5.3 Sơ đồ quét sơ đồ dịch liệu module led P10 13 2.6 Phương pháp hiển thị sử dụng ghi dịch 14 2.6.1 Quét cột 14 2.6.2 Quét hàng 14 2.6.3 Ưu – nhược điểm phương pháp sử dụng ghi dịch 15 an 2.7 Tổng quan GSM 16 2.7.1 Giới thiệu GSM 16 2.7.2 Cấu trúc mạng GSM 16 2.7.3 Mạng di động MS (Mobile – Station) 16 2.8 Tổng quan tin nhắn SMS 17 2.8.1 Giới thiệu 17 2.8.2 Cấu trúc tin nhắn SMS 17 2.9 Tổng quan SIM900 17 2.9.1 Nguồn cung cấp 17 2.9.2 Bật/tắt SIM900 18 2.9.3 Cách thức giao tiếp nối tiếp 18 2.9.4 Cách thiết lập lệnh at cho SIM900 20 2.10 Truyền liệu nối tiếp 27 2.10.1 Truyền liệu nối tiếp USART 27 2.10.2 Truyền liệu nối tiếp đồng 28 2.10.3 Truyền liệu nối tiếp bất đồng 29 2.11 Chuẩn RS232 30 2.11.1 Giới thiệu chuẩn RS232 30 2.11.2 Đặc điểm 31 2.11.3 Cổng RS232 máy tính 31 Chƣơng 3.THIẾT KẾ PHẦN CỨNG 33 3.1 Sơ đồ khối 33 3.2 Thiết kế phần cứng 33 3.2.1 Sơ đồ nguyên lý mạch điều khiển 33 3.2.2 Module SIM900A 35 3.2.3 Khối giao tiếp máy tính 36 3.2.4 Khối điều khiển 36 3.2.5 Khối hiển thị led P10 37 3.2.6 Thiết kế mạch nguồn 38 3.2.7 Sơ đồ board mạch 39 Chƣơng THIẾT KẾ PHẦN MỀM 42 4.1 Giới thiệu tập lệnh AT 42 4.2 Giới thiệu ngôn ngữ CCS 43 an 4.3 Giới thiệu phần mềm PIC C compiler 44 4.3.1 Giới thiệu sơ lược cách sử dụng trình biên dịch PIC C compiler 45 4.3.2 Cách lập trình phần mềm PIC C compiler: 47 4.4 Giới thiệu phần mềm nạp chương trình Burn-E programmer 49 4.5 Giao tiếp máy tính 53 4.5.1 Giới thiệu giao diện điều khiển 53 4.5.2 Thiết kế giao diện điều khiển 53 4.5.3 Lập trình kết nối 57 4.6 Lưu đồ giải thuật chương trình 59 4.6.1 Lưu đồ giải thuật 59 4.6.2 Giải thích lưu đồ 60 4.6.3 Chương trình 61 Chƣơng KẾT QUẢ NGHIÊN CỨU 63 5.1 Kết 63 5.2 Kết 63 Chƣơng KẾT LUẬN – HƢỚNG PHÁT TRIỂN 65 6.1 Kết luận 65 6.2 Hướng phát triển 65 TÀI LIỆU THAM KHẢO 66 PHỤ LỤC 67 an DANH SÁCH HÌNH VẼ Hình 2.1 sơ đồ khối vi điều khiển PIC18F4620 Hình 2.1 Sơ đồ chân PIC18F4620 Hình 2.2 LCD 16x2 Hình 2.4 Cấu tạo Led ma trận Hình 3.2 LCD 16x2 10 Hình 2.5 Mặt trước led ma trận P10 12 Hình 2.6 Mặt sau led ma trận P10 13 Hình 2.7 Sơ đồ quét led ma trận P10 13 Hình 2.8 Sơ đồ dịch led ma trận P10 14 Hình Sơ đồ khối led ma trận P10 14 Hình 2.10 Lưu đồ trình quét hàng 15 Hình 2.11 Cấu trúc mạng GSM 16 Hình 2.12 Nối chân VBAT cho SIM900 17 Hình 2.13 Điện áp VBAT trình truyền 18 Hình 2.14 Giản đồ xung mơ tả cách bật/tắt SIM900 18 Hình 2.15 Kết nối giao tiếp nối tiếp module khách hàng 19 Hình 2.16 Thiết lập cấu hình mặc định 22 Hình 2.17 Khởi tạo vùng nhớ 23 Hình 2.18 Nhận đọc tin nhắn 24 Hình 2.19 Gửi tin nhắn 26 Hình 2.20 Truyền liệu nối tiếp 28 Hình 2.21 Các kiểu truyền liệu 28 Hình 2.22 Truyền diệu nối tiếp đồng 29 Hình 2.23 Truyền liệu nối tiếp bất đồng UART 30 Hình 2.24 Cổng DB9 thực tế 32 Hình 2.25 Sơ đồ bố trí chân 32 Hình 3.1 Sơ đồ khối hệ thống 33 Hình 3.2 Sơ đồ nguyên lý mạch điều khiển 34 Hình 3.3 Mặt module SIM900A 35 Hình 3.4 Mặt module SIM900A 35 Hình 3.5 Sơ đồ giao tiếp Module SIM900A với Vi điều khiển 35 Hình 3.6 Sơ đồ giao tiếp khối giao tiếp máy tính với vi điều khiển 36 Hình 3.7 Sơ đồ nguyên lý khối điều khiển 37 Hình 3.8 Khối hiển thị ma trận led 16x128 38 i an Hình 3.9 Sơ đồ nguyên lý khối nguồn 38 Hình 3.10 Sơ đồ bố trí linh kiện 39 Hình 3.11 Sơ đồ mạch in mặt trước 40 Hình 3.12 Sơ đồ mạch in mặt sau 40 Hình 3.13 Phần cứng hoàn chỉnh 41 Hình 4.1 Biểu tượng PIC C Compiler 44 Hình 4.2 Quá trình lập trình, biên dịch nạp chương trình vào PIC 44 Hình 4.3 Giao diện trình biên dịch PIC C Compiler 45 Hình 4.4 Mục File 45 Hình 4.5 Mục Project 46 Hình 4.6 Mục Edit 46 Hình 4.7 Mục Compile 47 Hình 4.8 Cửa sổ Project 47 Hình 4.9 Lưu file định dạng pjt 48 Hình 4.10 Chọn loại PIC cần dùng tần số dao đông thạch anh 48 Hình 4.11 Giao diện lập trình 49 Hình 4.12 Mạch nạp Burn-E thực tế 49 Hình 4.13 Giao diện chương trình nạp mạch nạp Burn-E 50 Hình 4.14 Kết nối mạch nạp với Chip Vi điều khiển 51 Hình 4.15 Chọn PIC cần nạp kiểm tra kết nối với PIC 51 Hình 4.16 Thiết lập thông số cho mạch nạp 52 Hình 4.17 Giao diện điều khiển máy tính 53 Hình 4.18 Giao diện chỉnh Visual Basic 6.0 54 Hình 4.19 Giao diện Form 55 Hình 4.20 Giao diện sau đưa đối tượng lên 55 Hình 4.21 Giao diện ô Properties đối tượng 56 Hình 4.22 Cửa sổ viết chương trình 56 Hình 4.23 Các đối tượng lập trình 57 Hình 4.24 Các biến cố (hành động) áp dụng cho đối tượng 57 Hình 25 Lưu đồ giải thuật 59 Hình 5.1 Mặt trước mạch điều khiển 63 Hình 5.2 Mặt sau mặt điều khiển 64 Hình 5.3 Kết đạt 64 ii an DANH SÁCH BẢNG Bảng 2 Ký hiệu chức chân LCD16x2 Bảng 2.3 Ý nghĩa chân cổng DB9 33 Bảng 4.2 Bảng phân loại câu lệnh AT mở rộng 43 iii an S an K L 0 ... 10901089@student.hcmute.edu.vn Thơng tin đề tài Tên đề tài: THI? ??T KẾ VÀ THI CÔNG MẠCH QUANG BÁO SỬ DỤNG PIC18 ĐIỀU KHIỂN BẰNG TIN NHẮN ĐIỆN THOẠI VÀ MÁY TÍNH Mục đích đề tài: Đồ án tốt nghiệp thực tại: Bộ môn Điện Tử Viễn... KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN – ĐIỆN TỬ ĐỀ TÀI: THI? ??T KẾ VÀ THI CÔNG MẠCH QUANG BÁO SỬ DỤNG PIC18 ĐIỀU KHIỂN BẰNG... Lớp:109010C MSSV:10901066 MSSV:10901089 Tên đề tài: THI? ??T KẾ VÀ THI CÔNG MẠCH QUANG BÁO SỬ DỤNG PIC18 ĐIỀU KHIỂN BẰNG TIN NHẮN ĐIỆN THOẠI VÀ MÁY TÍNH Tuần/ngày Nội dung Xác nhận GVHD Tuần 1: (11/10

Ngày đăng: 02/02/2023, 09:30

Tài liệu cùng người dùng

Tài liệu liên quan