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

📄 354.htm

📁 pcb设计资料初学者难得的入门资料包含工厂制作过程
💻 HTM
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>CTerm非常精华下载</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="577">
<tr><td width="32%" rowspan="3" height="123"><img src="DDl_back.jpg" width="300" height="129" alt="DDl_back.jpg"></td><td width="30%" background="DDl_back2.jpg" height="35"><p align="center"><a href="http://202.112.58.200"><font face="黑体"><big><big>Tsinghua</big></big></font></a></td></tr>
<tr>
<td width="68%" background="DDl_back2.jpg" height="44"><big><big><font face="黑体"><p align="center">         嵌入式系统                            (BM: turbolinux jacobw)          </font></big></big></td></tr>
<tr>
<td width="68%" height="44" bgcolor="#000000"><font face="黑体"><big><big><p   align="center"></big></big><a href="http://cterm.163.net"><img src="banner.gif" width="400" height="60" alt="banner.gif"border="0"></a></font></td>
</tr>
<tr><td width="100%" colspan="2" height="100" align="center" valign="top"><br><p align="center">[<a href="嵌入式系统.htm">回到开始</a>][<a href="337.htm">上一层</a>][<a href="355.htm">下一篇</a>]
<hr><p align="left"><small>发信人: wyhang (木瓜), 信区: Embedded <br>

标  题: Re: 有谁用过EEPROM 28C256,请帮我 <br>

发信站: BBS 水木清华站 (Mon Dec 24 20:04:39 2001) <br>

  <br>

  <br>

【 在 lump (tony) 的大作中提到: 】 <br>

: 我按一般的写RAM 62256的方式按一个字节往里面写,然后等待15毫秒 <br>

: 发现它写的不对.然后我分别试了按64/16/8字节连续写然后等待,也不 <br>

: 对,请问该怎样写才对?线路按接RAM的方式接的.先谢! <br>

  <br>

  我用过xicor公司的x28c256 它是支持单字节或是页(64字节)写操作的 <br>

  而xicor的x28hc256是支持单字节或是页(128字节)写操作的。你要先弄清 <br>

  你所用的写操作是几个字节的  其实EEPROM一般都是支持硬件写保护和软件 <br>

  写保护的  这样可以避免外界干扰造成误写入 所以就有两种方式写入数据 <br>

  (在没有硬件写保护的前提下) <br>

   1、先将去掉整个EEPROM的软件写保护 然后再写入数据 可以写入1个字节或是 <br>

  最多到一页字节(不同型号不一样!) 写完后延时等待Twc时间(具体察看 <br>

  datasheet 典型的为10ms) 或是采用data polling 的方法检查EEPROM的内部 <br>

  写操作是否完成 例如: <br>

  <br>

       //一个定义在EEPROM中的数组 EEPROM的开始地址为0x0000 <br>

       xdata unsigned char EEPROM[128] _at_ 0x0000 <br>

       。。。。。。 <br>



  <br>

        //写操作开始 一次页写入 <br>

  <br>

      for(i=0;i<64;i++) <br>

      { <br>

           EEPROM[i]=i; <br>

      } <br>

  <br>

      //采用data polling <br>

      while( (EEPROM[i-1]&0x80)!=(i-1)&0x80 ); //等待EEPROM内部的写操作完成 <br>

                                               //可以在这里面加入超时判断 <br>

                                               //防止EEPROM坏了写不入 <br>

  <br>

      这个写入EEPROM方式不是厂家多推荐的 厂家推荐下面这种方法 <br>

  <br>

  2、先使EEPROM进入SDP(软件数据保护)模式 然后紧接着写入数据 这样做的好处是 <br>

     始终使得EEPROM处于SDP状态 例如 <br>

  <br>

     //定义一个开始地址为0x0000的32k的EEPROM数组 <br>

     xdata unsigned char EEPROM[32768] _at_ 0x0000; <br>

  <br>

     ........... <br>



  <br>

     //开始写入数据 <br>

  <br>

     EEPROM[0x5555]=0xaa; <br>

     EEPROM[0x2aaa]=0x55; <br>

     EEPROM[0x5555]=0xa0; <br>

     //以上三个字节的写入 实际上并没有把数据写到EEPROM中 <br>

     //而是使EEPROM进入“假的”SDP状态 :) <br>

  <br>

    for(i=0;i<64;i++) <br>

    { <br>

        EEPROM[i]=i;  //这里不一定是写入64个字节 但是不能超过页操作 <br>

                      //的最大字节数 <br>

    } <br>

  <br>

    delay_for_twc(); //延时Twc(具体察看datasheet,典型10ms) <br>

                     //Twc时间过后EEPROM就会处于"真正"的SDP状态了:) <br>

  <br>

   希望能帮到你 good luck:) <br>

  <br>

-- <br>

  <br>



※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.118.68.62] <br>

</small><hr>
<p align="center">[<a href="嵌入式系统.htm">回到开始</a>][<a href="337.htm">上一层</a>][<a href="355.htm">下一篇</a>]
<p align="center"><a href="http://cterm.163.net">欢迎访问Cterm主页</a></p>
</table>
</body>
</html>

⌨️ 快捷键说明

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