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

📄 car400.hpl

📁 schematic interface orange for eeprom programming
💻 HPL
字号:
; Orange programmer module v2.0
; (c) 1999 Alex Plusov
; (c) June  03. 2000  V. G.
; CHIP=24C04 (512x8), 24C08 (1024x8), 24C16 (2048x8)
;   (c)   2001 rewrite for CAR400
;   Igor Kovalenko

SOCKET=1

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

CDELAY=4                              ; one cycle time

R0=Code,D

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

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

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

[READ]
_START
R0=0xA
LOOP=(3,0) {SDA=R0[I],SCL=1,SCL=0}   ; out 4 bits DeviceAdr
LOOP=(10,8){SDA=ADR[I],SCL=1,SCL=0}   ; out 3 bits Hi(Adr)
SDA=0,SCL=1,SCL=0                     ; out 1 bit, 0=Write Mode
SDA=1,SCL=1,SDA?0,SCL=0               ; ACKN check
                                      ; end  out  DeviceAdr, Hi(Adr), Mode

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

_START
R0=0xA
LOOP=(3,0) {SDA=R0[I],SCL=1,SCL=0}    ; out 4 bits DeviceAdr
LOOP=(10,8) {SDA=ADR[I],SCL=1,SCL=0}  ; out 3 bits Hi(Adr)
SDA=1,SCL=1,SCL=0                     ; out 1 bit, 1=Read Mode
SDA=1,SCL=1,SDA?0,SCL=0               ; ACKN  check
                                      ; end  out  DeviceSelect

LOOP=(7,0) {SCL=1,DATA[I]=SDA,SCL=0}  ; read byte Data
SDA=1,SCL=1,SCL=0                     ; out  master  NO_ACKN

_STOP

[WRITE]
_START
R0=0xA
LOOP=(3,0) {SDA=R0[I],SCL=1,SCL=0}    ; out 4 bits DeviceAdr
LOOP=(10,8) {SDA=ADR[I],SCL=1,SCL=0}  ; out 3 bits Hi(Adr)
SDA=0,SCL=1,SCL=0                     ; out 1 bit, 0=Write Mode
SDA=1,SCL=1,SDA?0,SCL=0               ; ACKN check
                                      ; end  out DeviceAdr, Hi(Adr), Mode

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

LOOP=(7,0) {SDA=DATA[I],SCL=1,SCL=0}  ; out byte Data
SDA=1,SCL=1,SDA?0,SCL=0               ; ACKN  check
                                      ; end out Data

_STOP

P=10000                               ; delay: (Write Time)


[CalcCode]
R9=0,R0=0,R1=0
ADR=07CH,R0=DATA,R0=^7EH,R0=<<8
ADR=07DH,R1=DATA,R1=^9CH,R0=|R1
PRINT=("CODE: %04lx,counter #8E #8F, normal 01 0A, if 00 0A - code off",R0)

⌨️ 快捷键说明

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