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

📄 24c02.a51

📁 我实验板带的实验程序
💻 A51
字号:

;***************************************************************************
;* Date : 2003.10.22 *
;* Support telephone: (51c51 test web) *
;* Create by :石学军, www.51c51.com 更多例程请登陆网站 *
;***************************************************************************

    public _RD24, _WT24

    SDA24 EQU P2.7
    SCLK24 EQU P3.6

    RW24C02AsmSeg segment code
    rseg RW24C02AsmSeg


_RD24:
CLR P3.7 ;打开写保护
mov a, r7
PUSH ACC ;读24C02子程序。 
SETB SDA24 
CLR SCLK24 
CALL START24 
MOV A,#0A0H 
CALL SHIFT8 
CALL ACK 
POP ACC 
CALL SHIFT8 
CALL ACK 
CALL START24 
MOV A,#0A1H 
CALL SHIFT8 
CALL ACK 
SETB SDA24 
MOV R7,#8 
CLR A 
SETB SDA24 
RD000: RL A 
SETB SCLK24 
MOV C,SDA24 
MOV ACC.0,C 
CLR SCLK24 
DJNZ R7,RD000 
mov r7, a
RET 

;-------------------------------
;写入24C02程序: 
_WT24:
CLR P3.7 ;打开写保护
mov a, r7
mov b, r5
PUSH ACC 
SETB SDA24 
CLR SCLK24 
CALL START24 
MOV A,#0A0H 
CALL SHIFT8 
CALL ACK 
POP ACC 
CALL SHIFT8 
CALL ACK 
MOV A,B 
CALL SHIFT8 
CALL ACK 
CALL STOP 
CALL Delay5MS  ;!!!
RET

; -------------------------------
;开始条件
START24:CLR SDA24 
SETB SDA24
SETB SCLK24
CLR SDA24 
CLR SCLK24
RET

;停止条件
STOP: CLR SDA24 
SETB SCLK24
SETB SDA24
RET

;应答信号
ACK: SETB SCLK24 
CLR SCLK24
RET

;读、写数据
SHIFT8: MOV R7,#8 
SH01: RLC A
MOV SDA24,C
SETB SCLK24
CLR SCLK24
DJNZ R7,SH01
RET

Delay5MS:
    mov r7, #10
loop1:
    mov r6, #250
    djnz r6, $
    djnz r7, loop1
    ret

END

⌨️ 快捷键说明

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