1. Trang chủ
  2. » Luận Văn - Báo Cáo

mạch chuông báo tiết học

11 678 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 644,34 KB

Nội dung

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA KỸ THUẬT ĐIỆN – ĐIỆN TỬ ----------------------------- Báo cáo Đồ án hệ thống nhúng MẠCH CHUÔNG BÁO TIẾT HỌC Nhóm sinh viên thực hiện: Lưu Thị Tuyết Nhung Nguyễn Minh Phú Nguyễn Anh Tú 1 CƠ SỞ LÝ THUYẾT Nguyên lý hoạt động: Bộ RTC nếu có xung nhịp đầu vào là 32.768 thì giá trị sẽ tăng một đơn vị sau mỗi một giây. Giá tị này được lưu vào biến đếm TimeVar. Dựa vào biến đếm và các công thức tính thời gian ta có thể tính toán và hiện thị lên màn hình LCD. Khởi động mạch bằng nút nguồn, đợi LCD hiển thị sau đó cài đặt giá trị thời gian tương ứng.Phím bấm PA0 dùng cài đặt giá trị. Phím bấm PC13 chuyển sang giá trị cài đặt tiếp theo.Sau khi các giá trị được cài đặt xong, LCD sẽ hiển thị ngày và giờ. Thời gian báo chuông được cố định sẵn trong code.Tín hiệu xuất ra chân PA7. Các thành phần mạch : Linh kiện Vi điều khiển LCD 16x2 Biến trở Nút bấm Bộ Báo chuông Chức năng Thành phần chính. Vai trò là khối xử lý trung tâm. Cấu hình RTC, điều khiển tín hiệu ra cho bộ hiển thị và Pin báo chuông. Khối hiển thị Thông tin : Giờ : Ngày: Điều chỉnh độ tương phản của LCD Cài đặt thời gian Báo chuông 2 Sơ đồ khối VĐK (Hỗ trợ RTC) Bộ báo chuông (Demo sử dụng sang Led) RTC và các thanh ghi backup: 3 Ngắt ngoại (EXTI) 4 5 LCD Giao tiếp tương tự như mode 8 bit, chỉ cần chú ý một số khác biệt so với mode 8 bit như sau: * Chỉ dùng 4 đường dữ liệu ( D4, D5, D6, D7), 4 đường kia bỏ trống 4 bit cao được xử lý trước, sau đó đến 4 bit thấp. 6 Trước khi đưa LCD vào mode 4 bit cần tạo một lệnh giả lập để cho LCD hiểu ta đang muốn giao tiếp với nó ở Mode 4 bit. Nghĩa là trước khi gửi lệnh 0x28 thì cần gửi lệnh với giá trị 0x2- (- :tùy định). Và điều này còn tùy vào loại LCD cũng như thời gian hiển thị chữ. Phần 2 Một số cấu hình code cần lưu ý Công thức Giờ, Phút, Giây: TimerVar = biến đếm thời gian đơn vị “s” THH = TimeVar / 3600; //Công thức tính giờ: TMM = (TimeVar % 3600) / 60; // Công thức tính phút: TSS = (TimeVar % 3600) % 60; // Công thức tính giây if(THH==24) THH=00; // khi THH=24 thì đặt về 00 Nguyên lý đếm ngày tháng 1.Với những tháng 31 ngày 1,3,5,7,8,10,12 thì biến ngày “date_s.day” chạy đến ngày 31 thì biến tháng “date_s.month” Sẽ tăng 1 đơn vị. Với các tháng còn lại trừ tháng 2 , “date_s.day” chỉ chạy đến 30. 7 2.Tháng 2 của năm không nhuận thì “date_s.day” chạy đến 28 thì chuyển tháng. Năm nhuận thì chạy đến 29. /*Hàm thiết lập đếm ngày tháng năm*/ void Calendar_DateUpdate(void) { if (date_s.month == 1 || date_s.month == 3 || date_s.month == 5 || date_s.month == 7 || date_s.month == 8 || date_s.month == 10 || date_s.month == 12) { if (date_s.day < 31) { date_s.day++; } /* Date structure member: date_s.day = 31 */ else { if (date_s.month != 12) { 8 date_s.month++; date_s.day = 1; } /* Date structure member: date_s.day = 31 & date_s.month =12 */ else { date_s.month = 1; date_s.day = 1; date_s.year++; } } } else if (date_s.month == 4 || date_s.month == 6 || date_s.month == 9 || date_s.month == 11) { if (date_s.day < 30) { date_s.day++; 9 } /* Date structure member: date_s.day = 30 */ else { date_s.month++; date_s.day = 1; } } else if (date_s.month == 2) { if (date_s.day < 28) { date_s.day++; } else if (date_s.day == 28) { /* Leap year */ if (((date_s.year)%4)==0) { 10 date_s.day++; } else { date_s.month++; date_s.day = 1; } } else if (date_s.day == 29) { date_s.month++; date_s.day = 1; } } } 11 ... tín hiệu cho hiển thị Pin báo chuông Khối hiển thị Thông tin : Giờ : Ngày: Điều chỉnh độ tương phản LCD Cài đặt thời gian Báo chuông Sơ đồ khối VĐK (Hỗ trợ RTC) Bộ báo chuông (Demo sử dụng sang... xong, LCD hiển thị ngày Thời gian báo chuông cố định sẵn code.Tín hiệu xuất chân PA7 Các thành phần mạch : Linh kiện Vi điều khiển LCD 16x2 Biến trở Nút bấm Bộ Báo chuông Chức Thành phần Vai trò... biến đếm TimeVar Dựa vào biến đếm công thức tính thời gian ta tính toán thị lên hình LCD Khởi động mạch nút nguồn, đợi LCD hiển thị sau cài đặt giá trị thời gian tương ứng.Phím bấm PA0 dùng cài đặt

Ngày đăng: 12/10/2015, 10:32

TỪ KHÓA LIÊN QUAN

w