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

📄 save.htm

📁 本单片机教程是平凡老师花了大量时间
💻 HTM
📖 第 1 页 / 共 2 页
字号:
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=3> 
  <p style="line-height: 150%; margin-top: 0; margin-bottom: 0"></P>
  </FONT> 
  <P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=2>通过上面的实验我们已经知道:一盏灯亮或者说一根线的电平的高低,可以代表两种状态:</font><FONT SIZE=2>0</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>和</FONT><FONT SIZE=2>1</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>。实际上这就是一个二进制位,因此我们就把一根线称之为一“位”,用</FONT><FONT SIZE=2>BIT</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>表示。</font></P>
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=3> 
  <P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
  </font> 
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=2> 
  <LI>
  <p style="line-height: 150%; margin-top: 0; margin-bottom: 0">字节的含义:</LI> </p>
  </font> 
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=3> 
  <p style="line-height: 150%; margin-top: 0; margin-bottom: 0"></P>
  </font> 
</OL>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">

<FONT FACE="宋体" LANG="ZH-CN" SIZE=2>一根线可以表于</font><FONT SIZE=2>0</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>和</FONT><FONT SIZE=2>1</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>,两根线可以表达</FONT><FONT SIZE=2>00</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>,</FONT><FONT SIZE=2>01</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>,</FONT><FONT SIZE=2>10</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>,</FONT><FONT SIZE=2>11</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>四种状态,也就是可以表于</FONT><FONT SIZE=2>0</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>到</FONT><FONT SIZE=2>3</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>,而三根可以表达</FONT><FONT SIZE=2>0-7</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>,计算机中通常用</FONT><FONT SIZE=2>8</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>根线放在一起,同时计数,就可以表过到</FONT><FONT SIZE=2>0-255</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>一共</FONT><FONT SIZE=2>256</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>种状态。这</FONT><FONT SIZE=2>8</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>根线或者</FONT><FONT SIZE=2>8</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>位就称之为一个字节(</FONT><FONT SIZE=2>BYTE</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>)。不要问我为什么是</FONT><FONT SIZE=2>8</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>根而不是其它数,因为我也不知道。(计算机世界是一个人造的世界,不是自然界,很多事情你无法问为什么,只能说:它是一种规定,大家在以后的学习过程中也要注意这个问题)</font></P>
<OL>
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=3> 
  <P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"> 
  </font> 
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=2> 
  <LI>
  <p style="line-height: 150%; margin-top: 0; margin-bottom: 0">存储器的工作原理:</LI> 
  </p>
  </font> 
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=3> 
  <p style="line-height: 150%; margin-top: 0; margin-bottom: 0"></P>
  </font> 
  <P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
  <FONT SIZE=2>1</font><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>、存储器构造</font></P>
  <p ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"> 
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=2>存储器就是用来存放数据的地方。它是利用电平的高低来存放数据的,也就是说,它存放的实际上是电平的高、低,而不是我们所习惯认为的</font><FONT SIZE=2>1234</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>这样的数字,这样,我们的一个谜团就解开了,计算机也没什么神秘的吗。</font></p>
  <table width="75%" border="1">
    <tr> 
      <td width="61%">
      <p style="line-height: 150%; margin-top: 0; margin-bottom: 0">
      <font size="2"><img src="l3.gif" width="318" height="272"> 图2</font></td>
      <td width="39%">
      <p style="line-height: 150%; margin-top: 0; margin-bottom: 0">
      <font size="2"><img src="l4.gif" width="269" height="165">图3</font></td>
    </tr>
  </table>
  <p ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"> </p>
  <P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"> 
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=2>让我们看图</font><FONT SIZE=2>2</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>。这是一个存储器的示意图:一个存储器就象一个个的小抽屉,一个小抽屉里有八个小格子,每个小格子就是用来存放“电荷”的,电荷通过与它相连的电线传进来或释放掉,至于电荷在小格子里是怎样存的,就不用我们操心了,你可以把电线想象成水管,小格子里的电荷就象是水,那就好理解了。存储器中的每个小抽屉就是一个放数据的地方,我们称之为一个“单元”。</font></P>
  <P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"> 
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=2>有了这么一个构造,我们就可以开始存放数据了,想要放进一个数据</font><FONT SIZE=2>12</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>,也就是</FONT><FONT SIZE=2>00001100</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>,我们只要把第二号和第三号小格子里存满电荷,而其它小格子里的电荷给放掉就行了(看图</FONT><FONT SIZE=2>3</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>)。可是问题出来了,看图</FONT><FONT SIZE=2>2</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>,一个存储器有好多单元,线是并联的,在放入电荷的时候,会将电荷放入所有的单元中,而释放电荷的时候,会把每个单元中的电荷都放掉,这样的话,不管存储器有多少个单元,都只能放同一个数,这当然不是我们所希望的,因此,要在结构上稍作变化,看图</FONT><FONT SIZE=2>2</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>,在每个单元上有个控制线,我想要把数据放进哪个单元,就给一个信号这个单元的控制线,这个控制线就把开关打开,这样电荷就可以自由流动了,而其它单元控制线上没有信号,所以开关不打开,不会受到影响,这样,只要控制不同单元的控制线,就可以向各单元写入不同的数据了,同样,如果要某个单元中取数据,也只要打开相应的控制开关就行了。</font></P>
  <P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"> 
  <FONT SIZE=2>2</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>、存储器译码</font></P>
  <P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"> 
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=2>那么,我们怎样来控制各个单元的控制线呢?这个还不简单,把每个单元元的控制线都引到集成电路的外面不就行了吗?事情可没那么简单,一片</font><FONT SIZE=2>27512</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>存储器中有</FONT><FONT SIZE=2>65536</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>个单元,把每根线都引出来,这个集成电路就得有</FONT><FONT SIZE=2>6</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>万多个脚?不行,怎么办?要想法减少线的数量。</font></P>
  <p ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"> 
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=2>我们有一种方法称这为译码,简单介绍一下:一根线可以代表</font><FONT SIZE=2>2</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>种状态,</FONT><FONT SIZE=2>2</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>根线可以代表</FONT><FONT SIZE=2>4</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>种状态,</FONT><FONT SIZE=2>3</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>根线可以代表几种,</FONT><FONT SIZE=2>256</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>种状态又需要几根线代表?</FONT><FONT SIZE=2>8</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>种,</FONT><FONT SIZE=2>8</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>根线,所以</FONT><FONT SIZE=2>65536</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>种状态我们只需要</FONT><FONT SIZE=2>16</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>根线就可以代表了。</font></p>
  <p ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
  <font size="2"><img src="l5.gif" width="402" height="159">图4</font></p>
  <P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
  <FONT SIZE=2>3</font><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>、存储器的选片及总线的概念</font></P>
  <P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"> 
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=2>至此,译码的问题解决了,让我们再来关注另外一个问题。送入每个单元的八根线是用从什么地方来的呢?它就是从计算机上接过来的,一般地,这八根线除了接一个存储器之外,还要接其它的器件,如图</font><FONT SIZE=2>4</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>所示。这样问题就出来了,这八根线既然不是存储器和计算机之间专用的,如果总是将某个单元接在这八根线上,就不好了,比如这个存储器单元中的数值是</FONT><FONT SIZE=2>0FFH</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>另一个存储器的单元是</FONT><FONT SIZE=2>00H</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>,那么这根线到底是处于高电平,还是低电平?岂非要打架看谁历害了?所以我们要让它们分离。办法当然很简单,当外面的线接到集成电路的引脚进来后,不直接接到各单元去,中间再加一组开关(参考图</FONT><FONT SIZE=2>4</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>)就行了。平时我们让开关打开着,如果确实是要向这个存储器中写入数据,或要从存储器中读出数据,再让开关接通就行了。这组开关由三根引线选择:读控制端、写控制端和片选端。要将数据写入片中,先选中该片,然后发出写信号,开关就合上了,并将传过来的数据(电荷)写入片中。如果要读,先选中该片,然后发出读信号,开关合上,数据就被送出去了。注意图</FONT><FONT SIZE=2>4</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>,读和写信号同时还接入到另一个存储器,但是由于片选端不同,所以虽有读或写信号,但没有片选信号,所以另一个存储器不会“误会”而开门,造成冲突。那么会不同时选中两片芯片呢?只要是设计好的系统就不会,因为它是由计算控制的,而不是我们人来控制的,如果真的出现同时出现选中两片的情况,那就是电路出了故障了,这不在我们的讨论之列。</font></P>
  <P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"> 
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=2>从上面的介绍中我们已经看到,用来传递数据的八根线并不是专用的,而是很多器件大家共用的,所以我们称之为数据总线,总线英文名为</font><FONT SIZE=2>BUS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>,总即公交车道,谁者可以走。而十六根地址线也是连在一起的,称之为地址总线。</font></P>
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=3> 
  <P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"> 
  </font> 
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=2> 
  <LI>
  <p style="line-height: 150%; margin-top: 0; margin-bottom: 0">半导体存储器的分类</LI> 
  </p>
  </font> 
  <FONT FACE="宋体" LANG="ZH-CN" SIZE=3> 
  <p style="line-height: 150%; margin-top: 0; margin-bottom: 0"></P>
  </font> 
