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

正文內(nèi)容

基于51單片機(jī)的ic卡讀寫系統(tǒng)設(shè)計(jì)-資料下載頁

2025-09-29 03:01本頁面

【導(dǎo)讀】在我們的日常生活中,IC卡無處不在——智能門鎖、考勤機(jī)、交通卡、銀行卡……IC卡應(yīng)用非常廣泛。的編程方法,既鞏固所學(xué)的基礎(chǔ)理論知識,又為學(xué)生日后從事開發(fā)設(shè)計(jì)奠定基礎(chǔ)。IC卡讀寫器終端,并提出了本課題中IC卡讀寫器的設(shè)計(jì)目標(biāo)。行在線處理的磁卡,磁卡因?yàn)榻Y(jié)構(gòu)簡單,價(jià)格低廉,得到迅速推廣。IC卡是近年從歐洲開始出現(xiàn)的,IC. 卡具有突出的3S特點(diǎn),即Standard、Smart、和Security(安全性)。展迅速,在金融、通訊、交通等眾多領(lǐng)域中后來居上,即使那些磁卡已經(jīng)普及應(yīng)用的范圍也將被取而代之。IC卡不僅改變了現(xiàn)有多種卡的使用方法和功能作用,還不斷開創(chuàng)出新的應(yīng)用領(lǐng)域。將IC卡和其他設(shè)備組。到的奇跡,創(chuàng)造出巨大的經(jīng)濟(jì)和社會效益。隨著信息技術(shù)的發(fā)展,IC卡作為一種先進(jìn)的信息存儲介質(zhì),它

  

