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

正文內(nèi)容

基于單片機(jī)的電子密碼鎖正文-資料下載頁

2024-08-29 17:45本頁面

【導(dǎo)讀】如果采用傳統(tǒng)機(jī)械式的鑰匙來開鎖,人們出門就需攜帶許多把鑰匙,非。常地不方便,而且如果鑰匙不小心被丟失了,那安全性就會大打折扣。在傳統(tǒng)鑰匙的基礎(chǔ)上,增加了一組或多組密碼,產(chǎn)安全的有了更多保障。IC卡辨認(rèn))已在國內(nèi)外相繼面世。但是這些產(chǎn)品的特點(diǎn)是針對特定的指紋。和有效卡,只能適用于需保密的箱、柜、門等。鑒于目前的技術(shù)水平與市場的接受。性高等優(yōu)點(diǎn),因而電子密碼鎖成為了這類電子防盜產(chǎn)品的主流。它除了具有電子密碼鎖的功能外,還引入了專家分析系統(tǒng)和智能化的管理,究它具有重大的現(xiàn)實意義。電子密碼鎖操作簡單易行,一學(xué)即會;以避免因人員的更替而使鎖的密級下降;由于被電子器件所限,以前開發(fā)的電子密碼鎖,保密性差,種類。隨著電子元件的進(jìn)一步發(fā)展,電子密碼鎖也出現(xiàn)了很多。出于安全、方便等方面的需要許多電子密碼鎖已相繼問世,由此可以看出組合使用電子信息是電子密碼鎖今后發(fā)展的趨勢。同時AT89C51可降至0Hz的靜態(tài)邏輯操作,并且支

  

【正文】 viod IIC_24C04_Init() { SCL=0。Stop()。 } // //發(fā)送應(yīng)答信號 // void ACX() { SDA=0。SCL=1。Delay4us()。SCL=0。SDA=1。 } // //發(fā)送非應(yīng)答信號 // void NO_ACK() { SDA=1。SCL=1。Delay4us()。SCL=0。SDA=0。 } // //從芯片讀取 1 字節(jié) // 四川師范大學(xué)成都學(xué)院電子工程系課程設(shè)計報告 28 uchar RedByte() { uchar i,rd。 rd=0x00。 SDA=1。 for(i=0。i8。i++) { SCL=1。rd1。rd|=SDA。Delay4us()。SCL=0。Delay4us()。 } SCL=0。 Delay4us()。 return rd。 } // //向芯片發(fā)送 1 字節(jié) // uchar SendByte(uchar wd) { uchar i。 bit ack0。 for(i=0。i8。i++) //循環(huán)移入 8 位 { SDA=(bit)(wdamp。0x80)。 _nop_()。_nop_()。SCL=1。Delay4us()。SCL=0。wd=1。 } Delay4us()。 SDA=1。 //釋放總線并準(zhǔn)備讀取應(yīng)答 SCL=1。 Delay4us()。 ack0=!SDA。 //0 表示無應(yīng)答 SCL=0。 Delay4us()。 return ack0。 //返回應(yīng)答 } // //發(fā)送多字節(jié)數(shù)據(jù)函數(shù) // 四川師范大學(xué)成都學(xué)院電子工程系課程設(shè)計報告 29 uchar SendString(uchar Slave,uchar Subaddr,uchar*Buffer,uchar N) { uchar i。 Start()。 if(!SendByte(Slave)) return0。 //發(fā)送器件地址 if(!SendByte(Subaddr)) return0。 //發(fā)送器件子地址 for(i=0。iN。i++) { if(!SendByte(Buffer[i])) return0。 //發(fā)送數(shù)據(jù) } // //接受多字節(jié)數(shù)據(jù)函數(shù) // uchar RecString(uchar Slave,uchar Subaddr,uchar*Buffer,uchar N) { uchar i。 start()。 if(!SendByte(Slave)) return0。 //發(fā)送器件地址 if(!SendByte(Subaddr)) return0。 //發(fā)送器件子地址 Start()。 if(!SendByte(Slave+1)) return0。 //器件地址,讀操作 for(i=0。iN1。i++) { Buffer[i]=RecByte()。 //接受數(shù)據(jù) ACK()。 //發(fā)送應(yīng)答位 } Buffer[N1]=RecByte()。 //接收最后一位 NO_ACK()。 Stop() return1。 } // includereg51,h define uchar unsigned char define uint unsigned int viod DelayMS(uint x)。 // 四川師范大學(xué)成都學(xué)院電子工程系課程設(shè)計報告 30 //鍵盤矩陣掃描子程序 // uchar Key_Scan() { uchar Tmp,KeyNo=0。 //高四位置 0,放入 四行 P1=0x0F。 DelayMS(1)。 //按鍵后 00001111 將變成 0000xxxx,x 中 1 個為 0, 3 個仍為 1 //下面的異或操作會把 3 個 1 變成 0,唯一的 0 變成 1 Tmp=P1^0x0F。 //判斷按鍵發(fā)生于 0~3 列中的哪一列 switch(Tmp) { case1:KeyNo=0。break。 case2:KeyNo=1。break。 case4:KeyNo=2。break。 case8:KeyNo=3。break。 default: KeyNo=16。 //無鍵按下 } //低四位置 0,放入四列 P1=0xF0。 DelayMS(1)。 //按鍵后 11110000 將變成 xxxx0000,x 中 1 個為 0, 3 個仍為 1 //下面的表達(dá)式會將高四位移至低四位,并將其中唯一的 0 變?yōu)?1,其余為 0 Tmp=P14^0x0F。 //對 0~3 行分別附加起始值 0,4,8,12 switch (Tmp) { case1:KeyNo+=0。break。 case2:KeyNo+=4。break。 case4:KeyNo+=8。break。 case8:KeyNo+=12。 } return KeyNo。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1