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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于at89c51單片機(jī)的智能水表設(shè)計(jì)(編輯修改稿)

2025-01-06 19:12 本頁面
 

【文章內(nèi)容簡介】 航空航天大學(xué)出版社 .2021 [9] 李朝青 .單片機(jī)原理及接口技術(shù) .北京航大出版社 [10] 上海杰捷智能卡制作中心 .Shanghai Jamp。J intelligence card producing center [11] IC 卡技術(shù)網(wǎng) . [12] 開發(fā)板精品網(wǎng)- AT89C51 單片機(jī) [13] 王愛英 .智能卡技術(shù) .北京 :清華大學(xué)出版 .2021 [14] 徐德華,程受浩,劉華 .多用途射頻 IC 卡應(yīng)用系統(tǒng)的設(shè)計(jì) .探測與控制學(xué)報(bào) . 2021, 25(3) [15] 王璐,秦汝祥,賈群 .基于 RFID 技術(shù)的門禁監(jiān)控系統(tǒng),微機(jī)發(fā)展 .2021 [16] 沈宇超,沈樹群,樊榮等 .射頻識別系統(tǒng)中通信協(xié)議的模塊化設(shè)計(jì) .通信學(xué)報(bào) .2021 [17] KaiserU. Alowpower transponder IC forhighperforman 15 致謝 在本次畢業(yè)設(shè)計(jì)完成的過程中,自始至終都是在趙欣老師的全面、具體的幫助和悉心指導(dǎo)下進(jìn)行的。 趙欣老師淵博的知識,民主而嚴(yán)謹(jǐn)?shù)淖黠L(fēng)讓我獲益匪淺,終身受用,趙老師的嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和對工作的兢兢業(yè)業(yè)的態(tài)度會永遠(yuǎn)激勵我認(rèn)真學(xué)習(xí),努力工作。同樣感謝同學(xué)們的幫助 ,在這里表示衷心感謝 ! 16 附錄: 附錄 A IC 卡讀寫模塊 附錄 B 總 設(shè)計(jì)電路圖 17 附錄 C IC 卡水表部分程序 include include include include define MAXRLEN 18 ///////////////////////////////////////////////////////////////////// //功 能:尋卡 //參數(shù)說明 : req_code[IN]:尋卡方式 // 0x52 = 尋感應(yīng)區(qū)內(nèi)所有符合 14443A 標(biāo)準(zhǔn)的卡 // 0x26 = 尋未進(jìn)入休眠狀態(tài)的卡 // pTagType[OUT]:卡片類型代碼 // 0x4400 = Mifare_UltraLight // 0x0400 = Mifare_One(S50) // 0x0200 = Mifare_One(S70) // 0x0800 = Mifare_Pro(X) // 0x4403 = Mifare_DESFire //返 回 : 成功返回 MI_OK ///////////////////////////////////////////////////////////////////// char PcdRequest(unsigned char req_code,unsigned char *pTagType) { char status。 unsigned int unLen。 unsigned char ucComMF522Buf[MAXRLEN]。 ClearBitMask(Status2Reg,0x08)。 WriteRawRC(BitFramingReg,0x07)。 SetBitMask(TxControlReg,0x03)。 ucComMF522Buf[0] = req_code。 status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,1,ucComMF522Buf,amp。unLen)。 if ((status == MI_OK) amp。amp。 (unLen == 0x10)) { *pTagType = ucComMF522Buf[0]。 *(pTagType+1) = ucComMF522Buf[1]。 } else { status = MI_ERR。 } return status。 } ///////////////////////////////////////////////////////////////////// //功 能:防沖撞 //參數(shù)說明 : pSnr[OUT]:卡片序列號, 4 字節(jié) //返 回 : 成功返回 MI_OK ///////////////////////////////////////////////////////////////////// 18 char PcdAnticoll(unsigned char *pSnr) { char status。 unsigned char i,snr_check=0。 unsigned int unLen。 unsigned char ucComMF522Buf[MAXRLEN]。 ClearBitMask(Status2Reg,0x08)。 WriteRawRC(BitFramingReg,0x00)。 ClearBitMask(CollReg,0x80)。 ucComMF522Buf[0] = PICC_ANTICOLL1。 ucComMF522Buf[1] = 0x20。 status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,2,ucComMF522Buf,amp。unLen)。 if (status == MI_OK) { for (i=0。 i4。 i++) { *(pSnr+i) = ucComMF522Buf[i]。 snr_check ^= ucComMF522Buf[i]。 } if (snr_check != ucComMF522Buf[i]) { status = MI_ERR。 } } SetBitMask(CollReg,0x80)。 return status。 } ///////////////////////////////////////////////////////////////////// //功 能:選定卡片 //參數(shù)說明 : pSnr[IN]:卡片序列號, 4 字節(jié) //返 回 : 成功返回 MI_OK ///////////////////////////////////////////////////////////////////// char PcdSelect(unsigned char *pSnr) //卡片類型 { char status。 unsigned char i。 unsigned int unLen。 unsigned char ucComMF522Buf[MAXRLEN]。 ucComMF522Buf[0] = PICC_ANTICOLL1。 19 ucComMF522Buf[1] = 0x70。 ucComMF522Buf[6] = 0。 for (i=0。 i4。 i++) { ucComMF522Buf[i+2] = *(pSnr+i)。 ucComMF522Buf[6] ^= *(pSnr+i)。 } CalulateCRC(ucComMF522Buf,7,amp。ucComMF522Buf[7])。 ClearBitMask(Status2Reg,0x08)。 status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,9,ucComMF522Buf,amp。unLen)。 if ((status == MI_OK) amp。amp。 (unLen == 0x18)) { status = MI_OK。 } else { status = MI_ERR。 } return status。 } ///////////////////////////////////////////////////////////////////// //功 能:驗(yàn)證卡片密碼 //參數(shù)說明 : auth_mode[IN]: 密碼驗(yàn)證模式 // 0x60 = 驗(yàn)證 A 密鑰 // 0x61 = 驗(yàn)證 B 密鑰 // addr[IN]:塊地址 // pKey[IN]:密碼 // pSnr[IN]:卡片序列號, 4 字節(jié) //返 回 : 成功返回 MI_OK ///////////////////////////////////////////////////////////////////// char PcdAuthState(unsigned char auth_mode,unsigned char addr,unsigned char *pKey,unsigned char *pSnr) { char status。 unsigned int unLen。 unsigned char i,ucComMF522Buf[MAXRLEN]。 ucComMF522Buf[0] = auth_mode。 ucComMF522Buf[1] = addr。 for (i=0。 i6。 i++) { ucComMF522Buf[i+2] = *(pKey+i)。 } for (i=0。 i6。 i++) { ucComMF522Buf[i+8] = *(pSnr+i)。 } // memcpy(amp。ucComMF522Buf[2], pKey, 6)。 // memcpy(amp。ucComMF522Buf[8], pSnr, 4)。 20 status = PcdComMF522(PCD_AUTHENT,ucComMF522Buf,12,ucComMF522Buf,amp。unLen)。 if ((status != MI_OK) || (!(ReadRawRC(Status2Reg) amp。 0x08))) { status = MI_ERR。 } return status。 } ///////////////////////////////////////////////////////////////////// //功 能:讀取 M1 卡一塊數(shù)據(jù) //參數(shù)說明 : addr[IN]:塊地址 // pData[OUT]:讀出的數(shù)據(jù), 16 字節(jié) //返 回 : 成功返回 MI_OK ///////////////////////////////////////////////////////////////////// char PcdRead(unsigned char addr,unsigned char *pData) { char status。 unsigned int unLen。 unsigned char i,ucComMF522Buf[MAXRLEN]。 ucComMF522Buf[0] = PICC_READ。 ucComMF522Buf[1] = addr。 CalulateCRC(ucComMF522Buf,2,amp。ucComMF522Buf[2])。 status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,4,ucComMF522Buf,amp。unLen)。 if ((status == MI_OK) amp。amp。 (unLen == 0x90)) { for (i=0。 i16。 i++) { *(pData+i) = ucComMF522Buf[i]。 } } else { status = MI_ERR。 } return status。 } /////////////////////////
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1