Đồ án môn học thiết kế đồng hồ số giao tiếp LCD sử dụng PIC

26 156 0
  • Loading ...
Loading...
1/26 trang

Thông tin tài liệu

Ngày đăng: 24/04/2017, 10:34

Đồ án môn học thiết kế đồng hồ số giao tiếp LCD sử dụng PIC là bộ tài liệu hay và rất hữu ích cho các bạn sinh viên và quý bạn đọc quan tâm. Đây là tài liệu hay trong Bộ tài liệu sưu tập gồm nhiều Bài tập THCS, THPT, luyện thi THPT Quốc gia, Giáo án, Luận văn, Khoá luận, Tiểu luận…và nhiều Giáo trình Đại học, cao đẳng của nhiều lĩnh vực: Toán, Lý, Hoá, Sinh…. Đây là nguồn tài liệu quý giá đầy đủ và rất cần thiết đối với các bạn sinh viên, học sinh, quý phụ huynh, quý đồng nghiệp và các giáo sinh tham khảo học tập. Xuất phát từ quá trình tìm tòi, trao đổi tài liệu, chúng tôi nhận thấy rằng để có được tài liệu mình cần và đủ là một điều không dễ, tốn nhiều thời gian, vì vậy, với mong muốn giúp bạn, giúp mình tôi tổng hợp và chuyển tải lên để quý vị tham khảo. Qua đây cũng gởi lời cảm ơn đến tác giả các bài viết liên quan đã tạo điều kiện cho chúng tôi có bộ sưu tập này. Trên tinh thần tôn trọng tác giả, chúng tôi vẫn giữ nguyên bản gốc.Trân trọng.ĐỊA CHỈ DANH MỤC TẠI LIỆU CẦN THAM KHẢOhttp:123doc.vntrangcanhan348169nguyenductrung.htmhoặc Đường dẫn: google > 123doc > Nguyễn Đức Trung > Tất cả (chọn mục Thành viên) VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM TUYỂN TẬP TÀI LIỆU HAY, BÀI TẬP, GIÁO TRÌNH, BÀI GIẢNG, ĐỀ THI PHỔ THÔNG, ĐẠI HỌC, SAU ĐẠI HỌC LUẬN VĂN-KHOÁ LUẬN-TIỂU LUẬN NHIỀU LĨNH VỰC KHOA HỌC ĐỒ ÁN MÔN HỌC THIẾT KẾ ĐỒNG HỒ SỐ GIAO TIẾP LCD SỬ DỤNG PIC VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Mục Lục VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Lời mở đầu Ngày nay,khoa học công nghệ kỹ thuật đóng vai trò quan trọng đời sống người Bên cạnh đó, thời gian trở thành tài sản quý mong muốn tận dụng cách tối đa Tuy nhiên, việc quản lý thời gian cách hiệu vấn đề nan giải cần giải cách triệt để đề tài mà nhóm muốn tìm cách giải Kết hợp với kiến thức thiết kế lập trình hệ thống nhúng, nhóm định lựa chọn đề tài “Thiết kế đồng hồ số vi xử lý PIC16F877A” Đề tài thực khoảng thời gian tháng với hỗ trợ kiến thức lập trình C, thiết kế mô mạch Hơn nữa, nhóm tận dụng khả vi xử lý PIC16F877A để giải vấn đề phát sinh trình thực Kết nhận khả quan thành phẩm thị thời gian cách chi tiết điều chỉnh thông qua nút nhấn Trong tương lai, sản phẩm hoàn toàn phát triển xa với tính báo thức, thiết lập lịch làm việc… nhằm đáp ứng nhu cầu quản lý thời gian mà người mong muốn Giới thiệu chung Bài báo cáo trình bày mạch đồng hồ hiển thị thời gian thông qua việc sử dụng ngôn ngữ lập trình C PIC C Compiler kiến thức thiết kế hệ thống nhúng Trước hết, báo cáo trình bày đặc tính sản phẩm Nhìn chung, mạch tạo thành từ thành phần linh kiện phổ biến việc thiết kế hệ thống nhúng vi xử lý PIC16F877A, hình LCD, nút nhấn với linh kiện điện trở, tụ điện… Ngoài ra, báo cáo trình bày cách thức mô Proteus thiết kế mạch in thông qua ứng dụng Orcad, đó, việc thiết kế mạch in đóng vai trò quan trọng hết chất lượng sản phẩm phụ thuộc vào yếu tố Tiếp theo, đồ khối với thuật toán dành cho sản phẩm giới thiệu Về bản, mạch đồng hồ sử dụng Timer0 vi xử lý PIC để tạo đếm giây cho thành phần khác hoạt động Thêm vào đó, thuật toán dành cho hình LCD nút nhấn trọng kĩ phần đóng vai trò quan trọng việc khẳng định hiệu thiết bị Công cụ sử dụng Trong trình thực đồ án này, sản phẩm hình thành thông qua việc sử dụng phần mềm hữu ích sau đây: • • • PIC C Compiler, hỗ trợ viết mã biên dịch mã nguồn thành file hex Proteus 8.0, hỗ trợ mô sản phẩm Orcad 9.2, hỗ trợ thiết kế mạch in hoàn thiện sản phẩm Nội Dung Đặc tính sản phẩm VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Sản phẩm thiết kế đồng hồ điện tử có khả hiển thị thời gian Cụ thể hơn, mạch có khả hiển thị thời gian với thông số: ngày – tháng – năm - phút – giây Ngoài ra, người dùng thực việc điều chỉnh thông số thông qua nút nhấn Để thực tính trên, sản phẩm sử dụng giao tiếp với hình LCD để hiển thị thời gian với định timer0 chip xử lý PIC16F877A để tạo đếm giây Ngoài ra, đề cập trên, sản phẩm có sử dụng nút nhấn để nhập thông tin thời gian mà người dùng mong muốn Sau hoàn thành trình nhập, thời gian hiển thị phù hợp với yêu cầu người dùng Đặc tính kĩ thuật: Nút nhấn PIC16F877A LCD Hiển thị thời gian Tạo xung Hình 1: đồ hoạt động tổng quát Sản phẩm sử dụng đầu thành phần linh kiện sau để thực chức năng: a Nút nhấn: Trong mạch thiết kế, sản phẩm sử dụng ba nút nhấn với tên gọi SET TIME, UP DOWN Mỗi nút nhấn có chức riêng biệt sau: • • • SET TIME: thiết lập thời gian cho thông số hiển thị đồng hồ UP: tăng giá trị thông số tùy chỉnh lên với phút giây, tháng năm tang thứ tự ngày tuần DOWN: giảm giá trị thông số tùy chỉnh xuống với phút giây, tháng, năm giảm thứ tự ngày tuần Hệ thống nút nhấn: VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM b Vi xử lý PIC16F877A: Hình 2: đồ chân Vi xử lý PIC16F877A Về bản, PIC viết tắt Programmable Intelligent Computer,do hãng General Instrument đặt tên cho sản phẩm xử lý họ Hiện nay, thị trường có nhiều họ vi điều khiển 8051, ARM, v.v họ vi điều khiển PIC ưa chuộng nhiều lý do: • • • Họ vi điều khiển dễ dàng tìm thấy thị trường Việt Nam Giá thành phù hợp với nhu cầu học hỏi sinh viên Có đầy đủ tính vi điều khiển hoạt động độc lập VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM • Là bổ sung tốt kiến thức ứng dụng cho họ vi điều khiển mang tính truyền thống 8051 Ngoài ra, hỗ trợ nhà sản xuất trình biên dịch (PIC C Compiler, MickroC), công cụ lập trình, nạp chương trình dành cho họ sản phẩm đa dạng, PIC lựa chọn hoàn hảo để xây dựng mô hình sản phẩm Cụ thể hơn, PIC16F877A có tập lận gồm 35 lệnh có độ dài 14 bit Mỗi lệnh thực thi chu kì xung clock Tốc độ tối đa cho phép 20MHz với chu kì lệnh 200ms Bộ nhớ chương trình 8k x14 bit, nhớ liệu 368x8 byte RAM nhớ liệu EEPROM với dung lượng 258 x byte Sổ PORT I/O với 33 chân I/O Hình 3: đồ khối Vi xử lý PIC16F877A Ngoài ra, đặc tính ngoại vi sản phẩm bao gồm khối chức sau: • Timer0: đếm bit với chia tần số bit VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM • • • • • • Timer1: đếm 16 bit với chia tần số, thực chức đếm dựa vào xung clock ngoại vi vi điều khiển hoạt động chế độ ngủ Timer2: đếm bit với chia tần số, postcaler Hai Capture/so sánh/điều chế độ xung Các chuẩn giao tiếp SSP (Synchronous Serial Port), SPI I2C Chuẩn giao tiếp nối USART với địa bit Cổng giao tiếp song song PSP (Parallel Slave Port) với chân điều khiển RD, WR, CS bên Ngoài ra, nhắc tới đặc tính Analog sau: • • • • • • • • • • kênh chuyển đổi ADC 10bit Hai so sánh Bộ nhớ flash với khả ghi xóa 100,000 lần Bộ nhớ EEPROM với khả xóa 1,000,000 lần Dữ liệu nhớ EEPROM lưu trữ 40 năm Khả tự nạp chương trình với điều khiển phần mềm Watchdog Timer với dao động Chức bảo mật mã chương trình Chế độ Sleep Có thể hoạt động với nhiều dạng Oscillator khác c Khối hiển thị LCD: Màn hình LCD đóng vai trò hiển thị thông số thời gian ngày tháng năm – phút giây d Khối nguồn: Để mạch hoạt động cách hiệu quả, sản phẩm sử dụng nguồn 5V cung cấp từ adapter USB kết nối với máy tính Ở đây, nhóm chọn nguồn cung cấp cho mạch từ cổng USB đồ nguồn thiết kế sau: Hình 4: đồ nguồn e Các thành phần khác: Ngoài ra, để thực mạch hoạt thực chức điều chỉnh thời gian, sản phẩm thêm linh kiện biến trở, điện trở, nhấn f động sử dụng nút Yêu cầu: VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Mạch hoạt động cách hiệu thời gian hiển thị phù hợp với thời gian chuẩn theo GMT Để thực điều này, ta cần tạo đếm thời gian giây để đồng hồ hoạt động Ngoài ra, người dùng hoàn toàn điều chỉnh thời gian theo ý muốn xóa tất thiết lập ban đầu để thiết lập hoàn toàn Hơn nữa, sản phẩm phải có giao diện thiết kế đẹp, dễ nhìn hút Đặc tính phần cứng: a đồ đồ khối mạch: Trước tiên, trình mô thực để kiểm tra hoạt động mã nguồn chương trình đồ mô mạch thiết kế sau: Hình 5: đồ mạch mô Proteus Sau đó, để thực sản phẩm, mạch thiết kế với mô hình nguyên lý hoạt động sau đây: VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Hình 6: đồ hoạt động mạch Vi xử lý PIC16F877A có tần số MHz Ngoài ra, mạch sử dụng định timer0 để tạo đếm giây cho đồng hồ Hơn nữa, mạch nhận thông tin điều chỉnh thời gian thông qua nút nhấn thông tin đầu vào đưa vào cổng E Thông tin đầu sử dụng cổng D để hiển thị lên LCD VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Hình 7: đồ khối hiển thị LCD Khối LCD sử dụng mạch LCD 16 chân: đó, mạch sử dụng chân 1, 2, 3, 4, 5, 6, 11, 12, 13, 14, 15, 16 để hiển thị thời gian Ngoài ra, thành phần tích hợp thêm biến trở để điều khiển độ sáng hình Thạch anh với tần số 4MHz thành phần kết hợp với tụ 22pF để đưa vào chân số 13 OSC1/CLKIN 14 OSC2/CLKOUT tạo xung clock cho đồng hồ Điện trở sử dụng mạch có giá trị 4.7K, số tụ kẹo 104 để lọc nhiễu b Nguyên lý hoạt động bản: Mạch bắt đầu hoạt động cung cấp nguồn 5V thông qua dây kết nối USB với máy tính cá nhân adapter Khi cấp nguồn cho mạch, vi xử lý PIC16F877A bắt đầu đếm thời gian Ngoài ra, bắt đầu khởi động, giá trị ban đầu 00:00:00 Do đó, để điều chỉnh thời gian, người dùng sử dụng nút nhấn SET TIME, UP, DOWN Khi đó, mạch sử dụng thuật toán điều chỉnh thời gian xác định năm nhuận để thực xác lập thời gian hiển thị Đặc tính phần mềm a Đồng hồ hoạt động nào? Về bản, đồng hồ hiển ghị ngày – tháng – năm – phút – giây bao gồm thông số với tầm hoạt động sau đây: • • • • • • Giây: – 59 Phút: – 59 Giờ: – 23 Ngày: SUN – MON – TUE– WED – THU – FRI – SAT tương ứng với chủ nhật, thứ hai, thứ ba, thứ tư, thứ năm, thứ sáu, thứ bảy tuần – tương ứng với ngày tuần Số ngày: – 28/29/30/31 với cận tương ứng với tháng năm Tháng: – 12 Như vậy, để đồng hồ hoạt động, biến giây đồng hồ bắt đầu đếm từ đến 59 Khi đó, biến phút cộng lên 1; đồng thời, biến giây trả lại tiếp tục trình đếm Sau đó, biến phút tăng từ đến 59; đó, thông số tăng lên thông số phút bắt đầu đến lại Tiếp theo,biến đếm từ giá trị đạt 23, ngày số ngày tăng lên đếm lại với giá trị Ngoài ra, thông số ngày tăng lên mốc tối đa 7, ứng với thứ sau giá trị bắt đầu lại từ (ứng với chủ nhật) Trong đó, thông số số ngày tăng từ tới 28/29/30/31 với cận tương ứng với tháng năm năm nhuận hay không Gỉa sử tháng nói tới tháng 1, 3, 5, 7, 8, 10 12 số ngày tối đa 31; tháng 4, 6, 9, 10 11 số ngày 30 Nếu tháng tháng năm thường số ngày 28 tháng năm nhuận 29 ngày Khi số ngày tháng đạt mức tối đa, giá trị tháng tăng lên số ngày bắt đầu lại từ Cuối cùng,nếu tháng 12 sau đó, số năm tăng lên giá trị tháng bắt đầu lại b Cách tạo đếm thời gian? 10 VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Hình 11: đồ khối chung 12 VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Mã nguồn phần main() chương trình: Mã nguồn thành phần tạo đếm thời gian cho đồng hồ: void main() void TIMER0_isr() { { Initialize_RTC(); set_timer0(-125); clear_interrupt(INT_TIMER0); enable_interrupts(GLOBAL); K++; lcd_init(); if (K == 126) { if (++secs > 59) { delay_ms(10); secs = 0; if (++mins > 59) { output_low(PIN_D7); mins = 0; if (++hours > 23) while(true) { hours = 0; { buttonchecked(); if ((++date > 6) & (++day > 7)) date = 0; if (set_time_button) day = 0; if (++date > end_of_month[month-1][is_leap_year(year + 2000)]) { { date = 1; if (++month > 12) set_time_button { = 0; month = 1; ++year; time_setting_mode(); } } } } LCD_display(); } } đồ khối Buttonchecked() – Có tác dụng điều khiển hoạt động nút nhấn } 13 VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Hình 12: đồ khối hàm ButtonChecked 14 VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Mã nguồn hàm ButtonChecked() 15 VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Hàm Incre_Decre – để tăng giảm giá trị nhấn nút UP DOWN int8 incre_decre(int8 min_value, int8 value, int8 max_value) { buttonchecked(); if (incre_button) { incre_button = 0; if (value < max_value) return(value + 1); else return(min_value); } if (decre_button) { decre_button = 0; if (min_value < value) return(value - 1); else return (max_value); } else return value; } 16 VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Hình 13: Hàm Incre_Decre với phần Incre 17 VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Hình 14: Hàm Incre_Decre với phần Decre 18 VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM đồ khối Date Setting Mode – Hàm Date Setting Mode có tác dụng điều chỉnh ngày thứ tuần tương ứng với tháng năm Hình 15: đồ khối hàm Date Setting Mode Mã nguồn hàm Date Setting Mode: 19 VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM void date_setting_mode() { switch(month) đồ khối mã nguồn hàm Time setting mode – Hàm có chức điều chỉnh thời gian { hiển thị tương ứng với ngày tuần case 1: case 3: case 5: case 7: case 8: case 10: case 12: while (!set_time_button) { date = incre_decre(1,date,31); LCD_DISPLAY(); } break; case 4: case 6: case 9: case 11: while (!set_time_button){ date = incre_decre(1,date,30); LCD_DISPLAY(); } break; case 2: if (year%4 == 0) while (!set_time_button){ date = (incre_decre(1,date,29)); LCD_DISPLAY(); } else while (!set_time_button) { date = (incre_decre(1, date, 28)); LCD_DISPLAY(); } break; } } 20 VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Hình 16: đồ khối hàm Time Setting Mode 21 VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM void time_setting_mode() { int1 exit_1 = 0; int8 Time_SM = 0; while (exit_1 == 0){ set_time_button = 0; while (!set_time_button) { 22 VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Đặc tính kiểm tra Quá trình kiểm tra bao gồm việc mô mạch ISIS Proteus, thiết kế mạch in thực mạch thực tế: a Mô mạch Proteus 8.0: Hình 17: đồ mạch mô Proteus Ta tiến hành kiểm tra chế độ xem có yêu cầu đặt không chỉnh sửa code cho phù hợp b Thiết kế mạch in kết thực tế: 23 VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Hình 18: đồ mạch in, thiết kế Layout Orcad 24 VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Hình 19: Hình ảnh mạch hoạt động Để tiến hành kiểm tra hoạt động thực tế mạch, ta tiến hành kiểm nghiệm thành phần: • • • • Điều chỉnh độ sáng hình Nút nhấn: SET_TIME, UP, DOWN RESET Hoạt động LCD Nguồn Sau kiểm tra chỉnh sửa, ta thu kết cụ thể sau đây: Thành phần Độ sáng hình Nút nhấn SET_TIME UP DOWN Kết kì vọng Tốt Tốt Tốt Tốt 25 Kết thực tế Tốt Đạt Đạt Đạt VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Hoạt động LCD Nguồn Hoạt động đồng hồ Tốt Tốt Tốt Tốt Tốt ổn định Tốt Kết luận Sản phẩm tạo thành có chức hiển thị ngày tháng năm, phút giây hoạt động ổn đinh so với kì vọng nhóm Đồ án môn học thử thách chúng em, qua đồ án chúng em bước làm quen với cách vận dụng kiến thức học quen dần với phương pháp tự học tự nghiên cứu áp lực thời gian Hơn nữa, đồ án giúp cho sinh viên quen dần với cách làm đồ án tốt nghiệp sau Hướng Phát Triển Sản phẩm đáp ứng yêu cầu đồ án thực tốt chức hiển thị thời gian Tuy nhiên, sản phẩm hoàn toàn phát triển lên mức cao với tính sau đây: • • • • Hoạt động độc lập nguồn pin hoăc nguồn pin Hẹn báo thức với mạch chuông bổ sung Hiển thị thông tin ngày âm lịch Cài đặt lịch làm việc Tham Khảo Bài báo cáo có sử dụng thông tin từ nguồn sau đây: [1] Thông tin vi xử lý PIC16F877A trang web www.microchip.com [2] Tài liệu giảng dạy thiết kế hệ thống nhúng PIC16F877A thầy Trương Quang Vinh [3] Một số trang web hỗ trợ: www.dientuvietnam.net , www.payitforward.edu.vn 26 ... Thông tin đầu sử dụng cổng D để hiển thị lên LCD VIỆT PHÁP 10 6/2014 BÁO CÁO ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM Hình 7: Sơ đồ khối hiển thị LCD Khối LCD sử dụng mạch LCD 16 chân: đó, mạch sử dụng chân 1,... IC (IC thời gian thực) sử dụng Timer PIC1 6F877A Dựa yêu cầu đồ án , phương án thứ hai lựa chọn để thực c Sơ đồ khối hàm quan trọng Để đồng hồ hoạt động, ta sử dụng sơ đồ khối đoạn mã sau đây:... không Gỉa sử tháng nói tới tháng 1, 3, 5, 7, 8, 10 12 số ngày tối đa 31; tháng 4, 6, 9, 10 11 số ngày 30 Nếu tháng tháng năm thường số ngày 28 tháng năm nhuận 29 ngày Khi số ngày tháng đạt mức
- Xem thêm -

Xem thêm: Đồ án môn học thiết kế đồng hồ số giao tiếp LCD sử dụng PIC, Đồ án môn học thiết kế đồng hồ số giao tiếp LCD sử dụng PIC, Đồ án môn học thiết kế đồng hồ số giao tiếp LCD sử dụng PIC

Gợi ý tài liệu liên quan cho bạn

Nhận lời giải ngay chưa đến 10 phút Đăng bài tập ngay
Nạp tiền Tải lên
Đăng ký
Đăng nhập