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

📄 新建 文本文档.txt

📁 24C256的C51源程序 //ESDA-数据 //ECLK-时钟 //EWP-写保护 //晶体12MHZ
💻 TXT
字号:
    24C256心片的读写程序

  scl equ p1.6
  sda equ p1.7
   org 0h
   sjmp main
   
   
   
   org 30h
  main:
   
   ;;;;;;;;;;;;;;;;;
   ;写开始位 ;
   ;;;;;;;;;;;;;;;;;
   
   lcall start
   ;;;;;;;;;;;;;;;;;
   ;写设备起始地址 ;
   ;;;;;;;;;;;;;;;;;
   
   mov a,#0a4h
   mov r3,#08h
  a1: rlc a
   mov sda,c
   setb scl
   lcall delay
   clr scl
   lcall delay
   cpl p1.1
   djnz r3,a1
   setb sda
   lcall delay
   ;;;;;;;;;;;;;;;;;
   ;读发送信号 ;
   ;;;;;;;;;;;;;;;;;
   clr sda
   lcall delay
   setb scl
   lcall delay
   clr scl
   lcall delay
   cpl p1.1
   
   ;;;;;;;;;;;;;;;;;
   ;送 A15-A8地址 ;
   ;;;;;;;;;;;;;;;;;
   mov a,#00h
   mov r3,#08h
  a2: rlc a
   mov sda,c
   setb scl
   lcall delay
   clr scl
   lcall delay
   cpl p1.1
   djnz r3,a2
   setb sda
   ;;;;;;;;;;;;;;;;;
   ;读发送信号 ;
   ;;;;;;;;;;;;;;;;;
   setb scl
   lcall delay
   clr scl
   lcall delay
   cpl p1.1
   ;;;;;;;;;;;;;;;;;
   ;送 A15-A8地址 ;
   ;;;;;;;;;;;;;;;;;
   mov a,#00h
   mov r3,#08h
  a3: rlc a
   mov sda,c
   setb scl
   lcall delay
   clr scl
   lcall delay
   cpl p1.1
   djnz r3,a3
   setb sda
   ;;;;;;;;;;;;;;;;;
   ;读发送信号 ;
   ;;;;;;;;;;;;;;;;;
   setb scl
   lcall delay
   clr scl
   lcall delay
   cpl p1.1
   ;;;;;;;;;;;;;;;;
   ;送8位数据 ;
   ;;;;;;;;;;;;;;;;
   mov a,#05h
   mov r3,#08h
  a4: rlc a
   mov sda,c
   setb scl
   lcall delay
   clr scl
   lcall delay
   cpl p1.1
   djnz r3,a4
   setb sda
   ;;;;;;;;;;;;;;;;;
   ;读发送信号 ;
   ;;;;;;;;;;;;;;;;;
   setb scl
   lcall delay
   clr scl
   lcall delay
   cpl p1.1
   ;;;;;;;;;;;;;;;;;
   ;写停止位 ;
   ;;;;;;;;;;;;;;;;;
   clr sda
   lcall delay
   setb scl
   lcall delay
   setb sda
   lcall delay
   
   ; ;;;;;;;;;;;;;;;
   ;开始写 ;
   ;;;;;;;;;;;;;;;;;
   ;;;;;;;;;;;;;;;;;
   ;写设备地址 ;
   ;;;;;;;;;;;;;;;;;
   mov a,#0a4h
   mov r3,#08h
  b1: rlc a
   mov sda,c
   setb scl
   lcall delay
   clr scl
   lcall delay
   cpl p1.1
   djnz r3,b1
   setb sda
   ;;;;;;;;;;;;;;;;;
   ;读发送信号 ;
   ;;;;;;;;;;;;;;;;;
   setb scl
   lcall delay
   clr scl
   lcall delay
   cpl p1.1
   
   ;;;;;;;;;;;;;;;;;
   ;送 A15-A8地址 ;
   ;;;;;;;;;;;;;;;;;
   mov a,#00h
   mov r3,#08h
  b2: rlc a
   mov sda,c
   setb scl
   lcall delay
   clr scl
   lcall delay
   cpl p1.1
   djnz r3,b2
   setb sda
   ;;;;;;;;;;;;;;;;;
   ;读发送信号 ;
   ;;;;;;;;;;;;;;;;;
   setb scl
   lcall delay
   clr scl
   lcall delay
   cpl p1.1
   ;;;;;;;;;;;;;;;;;
   ;送 A15-A8地址 ;
   ;;;;;;;;;;;;;;;;;
   mov a,#00h
   mov r3,#08h
  b3: rlc a
   mov sda,c
   setb scl
   lcall delay
   clr scl
   lcall delay
   cpl p1.1
   djnz r3,b3
   setb sda
   ;;;;;;;;;;;;;;;;;
   ;读发送信号 ;
   ;;;;;;;;;;;;;;;;;
   setb scl
   lcall delay
   clr scl
   lcall delay
   cpl p1.1
   ;;;;;;;;;;;;;;;;;
   ;读8位地址 ;
   ;;;;;;;;;;;;;;;;;
   mov r3,#08h
  read: setb scl
   lcall delay
   mov sda,c
   rlc a
   ;mov r6,a
   clr scl
   lcall delay
   djnz r3,read
   setb sda
   mov r4,a
   ;;;;;;;;;;;;;;;;;
   ;写发送信号 ;
   ;;;;;;;;;;;;;;;;;
   mov sda,c
   setb scl
   lcall delay
   clr scl
   lcall delay
   ;;;;;;;;;;;;;;;;;
   ;写停止位 ;
   ;;;;;;;;;;;;;;;;;
   lcall stop
   
   sjmp $
   
   
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ; 起始信号 ;
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  start: clr scl
   setb sda
   lcall delay
   setb scl
   lcall delay
   clr sda
   lcall delay
   clr scl
   ret
  ;;;;*********************;;;;
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ; 停止信号 ;
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  stop: clr scl
   clr sda
   lcall delay
   setb scl
   lcall delay
   setb sda
   lcall delay
   ret
  delay: mov r2,#0c7h
  n2: mov r1,#07h
  n1: djnz r1,n1
   djnz r2,n2
   nop
   ret
   end

⌨️ 快捷键说明

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