新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機IC卡讀寫器設(shè)計

        單片機IC卡讀寫器設(shè)計

        作者: 時間:2013-02-21 來源:網(wǎng)絡(luò) 收藏

        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)信號,而傳送設(shè)備必須用停止?fàn)顟B(tài)來終止寫操作。這時,EEPROM將進入一個內(nèi)時固定存貯器的寫入周期并且禁止在此其間的所有輸入,直到寫操作完成后才對通訊應(yīng)答。其寫入周期可自定義,最大為10ms。

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

        以下程序中的參數(shù)為P0= =源指針,R6= =目的地址,R7= =頁面長度。

        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可利用上述程序進行8字節(jié)的頁面寫入,它的操作類似于寫字節(jié)。不同的是,它無需在第一個字節(jié)送出后才以停止?fàn)顟B(tài),不同在收到確認(rèn)信號后,再傳送7個字節(jié)的數(shù)據(jù)碼,最后以停止?fàn)顟B(tài)來終止頁面寫序列。AT24C04/08/16的頁面為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ù)字地址指針將保持在上次讀寫操作訪問的最后一個地址,并按1遞增且在芯片上電期間一直有效。只有當(dāng)?shù)刂窞轫撁娴淖钅r,下次訪問才滾動到該頁面的首地址。

        3.9 隨機地址讀模式(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

        讀操作模式需要一個字節(jié)寫序列載入數(shù)據(jù)地址。在器件和數(shù)據(jù)地址寫入并得到確認(rèn)后,將再產(chǎn)生另一個開始條件,并送出讀操作器件的地址,同時激發(fā)一個立即地址讀取。

        3.10 順序地址讀取(READ_BYTES)

        在下列程序中:R0= =目的指針;R7= =數(shù)據(jù)長度,程序如下:

        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 ;讀寫指定長度后停止

        RET

        READ_BYTES1:LCALL ACK_IC ;收到數(shù)據(jù)后發(fā)確認(rèn)信號SJMP READ_BYTES2

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

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

        上拉電阻相關(guān)文章:上拉電阻原理

        上一頁 1 2 3 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 龙泉市| 卓资县| 凤凰县| 祁门县| 新干县| 洛隆县| 阿拉善左旗| 民权县| 耒阳市| 玉林市| 泰安市| 永福县| 汉寿县| 高台县| 凉山| 凤翔县| 关岭| 孝昌县| 舞阳县| 洛阳市| 苏尼特右旗| 车致| 桑植县| 铁岭县| 兴海县| 安陆市| 屏东市| 北海市| 江都市| 临武县| 潼关县| 大洼县| 亳州市| 城口县| 高雄县| 青铜峡市| 鸡泽县| 怀安县| 精河县| 襄汾县| 遵化市|