【正文】 數(shù)據(jù) } } else if (rxbuf==_dec) { read_cm(addr_money,2,rdbuf) 。 //減錢 { money=rdbuf[0]*256+rdbuf[1]。 } 28 money_temp=money。 money=(rxbuf[7]*256+rxbuf[8])。 Write_Buf[0]=money/256。 Write_Buf[1]=money%256。 if(money=0) { for(i=0。 i=1。 i++) { write_cm(addr_money+i, Write_Buf[i])。 //從 addr_money 開始 寫入 2 個(gè)字節(jié) delay_ms(5)。 } BreakOperate()。 //IIC STOP //從 money 地址開始寫入 2 個(gè)字節(jié)的數(shù)據(jù) } else { money=money_temp。 SBUF=FLAG_NO_MONEY。 while(!TI)。 TI=0。 } } EA=1。 } } SLE4442 卡操作函數(shù): include include include /******************************************************************** 函 數(shù) 名 : read_cm() 功 能 : 讀 ic 卡主存 入口參數(shù) : IC 卡地址 (32 255),指向內(nèi)部 RAM 的指針 ,字節(jié)數(shù) 出口參數(shù):指向內(nèi)部 RAM 的指針 *pt ********************************************************************/ void read_cm(unsigned char addr,unsigned char count,unsigned char *pt) { ResetCard()。 SendComm(RMM_COMM,addr,0xff)。 ReadMode(pt,count)。 BreakOperate()。 } /******************************************************************** 函 數(shù) 名 : write_cm() 功 能 : 寫 IC 卡主存 ,一次 1Byte 29 入口參數(shù) : addr: IC 卡地址 (32 255), pt: 指向數(shù)據(jù)區(qū)的指針 i:字節(jié)數(shù) 出口參數(shù):無 返 回 值 : 無 ********************************************************************/ void write_cm(unsigned char addr, unsigned char dat) { ResetCard()。 SendComm(WMM_COMM, addr, dat)。 //寫主存的命令字 ,地址 ,數(shù)據(jù) ProcessMode()。 BreakOperate()。 } /******************************************************************** 函 數(shù) 名 : read_pm() 功 能 : 讀保護(hù)存儲器 入口參數(shù) : 指向直接尋址數(shù)據(jù)區(qū)的指針 出口參數(shù):無 返 回 值 : 無 ********************************************************************/ /*void read_pm(unsigned char *pt) { ResetCard()。 SendComm(RPM_COMM,0xff,0xff)。 //讀保護(hù)存儲器的命令字 ,后兩個(gè)參數(shù)忽略 ReadMode(pt,4)。 //讀出 BreakOperate()。 } */ /******************************************************************** 函 數(shù) 名 : ProtectByte() 功 能 : 保護(hù)一字節(jié) ,注意待保護(hù)的字節(jié)是已經(jīng)寫入過的 ,地址只能在保護(hù)存儲區(qū)內(nèi) 入口參數(shù) : IC 卡地址 ,指向直接尋址數(shù)據(jù)區(qū) 的指針 出口參數(shù):無 返 回 值 : 無 ******************************************************************** void ProtectByte(unsigned char addr,unsigned char *pt) { ResetCard()。 SendComm(WPM_COMM, addr, *pt)。 //寫保護(hù)存儲區(qū)的命令字 ,地址 ,數(shù)據(jù) ProcessMode()。 BreakOperate()。 }*/ /******************************************************************** 函 數(shù) 名 : SendComm() 功 能 : 發(fā)送命令 說 明 : 調(diào) 用 : 全局變量 : 30 入口參數(shù) : a: 命令字 , b: 地址 , c: 數(shù)據(jù) 出口參數(shù):無 返 回 值 : 無 ********************************************************************/ void SendComm(unsigned char a,unsigned char b,unsigned char c) { StartComm()。 //開始發(fā)送命令 WriteByte(a)。 //a: 發(fā)命令字 WriteByte(b)。 //b: 發(fā)地址 WriteByte(c)。 //c: 發(fā)數(shù)據(jù) StopComm()。 //結(jié)束發(fā)送命令 } /******************************************************************** 函 數(shù) 名 : StartComm() 功 能 : 開始命令模式 說 明 : (內(nèi)部函數(shù) ) 調(diào) 用 : 返 回 值 : 無 ********************************************************************/ void StartComm(void) { CARD_CLK = 0。 CARD_DATA = 1。 Delay5us()。 CARD_CLK = 1。 Delay5us()。 CARD_DATA = 0。 Delay5us()。 } /******************************************************************** 函 數(shù) 名 : StopComm() 功 能 : 結(jié)束命令模式 說 明 : (內(nèi)部函數(shù) ) 返 回 值 : 無 *******************************************************************/ void StopComm(void) { CARD_CLK = 0。 CARD_DATA = 0。 Delay5us()。 CARD_CLK = 1。 //CLK: H Delay5us()。 CARD_DATA = 1。 //IO : H Delay10us()。 } /******************************************************************** 31 函 數(shù) 名 : ResetCard() 功 能 : 卡復(fù)位和復(fù)位應(yīng)答 說 明 : (內(nèi)部函數(shù) ) 返 回 值 : 無 ********************************************************************/ void ResetCard(void) { unsigned char temp = 0。 Delay5us()。 CARD_RST = 0。 CARD_CLK = 0。 CARD_DATA = 1。 Delay5us()。 CARD_RST = 1。 Delay5us()。 CARD_CLK = 1。 Delay10us()。 Delay10us()。 Delay10us()。 Delay10us()。 CARD_CLK = 0。 Delay5us()。 CARD_RST = 0。 Delay10us()。 //復(fù)位和復(fù)位應(yīng)答時(shí)序 temp = ReadByte()。 //空讀 32Bit (4Byte) temp = ReadByte()。 temp = ReadByte()。 temp = ReadByte()。 CARD_CLK = 0。 //IC sets I/O to state H Delay5us()。 CARD_DATA = 1。 _nop_()。 CARD_CLK = 0。 Delay5us()。 } /******************************************************************** 函 數(shù) 名 : BreakOperate() 功 能 : SLE/4442 IC 卡操作中止 說 明 : (內(nèi)部函數(shù) ) ********************************************************************/ void BreakOperate(void) { CARD_CLK = 0。 CARD_RST = 0。 CARD_DATA = 0。 32 Delay5us()。 CARD_RST = 1。 CARD_DATA = 1。 Delay5us()。 CARD_RST = 0。 Delay5us()。 } /******************************************************************** 函 數(shù) 名 : ReadByte() 功 能 : 從 SLE4442 讀一個(gè)字節(jié) 說 明 : (內(nèi)部函數(shù) ) 返 回 值 : uchar ********************************************************************/ unsigned char ReadByte(void) { unsigned char i,ch。 ch = 0。 for (i = 8。 i 0。 i) { CARD_CLK = 0。 ch = ch 1。 //從低位讀起 if((unsigned char)CARD_DATA) ch |= 0x80。 Delay5us()。 CARD_CLK = 1。 Delay5us()。
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1