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

正文內(nèi)容

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

2025-06-18 17:54本頁(yè)面
  

【正文】 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(2000)。//延時(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)中斷1EA=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)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1