<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)實(shí)現(xiàn)通用存貯器IC卡讀寫

          單片機(jī)實(shí)現(xiàn)通用存貯器IC卡讀寫

          作者: 時(shí)間:2012-07-19 來源:網(wǎng)絡(luò) 收藏

          3.6 字節(jié)寫入模式寫數(shù)據(jù)(WRITE_BYTE)

          下列程序中的參數(shù)為:R6= =目的地址,A= =數(shù)據(jù);數(shù)據(jù)如下:
          WRITE_BYTE:PUSH ACC ;保存A中的數(shù)據(jù)
          LCALL START_IC ;發(fā)開始信號(hào)
          MOV A,#DEVICEAD_W;寫入器件地址
          LCAL WR_BYTE
          MOV A,R6 ;寫入字節(jié)地址
          LCALL WR_BYTE
          POP ACC ;恢復(fù)A中數(shù)據(jù)
          LCALL WR_BYTE ;寫入數(shù)據(jù)
          LCALL STOP_IC
          RET

          在收到8位數(shù)據(jù)后,EEPROM將通過SDA來回送確認(rèn)信號(hào),而傳送設(shè)備必須用停止?fàn)顟B(tài)來終止寫操作。這時(shí),EEPROM將進(jìn)入一個(gè)內(nèi)時(shí)固定的寫入周期并且禁止在此其間的所有輸入,直到寫操作完成后才對(duì)通訊應(yīng)答。其寫入周期可自定義,最大為10ms。

          3.7 頁(yè)面寫入模式寫數(shù)據(jù)(WRITE_PAGE)

          以下程序中的參數(shù)為P0= =源指針,R6= =目的地址,R7= =頁(yè)面長(zhǎng)度。
          WRITE_PAGE:LCALL START_IC
          MOV A,#DEVICEAD_W
          LCALL WR_BYTE
          MOV A,R6
          LCALL WR_BYTE
          WRITE_PAGE1:MOV A,@R0
          LCALL WR_BYTE
          INC R0
          DJNZ R7,WRITE_PAGE1
          LCALL STOP_IC
          RET

          AT24C01/02可利用上述程序進(jìn)行8字節(jié)的頁(yè)面寫入,它的操作類似于寫字節(jié)。不同的是,它無需在第一個(gè)字節(jié)送出后才以停止?fàn)顟B(tài),不同在收到確認(rèn)信號(hào)后,再傳送7個(gè)字節(jié)的數(shù)據(jù)碼,最后以停止?fàn)顟B(tài)來終止頁(yè)面寫序列。AT24C04/08/16的頁(yè)面為16字節(jié)。

          3.8 立即地址讀模式(READ_BYTEC)

          立即地址讀模式讀一字節(jié)數(shù)據(jù)的程序如下:READ_BYTEC:LCALL START_IC
          MOV A,#DEVICEAD_R
          LCALL WR_BYTE
          LCALL RD_BYTE ;讀出默認(rèn)地址數(shù)據(jù)
          LCALL STOP_IC ;發(fā)停止?fàn)顟B(tài)應(yīng)答
          RET
          該程序執(zhí)行后,其內(nèi)部數(shù)據(jù)字地址指針將保持在上次讀寫操作訪問的最后一個(gè)地址,并按1遞增且在芯片上電期間一直有效。只有當(dāng)?shù)刂窞轫?yè)面的最末時(shí),下次訪問才滾動(dòng)到該頁(yè)面的首地址。

          3.9 隨機(jī)地址讀模式(READ_BYTER)

          在下列程序中,R6= =源地址,程序如下:
          READ_BYTER:LCALL START_IC
          MOV A,#DEVICEAD_W ;執(zhí)行空字節(jié)寫序列
          LCALL WR_BYTE ;載入數(shù)據(jù)地址
          MOV A,R6
          LCALL WR_BYTE
          LCALL START_IC
          MOV A,#DEVICEAD_R ;立即地址讀取
          LCALL WR_BYTE
          LCALL DR_BYTE
          LCALL STOP_IC
          RET
          讀操作模式需要一個(gè)字節(jié)寫序列載入數(shù)據(jù)地址。在器件和數(shù)據(jù)地址寫入并得到確認(rèn)后,將再產(chǎn)生另一個(gè)開始條件,并送出讀操作器件的地址,同時(shí)激發(fā)一個(gè)立即地址讀取。

          3.10 順序地址讀?。≧EAD_BYTES)

          在下列程序中:R0= =目的指針;R7= =數(shù)據(jù)長(zhǎng)度,程序如下:
          READ+BYTES:LCALL START_IC
          MOV A,#DEVICEAD_R
          LCALL WR_BYTE
          READ_BYTES2:LCALL RD_BYTE
          MOV @R0,A ;存放數(shù)據(jù)到目的地址
          INC R0
          DJNZ R7,READ_BYTES1
          LCALL STOP_IC ;讀寫指定長(zhǎng)度后停止
          RET
          READ_BYTES1:LCALL ACK_IC ;收到數(shù)據(jù)后發(fā)確認(rèn)信號(hào)SJMP READ_BYTES2

          其中順序讀取由立即尋址讀或隨機(jī)地址讀激發(fā),并在收到一字節(jié)數(shù)據(jù)后發(fā)確認(rèn)信號(hào)應(yīng)答。當(dāng)讀數(shù)器件以停止?fàn)顟B(tài)應(yīng)答時(shí),操作被終止。

          4、總結(jié)

          該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,在實(shí)際運(yùn)行時(shí)具有很高的可靠性,同時(shí)具有一定的可擴(kuò)展性,并可通過的串行口經(jīng)電平轉(zhuǎn)換后直接與計(jì)算機(jī)相連,以進(jìn)行數(shù)據(jù)通訊。另外,也可根據(jù)需要連接到其它引腳或卡座觸點(diǎn),如果適當(dāng)改進(jìn)電路和程序,還可讀寫加密卡和CPU卡等。


          上一頁(yè) 1 2 3 下一頁(yè)

          關(guān)鍵詞: 單片機(jī) 存貯器 IC卡讀寫

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();