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

📄 ee9346_1.asm

📁 93c46的读写程序,主要用于写入与读出eeprom-93c46里的数据
💻 ASM
字号:
;--------------93C46EEPROM读写程序V01--------------
;**************2006\5\18\运行通过******************
DO   EQU  P3.7
DI   EQU  P3.6
SK   EQU  P3.5
CS   EQU  P3.4
;入口参数:B 读写地址  R2  读写数据存放单元
;循环次数  R4
        ORG 00H
        SJMP START

START:  MOV SP,#60H
        MOV R2,#07H
        MOV B,#01H
        LCALL EWRITE
        MOV R2,#08H
        MOV B,#01H
        LCALL EREAD
        SJMP START

;-----------向93C46写数据---------------------
EWRITE:
    ;********先实现擦写使能100 1100000****
        LCALL EINSB      ;1  (93C46)
        LCALL EINSB0     ;0
        MOV A,#60H       ;01100000
        LCALL EWR1       ;向93C46写8位数据
    ;********再实现擦除指令111 XXXXXXX*****
        LCALL EINSB      ;1
        LCALL EINSB1     ;1
RITE2:  MOV A,B          ;擦除单元地址放在B中
        ORL A,#80H
        LCALL EWR1       ;向93C46写8位数据
        NOP
        NOP
        CLR CS
        NOP
        NOP
        SETB CS
EWAIT:  JNB DO,EWAIT
      ;*******再实现向93C46写数据101XXXXXX*********
        LCALL EINSB      ;1
        LCALL EINSB0     ;0
RITE4:  MOV A,B          ;(8 BIT)地址放在B中
        ORL A,#80H
        LCALL EWR1
        MOV A,R2         ;数据放在R2中
        LCALL EWR1       ;
        CLR CS
        NOP
        NOP
        NOP
        SETB CS
EWAIT1: JNB DO,EWAIT1
    ;*******再实现向93C46擦写禁止10000XXXX****
        LCALL EINSB      ;1
        LCALL EINSB0     ;0
        MOV A,#00H
        LCALL EWR1       ;(8 BIT)
        CLR CS
        RET
;-----------向93C46读数据---------------------
EREAD:
    ;********先实现读使能110XXXXXX****
        LCALL EINSB      ;1
        LCALL EINSB1     ;1
EAD2:   MOV A,B          ;8 BIT ADR地址放在B中
        ANL A,#01111111B
        LCALL EWR1
        NOP
        NOP
        NOP
        LCALL ERD1       ;8 BIT DATA
        MOV R2,A         ;结果放在R2中
        CLR CS
        NOP
        RET
;********写1************
EINSB:  CLR CS
        CLR SK
        SETB DI
        NOP
        NOP
        NOP
        SETB CS
        NOP
        NOP
        NOP
        SETB SK
        NOP
        NOP
        NOP
        CLR SK
        RET
;**********向93C46写8位数据****************
EWR1:   MOV R4,#08H
EW10:   RLC A
        MOV DI,C
        NOP
        NOP
        NOP
        SETB SK
        NOP
        NOP
        NOP
        CLR SK
        DJNZ R4,EW10
        RET
ERD1:   MOV R4,#08H
ER10:   NOP
        NOP
        NOP
        SETB SK
        NOP
        NOP
        NOP
        CLR SK
        MOV C,DO
        RLC A
        DJNZ R4,ER10
        RET
;********写1************
EINSB1: NOP
        NOP
        NOP
        SETB DI
        NOP
        NOP
        NOP
        SETB SK
        NOP
        NOP
        NOP
        CLR SK
        RET
;********写0************
EINSB0: NOP
        NOP
        NOP
        CLR DI
        NOP
        NOP
        NOP
        SETB SK
        NOP
        NOP
        NOP
        CLR SK
        NOP
        RET
        END




⌨️ 快捷键说明

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