Báo cáo đồ án môn thiết kế luận lý. Đề tài: Password door security. Đề tài đã thực hiện được khóa cửa bằng mật khẩu, có thể lưu lại mật khẩu khi mất điện. Cách sử dụng dễ dàng và an toàn. Sử dụng vi xử lý STM32f103RB
TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH BÁO CÁO Môn:ĐỒ ÁN ` THIẾT KẾ LUẬN LÝ ĐỀ TÀI: PASWORD DOOR SECURITY GVHD: PHAN ĐÌNH THẾ DUY Thành viên nhóm: Phạm Khánh Duy 51200576 Phạm Lê Quốc Trung 51204157 Trần Tuấn Đạt 51200746 Tp.HCM,ngày 22 thánh 12 năm 2014 Trang Đồ án Thiết kế luận lý MỤC LỤC PHẦN A MỞ ĐẦU PHẦN B NỘI DUNG CHƯƠNG 1: GIỚI THIỆU 1.1Yêu cầu chức hệ thống 1.2Công cụ hỗ trợ 1.3Kế hoạch, phân công công việc CHƯƠNG 2: THIẾT KẾ 2.1 Sơ đồ khối chức 2.2 Chức khối Source Code 11 2.4 Mạch nguyên lý, mạch layout 21 CHƯƠNG TỔNG KẾT 23 3.1 Kết luận 23 3.2 Đánh giá, phương hướng phát triển 23 PhẦN C TÀI LIỆU THAM KHẢO 24 Trang Đồ án Thiết kế luận lý PHẦN A MỞ ĐẦU Trong xã hội đại,sự phát triển ngành điện tử , kỹ thuật máy tính yêu cầu thiếu thúc đẩy kinh tế phát triển góp phần nâng cao đời sống xã hội Ngày nay, trênt giới, điện tử viễn thông không ngừng phát triển với tốc độ cao thâm nhập vào tất lĩnh vực đời sống xã hội Trong đó, lĩnh vực bảo mật mảng lớn mà can quan tâm, đề tài nhóm liên quan tới lĩnh vức này, đề tài password door security Hệ thống cho phép ta quản lý hạn chế số người vào theo mã số khu vực cần bảo mật vối độ an toàn cao Đề tài không lớn mặt nguyên lý phát triển thành ứng dụng quản lý theo thẻ từ, mã vạch, mã …trong khu vực đặc biệt cần phải có máy tính địa với CSDL, mật mã kiểm tra tần số giọng nói camera kiểm tra hình ảnh,… mà cần thiết Vì nhóm bước sở để nhóm nghiên cứu ứng dụng lớn sau Trong trình thực đề tài, cố gắng song hạn chế định kiến thức kinh nghiệm thực tế nên nhóm không tránh khỏi thiếu sót Chúng em mong nhận ý kiến đóng góp thầy cô bạn để đề tài nhóm em hoàn thiện với nhiều chức Trang Đồ án Thiết kế luận lý PHẦN B NỘI DUNG CHƯƠNG 1: GIỚI THIỆU 1.1Yêu cầu chức hệ thống Yêu cầu Đây hệ thống đóng mở theo mã cho phép số người vào theo mã họ Nó áp dụng làm cửa vào hệ thống can mang tính bảo mật, giới hạn số người vào như: cửa vào quan, nhà máy, khu quan trọng,… Trên sở hệ thống phải có yêu cầu sao: + Tính an toàn: có chức bảo vệ + Dễ sử dụng:có đầy đủ hướng dẫn để người dùng sử dụng Chức Hệ thống quản lý số mã ứng với số người cho phép vào cửa cho phép hoạt động sở mã Password gồm chữ số, có password admin password user Hệt thống giao tiếp với người dùng thông qua bàn phím điều khiển hiển thị hình LCD Bàn phìm gồm số 0-9,* 0)&0x01); LCD_D5((Data>>1)&0x01); LCD_D6((Data>>2)&0x01); LCD_D7((Data>>3)&0x01); // delay_ms(1);// // LCD_EN(0);// // delay_ms(1);// } /******************************************************************************* Noi Dung : Gui byte du lieu den LCD Tham Bien : command: byte du lieu can gui Tra Ve : Khong ********************************************************************************/ void LCD_SendCommand (uint8_t command ) { // LCD_RS(1);// LCD_Send4Bit ( command >>4 ); /* Gui bit cao */ LCD_Enable () ; LCD_Send4Bit ( command ); /* Gui bit thap*/ LCD_Enable () ; // LCD_RS(0);// } /******************************************************************************* Noi Dung : Khoi tao LCD Tham Bien : Khong Tra Ve : Khong ********************************************************************************/ void LCD_Init ( void ) { LCD_Send4Bit(0x00); delay_ms(20); LCD_RS(0); LCD_RW(0); // delay_ms(16); Trang 14 Đồ án Thiết kế luận lý // LCD_RS(0); //LCD_RW(0); LCD_Send4Bit(0x03); delay_ms(5); LCD_Send4Bit(0x03); delay_ms(5); LCD_Send4Bit(0x03); LCD_Enable(); delay_ms(5); LCD_Enable(); delay_ms(100); LCD_Enable(); LCD_Send4Bit(0x02); //delay_ms(16); LCD_Enable(); LCD_SendCommand( 0x28 );// giao thuc bit, hien thi hang, ki tu // delay_ms(16); LCD_SendCommand( 0x0c);// cho phep hien thi man hinh // delay_ms(16); LCD_SendCommand( 0x00 );// tang ID, khong dich khung hinh // delay_ms(16); LCD_Clr();// xoa toan bo khung hinh } /******************************************************************************* Noi Dung : Thiet lap vi tri tro LCD Tham Bien : x: vi tri cot cua tro x = - 15 y: vi tri hang cua tro y= 0,1 Tra Ve : Khong ********************************************************************************/ void LCD_Gotoxy(uint8_t x, uint8_t y) { uint8_t address; if(!y) address = (0x80+x); else address = (0xC0+x); delay_ms(1); LCD_SendCommand(address); delay_ms(5); } /******************************************************************************* Noi Dung : Xoa noi dung hien thi tren LCD Tham Bien : Khong Tra Ve : Khong Trang 15 Đồ án Thiết kế luận lý ********************************************************************************/ void LCD_Clr(void) { LCD_SendCommand(0x01); delay_ms(5); } /******************************************************************************* Noi Dung : Viet ki tu len LCD Tham Bien : Khong Tra Ve : Khong ********************************************************************************/ void LCD_PutChar ( uint8_t Data ) { LCD_RS(1); LCD_SendCommand( Data ); LCD_RS(0); } /******************************************************************************* Noi Dung : Viet chuoi ki tu len LCD Tham Bien : Khong Tra Ve : Khong ********************************************************************************/ void LCD_Puts(char *s) { while(*s){ LCD_PutChar(*s); s=s+1; } } void LCD_Puts_Slow (char *s) { while(*s){ LCD_PutChar(*s); delay_ms(100); s=s+1; } } Trang 16 Đồ án Thiết kế luận lý Định nghĩa chân LCD: //LCD16x2 #define LCD_RS_ON GPIO_SetBits(GPIOA, GPIO_Pin_10); #define LCD_RS_OFF #define LCD_RW_ON GPIO_ResetBits(GPIOA, GPIO_Pin_10); GPIO_SetBits(GPIOB, GPIO_Pin_7); #define LCD_RW_OFF #define LCD_EN_ON GPIO_SetBits(GPIOA, GPIO_Pin_4); GPIO_SetBits(GPIOA, GPIO_Pin_7); GPIO_SetBits(GPIOA, GPIO_Pin_6); //D12 GPIO_ResetBits(GPIOA, GPIO_Pin_6); GPIO_SetBits(GPIOA, GPIO_Pin_5); #define LCD_D6_OFF #define LCD_D7_ON //D11 GPIO_ResetBits(GPIOA, GPIO_Pin_7); #define LCD_D5_OFF #define LCD_D6_ON //D10 GPIO_ResetBits(GPIOA, GPIO_Pin_4); #define LCD_D4_OFF #define LCD_D5_ON //D9 GPIO_ResetBits(GPIOB, GPIO_Pin_7); #define LCD_EN_OFF #define LCD_D4_ON //D8 //D13 GPIO_ResetBits(GPIOA, GPIO_Pin_5); GPIO_SetBits(GPIOB, GPIO_Pin_8); #define LCD_D7_OFF //D14 GPIO_ResetBits(GPIOB, GPIO_Pin_8); EEPROM: Khởi tạo giao thứ I2C: #include "i2c.H" void I2C_init(void) { GPIO_SetState(GPIOB,GPIO_Pin_10,GPIO_Mode_Out_OD); GPIO_SetState(GPIOB,GPIO_Pin_11,GPIO_Mode_Out_OD); SCL=1; delay_ms(1); SDA_OUT=1; delay_ms(1); } // Ham start I2C void start(void) { GPIO_SetState(GPIOB,GPIO_Pin_11,GPIO_Mode_Out_OD); SCL=1; //delay_ms(10000); SDA_OUT=1; delay_ms(1); Trang 17 Đồ án Thiết kế luận lý SDA_OUT=0; delay_ms(1); SCL=0; delay_ms(1); } // Ham stop I2C void stop(void) { GPIO_SetState(GPIOB,GPIO_Pin_11,GPIO_Mode_Out_OD); SDA_OUT=0; SCL=1; delay_ms(1); SDA_OUT=1; delay_ms(1); SCL=0; delay_ms(1); } void truyen(uint8_t data) { uint8_t tem,i; GPIO_SetState(GPIOB,GPIO_Pin_11,GPIO_Mode_Out_OD); for(i=0;i[...]... s[i++]=EEP_24CXX_Read(address++); lenght ; delay_ms(2); } s[i]=0; } Trang 20 Đồ án Thiết kế luận lý 2.4 Mạch nguyên lý, mạch layout Mạch nguyên lý sử dụng phần mềm Antium: Trang 21 Đồ án Thiết kế luận lý Mạch layout: Trang 22 Đồ án Thiết kế luận lý CHƯƠNG 3 TỔNG KẾT 3.1 Kết luận Trên cơ sở lí thuyết đã học, chúng em đã thiết kế hệ thống khóa với độ tin cậy có thể chấp nhận được dựa vào chức năng quản... tăng tính bảo mật cho hệ thống Do là thiết kế đầu tiên nên không thể tránh khỏi sai sót nhất định Chúng em xin chân thành cảm ơn sự giúp đỡ và hướng dẫn của các thầy giáo và các anh chị, các bạn trong thời gian vừa qua Mong rằng sẽ nhận được nhiều đóng góp ý kiến để bản thiết kế này và những bản thiết kế sau ngày càng được hoàn thiện hơn Trang 23 Đồ án Thiết kế luận lý PHẦN C TÀI LIỆU THAM KHẢO http://banlinhkien.vn/... báo động bằng tín hiệu đèn hoặc chuông nên khi người dùng ở cách xa nơi báo động thì không hay biết gì về việc có người dò pass hay không Vì vậy hướng phát triển của đồ án là thông báo cho chủ nhân khi có người nhập pass sai 3 lần để kịp thời xử lý hoặc thay đổi password.việc thông báo từ xa có thể sử dụng sóng radio hay thông báo qua điện thoại, có thể gởi tin nhắn chẳng hạn Hệ thống khóa số sử dụng... den LCD Tham Bien : Khong Tra Ve : Khong ********************************************************************************/ void LCD_Enable(void) { LCD_EN(1); delay_ms(3); LCD_EN(0); Trang 13 Đồ án Thiết kế luận lý delay_ms(50); } /******************************************************************************* Noi Dung : Gui 4 bit du lieu den LCD Tham Bien : Data: 4 bit thap cua Data chua 4 bit du lieu... Khong ********************************************************************************/ void LCD_Init ( void ) { LCD_Send4Bit(0x00); delay_ms(20); LCD_RS(0); LCD_RW(0); // delay_ms(16); Trang 14 Đồ án Thiết kế luận lý // LCD_RS(0); //LCD_RW(0); LCD_Send4Bit(0x03); delay_ms(5); LCD_Send4Bit(0x03); delay_ms(5); LCD_Send4Bit(0x03); LCD_Enable(); delay_ms(5); LCD_Enable(); delay_ms(100); LCD_Enable(); LCD_Send4Bit(0x02);... LCD_SendCommand(address); delay_ms(5); } /******************************************************************************* Noi Dung : Xoa noi dung hien thi tren LCD Tham Bien : Khong Tra Ve : Khong Trang 15 Đồ án Thiết kế luận lý ********************************************************************************/ void LCD_Clr(void) { LCD_SendCommand(0x01); delay_ms(5); } /*******************************************************************************... ********************************************************************************/ void LCD_Puts(char *s) { while(*s){ LCD_PutChar(*s); s=s+1; } } void LCD_Puts_Slow (char *s) { while(*s){ LCD_PutChar(*s); delay_ms(100); s=s+1; } } Trang 16 Đồ án Thiết kế luận lý Định nghĩa các chân LCD: //LCD16x2 #define LCD_RS_ON GPIO_SetBits(GPIOA, GPIO_Pin_10); #define LCD_RS_OFF #define LCD_RW_ON GPIO_ResetBits(GPIOA, GPIO_Pin_10); GPIO_SetBits(GPIOB, GPIO_Pin_7);... SCL=1; delay_ms(1); SDA_OUT=1; delay_ms(1); } // Ham start I2C void start(void) { GPIO_SetState(GPIOB,GPIO_Pin_11,GPIO_Mode_Out_OD); SCL=1; //delay_ms(10000); SDA_OUT=1; delay_ms(1); Trang 17 Đồ án Thiết kế luận lý SDA_OUT=0; delay_ms(1); SCL=0; delay_ms(1); } // Ham stop I2C void stop(void) { GPIO_SetState(GPIOB,GPIO_Pin_11,GPIO_Mode_Out_OD); SDA_OUT=0; SCL=1; delay_ms(1); SDA_OUT=1; delay_ms(1); SCL=0;... delay_ms(1); SCL=0; delay_ms(1); } SCL=1; delay_ms(1); SCL=0; delay_ms(1); } uint8_t nhan(void) { uint8_t gt=0,i; GPIO_SetState(GPIOB,GPIO_Pin_11,GPIO_Mode_IN_FLOATING); for(i=0;i ... Test mạch: Phạm Khánh Duy Viết báo cáo: Phạm Lê Quốc Trung Trang Đồ án Thiết kế luận lý CHƯƠNG 2: THIẾT KẾ 2.1 Sơ đồ khối chức Khối hiển thị Khối Nguồn Khối Báo Động Khối Vi Điều Khiển Khối... Khối mở cửa: Điều khiển đóng mở cửa (mô LED xanh sáng, tắt) Khối báo động: Cảnh báo nhập sai mật lần Thông qua hệ thống chông báo động Trang 10 Đồ án Thiết kế luận lý Source Code Hệ thống cấp... có số khuyết điểm : Do báo động tín hiệu đèn chuông nên người dùng cách xa nơi báo động không hay biết việc có người dò pass hay không Vì hướng phát triển đồ án thông báo cho chủ nhân có người