Thông tin tài liệu
Trường Đại học Bách Khoa TP.HCM Bộ môn Điện tử - Viễn Thơng BÁO CÁO BÀI TẬP LỚN MƠN HỆ THỐNG NHÚNG GVHD: TH.S Bùi Quốc Bảo Đề tài: Electronic lock controller Nhóm 1, L03 Thành viên MSSV Trần Ngọc Thiện Nhân 1914459 Nguyễn Tấn An 1912531 Phạm Thị Phương Anh 1912611 1|Page PROJECT PLAN Kế hoạch dự án Tên nhóm Nhóm Tên sản phẩm Electronic lock controller Đặc điểm Điều khiển khóa điện tử Thời gian ước tính tháng Bắt đầu: 1/9/2021 1/1/2021 Chí phí ước tính D7 LCD Chân E, RW RS LCD kết nối với ba chân khác vi điều khiển Bàn phím kết nối vào chân từ RB0 -> RB7 vi điều khiển 3/ Xác định link kiện sử dụng cho thiết bị: a/Vi điều khiển: -Option 1: PIC16F877A *Thông số: 10 | P a g e 1/USE CASE: Khi hệ thống cấp điện hoạt động, rơ le khóa lạ, lcd dịng chữ: “ Press to enter” Người dùng bấm phím để nhập mật mở khóa, mật ban đầu đặt là: 1111 Nếu nhập đúng, vi điều khiển truyền tín hiệu để mở relay, đèn D1 bật màu xanh, sai lcd xóa hình đề nhập lại Nếu người dùng lỡ tay ấn sai phím ấn phím ON/C để xóa nhập lại, nhập sai lần, lcd dòng chữ: “wrong password” chuông báo động kêu đến nút reset nhấn Sau mở khỏa thành cơng, lcd dịng chữ 29 | P a g e “ Đổi pass 2.Khoa” Người dùng nhấn phím để đổi password nhấn phím để khóa cửa Nếu nhấn phím 1, lcd dịng chữ: “Nhap mat khau” để người dùng nhập mật vào, sau nhập xong, lcd dòng chữ: “Press to block”, người dùng nhấn phím để khóa cửa 2/ CODE: #include #include unsigned char getkey() { output_low(col1);output_high(col2);output_high(col3);output_high(col 4); if(!input(row1)) delay_ms(100); while (!input(row1)) return '#'; if(!input(row2)) delay_ms(100); while (!input(row2)) return '1'; if(!input(row3)) delay_ms(100); while (!input(row3)) return '4'; if(!input(row4)) delay_ms(100); while (!input(row4)) return '7'; output_high(col1);output_low(col2);output_high(col3);output_high(col 4); if(!input(row1)) delay_ms(100); while (!input(row1)) return '0'; if(!input(row2)) delay_ms(100); while (!input(row2)) return '2'; if(!input(row3)) delay_ms(100); while (!input(row3)) return '5'; if(!input(row4)) delay_ms(100); while (!input(row4)) return '8'; output_high(col1);output_high(col2);output_low(col3);output_high(col 4); if(!input(row1)) delay_ms(100); while (!input(row1)) return '='; if(!input(row2)) delay_ms(100); while (!input(row2)) return '3'; if(!input(row3)) delay_ms(100); while (!input(row3)) return '6'; if(!input(row4)) delay_ms(100); while (!input(row4)) return '9'; 30 | P a g e output_high(col1);output_high(col2);output_high(col3);output_low(col 4); if(!input(row1)) delay_ms(100); while (!input(row1)) return '+'; if(!input(row2)) delay_ms(100); while (!input(row2)) return '-'; if(!input(row3)) delay_ms(100); while (!input(row3)) return '*'; if(!input(row4)) delay_ms(100); while (!input(row4)) return '/'; return 'n'; } void main() { lcd_init(); lcd_putc('\f'); int n,a='1',b='1',c='1',d='1',e,f,g,h,m; int8 i; char key; while(TRUE) { output_low(PIN_D3); output_low(PIN_A0); lcd_putc('\f'); { getkey(); m=getkey(); lcd_gotoxy(4,1); lcd_putc("HELLOOOO"); 31 | P a g e lcd_gotoxy(1,2); lcd_putc("press to enter pass"); } while (m!='1'); for(i=0;i
Ngày đăng: 27/04/2022, 05:19
Xem thêm: BÁO CÁO BÀI TẬP LỚN MÔN HỆ THỐNG NHÚNG