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

📄 24c02.asm

📁 单片机控制24C02芯片
💻 ASM
字号:
;********************************************************************************
;*  标题:北京启东微芯LJD-SY-5100单片机实验系统24c02读写程序                   *
;*  文件:TLC549.asm                                                             *
;*  日期:  2005-6-1                                                             *
;*  版本:  1.0                                                                  *
;*  作者 :启东微芯                                                                 
;*  网站: http://www.LJD-2008.COM                                              *
;********************************************************************************
;*  描述:                                                                       *
;*         单步运行观看存储单元数据 变 化         读和写                                                                     *
;*         发送 和接受字节子程序要连续执行                                      *
;********************************************************************************
;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息!                  *
;********************************************************************************
SDA BIT P1.0
SCL BIT P1.1
R_DATA    EQU 30H           ;读数据存储缓冲区
          ORG 0000H
	  MOV P1,#60H
WR_EEROM: MOV  R6,#06      ;存储计数器 
	  LCALL START
          MOV A,#0A0H      ;器件地址写
          LCALL WBYTE       
  
W_LOOP:   MOV  A,#00H      ;存储单元地址
          LCALL WBYTE    
          MOV DPTR,#TAB    ;要写数据地?W_LOOP1:  MOV A,#00H
          
          MOVC A,@A+DPTR
          LCALL WBYTE
          INC DPTR 
	  
          DJNZ R6,W_LOOP1
          LCALL STOP
	  JMP RD_EEROM
          SJMP $

;---------------------------
WBYTE: NOP
       MOV R3,#08H
WBY0:  CLR SCL
       RLC A
       MOV SDA,C
       SETB SCL
       DJNZ R3,WBY0
       CLR  SCL
       NOP
       SETB SCL
       NOP
       JB SDA,$
       CLR SCL
       NOP
       RET
;------------------------------------
;启动信号
;************************************
START:  CLR SCL
        NOP
        SETB SDA
        NOP 
        SETB SCL
        NOP
        CLR SDA
        NOP
        CLR SCL
        RET
;---------------------------------------
;停止信号
;******************************************
STOP:    CLR SCL
         NOP
         CLR SDA
         NOP
         SETB SCL
         NOP
         SETB SDA
         NOP 
         CLR SCL
         RET
;*****************************************************************************
;随机读
;*****************************************************************************

RD_EEROM: MOV  R6,#06      ;存储计数器 
          MOV  R0, #30H      
	  LCALL START
          MOV A,#0A0H    ;器件地址写
          LCALL WBYTE       
          MOV  A,#00H      ;存储单元地址
          LCALL WBYTE
	  NOP
	  NOP
	  NOP
	  LCALL START
	  NOP
          MOV A,#0A1H      ;器件地址读
          LCALL WBYTE       
R_LOOP:   nop
          NOP
	  NOP
          NOP
R_LOOP1:  LCALL READ    
          MOV R0,#30H
          MOV @R0,A
          LCALL STOP
          SJMP $
READ:     NOP 
          MOV R3,#08H
	  NOP
H1:       CLR SCL
          NOP 
          SETB SCL
          NOP
          MOV C,SDA          
          RLC A 
          CLR SCL 
          DJNZ R3,H1
          CLR SCL
          NOP
          SETB SDA
	  NOP
	  SETB SCL
          RET
TAB:DB 10H,11H,22H,33H,44H,55H,66H,77H
          END

⌨️ 快捷键说明

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