ĐỒ ÁN CHUYÊN NGÀNH ĐIỆN TỬ báo cáo đồ án thiêt kế đồng hồ hiển thì thời gian thực sử dụng PIC18F4520 ĐỒ ÁN CHUYÊN NGÀNH ĐIỆN TỬ báo cáo đồ án thiêt kế đồng hồ hiển thì thời gian thực sử dụng PIC18F4520
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA ĐIỆN TỬ - ĐỒ ÁN ĐẠI HỌC CƠNG NGHỆ KỸ THUẬT MÁY TÍNH THIẾT KẾ ĐỒNG HỒ SỐ HIỂN THỊ THỜI GIAN THỰC SỬ DỤNG PIC18F4520 VÀ DS1307 GVHD: Ths Phạm Văn Chiến Nhóm: 01 LỚP, KHĨA: 20231FE6068002 – Khóa: 16 Hà Nội, Tháng 12 Năm 2023 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA ĐIỆN TỬ - ĐỒ ÁN ĐẠI HỌC CÔNG NGHỆ KỸ THUẬT MÁY TÍNH THIẾT KẾ ĐỒNG HỒ SỐ HIỂN THỊ THỜI GIAN THỰC SỬ DỤNG PIC18F4520 VÀ DS1307 GVHD: Ths Phạm Văn Chiến Nhóm: 01 LỚP, KHĨA: 20231FE6068002 – Khóa: 16 Hà Nội, Tháng 12 Năm 2023 LỜI CẢM ƠN Em xin chân thành cảm ơn Thầy Phạm Văn Chiến tận tình dạy dỗ, giúp đỡ nhóm trình chuẩn bị thực đồ án Hướng dẫn, cung cấp tài liệu truyền đạt nhiều ý kiến thiết thực suốt trình thực đồ án Những kinh nghiệm quý báu mà Thầy truyền đạt kinh nghiệm quý báu cho nhóm em việc thực đề tài khác tương lai Mặc dù có nhiều cố gắng với kiến thức hạn hẹp thời gian tiếp xúc với thực tế chưa nhiều, báo cáo đồ án nhóm em khơng thể tránh khỏi nhiều thiếu sót Em mong có ý kiến đóng góp chân thành Thầy Cơ kiến thức báo cáo hoàn thiện Em xin chân thành cảm ơn! Hà Nội, ngày 14 tháng 12 năm 2023 Nhóm sinh viên LỜI MỞ ĐẦU Trong thời đại nay, công nghệ trở thành phần thiếu sống hàng ngày Trong lĩnh vực này, việc thiết kế phát triển hệ thống đồng hồ hiển thị thời gian thực không thách thức kỹ thuật mà hội để tận dụng tiềm công nghệ, mang lại trải nghiệm tuyệt vời cho người sử dụng Chúng em chọn đề tài "Thiết Kế Đồng Hồ Số Hiển Thị Thời Gian Thực LCD sử dụng DS1307 PIC18F4520" với mục tiêu xây dựng hệ thống đồng hồ đơn giản hiệu quả, kết hợp vi điều khiển PIC18F4520 mô-đun thời gian thực DS1307 Mục đích đề tài tạo sản phẩm linh hoạt khơng đáp ứng nhu cầu hiển thị thời gian mà mang lại tính thơng minh tiện ích khác Qua trình nghiên cứu phát triển, chúng em đối mặt với nhiều thách thức hội để tối ưu hóa hiệu suất hệ thống Trong phần kết luận hướng phát triển, chúng em chia sẻ kết đề xuất hướng phát triển để nâng cao tính khả ứng dụng sản phẩm Hướng dẫn chi tiết trình thiết kế, triển khai, kiểm thử trình bày để chia sẻ kiến thức kinh nghiệm tích lũy dự án Hy vọng đề tài chúng em đóng góp nhỏ vào lĩnh vực phát triển hệ thống nhúng giúp khám phá thêm tiềm ứng dụng công nghệ sống hàng ngày MỤC LỤC LỜI CẢM ƠN LỜI MỞ ĐẦU MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG BIỂU PHẦN I: GIỚI THIỆU 1.1 Tổng Quan Về Đề Tài 1.2 Nhiệm Vụ Đề Tài 1.3 Phân Chia Nhiệm Vụ PHẦN II: CƠ SỞ LÝ THUYẾT 10 2.1 Giới Thiệu Về Vi Điều Khiển PIC18F4520 10 2.1.1 Sơ đồ khối 10 2.1.2 Sơ đồ chân 13 2.1.3 Thông số kỹ thuật 14 2.1.4 Công Cụ lập Trình 15 2.2 Màn Hình LCD16x2 17 2.2.1 Thông số kỹ thuật sản phẩm LCD 16x2: 17 2.2.2 Chức chân LCD 16x2: 18 2.3 IC Thời Gian Thực (RTC) DS1307 19 2.3.2 Chức các chân DS1307 20 2.3.3 Nguyên lý hoạt động DS1307: 21 CHƯƠNG III: THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG 23 3.1 Yêu cầu toán 23 3.2 Phân Tích Thiết Kế 23 3.3 Sơ Đồ Khối 24 3.4 Lựa Chọn Linh Kiện Cho Bài Toán Thiết Kế 25 3.5 Thiết kế phần cứng 29 3.5.1 Sơ đồ mạch nguyên lý toàn mạch 29 3.5.2 Sơ đồ mạch in 35 PHẦN IV THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM 36 4.1 Lưu đồ thuật toán 36 4.2 Giải thích lưu đồ 36 PHẦN V KẾT QUẢ THỰC HIỆN 38 PHẦN VI KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 41 TÀI LIỆU THAM KHẢO 43 PHỤ LỤC 44 DANH MỤC HÌNH ẢNH Hình 2.1: Sơ đồ khối PIC18F4520 11 Hình 2.2: Sơ đồ chân PIC 18F4520 dạng PDIP 14 Hình 2.3: Sơ đồ chân LCD16x2 18 Hình 2.4: Sơ đồ IC thời gian thực DS1307 20 Hình 3.1: Sơ đồ khối tổng quát hệ thống mạch 24 Hình 3.2: Bảng quy ước vòng màu điện trở 25 Hình 3.3: Hình ảnh loại biến trở phổ biến 26 Hình 3.4: Các loại tụ điện phổ biến thị trường 26 Hình 3.5: Hình ảnh nút nhấn chân 27 Hình 3.6: Loại thạch anh phổ biến 28 Hình 3.7: Loại diode thông dụng 28 Hình 3.8: Sơ đồ ngun lý tồn mạch 29 Hình 3.9: Sơ đồ nguyên lý khối nguồn 30 Hình 3.10: PCB Layout JAC DC 30 Hình 3.11: Sơ đồ nguyên lý khối điều khiển 31 Hình 3.12: Sơ đồ nguyên lý khối thời gian thực 32 Hình 3.13: Sơ đồ nguyên lý khối hiển thị 33 Hình 3.14: Sơ đồ nguyên lý khối nút nhấn 34 Hình 3.15: Layout mạch in 35 Hình 4.1: Lưu đồ thuật toán đề tài 36 Hình 5.1: Mơ Hình sản phẩm 38 Hình 5.2: Hình ảnh mơ tả cách hoạt động nút nhấn Mode 39 Hình 5.3: Mạch trạng thái hoạt động bình thường 40 DANH MỤC BẢNG BIỂU Bảng 2.1: Thông số kỹ thuật PIC18F4520 14 Bảng 2.2: Tên chức chân DS1307 20 PHẦN I: GIỚI THIỆU 1.1 Tổng Quan Về Đề Tài Cùng với phát triển nhanh chóng cơng nghệ đại gắn liền với đời sống người, ngành công nghệ điện tử đánh dấu bước đổi đáng kinh ngạc hầu hết lĩnh vực, nâng cao đời sống tinh thần người Trong thứ thiết yếu kết nối người với người, đánh dấu thời đại qua thời đại thời gian Chính quen thuộc quan trọng đó, nhóm em định chọn đề tài “Thiết Kế Đồng Hồ Số Hiển Thị Thời Gian Thực Sử Dụng PIC18F4520 Và DS1307” Lịch sử phát triển đồng hồ Đồng hồ công cụ để đo đạc mốc thời gian nhỏ ngày; đối lập với lịch, công cụ để đo thời gian dài ngày Những loại đồng hồ dùng kĩ thuật thường có độ xác cao cấu tạo phức tạp Trong đó, người ta tạo loại đồng hồ nhỏ để dễ dàng mang theo bên Những loại đồng hồ đại (từ kỉ 14 trở đi) thường thể thông tin: giờ, phút, giây Cách hiển thị thời gian Đồng hồ cơ: Đồng hồ thê thời gian sử dụng góc Mặt đồng hồ có số từ đến 12 sử dụng kim để phút Từ số đến số kế cận phút (đối với kim phút), (đối với kim giờ) hay giây (đối với kim giây) Đồng hồ điện tử: Đồng hồ điện tử sử dụng hệ thống số để thể thời gian Thơng thường có cách thể hiện: 24 để đếm từ 00-23 12 với kí hiệu AM / PM (chủ yếu Mĩ) 1.2 Nhiệm Vụ Đề Tài Để thực đề tài này, nhóm đưa yêu cầu nhiệm vụ cần phải thực sau: Nội dung 1: Tìm hiểu nguyên lý, lý thuyết cách xây dựng hệ thống đồng hồ đo thời gian thực Thông qua việc tra cứu tài liệu mạng, nghiên cứu tài liệu qua sách phải xây dựng khối hệ thống đồng hồ thời gian thực cách liên kết khối với Nội dung 2: Tìm hiểu số linh kiện phần cứng để giúp q trình thực sau: DS1307, vi điều khiển Pic, hình hiển thị LCD Bo mạch điện tử Phải nắm bắt thức hoạt động động linh kiện, cách lập trình ghép nối để thiết bị liên kết với hoạt động theo yêu cầu Hiểu cách thiết kế bo mạch điện tử cách thức thiết kế bo mạch theo yêu cầu nội dung Nội dung 3: Thiết kế điều khiển hệ thống thông Pic18F4520, sử dụng giải thuật để đưa giải pháp tối ưu cho chương trình điều khiển Thiết kế chương trình điều khiển theo yêu cầu nội dung mong muốn Việc tìm hiểu thơng qua nguồn kiến thức học kết hợp với việc nghiên cứu thông tin qua mạng internet để có kiến thức hữu ích cho q trình thực 1.3 Phân Chia Nhiệm Vụ Để thực nhiệm vụ cách tốt nhóm thực làm việc dựa tinh thần đoàn kết hỗ trợ lẫn Tuy nhiên để đảm bảo tiến độ hồn thiện đồ án thành viên đảm nhận công việc cụ thể sau: STT Tên thành viên Nhiệm vụ Nguyễn Hoàng Phát Làm sản phẩm Nguyễn Hữu Tú Thiết kế phần cứng 31 3.5.1.2 Thiết kế khối điều khiển Hình 3.11: Sơ đồ nguyên lý khối điều khiển Sử dụng PIC18F4520 để điều khiển hoạt động toàn mạch Cách thức hoạt động khối điều khiển: Sử dụng vi xử lý PIC18F4520 Với thạch anh giao động 8M để tạo xung nhịp cho PIC Nối chân vi xử lý với ngoại vi sau: Chân RD0 nối với chân RS LCD Chân RD1 nối với chân RW LCD Chân RD2 nối với chân E LCD Chân RD4 nối với chân D4 LCD Chân RD5 nối với chân D5 LCD Chân RD6 nối với chân D6 LCD Chân RD7 nối với chân D7 LCD Chân RC3 RC4 dùng để giao tiếp với DS1307 Chân RA0, RA1 nối với nút nhấn SW1 SW2 Với nhiệm vụ giao tiếp điều khiển khối khác thành liên 32 kết thực chức theo yêu cầu mạch với chương trình lập trình 3.5.1.3 Thiết kế khối thời gian thực Hình 3.12: Sơ đồ nguyên lý khối thời gian thực Cách thức hoạt động khối thời gian thực: Sử dụng IC thời gian thực DS1307 với giao tiếp chuẩn I2C Thạch anh 16MHz giúp tạo giao động chuẩn thời gian cho ic thời gian thực Pin 3V dùng để cấp nguồn cho IC thời gian thực chạy điện 33 3.5.1.4 Thiết kế khối hiển thị Hình 3.13: Sơ đồ nguyên lý khối hiển thị Sử dụng LDC16x2 để hiển thị thông tin thời gian Cách thức hoạt động khối hiển thị: Màn hình LCD 16X2 chế độ bit kết nối điều khiển với vi xử lý Các chân 15 16 cấp nguồn cấp mass để sáng đèn cho LCD Biến trở 10K dùng để chỉnh độ tương phản hình Màn hình giúp hiển thị ký tự bảng mã ASCII với dòng 16 cột 34 3.5.1.5 Thiết kế khối nút nhấn Hình 3.14: Sơ đồ nguyên lý khối nút nhấn Sử dụng nút nhấn SW2 VÀ SW1 để điều chỉnh thời gian Cách thức hoạt động: Nút thứ thiết kế để thực việc lựa chọn luân phiên đơn vị thời gian khác nhau, nhằm tạo thuận tiện trình điều chỉnh thời gian Nút thứ hai, ngược lại, có nhiệm vụ tăng giá trị thời gian cụ thể, mang lại khả điều chỉnh chi tiết xác Mỗi nút nhấn tích hợp với hệ thống logic nhạy bén, đảm bảo xác đáng tin cậy trình thao tác Cấu trúc khơng tối ưu hóa trải nghiệm người dùng mà cịn thể linh hoạt tiện ích hệ thống thời gian ứng dụng khoa học công nghiệp 35 3.5.2 Sơ đồ mạch in Hình 3.15: Layout mạch in 36 PHẦN IV THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM 4.1 Lưu đồ thuật tốn Hình 4.1: Lưu đồ thuật tốn đề tài Viết chương trình điều khiển Hiện có nhiều phần mềm lập trình cho vi điều khiển PIC để thiết kế mạch Ở nhóm sử dụng phần mềm lập trình MPLAB Nội dung chương trình: xem phụ lục [1] 4.2 Giải thích lưu đồ Khởi tạo: Khởi tạo cổng giao tiếp với module DS1307 (ví dụ: I2C) Thiết lập biến cần thiết cho việc lưu trữ thông tin thời gian Đọc thời gian từ DS1307: Gửi lệnh đọc địa DS1307 thông qua giao tiếp I2C 37 Đọc liệu thời gian từ DS1307, bao gồm giờ, phút, giây, ngày, tháng năm Lưu liệu vào biến tương ứng Hiển thị thời gian: Sử dụng LCD phương tiện hiển thị khác để hiển thị thông tin thời gian Chia nhỏ liệu thời gian thành phần riêng biệt giờ, phút giây Hiển thị giá trị giao diện người dùng Cập nhật thời gian: Tạo vịng lặp để liên tục cập nhật thời gian Trong chu kỳ lặp, đọc thời gian từ DS1307 cập nhật hiển thị giao diện người dùng 38 PHẦN V KẾT QUẢ THỰC HIỆN Hình 5.1: Mơ Hình sản phẩm Cách thức kiểm thử Bước 1: Cấp nguồn cho mạch adapter 5V- 2A Bước 2: Sử dụng nút nhấn Mode Set để cài đặt lại thời gian không với thời gian [Sử dụng múi Đông Dương (GMT +7) ] Khi Nhấn nút nhấn Mode, LCD hiển thị qua đơn vị thời gian cụ thể: Minute: -> Hour: -> Date: -> Month: -> Year: dựa vào số lần nhấn VD: Nhấn lần Minute (hiển thị bên phút mà đồng hồ đếm), nhấn lần hiển thị Hour (hiển thị bên hour mà đồng hồ đếm) 39 Hình 5.2: Hình ảnh mơ tả cách hoạt động nút nhấn Mode Khi nhấn nút nhấn Set số thời gian hiển thị tăng lên Ví dụ: Khi nhấn nút nhấn Set lần, số thời gian hình 5.2 từ 52 tăng lên 53 Nếu nhấn đến 59 40 Hình 5.3: Mạch trạng thái hoạt động bình thường Kết đạt Thiết kế mơ hình, hoàn thành phần mạch lắp thiết bị xử lý vào mơ hình Hiển thị thời gian thực LCD thông qua DS1307 PIC18F4520 Ứng dụng vi điều khiển PIC 18F4520 vào thiết kế mạch Kết chưa đạt Tính thẩm mỹ mạch mơ hình chưa cao Hệ thống đơn giản Khi xảy điện hệ thống hoạt động Đánh giá Mạch chạy theo yêu cầu Các nút nhấn nhạy LCD hiển thị cập nhật thời gian xác nhanh chóng Độ trễ thấp 41 PHẦN VI KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN KẾT LUẬN Trong trình nghiên cứu thiết kế đồng hồ hiển thị thời gian thực LCD sử dụng DS1307 PIC18F4520, chúng em đạt mục tiêu dự án cách thành công Hệ thống chúng em khơng có khả hiển thị thời gian mà cịn đảm bảo độ xác ổn định, nhờ sử dụng mô-đun thời gian thực DS1307 vi điều khiển PIC18F4520 Chúng em triển khai kiểm thử chức đồng hồ, bao gồm đồng hóa thời gian từ DS1307 hiển thị lên LCD Các chức bổ sung báo thức, đồng hồ đếm ngược, tính mở rộng khác tích hợp để nâng cao khả sử dụng hệ thống HƯỚNG PHÁT TRIỂN Giao Diện Người Dùng Nâng Cao: Phát triển giao diện người dùng thân thiện đa dạng để cải thiện trải nghiệm người dùng Điều bao gồm việc thêm nút điều khiển hình cảm ứng để dễ dàng tương tác Kết Nối Mạng Đồng Bộ Hóa Thời Gian: Nâng cấp hệ thống để có khả kết nối mạng, giúp đồng hồ đồng hóa thời gian từ nguồn thời gian trực tuyến NTP (Network Time Protocol) Bảo Mật Chứng Thực: Tăng cường tính bảo mật để đảm bảo an tồn cho liệu thời gian thơng tin cá nhân Đồng thời, thêm tính chứng thực để ngăn chặn truy cập trái phép Lưu Trữ Dữ Liệu Nâng Cao: Tích hợp nhớ thẻ nhớ để lưu trữ kiện quan trọng, bảo thức kiện đặc biệt, để người dùng xem lại Điều Khiển Từ Xa: Thêm khả điều khiển từ xa thông qua kết nối không dây, cho phép người dùng điều khiển cấu hình đồng hồ từ xa Nâng Cấp Độ Phân Giải LCD: Sử dụng hình LCD có độ phân 42 giải cao để cải thiện chất lượng hiển thị khả tương tác Phát Triển Ứng Dụng Di Động: Xây dựng ứng dụng di động để kết nối kiểm soát đồng hồ từ điện thoại di động, mang lại thuận tiện linh hoạt cho người sử dụng Tối Ưu Hóa Năng Lượng: Nghiên cứu triển khai phương pháp tiết kiệm lượng để kéo dài thời gian hoạt động đồng hồ giảm tác động đến môi trường Những hướng phát triển giúp cải thiện tính hiệu suất hệ thống đồng hồ hiển thị thời gian thực, làm cho trở thành sản phẩm đa dạng mạnh mẽ 43 TÀI LIỆU THAM KHẢO [1] Vũ Trung Kiên, Phạm Văn Chiến, Nguyễn Văn Tùng (2014),Giáo trình “Vi điều khiển PIC” – trường Đại học Cơng Nghiệp Hà Nội [2] Nguyễn Đình Phú(2007), "Vi xử lý 2", Trường Đại học Sư phạm Kỹ thuật TP.HCM, thành phố Hồ Chí Minh [3] Phạm Thị Thanh Huyền – Nguyễn Ngọc Anh – Nguyễn Thị Minh Tâm (2016), "Giáo trình Linh kiện điện tử", Đại học Sư Phạm, Hà Nội [4] Lê Mạnh Long (2015), Giá trình “Thực hành điện tử 1” – Trường Đại học Công Nghiệp Hà Nội 44 PHỤ LỤC Mã Nguồn Chính #include "main.h" unsigned char gio,phut,giay,mode=1, thu,ngay,thang,nam; void main(void) { OSC_Internal_Init(); ADCON1= 0x0f; Ds1307_Init(); Lcd_Init(); Hienthi1(); while(1) { Ds1307_Read_Time(&gio,&phut,&giay,&mode); Ds1307_Read_Date(&thu,&ngay,&thang,&nam); Hienthi2(); Delay10KTCYx(100); } } void Hienthi1(void) { gotoxy(6,1); Write_Data(':'); gotoxy(9,1); Write_Data(':'); gotoxy(1,2); Write_Data('T'); Write_Data('h'); Write_Data('u'); gotoxy(9,2); Write_Data(':'); gotoxy(12,2); Write_Data(':'); 45 } void Hienthi2(void) { Tachso_LCD(gio,4,5,1); Tachso_LCD(phut,7,8,1); Tachso_LCD(giay,10,11,1); Tachso_LCD(thu,4,5,2); Tachso_LCD(ngay,7,8,2); Tachso_LCD(thang,10,11,2); Tachso_LCD(20,13,14,2); Tachso_LCD(nam,15,16,2); }