</OL>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">

<FONT FACE="宋体" LANG="ZH-CN" SIZE=2>按功能可以分为只读和随机存取存储器两大类。所谓只读,从字面上理解就是只可以从里面读,不能写进去,它类似于我们的书本,发到我们手回之后,我们只能读里面的内容,不可以随意更改书本上的内容。只读存储器的英文缩写为</font><FONT SIZE=2>ROM</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>(</FONT><FONT SIZE=2>READ ONLY MEMORY</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>)</font></P>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋体" LANG="ZH-CN" SIZE=2>所谓随机存取存储器,即随时可以改写,也可以读出里面的数据,它类似于我们的黑板,我可以随时写东西上去,也可以用黑板擦擦掉重写。随机存储器的英文缩写为</font><FONT SIZE=2>RAM</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>(</FONT><FONT SIZE=2>READ RANDOM MEMORY</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>)这两种存储器的英文缩写一定要记牢。</font></P>
<FONT FACE="宋体" LANG="ZH-CN" SIZE=2>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">注意:所谓的只读和随机存取都是指在正常工作情况下而言,也就是在使用这块存储器的时候,而不是指制造这块芯片的时候。否则,只读存储器中的数据是怎么来的呢?其实这个道理也很好理解,书本拿到我们手里是不能改了,可以当它还是原材料——白纸的时候,当然可以由印刷厂印上去了。</P>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">顺便解释一下其它几个常见的概念。</P>
</FONT>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT SIZE=2>PROM</font><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>,称之为可编程存储器。这就象我们的练习本,买来的时候是空白的,可以写东西上去,可一旦写上去,就擦不掉了,所以它只能用写一次,要是写错了,就报销了。</font></P>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT SIZE=2>EPROM</font><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>,称之为紫外线擦除的可编程只读存储器。它里面的内容写上去之后,如果觉得不满意,可以用一种特殊的方法去掉后重写,这就是用紫外线照射,紫外线就象“消字灵”,可以把字去掉,然后再重写。当然消的次数多了,也就不灵光了,所以这种芯片可以擦除的次数也是有限的——几百次吧。</font></P>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT SIZE=2>FLASH</font><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>,称之为闪速存储器,它和</FONT><FONT SIZE=2>EPROM</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>类似,写上去的东西也可以擦掉重写,但它要方便一些,不需要光照了,只要用电学方法就可以擦除,所以就方便许多,而且寿面也很长(几万到几十万次不等)。</font></P>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"> 
<FONT FACE="宋体" LANG="ZH-CN" SIZE=2>再次强调,这里的所有的写都不是指在正常工作条件下。不管是</font><FONT SIZE=2>PROM</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>、</FONT><FONT SIZE=2>EPROM</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>还是</FONT><FONT SIZE=2>FLASH 
  ROM</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=2>,它们的写都要有特殊的条件,一般我们用一种称之为“编程器”的设备来做这项工作,一旦把它装到它的工作位置,就不能随便改写了。</FONT></P>
<p style="line-height: 150%; margin-top: 0; margin-bottom: 0"> </p>
</BODY>
</HTML>

⌨️ 快捷键说明

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