The IS23SC1604 is a low-cost, low-power, high-security 16K-bit serial EEPROM with security features produced using ISSI's advanced CMOS technology.
The security features of the IS23SC1604 provide a high level of memory security for smart card applications. The memory is divided into four unequal application areas, each of which has multiple password protections to effectively protect the read/write/erase operations of the area.
The storage area distribution of the IS23SC1604 is shown in Table 1.
Table 1 memory distribution table
In addition, there is a read/write enable flag in each zone. The bit addresses (decimal) of the write enable flag bits of the first, second, third, and fourth zones are: 216, 9816, 11904, and 13992; and the bit addresses of the read enable flag bits of the one, two, three, and four zones (decimal) ) are: 217, 9817, 11905, 13993. Whether to allow reading and writing to the chip memory area, in addition to the corresponding password, is also related to the corresponding read and write flags.
The following is the assembly language reading and writing program of IS23SC1604, which is only for reference by relevant technical personnel.
; 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 reset response
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
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 data
; * * * * * * * * * * * * * * * * * * * * * * * * * * * *
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
; * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; Erase data (write bytes to "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
; * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; write byte (write the corresponding bit to "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
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; check password
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
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
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Fused fuse
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
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
Tipping machines,
Our Tipping machines is used to tip the Tipping Film on both end of shoelace, or bag handle rope lace. there is fully Automatic Tipping Machine. We have max 1.5meter, 2meter, 2.5meter according to customer demand. We also have semi auto Tipping Machine, which have no length limited, but need one operator to work.
The advantages of the tipping machines,
1, the processing temperature can be adjusted automatically, normally in 50°to 60°.When reaching the set temp, it will be fixed automatically.
2, the main motor has the overload protection function.
3, the machine is equipped with special safety device and the base of the mold is made of high quality casting, so, the mold can be used for a longer life.
4, strong structure and safe operation and good materials and good brand electrical parts, technically and mechanically, the whole machine can be used for at least 20 to 30 years without any problems.
5, the machine has the function of programming protection, under which function the machine parts will not be easily broken because of reverse or wrong power connection. When power cable is wrongly connected, the machine will not run.
6, the machine will stop working automatically when there is no tipping film feeding, under which function the machine idle running will be avoided.
Tipping Machine
Tipping Machine,Tipping Film,Automatic Tipping Machine,Transparent Tipping Film, semi auto tippin machine
DongGuan FeiYang Packaging Machinery Equipment Co., Ltd , http://www.feiyang-machinery.com