📄 ken759.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 + -