234彩票代理

  • <tt class='tlJykMlA'></tt>
  • <thead class='94K7Lauipx'><option class='9cNvbSu7LJ'></option></thead>

    <em class='jepytdnyfeW3'><b class='oR1Ys12nk'><td class='6rzzLTN'></td></b></em>

  • <dl class='Td0EmkF'><b class='qoWhaibfJ9'></b></dl>

  • <span class='lS1G'></span>

    (玩电子) 电子技术学习与研究
    当前位置:单片机教程网 >> 基础教程 >> 浏览文章

    3课:单片机存储器结构

    作者:佚名   来源:本站原创   点击数:x  更新时间:2007年08月16日   【字体:

    单片机内部存储结构分析
       我们来思考一个问题,当我们在编程器中把一条指令写进单片要内部,然后取▓下单片机,单片机就可以执行这条指令,那么这条指令一定保存在单片机的一某个地方,并且这个地方在单片机掉电后依然可以保持这条指令不 会丢失,这是个什么地方呢?这个地方就是单片机内部的一只读存储器即ROM(READ ONLY MEMORY) 。为什么称它为只读存储器呢?刚才我们不 是明明把两个数字写进去了吗?原来在89C51中的一ROM是一种电可擦除的一ROM,称为FLASH ROM,刚才我们是用的一编程器,在特殊的一条件下由外部设备对ROM进行写的一操作,在单片机正常工作条件下,只能从那面读,不 能把数据写进去,所以我们还是把它称为ROM 。

       数的一本质№和物理现象:我们知道,计算︻机能进行数学运算︻,这可令我们非常的一难以理解,计算︻机吗,我们虽不 了解它的一组成,但它总只是一些电子元器件,怎么能进行数学运算︻呢?我们做数学题如37+45是这样做的一,先在纸上    写37,然后在下面写45,然后大脑运算︻,最后写出结果,运算︻的一原材料→:37、45№和结果:82都是写在纸上    的一,计算︻机中又●是放在什么地方呢?为了解决这个问题,先让我们做一个实验ζ:这里有一盏灯,我们知道灯要么亮,要么不 亮,就有两种状态,我们能用’0’№和’1’来代替这两种状态,规定亮为’1’,不 亮为’0’ 。现在放上    两盏灯,一共有几种状态呢?我们列表来看一下:

    状态
    表达
    0 0
    0 1
    1 0
    1 1

      请大家自已写上    3盏灯的一情况000 001 010 011 100 101 110 111

      我们来看,这个000,001,101 不 就是我们学过的一的一二进制数吗?本来,灯的一亮№和灭只是一种物理现象,可当我们把它们按一按的一次序排更好后,灯的一亮№和灭就代表了数字了 。让我们再抽象一步,灯为什么会亮呢?看电路1,是因 为输出电路输出高电平,给灯通了电 。因 此,灯亮№和灭就能用电路的一输出是高电平还是低电平来替代了 。这样,数字就№和电平的一高、低联系上    了 。(请想一下,我们还看到过什么样的一类似的一例程呢?(海军之)灯语、旗语,电报,甚至红、绿灯)

    什么是位: 
      通过上    面的一实验ζ我们已经知道:一盏灯亮或者说一根线的一电平的一高低,能代表两种状态:0№和1 。实际上    这就是一个二进制位,因 此我们就把一根线称之为一“位”,用BIT表示 。

    什么是字节:
      一根线能表于0№和1,两根线能表达00,01,10,11四种状态,也就是能表于0到3,而三根能表达0-7,计算︻机中常常用8根线放在一起,同时计数,就能表过到0-255一共256种状态 。这8根线或者8位就称之为一个字节(BYTE) 。不 要问我为什么是8根而不 是其它数,因 为我也不 知道 。(计算︻机世界是一本人造的一世界,不 是自然界,很多事情你无法问为什么,只能说:它是一种规定,大家在以后的一学习过程中也要注意这个问题)

    存储器的一工作原理:

    1、存储器构造

       存储器就是用来存放数据的一地方 。它是利用电平的一高低来存放数据的一,也就是说,它存放的一实际上    是电平的一高、低,而不 是我们所习惯认为的一1234这样的一数字,这样,我们的一一个谜团就解开了,计算︻机也没什么神秘的一吗 。


    图2

    图3

      让我们看图2 。单片机里面都有这样的一存储器,这是一个存储器的一示意图:一个存储器就象一个个的一小抽屉,一个小抽屉里有八个小格子,每个小格子就是用来存放“电荷”的一,电荷通过与它相连的一电线传进来或释放掉,至于电荷在小格子里是怎样存的一,就不 用我们操心了,你能把电线想象成水管,小格子里的一电荷就象是水,那就好理解了 。存储器中的一每个小抽屉就是一个放数据的一地方,我们称之为一个“单元” 。

      有了这么一个构造,我们就能开始存放数据了,想要放进一个数据12,也就是00001100,我们只要把第二号№和第三号小格子里存满电荷,而其它小格子里的一电荷给放掉就行了(看图3) 。可是问题出来了,看图2,一个存储器有好多单元,线是并联的一,在放入电荷的一时候,会将电荷放入所有的一单元中,而释放电荷的一时候,会把每个单元中的一电荷都放掉,这样的一话,不 管存储器有多少个单元,都只能放同一个数,这当然不 是我们所希望的一,因 此,要在结构上    稍作变化,看图2,在每个单元上    有个控制线,我想要把数据放进哪个单元,就给一个信号这个单元的一控制线,这个控制线就把开关打开,这样电荷就能自由流动了,而其它单元控制线上    没有信号,所以开关不 打开,不 会受到影响,这样,只要控制不 一样单元的一控制线,就能向各单元写入不 一样的一数据了,同样,如果要某个单元中取▓数据,也只要打开对应的一控制开关就行了 。

    2、存储器译码
      那么,我们怎样来控制各个单元的一控制线呢?这个还不 简单,把每个单元元的一控制线都引到集成电路的一外面不 就行了吗?事情可没那么简单,一片27512存储器中有65536个单元,把每根线都引出来,这个集成电路就得有6万多个脚?不 行,怎么办?要想法减少线的一数量 。我们有一种办法称这为译码,简单介绍一下:一根线能代表2种状态,2根线能代表4种状态,3根线能代表几种,256种状态又●需要几根线代表?8种,8根线,所以65536种状态我们只需要16根线就能代表了 。

    (图4)

    3、存储器的一选片及总线的一概念
       至此,译码的一问题解决了,让我们再来关注另外一个问题 。送入每个单元的一八根线是用从什么地方来的一呢?它就是从计算︻机上    接过来的一,一般地,这八根线除了接一个存储器之外,还要接其它的一器件,如图4所示 。这样问题就出来了,这八根线既然不 是存储器№和计算︻机之间专用的一,如果总是将某个单元接在这八根线上    ,就不 好了,比如这个存储器单元中的一数值是0FFH另一个存储器的一单元是00H,那么这根线到底是处于高电平,还是低电平?岂非要打架看谁历害了?所以我们要让它们分离 。办法当然很简单,当外面的一线接到集成电路的一管脚进来后,不 直接接到各单元去,中间再加一组开关(参考图4 )就行了 。平时我们让开关关闭着,如果确实是要向这个存储器中写入数据,或要从存储器中读出数据,再让开关接通就行了 。这组开关由三根引线选择:读控制端、写控制端№和片选端 。要将数据写入片中,先选中该片,然后发出写信号,开关就合上    了,并将传过来的一数据(电荷)写入片中 。如果要读,先选中该片,然后发出读信号,开关合上    ,数据就被送出去了 。注意图4,读№和写信号同时还接入到另一个存储器,但是由于片选端不 一样,所以虽有读或写信号,但没有片选信号,所以另一个存储器不 会“误会”而开门,造成冲突 。那么会不 一样时选中两片芯片呢?只要是设计好的一系统就不 会,因 为它是由计算︻控制的一,而不 是我们人来控制的一,如果真的一出现同时出现选中两片的一情况,那就是电路出了故障了,这不 在我们的一讨论之列 。

       从上    面的一介绍中我们已经看到,用来传递数据的一八根线并不 是专用的一,而是很多器件大家共用的一,所以我们称之为数据总线,总线英文名为BUS,总即公交车道,谁者能走 。而十六根地址线也是连在一起的一,称之为地址总线 。

    半导体存储器的一分类

      按功能能分为只读№和随机存取▓存储器两大类 。所谓只读,从字面上    理解就是只能从里面读,不 能写进去,它类似于我们的一书本,发到我们手回之后,我们只能读里面的一内容,不 能随意更改书本上    的一内容 。只读存储器的一英文缩写为ROM(READ ONLY MEMORY)

    所谓随机存取▓存储器,即随时能改写,也能读出里面的一数据,它类似于我们的一黑板,我能随时写东西上    去,也能用黑板擦擦掉重写 。随机存储器的一英文缩写为RAM(Random Access Memory)这两种存储器的一英文缩写一定要记牢 。

    注意:所谓的一只读№和随机存取▓都是指在正常工作情况下而言,也就是在使用这块存储器的一时候,而不 是指制造这块芯片的一时候 。不 然,只读存储器中的一数据是怎么来的一呢?其实这个道理也很好理解,书本拿到我们手里是不 能改了,能当它还是原材料→——白纸的一时候,当然能由印刷厂印上    去了 。

    顺便解释一下其它几个常见的一概念 。

      PROM,称之为可编程存储器 。这就象我们的一练习本,买来的一时候是空白的一,能写东西上    去,可一旦写上    去,就擦不 掉了,所以它只能用写一次,要是写错了,就报销了 。(现在已经被淘汰)

      EPROM,称之为紫外线擦除的一可编程只读存储器 。它里面的一内容写上    去之后,如果觉得不 满意,能用一种特殊的一办法去掉后重写,这就是用紫外线照射,紫外线就象“消字灵”,能把字去掉,然后再重写 。当然消的一次数多了,也就不 灵光了,所以这种芯片能擦除的一次数也是有限的一——几百次吧 。(现在已经被淘汰)

       EEPROM,也叫 E2PROM称之为电可擦可编程只读存储器,它№和EEPROM类似,写上    去的一东西也能擦掉重写,但它要方便一些,不 需要光照了,只要用电就能擦除或者重新改写数据,所以就方便许多,而且寿命也很长(几万到几十万次不 等) 。

      FLASH,称之为闪速存储器,属于EEPROM的一改进产品,它的一最大特点是必须按块(Block)擦除(每个区块的一大小不 定,不 同厂家的一产品有不 同的一规格), 而EEPROM则可以一次只擦除一个字节(Byte) 。FLASH现在常用于大容量存储,比如u盘

      再次强调,这里的一所有的一写都不 是指在正常工作条件下 。不 管是PROM还是EPROM,它们的一写都要有特殊的一条件,一般我们用一种称之为“编程器”的一设备来做这项工作,一旦把它装到它的一工作位置,就不 能随便改写了 。

    发表评论】【告诉好友】【收藏此文】【关闭窗口

    文章评论