📄 25c040.hpl
字号:
; Orange programmer module v2.1
; (c) 2000 Alex Plusov
; Atmel & MicroChip SPI EEPROM:
; CHIP=25c010,128x8 25c020,256x8 25c040,512x8
;Status Register: 7 6 5 4 3 2 1 0
; (Int. WR Cycle) BP1 BP0 WEN /RDY
; (Only Atmel)
; BP1,BP0 - Block write protect
SOCKET=4
PINO=SCK,0
PINO=SI,1
PINO=CS,2
PINO=WP,3
PINO=HOLD,4
PINI=SO,1
CDELAY=2 ; one set delay
R9=STATUS,B
[READ]
HOLD=1
WP=0
CS=1
SCK=0
CS=0
SI=0,LOOP=(3,0){SCK=1,SCK=0} ;bits 7-4 = 0
SI=ADR[8],SCK=1,SCK=0 ;Hi ADR bits - use only for 25040
CONST=011B ;Read Instr.
LOOP=CONST(2,0){SI=I,SCK=1,SCK=0}
LOOP=ADR(7,0){SI=I,SCK=1,SCK=0}
SI=1
LOOP=DATA(7,0){SCK=1,I=SO,SCK=0}
CS=1
P=10
[WRITEINIT]
HOLD=1
WP=1 ; Must held Hi!
CS=1
SCK=0
CS=0
CONST=00000110b ; WREN - Write enable
LOOP=CONST(7,0){SI=I,SCK=1,SCK=0}
CS=1
P=20
CS=0
CONST=00000001b ;WRSR Instr.
LOOP=CONST(7,0){SI=I,SCK=1,SCK=0}
CONST=00000000b ;Status Register Clear BP bits
LOOP=CONST(7,0){SI=I,SCK=1,SCK=0}
CS=1
P=5000
[WRITE]
HOLD=1
WP=1
SCK=0
CS=0
CONST=00000110b ; Write enable
LOOP=CONST(7,0){SI=I,SCK=1,SCK=0}
CS=1
P=20
CS=0
SI=0,LOOP=(3,0){SCK=1,SCK=0} ;bits 7-4 = 0
SI=ADR[8],SCK=1,SCK=0 ;Hi ADR bit - use only for 25040
CONST=010B ;Write Instr.
LOOP=CONST(2,0){SI=I,SCK=1,SCK=0}
LOOP=ADR(7,0){SI=I,SCK=1,SCK=0}
LOOP=DATA(7,0){SI=I,SCK=1,SCK=0}
CS=1
P=5000
[ReadStatus]
HOLD=1
WP=1
SCK=0
CS=1
CS=0
CONST=00000101b ; RDSR
LOOP=CONST(7,0){SI=I,SCK=1,SCK=0}
SI=1
LOOP=(7,0){SCK=1,R9[I]=SO,SCK=0}
CS=1
P=10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -