<strike id="tpvd9"><dfn id="tpvd9"></dfn></strike>

        <em id="tpvd9"></em>

          <address id="tpvd9"></address>
            <dfn id="tpvd9"><sub id="tpvd9"></sub></dfn>

            <thead id="tpvd9"><noframes id="tpvd9">
            <ruby id="tpvd9"></ruby>

                  <thead id="tpvd9"></thead>
                  歡迎您訪(fǎng)問(wèn)鄭州興邦電子股份有限公司官方網(wǎng)站!
                  阿里巴巴誠信通企業(yè)
                  全國咨詢(xún)熱線(xiàn):40000-63966
                  興邦電子,中國水控機第一品牌

                  聯(lián)系興邦電子

                  全國咨詢(xún)熱線(xiàn):40000-63966

                  售后:0371-55132951/55132952

                  工廠(chǎng):河南省 鄭州市 高新區蓮花街電子電器產(chǎn)業(yè)園

                  IS23SC1604芯片介紹

                  文章出處:http://psychicreadingswithdeb.com 作者:辛鐵鋒&nbsp;&nbsp; 人氣: 發(fā)表時(shí)間:2011年09月04日

                  [文章內容簡(jiǎn)介]:IS23SC1604芯片介紹

                     關(guān)鍵字: ISSI公司  IS23SC1604芯片  

                    IS23SC1604是采用ISSI公司先進(jìn)的CMOS技術(shù)生產(chǎn)的低成本、低功耗、安全性高的帶有保密功能的16K位串行EEPROM。
                    IS23SC1604的安全特性為智能卡應用提供了較高級別的存儲器安全保護。存儲器分為四個(gè)不等分應用區,每個(gè)應用區有多個(gè)密碼保護,能夠有效保護對該區的讀/寫(xiě)/擦除操作。
                    IS23SC1604的存儲區分布如表1所示。

                    表1存儲器分布表




                    另外,在每一區都有一個(gè)讀寫(xiě)允許標志位。其中一、二、三、四區的寫(xiě)允許標志位的位地址(十進(jìn)制)分別是:216、9816、11904、13992;而一、二、三、四區的讀允許標志位的位地址(十進(jìn)制)分別為:217、9817、11905、13993。是否允許對芯片存儲區讀寫(xiě),除了和相應的密碼有關(guān)之外,還與相應的讀寫(xiě)標志有關(guān)。
                    以下為IS23SC1604的匯編語(yǔ)言讀寫(xiě)程序,僅供有關(guān)技術(shù)人員參考。
                    ; R1=DATA TO CHIP

                    ; R0=DATA FROM CHIP

                    ; R2=8 BIT COUNTER

                    ; R7=TIME DELAY COUNTER

                    ; R3=BYTE NUMBER

                    ; 40H=ATR INPUT ADDRESS

                    ; 50H=READ DATA OUT

                    ; 79H=WRITE/ERASE OK/NOT OK ID

                    ; 71H=READ DATA ADDRESS HIGH 8 BIT

                    ; 72H=READ DATA ADDRESS LOW 8 BIT

                    ; 73H=DATA BYTE

                    ; 76H=BYTE NUMBER

                    ; 77H=FIRST PSC BYTE

                    ; 78H=SECOND PSC BYTE

                  ORG 00H

                  START:

                     PIN_CLK EQU P1.0

                     PIN_IO EQU P1.1

                     PIN_RST EQU P1.4

                     PIN_FUS EQU P1.3

                     PIN_PGM EQU P1.2

                  ; * * * * * * * * * * * * * * * * * * * * * * * * * * * *

                  ; 讀 復 位 應 答

                  ; * * * * * * * * * * * * * * * * * * * * * * * * * * * *

                  READ_ATR:

                       MOV R0,# 40H

                       MOV R3,# 40H

                       SETB PIN_RST

                       SETB PIN_CLK

                       SETB PIN_PGM

                       SETB PIN_IO

                       LCALL DELAY_10US

                       CLR PIN_PGM

                       CLR PIN_CLK

                       LCALL DELAY_5US

                       CLR PIN_RST

                  LOOP_1_BYTE:

                       LCALL READ_8_BIT

                       MOV @R0,A

                       INC R0

                       DJNZ R3,LOOP_1_BYTE

                       RET

                  ADDRESS:

                       MOV P1,# 0FFH

                       SETB PIN_RST

                       SETB PIN_CLK

                       SETB PIN_PGM

                       SETB PIN_IO

                       LCALL DELAY_10US

                       CLR PIN_PGM

                       CLR PIN_CLK

                       LCALL DELAY_5US

                       CLR PIN_RST

                       LCALL DELAY_3US

                       LCALL MUL_8

                       MOV A,71H

                       MOV B,72H

                       ORL A,B

                       JZ ZERO_BACK

                       MOV A,71H

                       JZ HIGH_ZERO

                       MOV A,72H

                       JZ LOW_ZERO

                       LCALL HIGH_Z

                       LCALL LOW_Z

                       JMP ZERO_BACK

                  HIGH_ZERO:

                       LCALL HIGH_Z

                       JMP ZERO_BACK

                  LOW_ZERO:

                       LCALL LOW_Z

                  ZERO_BACK:

                       RET


                  HIGH_Z:

                      MOV R0,72H

                      CLK_LOOPH:

                      SETB PIN_CLK

                      LCALL DELAY_3US

                      CLR PIN_CLK

                      LCALL DELAY_3US

                      DJNZ R0,CLK_LOOPH

                      RET


                  LOW_Z:

                     MOV R0,# 0H

                     MOV R1,71H

                  CLK_LOOPL:

                     SETB PIN_CLK

                     LCALL DELAY_3US

                     CLR PIN_CLK

                     LCALL DELAY_3US

                     DJNZ R0,CLK_LOOPL

                     DJNZ R1,CLK_LOOPL

                     RET

                  MUL_8:

                     MOV R2,# 03H

                     CLR C

                  MUL_LOOP:

                     MOV A,72H

                     RLC A

                     MOV 72H,A

                     MOV A,71H

                     RLC A

                     MOV 71H,A

                     DJNZ R2,MUL_LOOP

                     RET

                  ; * * * * * * * * * * * * * * * * * * * * * * * * * * *

                  ; 讀 數 據

                  ; * * * * * * * * * * * * * * * * * * * * * * * * * * *

                  READ_EE:

                      LCALL ADDRESS

                      MOV R0,# 40H

                      MOV R3,76H

                  LOOP_BYTE:

                      LCALL READ_8_BIT

                      MOV @R0,A

                      INC R0

                      DJNZ R3,LOOP_BYTE

                      RET

                  ; * * * * * * * * * * * * * * * * * * * * * * * * * * *

                  ; 擦 除 數 據 ( 將 字 節 寫(xiě) 成 “ FFH” )

                  ; * * * * * * * * * * * * * * * * * * * * * * * * * * *

                  ERASE_BYTE:

                      LCALL ADDRESS

                      MOV R3,76H

                  ERASE_LOOP:

                      SETB PIN_IO
                      SETB PIN_PGM
                      LCALL DELAY_3US
                      SETB PIN_CLK
                      LCALL DELAY_3US
                      CLR PIN_PGM
                      LCALL DELAY_5MS
                      CLR PIN_CLK
                      LCALL DELAY_3US
                      SETB PIN_CLK
                      LCALL DELAY_3US

                      MOV C,PIN_IO

                      JNC LOOP_ERASEWRONG ; ERASE CHECK ERROR

                      CLR PIN_CLK

                      DEC R3
                      CJNE R3,# 0H,ERASE_NEXT

                      JMP ERASE_END

                  ERASE_NEXT:

                      LCALL READ_8_BIT

                      JMP ERASE_LOOP

                  LOOP_ERASEWRONG:

                      MOV 79H,# 00H ; SET THE ID TO ZERO

                  ERASE_END:

                      RET

                  ; * * * * * * * * * * * * * * * * * * * * * * * * * * *

                  ; 寫(xiě) 字 節 ( 將 相 應 的 位 寫(xiě) 成 “ 0” )

                  ; * * * * * * * * * * * * * * * * * * * * * * * * * * *

                  WRITE_BYTE:

                      LCALL ADDRESS

                      MOV R3,76H

                      MOV R0,# 30H

                  WRITE_LOOP:

                      MOV A,@R0

                      LCALL WRITE_1_BYTE

                      INC R0

                      DJNZ R3,WRITE_LOOP

                      RET


                  WRITE_1_BYTE:

                      MOV R2,# 08H

                  WR_BYTE_LOOP:

                      RLC A

                      JC NEXT_BIT

                      CLR PIN_IO

                      SETB PIN_PGM

                      LCALL DELAY_3US

                      SETB PIN_CLK

                      LCALL DELAY_3US

                      CLR PIN_PGM

                      LCALL DELAY_5MS

                      CLR PIN_CLK

                      LCALL DELAY_3US

                      SETB PIN_CLK

                      LCALL DELAY_3US

                      MOV C,PIN_IO

                      JC LOOP_WRITEWRONG ; WRITE CHECK ERROR

                      CLR PIN_CLK

                      LCALL DELAY_3US

                      JMP SKIP_BIT

                  NEXT_BIT:

                      SETB PIN_CLK

                      LCALL DELAY_3US

                      CLR PIN_CLK

                      LCALL DELAY_3US
                  SKIP_BIT:

                      DJNZ R2,WR_BYTE_LOOP

                  LOOP_WRITEWRONG:

                      MOV 79H,# 00H ; SET WRITE ERROR ID TO ZERO

                      RET


                  ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

                  ; 核 對 密 碼

                  ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

                  COMPAR_CODE:

                       LCALL ADDRESS

                       MOV R0,# 77H

                       MOV R3,76H

                       COMPAR_LOOP:

                       MOV A,@R0

                       LCALL COMPARE

                       INC R0

                       DJNZ R3,COMPAR_LOOP

                       SETB PIN_IO

                       RET
                  CODE_VALI:

                       LCALL COMPAR_CODE

                       MOV R2,# 08H

                  FIND_NEXT:

                       LCALL DELAY_3US

                       MOV C,PIN_IO

                       LCALL DELAY_3US

                       JC FOUND_ONE

                       SETB PIN_CLK
                       LCALL DELAY_3US

                       CLR PIN_CLK

                       DJNZ R2,FIND_NEXT

                       JMP NO_ONE

                  FOUND_ONE:

                       CLR PIN_IO

                       SETB PIN_PGM

                       LCALL DELAY_3US

                       SETB PIN_CLK

                       LCALL DELAY_3US

                       CLR PIN_PGM

                       LCALL DELAY_5MS

                       CLR PIN_CLK

                       LCALL DELAY_3US

                       SETB PIN_IO

                       SETB PIN_PGM

                       LCALL DELAY_3US

                       SETB PIN_CLK

                       LCALL DELAY_3US

                       CLR PIN_PGM

                       LCALL DELAY_5MS

                       CLR PIN_CLK

                       LCALL DELAY_3US

                       NO_ONE:

                       NOP

                       RET

                       COMPARE:

                       MOV R2,# 08H

                       LOOP_COMPAR:

                       RLC A

                       MOV PIN_IO,C

                       LCALL DELAY_3US

                       SETB PIN_CLK

                       LCALL DELAY_3US

                       CLR PIN_CLK

                       DJNZ R2,LOOP_COMPAR

                       RET

                      
                  ; * * *?。?* * * * * * * * * * * * * * * * * * * * * * * * * * * * *

                  ; 熔 斷 熔 絲

                  ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

                  FUS_BLOW:

                       MOV 71H,# 07H

                       MOV 72H,# 0F4H

                       LCALL BLOW_BYTE

                       RET
                      
                  BLOW_BYTE:
                      
                       LCALL ADDRESS

                       SETB PIN_CLK

                       LCALL DELAY_3US

                       CLR PIN_CLK

                       LCALL DELAY_3US

                       SETB PIN_RST

                       LCALL DELAY_3US

                       CLR PIN_IO     

                       SETB PIN_PGM

                       LCALL DELAY_3US

                       SETB PIN_CLK

                       LCALL DELAY_3US

                       CLR PIN_PGM

                       LCALL DELAY_5MS

                       CLR PIN_CLK

                       LCALL DELAY_3US

                       SETB PIN_CLK

                       LCALL DELAY_3US

                       CLR PIN_CLK

                       LCALL DELAY_3US

                       CLR PIN_IO

                       SETB PIN_PGM

                       LCALL DELAY_3US

                       SETB PIN_CLK

                       LCALL DELAY_3US

                       CLR PIN_PGM

                       LCALL DELAY_5MS

                       CLR PIN_CLK

                       LCALL DELAY_3US

                       CLR PIN_RST     

                       LCALL DELAY_3US

                       RET

                       READ_8_BIT:

                       MOV R2,# 08H

                       LOOP_8BIT_OUT:

                       SETB PIN_CLK

                       MOV C,PIN_IO

                       RLC A

                       CALL DELAY_3US

                       CLR PIN_CLK

                       LCALL DELAY_3US

                       DJNZ R2,LOOP_8BIT_OUT

                       RET

                      
                  DELAY_10US:

                       MOV R7,# 05H

                  LOOP_10:

                       DJNZ R7,LOOP_10

                       RET

                  DELAY_5US:

                       MOV R7,# 02H

                  LOP_5:

                       DJNZ R7,LOP_5

                       RET

                  DELAY_3US:

                       MOV R7,# 01H

                  LOP_3:

                       DJNZ R7,LOP_3

                       RET

                  DELAY_5MS:

                       MOV R7,# 0FFH

                  LOOP_5MS:

                       DJNZ R7,LOOP_5MS

                       RET

                  本文關(guān)鍵詞:IS23SC1604芯片介紹
                  回到頂部
                  99久热只有精品视频在线17_精品一区二区三区自拍图片_最新国产v亚洲_久久综合九色综合久
                  <strike id="tpvd9"><dfn id="tpvd9"></dfn></strike>

                        <em id="tpvd9"></em>

                          <address id="tpvd9"></address>
                            <dfn id="tpvd9"><sub id="tpvd9"></sub></dfn>

                            <thead id="tpvd9"><noframes id="tpvd9">
                            <ruby id="tpvd9"></ruby>

                                  <thead id="tpvd9"></thead>