📄 sda2526.hpl
字号:
; 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -