實物圖
功能
利用單片機和指紋識別模塊實現指紋密碼鎖,通過指紋模塊采集識別指紋,4*4矩陣鍵盤輸入密碼,能夠進入管理系統,進入管理后能修改密碼、注冊指紋,刪除指紋等操作。
要求:
(1)查閱相關文獻,熟悉課題背景、任務;
(2)深入學習51系列單片機原理及C語言并且會用Keil軟件進行編程;
(3)學習矩陣鍵盤和LCD的工作原理;
(4)學會利用Protel99se或DXP軟件進行原理圖繪制;
(5)焊接并完成作品調試。
原理圖
PCB圖
程序源代碼
/************************************************************* 指紋密碼鎖 補充說明: ***************************************************************/ #include//頭文件 #include #include #include #include #include #define uchar unsigned char //宏定義 #define uint unsigned int #define ulong unsigned long /************************引腳定義************************/ sbit buzz=P3^7; //蜂鳴器 sbit led=P0^0; //LED燈 /************************變量定義************************/ #define MAX 5 //指紋最大數量 #define ID_MAX 3//輸入ID最大位數 uchar mode=0; //0正常解鎖,1管理界面,2注冊模式,3刪除模式,4修改密碼 uchar mode_num=0;//管理界面選擇項 uint ID=0; //存儲輸入編號ID uchar n=0; //輸入的位數 bit zhiwen_f=0; //1=標記進入指紋采集 uchar a; //存儲按鍵值 uchar num; //記錄輸入的密碼位數 bit in_f; //輸入密碼的標志 bit reset_f; //重設密碼的標志 bit input_f; //六位密碼輸完的標志 uchar reset_num; //標記修改密碼階段,=1輸入舊密碼,=2輸入新密碼,=3再次輸入新密碼 ulong low_mima=0;//系統密碼 ulong in_mima=0; //暫存輸入的密碼 ulong new_mima=0;//暫存輸入新密碼 uchar temp[5]=" ?";//存儲顯示內容 /******************************************************** 函數名稱:void delayms(uint ms) 函數作用:毫秒延時函數 參數說明: ********************************************************/ void delayms(uint ms) { unsigned char i=100,j; for(;ms;ms--) { while(--i) { j=10; while(--j); } } } /******************************************************** 函數名稱:void didi(uchar i) 函數作用:蜂鳴器鳴叫 參數說明:i為鳴叫次數 ********************************************************/ void didi(uchar i) { uchar j; for(j=0;j=1&&searchnum<=MAX)||searchnum==255)//最多MAX個指紋 { if(searchnum>=1&&searchnum<=MAX) //指紋識別成功 { temp[0]=searchnum%1000/100+0x30; temp[1]=searchnum%100/10+0x30; temp[2]=searchnum%10+0x30; temp[3]=' '; LCD12864_display_string(3,2,temp);//顯示卡號 LCD12864_display_string(3,3,"指紋解鎖"); LCD12864_display_string(1,4," "); in_mima=0; //清除以輸入的密碼 num=0; //清除以輸入的密碼位數 input_f=0; //清除輸入密碼標志 jdq=0; //打開電磁鎖 T2_num=0; //開啟重新開始計時 TR2=1; } else //不正確的指紋 { LCD12864_display_string(3,3,"無效指紋"); didi(3); //報警三次 } delay1ms(500); //延時后自動清除顯示內容 LCD12864_display_string(3,2," "); LCD12864_display_string(3,3," "); } } /******************************************************** 函數名稱:void cunchu() 函數作用:存儲指紋 參數說明: ********************************************************/ void cunchu() { LCD12864_display_string(0,3,"狀態: "); if(ID>0&&ID<=MAX) //輸入的存儲指紋位置正確 { if(enroll()==1)//采集兩次,生成1個指紋模板成功 { if(savefingure(ID)==1)//保存指紋成功 { LCD12864_display_string(3,3,"錄入成功"); } else //保存指紋失敗 LCD12864_display_string(3,3,"存儲失敗"); } else //采集指紋失敗 LCD12864_display_string(3,3,"采集失敗"); } else //輸入指紋編號錯誤 LCD12864_display_string(3,3,"編號錯誤"); n=0; //清除輸入編號位數 ID=0; //清除輸入編號 zhiwen_f=0;//關閉指紋采集 } /******************************************************** 函數名稱:void shanchu() 函數作用:刪除指紋 參數說明: ********************************************************/ void shanchu() { LCD12864_display_string(0,3,"狀態: "); if(ID>0&&ID<=MAX) //輸入的存儲指紋位置正確 { if(dellfingure(ID)==1)//刪除指紋成功 { LCD12864_display_string(3,3,"刪除成功"); } else //刪除指紋失敗 LCD12864_display_string(3,3,"刪除失敗"); } else { if(ID==999) //如果輸入的是999表示清空指紋 { if(Clear_All()==1)//清空指紋成功 LCD12864_display_string(3,3,"清空指紋"); else //清空指紋失敗 LCD12864_display_string(3,3,"清空失敗"); } else //輸入的是其它錯誤編號 LCD12864_display_string(3,3,"編號錯誤"); } n=0; //清除輸入編號位數 ID=0; //清除輸入編號 zhiwen_f=0;//關閉指紋采集 }
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
單片機
+關注
關注
6037文章
44558瀏覽量
635306 -
lcd
+關注
關注
34文章
4426瀏覽量
167494 -
密碼鎖
+關注
關注
6文章
249瀏覽量
35006 -
指紋模塊
+關注
關注
0文章
26瀏覽量
3898
原文標題:【畢業設計010】基于單片機指紋密碼鎖(源代碼、原理圖、參考論文、調試步驟、答辯解答等)
文章出處:【微信號:精通單片機與嵌入式,微信公眾號:精通單片機與嵌入式】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
基于51單片機的指紋密碼鎖 精選資料推薦
1.系統功能概述本次分享的是一款基于51單片機的指紋識別電子密碼鎖系統,該系統以STC89C52單片機作為模塊核心,通過串口通信控制指紋模塊
發表于 07-20 06:43
如何去實現一種基于51單片機的指紋密碼鎖設計
系統由STC89C51單片機+AT24C02數據存儲模塊+按鍵模塊+LCD12864顯示+FM10A指紋模塊等構成。具體功能:1、能夠對指紋進行錄入、識別和刪除;2、能夠實現最多1000枚的指
發表于 11-10 06:18
基于單片機指紋密碼鎖畢業設計資料分享
【資源下載】下載地址如下1553:https://docs.qq.com/doc/DTlRSd01BZXNpRUxl#include #include//包含頭文件#include"24C0x.h"http://包含24C02函數#include"LCD12864.h" //包含液晶函數#define uchar unsigned char#define uint unsigned int//宏定義 #de
發表于 01-13 07:43
如何去實現一種基于單片機指紋密碼鎖指紋識別系統設計
【資源下載】下載地址:點擊下載(751)百度網盤基于單片機的指紋識別和鍵盤密碼鎖。里面包括程序,原理圖,pcb圖,原件清單和實物圖。#include #include//包含頭文件
發表于 01-13 07:48
如何去實現一種基于單片機的指紋密碼鎖雙重加密設計
設計簡介:本設計是基于單片機的指紋密碼鎖雙重加密設計,主要實現以下功能:LCD1602顯示提示信息具有指紋與密碼雙重加密(先確定
發表于 02-18 07:28
基于單片機的指紋密碼鎖系統論文
發表于 10-26 10:14
?9次下載
基于51單片機的指紋密碼鎖
1.系統功能概述本次分享的是一款基于51單片機的指紋識別電子密碼鎖系統,該系統以STC89C52單片機作為模塊核心,通過串口通信控制指紋模塊
發表于 11-04 18:36
?34次下載
52-基于51單片機的指紋密碼鎖設計
系統由STC89C51單片機+AT24C02數據存儲模塊+按鍵模塊+LCD12864顯示+FM10A指紋模塊等構成。具體功能:1、能夠對指紋進行錄入、識別和刪除;2、能夠實現最多1000枚的指
發表于 11-05 13:36
?8次下載
基于51單片機的指紋密碼鎖
本設計是基于單片機的指紋密碼鎖,主要實現以下功能:可實現LCD1602顯示門狀態以及密碼狀態 通過步進電機模擬門開關 通過4*4矩陣按鍵輸入開門密碼
發表于 11-23 16:36
?54次下載
52-基于51單片機的指紋密碼鎖設計
能夠對指紋進行錄入、識別和刪除,能夠實現最多1000枚的指紋錄入識別,能夠實現指紋識別成功開鎖功能,并設有4*4按鍵鍵盤,實現密碼錄入、修改和特殊功能。
發表于 11-23 17:06
?11次下載
基于單片機的指紋密碼鎖雙重加密設計
設計簡介:本設計是基于單片機的指紋密碼鎖雙重加密設計,主要實現以下功能:LCD1602顯示提示信息 具有指紋與密碼雙重加密(先確定
發表于 12-23 19:32
?28次下載
評論