Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 50 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
50
Dung lượng
1 MB
Nội dung
TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ ĐIỆN TỬ - THÔNG TIN HỆ THỐNG NHÚNG ĐỀ TÀI : CHNG BÁO TIẾT HỌC Nhóm sinh viên : Nguyễn Đức Văn Nguyễn Chiến Thắng Tạ Minh Đường Lớp : K21TDH Giáo viên hướng dẫn : Th.S Hoàng Anh Dũng Nhận xét giáo viên hướng dẫn Ngày Tháng Năm 20 Giáo Viên hướng dẫn (Ký ghi rõ họ tên) LỜI MỞ ĐẦU - Ngành điện tử ngày phát triển,đã dần thay thiết bị thơ sơ,bằng thiết bị điện tử có độ tự động cao,tiết kiệm công sức cho người Hiện với phát triển vi điều khiển cần động tác nhẹ nhàng thiết bị điều khiển cách nhanh chóng - Người ta thường nói : “Học đơi với hành” , để tạo tảng , tăng thêm hiểu biết vào thực tế em lựa chọn đề tài “Chng Báo Tiết Học” - Trong q trình thực đề tài , Chúng em cố gắng , có lẽ vốn kiến thức nguyên nhân chủ quan khác mà đề tài chắn khơng tránh khỏi thiếu sót Chúng em mong đóng góp ý kiến, phê bình hướng dẫn thêm thầy bạn đọc Sinh viên Thực : Nguyễn Đức Văn Tạ Minh Đường Nguyễn Chiến Thắng A PHẦN MỞ ĐẦU Đặt vấn đề - Hiện với phát triển vi điều khiển.Các hệ thống cần thiết hoạt động cách tự động Đơn giản hệ thống chuông hẹn giờ,hệ thống báo động,báo trường học,báo công sở Vấn đề báo tiết học vấn đề cần thiết trường học nào,giúp thầy cô điều chỉnh thời gian dạy học mình.Sẽ thời gian ta phải canh thời gian cho tiết học.Chính chúng em thiết kế mạch chuông báo tiết hoc tự động cho trường học lý chọn đề tài - Đây vấn đề thực tế ,được ứng dụng nhiều trường học Nhằm để củng cố kiến tức lập trình vi xử lý vừa học rèn luyện khả học hỏi nên em chọn đề tài giới hạn đề tài 3.1 Phân tích - Trước tiên phải xác định rõ mục đích u cầu tốn Mục đích: - Hệ thống báo chuông thời điểm vào, tiết học trường + Hệ thống có khả chỉnh lại + Thời gian kéo dài chuông vào tiết nghỉ giải lao khác + Hệ thống chuông dùng dây điện đồng 220V Yêu cầu: -Hệ thống làm việc ổn định -Có khả đưa vào ứng dụng thực tế Với thực tế toán phải thiết kế thành phần bản: -Hệ thống điều khiển đồng hồ số -Mạch dây chuông báo 3.2 Xây dựng phương án - Sau nghiên cứu thực tế thời điểm vào tiết học trường học, có nhận xét sau - Mỗi ngày có buổi học buổi sáng kéo dài tiết buổi chiều kéo dài tiết Thời gian tiết 50 phút.Thời gian nghỉ giải lao phút.Sau tiết thứ buổi sáng tiết thứ buổi chiều 10 phút từ ta xây dựng thời khóa biểu sau: Tiết Vào Ra Tiết Vào Ra 7h00 7h50 12h30 13h20 7h55 8h45 13h25 14h15 8h55 9h45 14h25 15h15 9h55 10h45 15h25 16h15 10h50 11h40 10 16h20 17h10 11 17h15 18h05 - Thời gian báo: + Chuông báo tiếng vào lớp tiếng chơi + Chủ nhật chuông không kêu - Cách báo : sử dụng chuông điện 220V - Phạm vi báo: Tất khu vực trường cách xây dựng hệ thống chuông đến khu nhà,từng giảng đường 3.3 Phạm vi đồ án phương hướng mở rộng - Vì đồ án môn học nên chúng em xây dựng mô thiết kế hệ thống phạm vi hẹp.cố định thời khóa biểu - Phương hướng mở rộng đồ án môn học thành đồ án tốt nghiệp: +, Thiết kế hệ thống chng báo cho thời khóa biểu mùa.mùa đơng mùa hè Trong mùa hè buổi sáng vào sớm 15 phút ,buổi chiều vào muộn 30 phút so với mùa đông.và thêm thời kháo biểu buổi tối cho trường học theo hệ thống tín +, Thiết kế Module điều chỉnh quét phím ma trận giao tiếp bàn phím máy tính lập trình thời khóa biểu theo ý muốn giấc trường nơi làm việc + Xây dựng Hệ thống chng báo khơng dây sử dụng thu phát sóng B PHẦN NỘI DUNG CHƯƠNG I : SƠ ĐỒ KHỐI Sơ đồ tổng quát -Sơ đồ khối tổng quát alam Nút nhấn Khối nguồn Hiển Thị LCD 16x2 Vi XỬ LÝ ATmega16 Thời Gian Thực DS1307 Hình 1: Sơ đồ khối tổng quát Chức khối 2.1 Khối nguồn -Cung cấp nguồn nuôi tất linh kiện mạch 2.2 Chức khối RTC -Khối thực chất chíp thời gian thực(Real Time Clock), sử dụng với ý nghĩa thời gian6 tuyệt đối mà người sử dụng.Nó có pin cấp riêng , nguồn điện RTC hoạt động bình thường xác theo thời gian thiết lập ban đầu Trong sơ đồ đảm nhiệm chức cấp time xác cho vi điều khiển xử lý công việc mà người sử dụng yêu cầu 2.3 Chức khối điều chỉnh -Chức khối sử dụng ngắt atmega16 để yêu cầu việc điều chỉnh time theo ý người sử dụng , cài đặt time ban đầu cho đồng hồ thời gian thực RTC.Tác động phím bấm (BUTTON) 2.4 Khối âm -Khối gồm có transistor thơng dịng cho loa kêu có mức điện áp thay đổi liên tục chân vi điều khiển 2.5 Khối hiển thị Khối thực chất LCD 16x2 để hiển thị time thông tin mà lập trình viên cần hiển thị 2.6 khối xử lý (vi điều khiển mega16 ) -Vi điều khiển atmega16 trung tâm xử lý thông tin mạch Cụ thể : • ATmega16 đảm nhiệm việc đọc thời gian từ DS1307, chuyển đổi liệu qua lại RTC với LCD để hiển thị lên LCD , đơng thời cập nhật time từ DS1307 • Điều khiển LCD • Kiểm tra phím bấm • Điều khiển loa -kiểm Nóiđược tóm lại VĐK làm vụ time DS1307 tra LCD xem , ngắt táclà, động hay khơng? có điều chỉnh time,sau thị time lên tra xem tạichng cónhiệm bằngkêu giờđọc báo chng hay khơng ?hiển Nếu cókiểm gọi chương trình điều khiển Bộ mơn Kỹ thuật máy tính 3/15/201 CHƯƠNG II: THIẾT KẾ HỆ THỐNG Sơ đồ callgraph Hình 2: Sơ đồ Callgrap Chương TrìnhĐiều Khiển Module Xử Lý Điều Chỉnh Nút Ấn Module xử lý chương trình Chấp Hành Hiển Thị Sơ đồ đặc tả Bật/Tắt Chuông Hiển Thị Gửi thông tin Gửi thông tin Tác động Điều Chỉnh KIỂM TRA THỜI GIAN Điều khiển Hình 3: Sơ đồ Đặc tả 10 Gửi liệu Kiểm Tra thời gian thực while(mod==0); } } void nutnhan() { delay_ms(1); if(index==1) { lcd_gotoxy(6,0); lcd_puts(" "); delay_ms(10); if(up==0) { h++; if(h>23)h=0; rtc_set_time(h,m,s); while(up==0); } if(dw==0) { h ; if(h==255)h=23; rtc_set_time(h,m,s); while(dw==0); } } if(index==2) { lcd_gotoxy(9,0); lcd_puts(" "); 36 delay_ms(10); if(up==0) { m++; if(m>59)m=0; rtc_set_time(h,m,s); while(up==0); } if(dw==0) { m ; if(m==255)m=59; rtc_set_time(h,m,s); while(dw==0); } } if(index==3) { lcd_gotoxy(12,0); lcd_puts(" "); delay_ms(10); if(up==0) { s++; if(s>59)s=0; rtc_set_time(h,m,s); while(up==0); } if(dw==0) { 37 s ; if(s==255)s=59; rtc_set_time(h,m,s); while(dw==0); } } if(index==4) { lcd_gotoxy(0,1); lcd_puts(" _"); delay_ms(10); if(up==0) { thu++; if(thu>7)thu=1; rtc_set_date(thu,ngay,thang,nam); while(up==0); } if(dw==0) { thu ; if(thu==0)thu=7; rtc_set_date(thu,ngay,thang,nam); while(dw==0); } } if(index==5) { lcd_gotoxy(6,1); lcd_puts(" "); 38 delay_ms(10); if(up==0) { ngay++; if(ngay>31)ngay=1; rtc_set_date(thu,ngay,thang,nam); while(up==0); } if(dw==0) { ; if(ngay==0)ngay=31; rtc_set_date(thu,ngay,thang,nam); while(dw==0); } } if(index==6) { lcd_gotoxy(9,1); lcd_puts(" "); delay_ms(10); if(up==0) { thang++; if(thang>12)thu=1; rtc_set_date(thu,ngay,thang,nam); while(up==0); } if(dw==0) { 39 thang ; if(thang==0)thang=12; rtc_set_date(thu,ngay,thang,nam); while(dw==0); } } if(index==7) { lcd_gotoxy(14,1); lcd_puts(" "); delay_ms(10); if(up==0) { nam++; if(nam>99)nam=0; rtc_set_date(thu,ngay,thang,nam); while(up==0); } if(dw==0) { nam ; if(nam==255)nam=99; rtc_set_date(thu,ngay,thang,nam); while(dw==0); } } } void keu_chuong_3tieng() { loa=1; 40 delay_ms(200); loa=0; delay_ms(200); loa=1; delay_ms(200); loa=0; delay_ms(200); loa=1; delay_ms(200); loa=0; delay_ms(200); } void keu_chuong_5tieng() { loa=1; delay_ms(200); loa=0; delay_ms(200); loa=1; delay_ms(200); loa=0; delay_ms(200); loa=1; delay_ms(200); loa=0; delay_ms(200); loa=1; delay_ms(200); loa=0; delay_ms(200); 41 loa=1; delay_ms(200); loa=0; delay_ms(200); } void kiemtra_bao_gio() { if(thu>1) { //Sang //7h00 sáng vào lop //Tiet if((h==7)&&(m==00)) { if(s==0) keu_chuong_5tieng(); else if(s==3) keu_chuong_5tieng(); else if(s==6) keu_chuong_5tieng(); } else if((h==7)&&(m==50)) { if(s==0) keu_chuong_3tieng(); else if(s==4) keu_chuong_3tieng(); else if(s==8) keu_chuong_3tieng(); } //Giai lao 5' //Tiet else if((h==7)&&(m==55)) { if(s==0) keu_chuong_5tieng(); else if(s==3) keu_chuong_5tieng(); 42 else if(s==6) keu_chuong_5tieng(); } else if((h==8)&&(m==45)) { if(s==0) keu_chuong_3tieng(); else if(s==4) keu_chuong_3tieng(); else if(s==8) keu_chuong_3tieng(); } //Tiet else if((h==8)&&(m==55)) { if(s==0) keu_chuong_5tieng(); else if(s==3) keu_chuong_5tieng(); else if(s==6) keu_chuong_5tieng(); } else if((h==9)&&(m==45)) { if(s==0) keu_chuong_3tieng(); else if(s==4) keu_chuong_3tieng(); else if(s==8) keu_chuong_3tieng(); } //Tiet else if((h==9)&&(m==55)) { if(s==0) keu_chuong_5tieng(); else if(s==3) keu_chuong_5tieng(); else if(s==6) keu_chuong_5tieng(); } else if((h==10)&&(m==45)) { 43 if(s==0) keu_chuong_3tieng(); else if(s==3) keu_chuong_3tieng(); else if(s==6) keu_chuong_3tieng(); } //Tiet else if((h==10)&&(m==50)) { if(s==0) keu_chuong_5tieng(); else if(s==4) keu_chuong_5tieng(); else if(s==8) keu_chuong_5tieng(); } else if((h==11)&&(m==40)) { if(s==0) keu_chuong_3tieng(); else if(s==4) keu_chuong_3tieng(); else if(s==8) keu_chuong_3tieng(); } //Chieu //12h30 vao lop //Tiet else if((h==12)&&(m==30)) { if(s==0) keu_chuong_5tieng(); else if(s==4) keu_chuong_5tieng(); else if(s==8) keu_chuong_5tieng(); } else if((h==13)&&(m==20)) { if(s==0) keu_chuong_3tieng(); else if(s==4) keu_chuong_3tieng(); 44 else if(s==8) keu_chuong_3tieng(); } //Tiet else if((h==13)&&(m==25)) { if(s==0) keu_chuong_5tieng(); else if(s==4) keu_chuong_5tieng(); else if(s==8) keu_chuong_5tieng(); } else if((h==14)&&(m==15)) { if(s==0) keu_chuong_3tieng(); else if(s==4) keu_chuong_3tieng(); else if(s==8) keu_chuong_3tieng(); } //Tiet else if((h==14)&&(m==25)) { if(s==0) keu_chuong_5tieng(); else if(s==4) keu_chuong_5tieng(); else if(s==8) keu_chuong_5tieng(); } else if((h==15)&&(m==15)) { if(s==0) keu_chuong_3tieng(); else if(s==4) keu_chuong_3tieng(); else if(s==8) keu_chuong_3tieng(); } //Tiet else if((h==15)&&(m==25)) 45 { if(s==0) keu_chuong_5tieng(); else if(s==4) keu_chuong_5tieng(); else if(s==8) keu_chuong_5tieng(); } else if((h==16)&&(m==15)) { if(s==0) keu_chuong_3tieng(); else if(s==4) keu_chuong_3tieng(); else if(s==8) keu_chuong_3tieng(); } //Tiet 10 else if((h==16)&&(m==20)) { if(s==0) keu_chuong_5tieng(); else if(s==4) keu_chuong_5tieng(); else if(s==8) keu_chuong_5tieng(); } else if((h==17)&&(m==10)) { if(s==0) keu_chuong_3tieng(); else if(s==4) keu_chuong_3tieng(); else if(s==8) keu_chuong_3tieng(); } //Tiet 11 else if((h==17)&&(m==15)) { if(s==0) keu_chuong_5tieng(); else if(s==4) keu_chuong_5tieng(); else if(s==8) keu_chuong_5tieng(); 46 } else if((h==18)&&(m==05)) { if(s==0) keu_chuong_3tieng(); else if(s==4) keu_chuong_3tieng(); else if(s==8) keu_chuong_3tieng(); } } } void main(void) { DDRD=0xff; DDRB=0xf8; DDRC=0x04; lcd_init(16); i2c_init(); index=0; while (1) { hienthi(); rtc_get_time(&h,&m,&s); rtc_get_date(&thu,&ngay,&thang,&nam); chinh(); nutnhan(); kiemtra_bao_gio(); } } /*========== THE END ================*/ 47 C KẾT LUẬN Kết luận Chúng Em cố gắng hoàn thành đề tài thời gian quy định Trong đề tài , em thực cơng việc sau: - Giới thiệu phân tích sơ đồ khối - Giới thiệu họ vi điều khiển ATmega16 IC DS 1307 - Thiết kế mạch Mặc dù có nhiều cố gắng q trình thực đồ án không đạt kết mong muốn với kiến thức vừa học em xin cố gắn tìm nguyên nhân cách khắc phục Tài liệu tham khảo • Cấu trúc-lập trình –Ghép nối Nguyễn Mạnh Giang ứng dụng vi điều khiển_TS • Giáo trình 8051_DKS • Giáo trình họ vi điều khiển 8051_Tống Văn On • Vi điều khiển với lập trình C_Ngơ Diên Tập Trang web tham khảo : http://www.keil.com/forum/8186/ http://vagam.dieukhien.net/ http://vidieukhien.net/ http://www.8051projects.net/forum-t7082-0.html 48 Mục Lục 49 50 ... đề - Hiện với phát triển vi điều khiển.Các hệ thống cần thiết hoạt động cách tự động Đơn giản hệ thống chuông hẹn giờ ,hệ thống báo động ,báo trường học ,báo công sở Vấn đề báo tiết học vấn đề. .. - Hệ thống báo chuông thời điểm vào, tiết học trường + Hệ thống có khả chỉnh lại + Thời gian kéo dài chuông vào tiết nghỉ giải lao khác + Hệ thống chuông dùng dây điện đồng 220V Yêu cầu: -Hệ thống. .. trường học nào,giúp thầy cô điều chỉnh thời gian dạy học mình.Sẽ thời gian ta phải canh thời gian cho tiết học. Chính chúng em thiết kế mạch chuông báo tiết hoc tự động cho trường học lý chọn đề tài