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

正文內(nèi)容

基于單片機(jī)指紋識(shí)別系統(tǒng)設(shè)計(jì)-資料下載頁(yè)

2024-11-10 15:45本頁(yè)面

【導(dǎo)讀】形狀等特征,識(shí)別出不同的指紋。清楚狀態(tài);利用液晶1602能夠顯示當(dāng)前指紋識(shí)別的狀態(tài)信息。不能完全滿足現(xiàn)代社會(huì)經(jīng)濟(jì)活動(dòng)和社會(huì)安全防范的需要。進(jìn)入21世紀(jì)后,由于國(guó)際反恐、互聯(lián)網(wǎng)應(yīng)用等因素的推動(dòng),在全球范圍內(nèi),指紋在所有的生物特征中,相對(duì)穩(wěn)定、不隨年齡而變化和采集較為便捷,與現(xiàn)有的智能卡、身份證號(hào)碼和密碼的。指紋識(shí)別以其革命性的便捷和安全性成為一個(gè)理想的卓越的解決方案。安全所面臨的的挑戰(zhàn)。要把人體的特證用于身份識(shí)別,這些特征必須具有唯一性。于是,世界頂尖的指紋識(shí)別技術(shù)得到了全球范圍內(nèi)的高度重視,指紋識(shí)。目前,國(guó)內(nèi)已經(jīng)有不少企業(yè)在參與指紋。的新現(xiàn)象已廣為人知,指紋技術(shù)正在日益刷新著我們的現(xiàn)代化生活方式。這是由于指紋是獨(dú)一無(wú)二的,兩人之間不存在著。征數(shù)據(jù)庫(kù)等幾部分組成。當(dāng)采集到的指紋信息正確,蜂鳴器發(fā)出響聲并且LED指。器來(lái)對(duì)指紋進(jìn)行采集,識(shí)別以及部分處理,然后將信息輸送到AT89C52單片機(jī)中,

  

【正文】 功返回 0 } unsigned char enroll(void) //采集兩次指紋,生成 1 個(gè) 指紋模板 { unsigned char temp=0,count=0。 while(1) { temp=ImgProcess(1)。 //生成特征 1 if (temp==1)//生成特征文件成功 { break。 } else { if (temp==0)//采集指紋沒(méi)有成功 { count++。 if (count=40)//如果采集了 40次,還不成功,直接采集失敗,直接退出 enroll 函數(shù)----返回 0 return(0)。 } } } //采集第一個(gè)特征成功 . . count=0。 buzzer=0。 delay1ms(100)。 buzzer=1。 delay1ms(2020)。//延時(shí) 2S 開(kāi)始采集下一個(gè)特征 //開(kāi)始采集第二個(gè)特征 while(1) { temp=ImgProcess(2)。 //生成特征 2 if (temp==1)//生成特征文件 2成功 { if ( (Command(MERG,40)amp。amp。 (FifoNumber==11) amp。amp。 (FIFO[9]==0x00))==0 ) //合并不成功返回 0,成功返回 1 { return 0。 } else//特征文件合并生成模板,結(jié)果存于 ModelBuffer { buzzer=0。 delay1ms(100)。 buzzer=1。 delay1ms(100)。 buzzer=0。 delay1ms(100)。 //響兩聲,表示生成一個(gè)模板成功 buzzer=1。 return 1。 } } else { if (temp==1)//采集指紋沒(méi)有成功 { count++。 if (count=25) return(0)。 } } } } . . void shownum(unsigned char dat) { unsigned char numdat=0。 numdat=dat。 GotoXY(0,1)。//x,y Print(Finger:)。 GotoXY(0,8)。//x,y str[0]=0x30+numdat/10。 str[1]=0x30+numdat%10。 Print(str)。 } void mode(void) { if(modeflag==0) { GotoXY(0,0)。//x,y Print(Identify)。 green=0。 red=1。 } else { GotoXY(0,0)。//x,y Print(Input)。 red=0。 green=1。 } shownum(0)。 } void main(void)//主函數(shù) { unsigned char i=0。 ET0=1。 //定時(shí)器 0 開(kāi)中斷 TL0=0x97。 //17ms 的初值 TH0=0xBD。 delay1ms(5)。 LcdRw=0。 //只對(duì)液晶進(jìn)行寫(xiě)操作,不進(jìn)行讀操作 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 波特率設(shè)置 :9600 TR1=1。 TR0=1。// 開(kāi)定時(shí)器 0 IT0=0。//中斷 0低電平中斷 IT1=1。//中斷 1低電平中斷 EX0=1。//開(kāi)中斷 0 EX1=1。//開(kāi)中斷 1 EA=1。 mode()。//看當(dāng)前是什么模式 for(i=0。i6。i++)//開(kāi)始握手 6 次,如果沒(méi)有一次成功,表示模塊通信不正常。只要成功就跳出此循環(huán) { if(VefPSW())//與模塊握手通過(guò),綠燈亮起。進(jìn)入識(shí)別模式 { green=0。 //讀一次 buzzer=0。 shownum(0)。 delay1ms(300)。 buzzer=1。 break。 } else { red=1。 green=1。 break。 } } while(1) { if(k2==0)//錄入一個(gè)指紋 { delay1ms(10)。 . . if(k2==0)//如果仍為低電平,表示按鍵有效 { while(k2==0)。//等待松手 if(VefPSW()==1amp。amp。modeflag==1amp。amp。SaveNumber10)//與模塊握手通過(guò) { if(enroll()==1)//采集兩次,生成 1個(gè)指紋模板成功 { 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)//為識(shí)別模式 { searchnum=search()。 if(searchnum=1amp。amp。searchnum=162)//最多是 162 個(gè)指紋 { 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。 //蜂鳴器長(zhǎng)響一次,表示清除所有指紋結(jié)束 modeflag=1。//進(jìn)入錄入指紋模式 GotoXY(0,0)。//x,y Print(Input)。 shownum(0)。 buzzer=0。 delay1ms(800)。 buzzer=1。 SaveNumber=0。 } if(changeflag==1) { mode()。//顯示當(dāng)前模式 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//定時(shí)器 0 中斷函數(shù) { TL0=0x97。 TH0=0xBD。 clk0++。 //延時(shí) 17ms } void int1(void) interrupt 2//中斷 1,模式轉(zhuǎn)換 { if(k1==0)//模式轉(zhuǎn)換 其中用 modeflag 來(lái)標(biāo)志 ,默認(rèn)從第 1 個(gè)指紋開(kāi)始錄入 { delay1ms(10)。 if(k1==0)//如果仍為低電平,表示按鍵有效 { while(k1==0)。//等待松手 modeflag=~modeflag。//0 表示錄入指紋 1表示識(shí)別指紋 changeflag=1。//模式發(fā)生了轉(zhuǎn)換 } } }
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1