欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8180|回復: 7
打印 上一主題 下一主題
收起左側(cè)

單片機指紋控制系統(tǒng)設(shè)計

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:399148 發(fā)表于 2018-9-17 18:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這是我的畢業(yè)設(shè)計,里面設(shè)計到電路圖和源程序,請 各位查看
任 務(wù) 書
課程設(shè)計題目:指紋識別
功能簡述:
1)根據(jù)所學的知識和能力,設(shè)計程序可以實現(xiàn)根據(jù)指紋的大小、形狀等特征,識別出不同的指紋。
2)利用按鍵標志當前指紋識別的狀態(tài),例如錄入狀態(tài),識別狀態(tài),清楚狀態(tài);利用液晶1602能夠顯示當前指紋識別的狀態(tài)信息。
3)利用繼電器,對當前信息的判斷,例如提醒當前指紋識別錯誤;利用蜂鳴器和LED等提醒當前指紋識別是否正確
目錄
第一章  緒論
1.1、指紋識別中的基本概念
1.2 指紋識別的發(fā)展前景
1.3、指紋識別課題設(shè)計的內(nèi)容與意義
第二章 方案選擇
2.1 系統(tǒng)原理圖設(shè)計
2.2方案說明
2.3 方案比較
2.4 方案選擇
第三章 硬件設(shè)計
3.1 AT89C52單片機設(shè)計
3.2 電源電路設(shè)計
3.3 按鍵控制部分電路
3.4  LED指示燈電路
3.5 蜂鳴器電路
3.6 指紋傳感器模塊
第四章 軟件程序設(shè)計
4.1程序流程圖         
4.2程序
第五章  調(diào)試
5.1硬件調(diào)試
5.2軟件調(diào)試
摘      要
隨著時代的發(fā)展,社會越來越需要高效、可靠的身份識別系統(tǒng)傳統(tǒng)的個人身份鑒別手段如鑰匙、口令、密碼、身份證件,甚至IC卡等識別方式,由于它們具有可假冒、可偽造、可盜用、可破譯的弱點,已不能完全滿足現(xiàn)代社會經(jīng)濟活動和社會安全防范的需要。隨著識別技術(shù)的不斷成熟和計算機技術(shù)的飛速發(fā)展,各種基于人體生理特征的身份識別系統(tǒng)如:指紋、手掌、聲音、視網(wǎng)膜、瞳孔和面紋等識別技術(shù)紛紛從實驗室中走出來。目前,從實用的角度看,指紋識別技術(shù)是優(yōu)于其它生物識別技術(shù)的身份鑒別方法。本次設(shè)計我們利用指紋識別傳感器進行指紋采集與識別,在單片機中對指紋進行處理, 用按鍵標志當前指紋識別的狀態(tài),錄入狀態(tài),識別狀態(tài),清除狀態(tài),用液晶1602能夠顯示當前指紋識別的狀態(tài)信息;用繼電器對當前信息進行判斷,例如提醒當前指紋識別錯誤;利用蜂鳴器和LED等提醒當前指紋識別是否正確
關(guān)鍵詞:指紋識別;單片機;指紋識別傳感器;液晶1602;繼電器
第一章  緒論
進入21世紀后,由于國際反恐、互聯(lián)網(wǎng)應(yīng)用等因素的推動,在全球范圍內(nèi),指紋識別技術(shù)得到了更加廣泛的應(yīng)用,指紋識別市場進入高速發(fā)展階段。利用人的生理特征,例如像指紋等來識別個人的身份,將成為今后幾年IT產(chǎn)業(yè)的重要革新。指紋在所有的生物特征中,相對穩(wěn)定、不隨年齡而變化和采集較為便捷,同時它的研究歷史最長、相對更為成熟。與現(xiàn)有的智能卡、身份證號碼和密碼的身份識別系統(tǒng)相比,指紋識別的性價比最高,也更適于應(yīng)用到大眾生活中。因此指紋識別以其革命性的便捷和安全性成為一個理想的卓越的解決方案。
1.1、指紋識別中的基本概念
指紋識別是成熟的生物識別(Biometric)技術(shù),由于人體的身體特征具有不可復制的特點,人們把目光轉(zhuǎn)向了生物識別技術(shù),希望可以籍此技術(shù)來應(yīng)付現(xiàn)行系統(tǒng)安全所面臨的的挑戰(zhàn)。要把人體的特證用于身份識別,這些特征必須具有唯一性和穩(wěn)定性。研究和經(jīng)驗表明,人的指紋、掌紋、面孔、發(fā)音、虹膜、視網(wǎng)膜、骨架等都具有唯一性和穩(wěn)定性的特征,即每個人的這些特征都與別人不同、且終生不變,因此就可以據(jù)此識別出人的身份。基于這些特征,人們發(fā)展了指紋識別、面部識別、發(fā)音識別等多種生物識別技術(shù),目前許多技術(shù)都已經(jīng)成熟并得以應(yīng)用,其中的指紋識別技術(shù)更是生物識別技術(shù)的熱點。
1.2 指紋識別的發(fā)展前景
指紋行業(yè)是一個新興的行業(yè),本身具有很高的科技含量,相對利潤高發(fā)展前景廣闊。經(jīng)專家預計,指紋產(chǎn)品將是未來IT產(chǎn)業(yè)新的增長點:利潤率最高、發(fā)展?jié)摿ψ畲蟆S谑牵澜珥敿獾闹讣y識別技術(shù)得到了全球范圍內(nèi)的高度重視,指紋識別技術(shù)的應(yīng)用如火如荼地迅速發(fā)展起來。目前,國內(nèi)已經(jīng)有不少企業(yè)在參與指紋識別技術(shù)的開發(fā)和應(yīng)用。指紋技術(shù)在現(xiàn)代生活和工作中的應(yīng)用已越來越普遍,例如:指紋考勤、指紋社保、指紋銀行、指紋商場、指紋接送幼兒等等生活和工作的新現(xiàn)象已廣為人知,指紋技術(shù)正在日益刷新著我們的現(xiàn)代化生活方式。
1.3、指紋識別課題設(shè)計的內(nèi)容與意義
指紋識別技術(shù)相對于其他識別方法有許多獨到之處,具有很高的實用性和可行性。因此,指紋識別成為最流行、最方便、最可靠的身份認證方式,己經(jīng)在社會生活的諸多方面得到廣泛應(yīng)用。這是由于指紋是獨一無二的,兩人之間不存在著相同的指紋,指紋是獨一無二的,兩人之間不存在著相同的指紋,同時指紋樣本易于采集,難以偽造,便于開發(fā),實用性強,可以利用多個指紋構(gòu)成多重口令,提高系統(tǒng)的安全性。
本文主要通過對MCS-51系列單片機的結(jié)構(gòu)和功能進行分析,來研究基于單片機指紋識別系統(tǒng)的內(nèi)部結(jié)構(gòu)特點和功能闡述以及工作原理,更好的了解了指紋識別系統(tǒng)的未來前景。
第二章 方案選擇
2.1系統(tǒng)原理圖設(shè)計
2.2方案說明
2.1.1方案一:攝像頭采集、飛思卡爾單片機處理
這種方案由指紋圖像采集、指紋圖像預處理、指紋特征提取、指紋特征匹配、特征數(shù)據(jù)庫等幾部分組成。指紋識別系統(tǒng)的原理框圖如圖1所示。
               
               圖2-1、指紋識別系統(tǒng)框圖
