网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
搜索关键字: 所有资讯 行业动态 市场趋势 政策法规 新品发布 技术资讯 价格快报 展会资讯
  • 达普IC芯片交易网 > 新闻中心 > 存储设计 > 正文
  • RSS
  • 串行E2PROM 24LC65在单片机中的应用
    http://www.ic72.com 发布时间:2009/5/31 10:36:26
    摘 要:本文介绍了串行E2PROM 芯片24LC65的工作原理及其与单片机的硬件连接和软件编程。提供了一个结构简单而且十分实用的存储系统实例。

    1. 概述
      24LC65是目前容量较大的一种串行E2PROM芯片,具有8kB的存储容量,体积小,功耗低,可掉电保护。AT89C52单片机亦具有8kB内部ROM,同样具备低功耗和控制功能强等特点,由两者构成的单片机小系统硬件开销少,数据可串行传送,功耗低,非常实用。但是,读、写24LC65的程序编写却比较麻烦,本文将介绍对其编程的方法,并介绍采用子程序结构编写的已通过的写、读24LC65的应用编程。

    2. 24LC65与单片机的连接
    2.1 24LC65的引脚功能
      24LC65采用8脚DIP封装,引脚功能如下:
      1~3脚(A0、A1、A2)为三位地址输入端;
      4脚GND为接地端;
      5脚SDA为二进制数据输入输出端;
      6脚SCL为时钟输入端;
      7脚NC悬空;
      8脚VCC为5V正电源。
    2.2 24LC65与单片机的连接
      连接电路如图1所示,图中共接有8片24LC65芯片,芯片的三位地址A2、A1、A0接成8种组态,由A2、A1、A0排列组成8个片选地址,因此在两线上最多可选用8片,可寻址64kB存储空间,每片寻址8kB,其中,1#芯片地址范围是0000H~1FFFH,8#芯片地址范围是E000H~FFFFH。SDA为串行数据输入输出线,SCL是时钟输入端,每次访问24LC65之前,必须执行启动I2C数据总线操作,每次结束访问时,也必须执行停止I2C数据总线操作,其操作时序由SCL与SDA的关系确定,如图2的示,可以看出,当SCL为高电平时,SDA由高变低时启动I2C总线,而SDA由低变高时,停止总线操作。若启动总线为读操作,则在SCL脉冲的下降沿读出1 bit的数据,若启动写操作,则在SCL脉冲的上升沿写入1 bit 的数据。

    3. 数据格式
      对E2PROM 24LC65每次写一个字节操作的数据格式由4个字节构成。第1字节为: 
     1
    0
    1
    0
    A2
    A1
    A0
    R/W
      其中A2、A1、A0为地址位,R/W为读写位,R/W=1,读E2PROM操作;R/W=0,写E2PROM操作。
      第2字节为:
    X
    X
    X
    A12
    A11
    A10
    A9
    A8
      其中,×为任意,A12、A11、A10、A9、A8为E2PROM 24LC65的高5位地址。
      第3字节是E2PROM 24LC65的低8位地址A7~A0。第4字节才是8位数据。注意,每个字节后紧跟一个回答(ACK)信号。

    4. 写24LC65程序

      用MCS-51单片机的指令编写对24LC65写一字节的子程序是关键,主程序连续调四次便可实现对24LC65写一字节数据的目的。假设待写入字节在单片机内字节地址分别是6FH、6EH、…、68H,并分别存放在待写入字节的D7、D6、…、D0位,作为调用写一字节子程序的入口参数。由主程序启动,并停止总线。其程序分别如下:
      ;主程序启动与停止总线
      SETB P3.1 ;SCL=1
      SETB P3.0 ;SDA=1
      CLR P3.0 ;SDA=0,启动总线
      
            
        CLR P3.0
      SETB P3.1
      SETB P3.0 ;停止总线操作
      ; 写一字节的子程序
      MOV C,6FH ;D7位送给进位C
      CLR P3.1
      MOV P3.0,C
      SETB P3.1;写入D7位
      CLR P3.1
      MOV C,6EH ;D6位送给进位C
      MOV P3.0,C
      SETB P3.1 ;写入D6位
      CLR P3.1
      MOV C,6DH ;D5位送给进位C
      MOV P3.0,C
      SETB P3.1 ;写入D5位
      CLR P3.1
      MOV C,6CH
      MOV P3.0,C
      SETB P3.1 ;写入D4位
       CLR P3.1
      MOV C,6BH
      MOV P3.0,C
      SETB P3.1 ;写入D3位
      CLR P3.1
      MOV C,6AH
      MOV P3.0,C
      SETB P3.1 ;写入D2位
      CLR P3.1
      MOV C,69H
      MOV P3.0,C
      SETB P3.1 ;写入D1位
      CLR P3.1
      MOV C,68H
      MOV P3.0,C
      SETB P3.1 ;写入D0位
      CLR P3.1
      NOP
      SETB P3.1 ;写一字节结束
      CLR P3.1  ;ACK
      RET
    5. 读24LC65程序
      读24LC65程序中既有写控制字和写地址操作,又有读数据的操作,其中,写控制字和写地址操作相同于写24LC65程序,即前三个字节相同,只不过第三字节结束后要停止总线操作。第四字节重新启动总线,送读命令。只有第五字节才是读24LC65的操作。读24LC65的程序如下:
        MOV R7,#08H
    READ:SETB P3.1 ;读一字节于A中
         CLR P3.1  ;移出一位
        MOV C,P3.0 ;移出一位传给进位C
        RLC A
         DJNZ R7,READ
        SETB P3.1
        CLR P3.1 ;ACK
        CLR P3.0
        SETB P3.1
        SETB P3.0 ;停止总线
        RET
      该程序在实际使用中运行可靠,实用性强。如果希望增加存储容量,可以另选单片机的两条I/O线,同样可以连接8片24LC65芯片,组成另一64kB的串行E2PROM。

    www.ic72.com 达普IC芯片交易网
  • 行业动态
  • 市场趋势
  • 政策法规
  • 新品发布
  • Baidu

    IC快速检索:abcdefghijklmnopqrstuvwxyz0123456789
    COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
    客户服务:service@IC72.com 库存上载:IC72@IC72.com
    (北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
    京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质