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

📄 ken759.hpl

📁 schematic interface orange for eeprom programming
💻 HPL
字号:
;For Kenwood with memory 24c01 
;Orange programmer module v2.0
; (c) 2002 EGOROV VITALIY
; CHIP=24C01 (128x8)

SOCKET=1 ;"I2C"

PINO=SCL,0
PINO=SDA,1
PINO=WP, 2
PINO=A0, 3
PINO=A1, 4
PINO=A2, 5
PINI=SDA,1

CDELAY = 4 ; one set delay

[INIT]
A0=0,A1=0,A2=0,WP=0,P=10

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                               ;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

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


[WRITE]
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]
ADR=28H,R2=DATA,R2=&0F0H,R2=/10H
R2?0 {R2=7}
R2?1 {R2=8}
R2?2 {R2=9},
R2?3 {R2=0},
R2?4 {R2=1},
R2?5 {R2=2},
R2?6 {R2=3},
R2?7 {R2=4},
R2?8 {R2=5}
R2?9 {R2=6},
R2?0AH {R2=7},
R2?0BH {R2=8},
R2?0CH {R2=9},
R2?0DH {R2=0},
R2?0EH {R2=1},
R2?0FH {R2=2},
R2=*1000H

ADR=31H,R3=DATA,R3=&0FH
R3?0 {R3=9}
R3?1 {R3=0}
R3?2 {R3=1}
R3?3 {R3=2}
R3?4 {R3=3}
R3?5 {R3=4}
R3?6 {R3=5}
R3?7 {R3=6}
R3?8 {R3=7}
R3?9 {R3=8}
R3?0AH {R3=9}
R3?0BH {R3=0}
R3?0CH {R3=1}
R3?0DH {R3=2}
R3?0EH {R3=4}
R3?0FH {R3=4}
R3=*100H

ADR=37H,R4=DATA,R4=&0F0H,R4=/10H
R4?0 {R4=8}
R4?1 {R4=9}
R4?2 {R4=0}
R4?3 {R4=1}
R4?4 {R4=2}
R4?5 {R4=3}
R4?6 {R4=4}
R4?7 {R4=5}
R4?8 {R4=6}
R4?9 {R4=7}
R4?0AH {R4=8}
R4?0BH {R4=9}
R4?0CH {R4=0}
R4?0DH {R4=1}
R4?0EH {R4=2}
R4?0FH {R4=3}
R4=*10H

ADR=44H,R5=DATA,R5=&0FH
R5?0 {R5=6}
R5?1 {R5=7}
R5?2 {R5=8}
R5?3 {R5=9}
R5?4 {R5=0}
R5?5 {R5=1}
R5?6 {R5=2}
R5?7 {R5=3}
R5?8 {R5=4}
R5?9 {R5=5}
R5?0AH {R5=6}
R5?0BH {R5=7}
R5?0CH {R5=8}
R5?0DH {R5=9}
R5?0EH {R5=0}
R5?0FH {R5=1}

R9=+R2,R9=+R3,R9=+R4,R9=+R5
PRINT=("Code is %04lx, counter is 0056h, must be 00h",R9)


[CalcCode];from buffer
R9=&0H

_CALCULATE

⌨️ 快捷键说明

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