freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機指紋識別系統(tǒng)的設計-文庫吧

2025-06-03 17:54 本頁面


【正文】 鍵需占用一根輸入口。由于該設計方案IO資源浪費大。故此方法只適用于按鍵少或其他控制功能很簡單的場合。由于本設計中的按鍵只有3個,考慮系統(tǒng)可靠性和鍵盤設計的簡單所以采用獨立式按鍵。本系統(tǒng)的按鍵電路如圖36所示:圖36獨立按鍵電路按鍵按下是呈低電平,我們采用軟件消抖來減少對的單片機影響。 LED指示燈電路圖37 LED燈指示電路當k2鍵按下時,錄入模式指示燈red亮;當k1鍵按下時,識別模式指示燈green亮。 蜂鳴器電路圖38蜂鳴器電路 指紋傳感器模塊1)指紋模塊電路如下所示:圖39指紋識別模塊指紋模塊里面主要是DSP芯片,型號為PS1802,加上外面的CMOS芯片,CMOS芯片主要是對指紋進行“照相”,生成指紋特征,如圖38所示就是一個指紋模板,錄入兩次這樣的指紋特征就能生成一個指紋模板。具體的工作過程是:掃描指紋(錄入圖像)、生成特征、合成模板(建立一個指紋庫文件,成功錄入一個指紋)。圖 310 指紋模板指紋模板就是“照一次相”,指紋模塊里面的CMOS芯片采集一次指紋信息,然后進行模糊處理生成0和1兩種記錄信息,存入指紋模塊的FLASH芯片里面。當切換到識別模式的時候,指紋模塊就會先讓CMOS芯片采集一次指紋,然后和FLASH芯片的數(shù)據(jù)進行對比??词遣皇谴嬖?,如果存在就能返回是幾號指紋。這樣我們就能通過單片機或者電腦進行指紋識別與登記了。2)指紋傳感器模塊實物圖指紋模塊型號是:FM180,此模塊上里面包含了:光學頭 通信連接線 DSP芯片(在模塊里面) 穩(wěn)壓芯片F(xiàn)LASH芯片 CMSO傳感器(在模塊里面) 等部件組成。DSP芯片通信連接線光學頭CMOS傳感器FLASH芯片穩(wěn)壓芯片圖311指紋傳感器模塊實物圖第四章 軟件程序設計該設計主要通過設定的3個按鍵來實現(xiàn)一定的功能,3個按鍵分別為模式切換(識別模式和錄入指紋模式)、指紋錄入、刪除所有指紋。 4.1程序流程圖 (1)指紋錄入: 先進行錄入模式,然后按一下錄入指紋,燈會閃爍,錄入成功一次,蜂鳴器響一次,這時候拿開手指,1秒放入同一個手指,會再錄入一次,如果兩次都成功,就成功錄入了一個指紋。蜂鳴器會響兩次,同時顯示錄入指紋成功。如果不成功就會顯示錄入失敗。錄入完成后,可以進入識別模式,或者接著錄入下一個指紋。錄入完成,按一次指紋轉(zhuǎn)換,進入指紋識別開鎖模式。單片機主程序流程設計: 系統(tǒng)關鍵代碼引腳使用:sbit relay =P1^4。 //繼電器引腳sbit buzzer=P1^5。 //蜂鳴器引腳sbit red= P2^7。//錄入模式指示燈 在板子靠近單片機處sbit green= P2^0。//識別模式指示燈 在板子遠離單片機處sbit k2=P3^4。 //錄入一次指紋sbit k1=P3^3。 //模式識別轉(zhuǎn)換sbit k3=P3^2。 //清除所有指紋(10個指紋清除)部分主函數(shù)代碼:void main(void)//主函數(shù){ unsigned char i=0。 ET0=1。 //定時器0開中斷 TL0=0x97。 //17ms的初值 TH0=0xBD。 delay1ms(5)。 LcdRw=0。 //只對液晶進行寫操作,不進行讀操作 delay1ms(5)。 LCD_Initial()。//液晶初始化 delay1ms(5)。 GotoXY(0,0)。//x,y Print(Identify)。 //串口初始化 SCON=0x50。 //UART方式1:8位UART。 REN=1:允許接收 PCON=0x00。 //SMOD=0:波特率不加倍 TMOD=0x21。 //T1方式2,用于UART波特率 TH1=0xFD。 TL1=0xFD。 //UART波特率設置:9600 TR1=1。 TR0=1。// 開定時器0 IT0=0。//中斷0低電平中斷 IT1=1。//中斷1低電平中斷 EX0=1。//開中斷0 EX1=1。//開中斷1EA=1。 mode()。//看當前是什么模式 for(i=0。i6。i++)//開始握手6次,如果沒有一次成功,表示模塊通信不正常。只要成功就跳出此循環(huán) { if(VefPSW())//與模塊握手通過,綠燈亮起。進入識別模式 { green=0。 //讀一次 buzzer=0。 shownum(0)。 delay1ms(300)。 buzzer=1。 break。 } else { red=1。 green=1。 break。 } } while(1) { if(k2==0)//錄入一個指紋 { delay1ms(10)。 if(k2==0)//如果仍為低電平,表示按鍵有效 { while(k2==0)。//等待松手 if(VefPSW()==1amp。amp。modeflag==1amp。amp。SaveNumber10)//與模塊握手通過 { if(enroll()==1)//采集兩次,生成1個指紋模板成功 { if(savefingure(SaveNumber+1)==1)//保存也成功 { SaveNumber++。//加一次 shownum(SaveNumber)。 } } } else { buzzer=0。 for(i=0。i8。i++) { delay1ms(100)。 red=~red。 } red=0。 buzzer=1。 } } } if(modeflag==0)//為識別模式 { searchnum=search()。 if(searchnum=1amp。amp。searchnum=162)//最多是162個指紋 { shownum(searchnum)。 //蜂鳴器響一聲 relay=0。 buzzer=0。 delay1ms(100)。 buzzer=1。 for(i=0。i20。i++) { delay1ms(150)。 } relay=1。 } if(searchnum==255)//不正確的指紋 蜂鳴器響三聲 { shownum(0)。 buzzer=0。delay1ms(100)。 buzzer=1。delay1ms(100)。 buzzer=0。delay1ms(100)。 buzzer=1。delay1ms(100)。 buzzer=0。delay1ms(100)。 buzzer=1。delay1ms(100)。 } } if(clearallflag==1) { clearallflag=0。 Clear_All()。 red=0。 //紅色燈亮 green=1。 //蜂鳴器長響一次,表示清除所有指紋結(jié)束 modeflag=1。//進入錄入指紋模式 GotoXY(0,0)。//x,y Print(Input)。 shownum(0)。 buzzer=0。 delay1ms(800)。 buzzer=1。 SaveNumber=0。 } if(changeflag==1) { mode()。//顯示當前模式 changeflag=0。 } }/////////////while(1)結(jié)束////////////////////////////////}void int0(void) interrupt 0//中斷0,清除所有指紋{ if(k3==0) //清除所有指紋 { delay1ms(10)。 if(k3==0)//如果仍為低電平,表示按鍵有效 { while(k3==0)。//等待松手 clearallflag=1。 changeflag=1。 } } } void Timer0(void) interrupt 1//定時器0中斷函數(shù){ TL0=0x97。 TH0=0xBD。 clk0++。 //延時17ms}void int1(void) interrupt 2//中斷1,模式轉(zhuǎn)換{ if(k1==0)//模式轉(zhuǎn)換 其中用modeflag 來標志,默認從第1個指紋開始錄入 { delay1ms(10)。 if(k1==0)//如果仍為低電平,表示按鍵有效 { while(k1==0)。//等待松手 modeflag=~modeflag。//0表示錄入指紋 1表示識別指紋 changeflag=1。//模式發(fā)生了轉(zhuǎn)換 } } }第五章 調(diào)試完成了硬件的設計、制作和軟件編程之后,要使系統(tǒng)能夠按設計正常運行,必須進行硬件調(diào)試和軟件調(diào)試。 硬件調(diào)試的主要任務是排除硬件故障,其中包括設計錯誤和工藝性故
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1