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

正文內(nèi)容

基于51單片機(jī)的刷卡門(mén)禁系統(tǒng)-資料下載頁(yè)

2025-06-28 00:14本頁(yè)面
  

【正文】 ************************************************************//*名稱: Check_UID *//*功能: 該函數(shù)實(shí)現(xiàn)對(duì)收到的卡片的序列號(hào)的判斷*//*輸入: N/A *//*輸出: TRUE: 序列號(hào)正確*//* FALSE: 序列號(hào)錯(cuò)誤*//****************************************************************/uchar Check_UID(){ uchar temp。 uchar i。 temp = 0x00。 for(i = 0。 i 5。 i++) { temp = temp ^ UID[i]。//對(duì)卡號(hào)異或運(yùn)算,即二數(shù)相同為0,不同為1 } //正確結(jié)果為0 if(temp == 0) { return TRUE。 } return FALSE。}/****************************************************************//*名稱: Select_Card *//*功能: 該函數(shù)實(shí)現(xiàn)對(duì)放入FM1702操作范圍之內(nèi)的某張卡片進(jìn)行選擇*//*輸入: N/A *//*輸出: FM1702_NOTAGERR: 無(wú)卡*//* FM1702_PARITYERR: 奇偶校驗(yàn)錯(cuò)*//* FM1702_CRCERR: CRC校驗(yàn)錯(cuò)*//* FM1702_BYTECOUNTERR: 接收字節(jié)錯(cuò)誤*//* FM1702_OK: 應(yīng)答正確*//* FM1702_SELERR: 選卡出錯(cuò)*//****************************************************************/uchar Select_Card(){ unsigned char temp, i。 RevBuffer[0] = RF_CMD_SELECT。//寫(xiě)0x93命令時(shí)關(guān)閉發(fā)送以及接收CRC校驗(yàn)以及開(kāi)啟奇校驗(yàn) RevBuffer[1] = 0x70。 //當(dāng)發(fā)送PICC_REQSTD 命令時(shí)RegBitFraming 要裝入0x07 for(i = 0。 i 5。 i++) { RevBuffer[i + 2] = UID[i]。 //把5個(gè)卡序列號(hào)轉(zhuǎn)放入緩沖區(qū) } SPIWrite(0x22,0x0f)。//選擇數(shù)據(jù)校驗(yàn)的種類和模式 temp = Command_Send(7, RevBuffer, Transceive)。//Transceive=1EH(接收命令) if(temp == FALSE) { return(1)。 } else { Read_FIFO(RevBuffer)。 /* 從FIFO中讀取應(yīng)答信息, 讀取卡片容量*/ temp = *RevBuffer。 //返回卡片容量S50卡:08,S70卡:18 if((temp == 0x18) || (temp == 0x08) || (temp == 0x28) || (temp == 0x53)) /* 判斷應(yīng)答信號(hào)是否正確 */ return(0)。 else return(FM1702_SELERR)。 }}/****************************************************************//*名稱: Load_keyE *//*功能: 該函數(shù)實(shí)現(xiàn)把E2中密碼存入FM1702的keyRevBuffer中*//*輸入: Ser: EE起始地址*//*輸出: True: 密鑰裝載成功*//* False: 密鑰裝載失敗*//****************************************************************/uchar Load_key_CPY(uchar *buff){ char status。 uchar coded_keys[12]。 uchar temp。 M500HostCodeKey(buff,coded_keys)。//////////////// temp=Command_Send(0x0c,coded_keys,LoadKey)。/* LoadKey將密鑰從FIFO緩存復(fù)制到KEY緩存 0x19*/ if(temp == FALSE) //0x0c為12個(gè)字節(jié)長(zhǎng)度 //coded_keys為指向地址寄存器 { return FM1702_LOADKEYERR。 } status=(SPIRead(ErrorFlag)) amp。 0x40。//判斷l(xiāng)oadkey執(zhí)行是否正確 if (status==0x40) return FM1702_AUTHERR。 return FM1702_OK。}// 轉(zhuǎn)換密鑰格式///////////////////////////////////////////////////////////////////////char M500HostCodeKey( uchar *uncoded, uchar *coded) { uchar t = 0。 uchar ln = 0。 uchar hn = 0。 for (t = 0。 t 6。 t++) { ln = uncoded[t] amp。 0x0F。 hn = uncoded[t] 4。 coded[t * 2 + 1] = (~ln 4) | ln。 coded[t * 2 ] = (~hn 4) | hn。 } return 0。}/****************************************************************//*名稱: Authentication *//*功能: 該函數(shù)實(shí)現(xiàn)密碼認(rèn)證的過(guò)程*//*輸入: UID: 卡片序列號(hào)地址*//* SecNR: 扇區(qū)號(hào)*//*輸出: FM1702_NOTAGERR: 無(wú)卡*//* FM1702_PARITYERR: 奇偶校驗(yàn)錯(cuò)*//* FM1702_CRCERR: CRC校驗(yàn)錯(cuò)*//* FM1702_OK: 應(yīng)答正確*//* FM1702_AUTHERR: 權(quán)威認(rèn)證有錯(cuò)*//****************************************************************/uchar Authentication(uchar *UID, uchar SecNR){ unsigned char i。 unsigned char temp, temp1。 RevBuffer[0] = RF_CMD_AUTH_LA。 //密碼A RevBuffer[1] = SecNR。 for(i = 0。 i 4。 i++) RevBuffer[2 + i] = UID[i]。//把序列號(hào)放入緩沖區(qū)是否為同一張卡 SPIWrite(0x22,0x0f)。 //否則驗(yàn)證不通過(guò)//************ Authent1=0x0c 驗(yàn)證命令認(rèn)證過(guò)程第1步 ****************// temp = Command_Send(6, RevBuffer, Authent1)。 if(temp == FALSE) return FM1702_AUTHERR。 //************ Authent2=0x14 驗(yàn)證命令認(rèn)證過(guò)程第2步 ****************// temp = Command_Send(0, RevBuffer, Authent2)。//如果密碼錯(cuò)則第二步不通過(guò) if(temp == FALSE) return FM1702_AUTHERR。 temp1 = SPIRead(0x09)。//讀控制標(biāo)識(shí)寄存器為0X08時(shí)表示加密單元打開(kāi), temp1 = temp1 amp。 0x08。 //通過(guò)后該位內(nèi)部置1 (CRYPTO1ON) if(temp1 == 0x08) return (0)。 return FM1702_AUTHERR。}/****************************************************************//*名稱: MIF_Read *//*功能: 該函數(shù)實(shí)現(xiàn)讀MIFARE卡塊的數(shù)值*//*輸入: buff: 緩沖區(qū)首地址*//* Block_Adr: 塊地址*//*輸出: FM1702_NOTAGERR: 無(wú)卡*//* FM1702_PARITYERR: 奇偶校驗(yàn)錯(cuò)*//* FM1702_CRCERR: CRC校驗(yàn)錯(cuò)*//* FM1702_BYTECOUNTERR: 接收字節(jié)錯(cuò)誤*//* FM1702_OK: 應(yīng)答正確*//****************************************************************/uchar MIF_READ(uchar *buff, uchar Block_Adr){ unsigned char temp。 SPIWrite(0x22,0x0f)。 buff[0] = RF_CMD_READ。 //0x30 buff[1] = Block_Adr。 temp = Command_Send(2, buff, Transceive)。 if(temp == 0) { return (1)。 } temp = SPIRead(0x04)。 if(temp == 0x10) { Read_FIFO(buff)。 return (0)。 } return (1)。}42
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1