新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 單片機控制AT88SC1604卡的應用實例

        單片機控制AT88SC1604卡的應用實例

        作者: 時間:2011-10-08 來源:網(wǎng)絡 收藏
        (2)讀出操作: 在進行讀出操作時,必須保證使RST腳和PGM腳同時保持為低。如果對芯片各密碼區(qū)進行讀出操作,只能是在FUSE2未熔斷且SV標志“1”時才能進行。

        本文引用地址:http://www.104case.com/article/172457.htm

          如果對芯片各標識數(shù)據(jù)區(qū)進行讀出操作,除FZ和IZ區(qū)外,需要使SV標志置“1”后才能執(zhí)行。

          如果對芯片各數(shù)據(jù)區(qū)進行讀出操作,需要在SV=1且Rn=1(n=1,2,3,4)狀態(tài)下才能執(zhí)行。

          注:在CLK的下降沿時,地址計數(shù)器加1,地址計數(shù)器當前所指的地址單元的數(shù)據(jù)被輸出到I/O線上。因此,在整個時鐘周期Tdk期間,包含了地址加1(INC)和讀出(REA)兩項操作。

          讀IC數(shù)據(jù)子程序(R2:需讀IC卡字節(jié)數(shù),R0:數(shù)據(jù)區(qū)存放低位首地址)

          RICDAZ: MOV A,#KXXDZ ;卡信息地址送A

          LCALL SADR ;尋卡地址

          RICDA: MOV R3,#08

          RICDA1: SETB ICSDA

          NOP

          MOV C,ICSDA ;位讀到A

          RLC A

          SETB ICCLK

          NOP

          CLR ICCLK

          NOP

          DJNZ R3,RICDA1

          MOV @R0,A ;8位數(shù)據(jù)送數(shù)據(jù)區(qū)

          DEC R0

          DJNZ R2,RICDA

          RET

          ; 尋IC卡位地址子程序(調(diào)用前16進制地址送ACC)

          SADR: LCALL FWZCX

          MOV B,#08

          MUL AB ;計算位地址: 16進制地址*8

          MOV R4,A ;低位位地址送R4

          MOV R5,B ;高位位地址送R5

          JNZ SADR1 ;低位地址不為0轉(zhuǎn)

          MOV A,R5

          JZ SADR3

          DEC R5

          SADR1: SETB ICREST ;復位端置1

          SETB ICSDA

          CLR ICPGM

          CLR ICCLK

          CLR ICREST

          SADR2: SETB ICCLK

          SETB ICCLK

          CLR ICCLK

          CLR ICCLK

          DJNZ R4,SADR2

          MOV A,R5

          JZ SADR3

          DEC R5

          SJMP SADR2

          SADR3: RET

          ;

          (3)比較操作:在進行比較操作時,必須保證使RST腳和PGM腳同時保持為低。比較操作只能對芯片密碼區(qū)執(zhí)行,且由芯片內(nèi)部來判斷。在FUSE2未熔斷時,只能在SV=0時,對SC區(qū)進行比較操作,對其它區(qū)的比較操作均為無效操作。SV=1時,芯片不做任何比較操作。在FUSE2熔斷后,只能在SV=0時,對SC區(qū)進行比較操作,對其它區(qū)的比較操作均為無效操作。

          注:上述芯片密碼比較時序圖中是假設(shè)密碼計數(shù)器中前兩位為0,第三位尋到1的處理時序。

          有關(guān)芯片SC的時序關(guān)系如圖2~5圖所示:

          從操作(B)到(F),地址計數(shù)器不變,密碼比較的過程是:

          (A)比較安全密碼/擦除密碼序列

          (B)在密碼輸入比較計數(shù)器中找出一位為“1”的位

          (C)在這個為“1”的單元寫“0”

          (D)芯片輸出“0”

          (E)如果比較成功,在PGM的上升沿安全密碼/擦除密碼的相應標志

          (SV,Sn或En)被置“1”,同時安全密碼/擦除密碼輸入比較計數(shù)器

          (SCAC,SnAC或EnAC)被擦除。

          (F)如果擦除成功,相應安全密碼/擦除密碼標志被置“1”,芯片將輸出“1”,否則芯片輸出“0”。

          (G)在CLK的下降沿,地址計數(shù)器加1,并輸出下一位的狀態(tài)。

          比較用戶密碼子程序(地址0AH,0BH)

          CPSC: MOV R0,#CMM+2

          MOV R1,#06

          MOV R2,#02

          LCALL MVITI

          MOV A,#0AH

          LCALL SADR ;尋址

          MOV R0,#06

          LCALL BJMMRET

          ; 比較密碼程序

          BJMM: CLR ICREST

          CLR ICPGM

          MOV R2,#02

          BJMM1: MOV A,@R0

          MOV R3,#08

          BJMM2: RLC A

          MOV ICSDA,C

          NOP

          SETB ICCLK

          NOP

          CLR ICCLK

          NOP

          DJNZ R3,BJMM2

          INC R0

          DJNZ R2,BJMM1

          MOV R2,#08;查8位

          BJMM4: SETB ICSDA

          NOP

          MOV C,ICSDA

          JC BJMM5 ;是1轉(zhuǎn)

          SETB ICCLK ;指向下一位

          NOP

          CLR ICCLK

          NOP

          DJNZ R2,BJMM4

          LJMP BJMM8 ;計數(shù)器為00,卡鎖死轉(zhuǎn)

          BJMM5: SETB ICPGM

          NOP

          CLR ICSDA ;寫0

          NOP

          SETB ICCLK

          NOP

          CLR ICPGM

          NOP

          LCALL DELY5

          CLR ICCLK

          NOP

          SETB ICSDA

          NOP

          MOV C,ICSDA

          JNC BJMM6

          LJMP BJMM7 ;未寫入0,轉(zhuǎn)出錯

          BJMM6: SETB ICPGM

          NOP

          SETB ICSDA ;寫1(擦除)

          NOP

          SETB ICCLK

          NOP

          CLR ICPGM

          NOP

          LCALL DELY5

          CLR ICCLK

          NOP

          SETB ICSDA

          NOP

          MOV C,ICSDA

          NOP

          SETB ICCLK

          JNC BJMM7 ;擦除不成功(密碼錯)轉(zhuǎn)

          SETB FGICG1 ;置已校對密碼標志

          RET

          BJMM7: CLR FGICG1 ;建密碼錯標記

          RET

          BJMM8: SETB FGICG2 ;置卡鎖死標志

          RET

        液位計相關(guān)文章:磁翻板液位計原理




        關(guān)鍵詞: 實例 應用 AT88SC1604 控制 單片機

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 广汉市| 漳平市| 宁夏| 麦盖提县| 女性| 普安县| 太谷县| 江门市| 中西区| 筠连县| 昆明市| 渝北区| 得荣县| 垦利县| 湖州市| 广东省| 榕江县| 临颍县| 崇州市| 平阳县| 巴彦县| 台南市| 昂仁县| 乐安县| 讷河市| 蒙自县| 稻城县| 东丽区| 故城县| 株洲县| 徐州市| 格尔木市| 郁南县| 大厂| 淮滨县| 莫力| 三江| 宜兰县| 酒泉市| 逊克县| 淮北市|