sda2526.hpl

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

HPL
100
字号
; Orange programmer module v3.1
; (c) 1999-2001 Alex Plusov
; CHIP=SDA2516 (128x8),SDA2526 (256x8) Siemens I2C

; Use external power!
; Real GND - First Pin - For Orange-2 set pin1 to GND!!!

; TESTED - OK!

SOCKET=1

PINO=SCL,0
PINO=SDA,1
PINO=TP, 2
PINO=CS0,3
PINO=CS1,4
PINO=CS2,5
PINI=SDA,1

CDELAY = 5 ; one set delay


[_START]
SDA=1,SCL=1,SDA=0,SCL=0               ; Start  10

[_STOP]
SDA=0,SCL=1,SDA=1,SCL=0               ; Stop   01


[INIT]
CS0=0,CS1=0,CS2=0,TP=0,P=20

R0=0xA0   ; write I2C address const
R1=0xA1   ; read I2C address const


[READ]
_START

LOOP=(7,0) {SDA=R0[I],SCL=1,SCL=0}  ; out 8 bits 0xA0
SDA=0,SDA=1,SCL=1,SDA?0             ; ack check
SCL=0,SDA=0

LOOP=(7,0) {SDA=ADR[I],SCL=1,SCL=0}    ; out 8 bits
SDA=0,SDA=1,SCL=1,SDA?0              ; ack check
SCL=0,SDA=0

_START

LOOP=(7,0){SDA=R1[I],SCL=1,SCL=0}    ; out 8 bits 0xA1
SDA=0,SDA=1,SCL=1,SDA?0              ; ack check
SCL=0

SDA=1                               ;SDA Hi-Z
LOOP=(7,0){SCL=1,DATA[I]=SDA,SCL=0} ;read byte
SDA=1,SCL=1,SCL=0,SDA=0             ;master not asked

_STOP


[WRITEINIT]
_START

LOOP=(7,0) {SDA=R0[I],SCL=1,SCL=0}  ; out 8 bits 0xA0
SDA=0,SDA=1,SCL=1,SDA?0             ; ack check
SCL=0,SDA=0

LOOP=(7,0) {SDA=0,SCL=1,SCL=0}      ; out 8 bits (ADR=0)
SDA=0,SDA=1,SCL=1,SDA?0             ; ack check
SCL=0,SDA=0

_START

LOOP=(7,0){SDA=R1[I],SCL=1,SCL=0}    ; out 8 bits 0xA1
SDA=0,SDA=1,SCL=1,SDA?0              ; ack check
SCL=0

SDA=1                                ;SDA Hi-Z
LOOP=(7,0){SCL=1,P=10,SCL=0}         ;read byte emulation
SDA=1,SCL=1,SCL=0,SDA=0              ;master not asked

_STOP
P=20

[WRITE]
_START
LOOP=(7,0) {SDA=R0[I],SCL=1,SCL=0}  ; out 8 bits 0xA0
SDA=0,SDA=1,SCL=1,SDA?0             ; ack check
SCL=0,SDA=0

LOOP=(7,0){SDA=ADR[I],SCL=1,SCL=0}  ; out 8 bits address
SDA=0,SDA=1,SCL=1,SDA?0             ; ack check
SCL=0,SDA=0

LOOP=(7,0){SDA=DATA[I],SCL=1,SCL=0} ; out 8 bits data
SDA=0,SDA=1,SCL=1,SDA?0             ; 0 - ack check?
SCL=0,SDA=0
SCL=0,SCL=1,SDA=1                   ;stop
P=25000

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?