⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grun_24.hpl

📁 schematic interface orange for eeprom programming
💻 HPL
字号:
; Orange programmer module v3.2
; (c) 2000 Alex Plusov, Valery Fomin
; CHIP=Grundig Car Radio with 24C01 (128x8) or  24C02 (256x8) SEEPROM

; For model with code 1999 limit!

SOCKET=1

PINO=SCL,0
PINO=SDA,1
PINO=WP, 2
PINI=SDA,1

CDELAY = 4 ; one set delay

;R8=CRC,H
R9=Code,D


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

[READ]
SDA=1,SCL=1,SDA=0,SCL=0 ;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

SDA=1,SCL=1,SDA=0,SCL=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
LOOP=(7,0){SCL=1,DATA[I]=SDA,SCL=0} ;read byte
SDA=1,SCL=1,SCL=0,SDA=0              ;master not asked

SCL=0,SCL=1,SDA=1                   ;stop


[WRITE]
WP=0
P=10
SDA=1,SCL=1,SDA=0,SCL=0 ;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


[_CALCULATE]
R4=R0,R4=/16 ;>>4
R5=R1,R5=/16 ;>>4
R4=^R5
R4=^0FH
R4=&7               ;C1

R5=R0,R5=/16 ;>>4   ;C2
R6=R0,R6=&0FH
R5=^R6

R6=R1,R6=/16 ;>>4   ;C3
R6=^R5

R9=R6
R5=<<4,R9=|R5
R4=<<8,R9=|R4

PRINT=("Code: %04lu",R9)

[CalcCode] ;from buffer
R9=0
ADR=00H,R0=DATA
ADR=01H,R1=DATA
ADR=02H,R2=DATA
ADR=03H,R3=DATA

R8=R0,R8=^R2
R5=R1,R5=^R3,R5=<<8
R8=|R5

R8?3412H{R8=R0,R0=R1,R1=R8,R8=R2,R2=R3,R3=R8,R8=1234H}  ;Swapped bytes?

R8?1234H{  ;Check CRC
_CALCULATE
EXIT
}

PRINT=("Dump broken!")

⌨️ 快捷键说明

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