該系統(tǒng)首先由數(shù)字攝像頭ov6620采集指紋,并將指紋圖像轉(zhuǎn)化為數(shù)字圖像;然后用16位的飛思卡爾X128單片機對指紋數(shù)字圖像進行預處理,再通過圖像增強、分割、平滑、細化等處理過程得到便于指紋特征提取的數(shù)字圖像:接著提取細化后的圖像細節(jié)特征點; 然后將指紋信息數(shù)據(jù)送入STC89C52單片機中,一塊液晶1602與STC89C52單片機相連,液晶用于顯示當前指紋采集系統(tǒng)的工作狀態(tài)和經(jīng)對比后指紋采集的信息是否正確,用一個蜂鳴器和LED指示燈指示當前采集的指紋信息正確。當采集到的指紋信息正確,蜂鳴器發(fā)出響聲并且LED指示燈點亮。
2.1.2方案二 指紋識別傳感器
代替第一種方案中的攝像頭和飛思卡爾單片機,我們利用一個指紋識別傳感器來對指紋進行采集,識別以及部分處理,然后將信息輸送到AT89C52單片機中,利用按鍵控制當前指紋識別的狀態(tài),用LED燈進行顯示,即錄入狀態(tài),識別狀態(tài),清除狀態(tài);利用液晶1602能夠顯示當前指紋識別的狀態(tài)信息,即錄入指紋的編號以及當前指紋;利用繼電器,對當前信息的判斷,例如提醒當前指紋識別錯誤;利用蜂鳴器提醒當前指紋識別是否正確,如果指紋錄入正確,蜂鳴器發(fā)出響聲。
2.3 方案比較
1)復雜性:方案一采取用數(shù)字攝像頭ov6620采集指紋圖像,然后用16位的飛思卡爾X128單片機進行圖像處理,還要進行圖像增強、分割、平滑、細化等處理過程才能得到便于指紋特征提取的數(shù)字圖像;而這些過程在方案二中只用一個指紋傳感器模塊就可以代替,所以方案二設(shè)計簡單。
2)準確性:方案一中所采集的攝像頭分辨率有限,所以采集的指紋信息有一定的誤差,方案二中指紋傳感器模塊是利用集成的光學頭進行處理的,比較精確。
3)局限性:由于方案一中使用的飛思卡爾單片機處理程序比較復雜,超出了我們的學習范圍,而方案二傳感器就使程序簡單化了。
2.4 方案選擇
鑒于各種原因,我們最終選擇第二種方案,使用指紋傳感器模塊來設(shè)計系統(tǒng)。
第三章 硬件設(shè)計
3.1 AT89C52單片機設(shè)計
3.1.1 主要性能
有12k字節(jié)Flash閃速存儲器,1024字節(jié)內(nèi)部RAM,32個I/O口線,兩個16位定時/計數(shù)器,5個中斷向量,一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。
3.1.2引腳結(jié)構(gòu)圖(如圖3-1)
                    
圖3-1   AT89C52管腳圖
3.1.3 一些端口的介紹:
P30口:RXD(串行輸入口)
P31口:TXD(串行輸出口)
XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。
XTAL2:振蕩器反相放大器的輸出端。
3.1.4 單片機最小系統(tǒng)
1)外部晶振的設(shè)計
STC89C52的內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,通過XTAL1,ATAL2外部接上一片作為反饋元件的晶體,與C1和C2構(gòu)成了并聯(lián)諧振電路,使其構(gòu)成自激振蕩器,電容的值具有微調(diào)的作用,我們?nèi)?0PF,具體的接法如圖3-2外部晶振電路。
圖3-2  外部晶振電路
STC89C52的工作頻率范圍在 0-24MHZ。我們選用的是11.0592MHZ的晶振,振蕩周期約為1us機器周期約為0.1us,所以這個晶振可以滿足這個系統(tǒng)的要求。并且晶振不能離單片機太遠,不然使用外部晶振進行軟件調(diào)試時就會發(fā)現(xiàn)找不到信號。
2)復位電路的設(shè)計
MCS51單片機通常采用上電自動復位和按鈕復位兩種方式,本系統(tǒng)采用簡單的自動復位電路如圖2-2所示。單片機在上電瞬間,RC電路充電,RST引腳端出現(xiàn)正脈沖,只要RST端保持兩個機器周期以上的高電平,就能使單片機有效復位。其中電容選10uF、電容選10K。
圖3-3復位電路
3.2 電源電路設(shè)計
本系統(tǒng)采用的5V電源主要采用兩種方法,第一是直接用9V電池然后通過一個變壓電路,利用7805將轉(zhuǎn)化成5V供單片機和液晶顯示部分使用;其二是用220V通過變壓器等將其轉(zhuǎn)化成5V。
兩種方法都可以,但是由于第一種方法便于攜帶、而且成本相對較低所以我們選用第一種方案。
圖3-4  電源電路
3.3 按鍵控制部分電路
1)消除抖動
按鍵的閉合與否反應(yīng)在電壓上就是呈現(xiàn)出高電平或低電平,如果高電平表示斷開,那么低電平則表示閉合,通過電平的高低狀態(tài)的檢測可確認鍵按下與否。為了確保CPU對一次按鍵動作只確認一次,并且防止干擾信號的影響,必需加入消除電平抖動的措施,下圖3-5為按鍵抖動示意圖:
圖3-5按鍵閉合及斷開前后的電壓
消除抖動通常有硬、軟硬兩種方法,硬件消除抖動可采取雙穩(wěn)態(tài)電路或濾波消抖電路;軟件消抖是在第一次檢測到有鍵按下時,執(zhí)行一段延時程序再確認該鍵是否仍閉合,如果還是閉合狀態(tài)則確認該鍵按下,從而消除抖動和干擾影響。當按鍵較多時,我們多采用硬件件消抖法。本系統(tǒng)中按鍵少直接采用直接接入的方式。
2)按鍵接口設(shè)計
按鍵接口設(shè)計有兩種方法,獨立式按鍵和矩陣式鍵盤。獨立式按鍵各鍵相獨立,每個按鍵各接入一根輸入線,只要檢測輸入線的電平就可以識別按鍵狀態(tài)。這種方法電路配置靈活,軟件結(jié)構(gòu)簡單,但每個按鍵需占用一根輸入口。由于該設(shè)計方案IO資源浪費大。故此方法只適用于按鍵少或其他控制功能很簡單的場合。由于本設(shè)計中的按鍵只有3個,考慮系統(tǒng)可靠性和鍵盤設(shè)計的簡單所以采用獨立式按鍵。本系統(tǒng)的按鍵電路如圖3-6所示:
圖3-6獨立按鍵電路
按鍵按下是呈低電平,我們采用軟件消抖來減少對的單片機影響。
3.4 LED指示燈電路
圖3-7 LED燈指示電路
當k2鍵按下時,錄入模式指示燈red亮;當k1鍵按下時,識別模式指示燈green亮。
3.5 蜂鳴器電路
圖3-8蜂鳴器電路
3.6 指紋傳感器模塊
1)指紋模塊電路如下所示:
圖3-9指紋識別模塊
指紋模塊里面主要是DSP芯片,型號為PS1802,加上外面的CMOS芯片,CMOS芯片主要是對指紋進行“照相”,生成指紋特征,如圖3-8所示就是一個指紋模板,錄入兩次這樣的指紋特征就能生成一個指紋模板。
具體的工作過程是:掃描指紋(錄入圖像)、生成特征、合成模板(建立一個指紋庫文件,成功錄入一個指紋)。
圖 3-10 指紋模板
指紋模板就是“照一次相”,指紋模塊里面的CMOS芯片采集一次指紋信息,然后進行模糊處理生成0和1兩種記錄信息,存入指紋模塊的FLASH芯片里面。
當切換到識別模式的時候,指紋模塊就會先讓CMOS芯片采集一次指紋,然后和FLASH芯片的數(shù)據(jù)進行對比。看是不是存在,如果存在就能返回是幾號指紋。這樣我們就能通過單片機或者電腦進行指紋識別與登記了。
2)指紋傳感器模塊實物圖
指紋模塊型號是:FM-180,此模塊上里面包含了:
1、光學頭   2、通信連接線 3、DSP芯片(在模塊里面)
4、穩(wěn)壓芯片5、FLASH芯片  6、CMSO傳感器(在模塊里面) 等部件組成。

圖3-11指紋傳感器模塊實物圖
第四章 軟件程序設(shè)計
該設(shè)計主要通過設(shè)定的3個按鍵來實現(xiàn)一定的功能,3個按鍵分別為模式切換(識別模式和錄入指紋模式)、指紋錄入、刪除所有指紋。
4.1程序流程圖            
4.1.1程序主流程圖
(1)指紋錄入: 先進行錄入模式,然后按一下錄入指紋,燈會閃爍,錄入成功一次,蜂鳴器響一次,這時候拿開手指,1秒放入同一個手指,會再錄入一次,如果兩次都成功,就成功錄入了一個指紋。蜂鳴器會響兩次,同時顯示錄入指紋成功。如果不成功就會顯示錄入失敗。錄入完成后,可以進入識別模式,或者接著錄入下一個指紋。錄入完成,按一次指紋轉(zhuǎn)換,進入指紋識別開鎖模式。
單片機主程序流程設(shè)計:

  1. void main(void)//主函數(shù)
  2. {
  3.               unsigned char i=0;

  4.               ET0=1;     //定時器0開中斷
  5.               TL0=0x97;  //17ms的初值
  6.               TH0=0xBD;
  7.    delay1ms(5);
  8.    LcdRw=0;      //只對液晶進行寫操作,不進行讀操作
  9.    delay1ms(5);
  10.    LCD_Initial();//液晶初始化
  11.    delay1ms(5);
  12.    GotoXY(0,0);//x,y
  13.    Print(Identify);
  14.     //串口初始化
  15.     SCON=0x50;   //UART方式1:8位UART;   REN=1:允許接收
  16.     PCON=0x00;   //SMOD=0:波特率不加倍
  17.     TMOD=0x21;   //T1方式2,用于UART波特率
  18.     TH1=0xFD;
  19.     TL1=0xFD;   //UART波特率設(shè)置:9600
  20.     TR1=1;
  21.     TR0=1;// 開定時器0
  22.             
  23.               IT0=0;//中斷0低電平中斷
  24.               IT1=1;//中斷1低電平中斷
  25.               EX0=1;//開中斷0
  26.               EX1=1;//開中斷1
  27. EA=1;

  28.               mode();//看當前是什么模式
  29.             
  30.               for(i=0;i<6;i++)//開始握手6次,如果沒有一次成功,表示模塊通信不正常。只要成功就跳出此循環(huán)
  31.               {
  32.                             if(VefPSW())//與模塊握手通過,綠燈亮起。進入識別模式
  33.                               {
  34.                                                         green=0; //讀一次
  35.                                                         buzzer=0;
  36.                                                         shownum(0);
  37.                                     delay1ms(300);
  38.                                     buzzer=1;
  39.                                                         break;            
  40.                               }
  41.                   else
  42.                             {
  43.                                           red=1;
  44.                                           green=1;
  45.                                           break;
  46.                             }
  47.               }
  48.     while(1)
  49.               {
  50.                             if(k2==0)//錄入一個指紋
  51.                             {
  52.                                                           delay1ms(10);            
  53.                                                           if(k2==0)//如果仍為低電平,表示按鍵有效
  54.                                                                         {
  55.                                                                           while(k2==0);//等待松手
  56.                                                                         if(VefPSW()==1&&modeflag==1&&SaveNumber<10)//與模塊握手通過
  57.                                                                                       {
  58.                                                                                                       if(enroll()==1)//采集兩次,生成1個指紋模板成功
  59.                                                                                                                   {
  60.                                                                                                                    if(savefingure(SaveNumber+1)==1)//保存也成功
  61.                                                                                                                                  {
  62.                                                                                                                                             SaveNumber++;//加一次
  63.                                                                                                                                             shownum(SaveNumber);
  64.                                                                                                                               }
  65.                                                                                                                 }
  66.                                                                                       }
  67.                                                                                     else
  68.                                                                                     {
  69.                                                                                                                 buzzer=0;
  70.                                                                                                                 for(i=0;i<8;i++)
  71.                                                                                                                 {
  72.                                                                                                                   delay1ms(100);
  73.                                                                                                                   red=~red;
  74.                                                                                                                 }
  75.                                                                                                                 red=0;
  76.                                                                                                                 buzzer=1;
  77.                                                                                                                              
  78.                                                                                     }               
  79.                                                                         }
  80.                                                                      
  81.                             }
  82.                             if(modeflag==0)//為識別模式
  83.                             {
  84.                                             searchnum=search();
  85.                                             if(searchnum>=1&&searchnum<=162)//最多是162個指紋
  86.                                             {
  87.                                                             shownum(searchnum);
  88.                                                  //蜂鳴器響一聲
  89.                                                            relay=0;
  90.                                                  buzzer=0;
  91.                                                  delay1ms(100);
  92.                                                  buzzer=1;
  93.                                                            for(i=0;i<20;i++)
  94.                                                            {
  95.                                                             delay1ms(150);
  96.                                                            }
  97.                                                            relay=1;
  98.                                             }
  99.                                             if(searchnum==255)//不正確的指紋 蜂鳴器響三聲
  100.                                             {
  101.                                                              shownum(0);
  102.                                                            buzzer=0;delay1ms(100); buzzer=1;delay1ms(100);
  103.                                                  buzzer=0;delay1ms(100); buzzer=1;delay1ms(100);
  104.                                                  buzzer=0;delay1ms(100); buzzer=1;delay1ms(100);
  105.                                             }
  106.                             }
  107.                             if(clearallflag==1)
  108.                             {
  109.                                           clearallflag=0;
  110.                                           Clear_All();
  111.                                 red=0;                   //紅色燈亮
  112.                                 green=1;
  113.                                           //蜂鳴器長響一次,表示清除所有指紋結(jié)束
  114. ……………………

  115. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

完整的Word格式文檔51黑下載地址(含源程序):
指紋答辯問題.docx (49.88 KB, 下載次數(shù): 49)
硬件原理圖.docx (35.8 KB, 下載次數(shù): 48)
基于單片機指紋識別系統(tǒng)設(shè)計.doc (423 KB, 下載次數(shù): 165)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏6 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:451311 發(fā)表于 2018-12-21 09:42 | 只看該作者
不錯,頂一個,學習一下~
回復

使用道具 舉報

無效樓層,該帖已經(jīng)被刪除
無效樓層,該帖已經(jīng)被刪除
5#
ID:636603 發(fā)表于 2019-11-17 16:41 | 只看該作者
很不錯,學習一下
回復

使用道具 舉報

6#
無效樓層,該帖已經(jīng)被刪除
7#
ID:689378 發(fā)表于 2020-3-24 23:54 | 只看該作者
為什莫沒有l(wèi)cd1602那段程序
回復

使用道具 舉報

8#
無效樓層,該帖已經(jīng)被刪除
9#
ID:505380 發(fā)表于 2020-4-7 14:44 | 只看該作者
有沒有仿真文件啊
回復

使用道具 舉報

10#
ID:728647 發(fā)表于 2020-4-13 23:59 | 只看該作者
我也想學習一下
回復

使用道具 舉報

11#
ID:240604 發(fā)表于 2020-4-14 15:32 | 只看該作者
請問有工程文件么
回復

使用道具 舉報

12#
ID:166543 發(fā)表于 2020-4-14 17:43 | 只看該作者
很不錯,學習一下
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表