25c040.hpl

来自「schematic interface orange for eeprom pr」· HPL 代码 · 共 100 行

HPL
100
字号
; 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 + =
减小字号Ctrl + -
显示快捷键?