第一个要学习的问题:存储器单元和存储单元地址:
存储器是由大量寄存器组成的,其中每一个寄存器就称为一个存储单元 。它可存放一个有独立意义的二进制代码 。一个代码由若干位(bit)组成,代码的位数称为位长,习惯上也称为字长 。
每个存储单元存放几位二进制数呢?一般情况下,计算机中一个代码的位数和它的算术运算单元的位数是相同的 。例如,8051单片机中算术单元是8位,则字长就是8位 。在计算机中把一个8位的二进制代码称为一个字节(Byte),常写为B 。对于一个8位二进制代码的最低位称为第0位(位0),最高位称为第7位(位7) 。
在计算机中的存储器往往有成千上万个存储单元,为了使存入和取出不发生混淆,必须给每个存储单元一个唯一的固定编号,这个编号就称为存储单元的地址 。因为存储单元的数量很大,我们不可能每个存储单元都把线引到外部,如果每个存储单元都引根线到外部,那一个8位的单片机就需外向外部引出65536根线了,这在现实中是不可能的 。为了减少存储器向外引出的地址线,在存储器内部都带有译码器 。根据二进制编码、译码的原理,除地线公用之外,n根导线可以译成2n个地址号 。例如,当地址线为3根时,可以译成23=8个地址号;地址线为3根时,可以译成28=256个地址号 。依此类推,在8051单片机中有16根地址线,也就是说在8051单片机中有216=65 536个地址号,地址号的多少就是我们寻址范围的大小,也就是前面我们提到过的8051单片机的寻址范围是64K 。
从上面的介绍可以看出,存储单元地址和这个存储单元的内容含义是不同的 。存储单元如同一个旅馆的每个房间;存储单元地址则相当于每个房间的房间号;存储单元内容(二进制代码)就相当于这个房间的房客 。
前面我们已讲过,8051的单片机有16根地址线,它的存储地址有216=65 536个,这么多的存储地址,而地址线却只有16根,我们怎么用16根地址线来控制这6万多个存储地址呢?接下来我们就这个问题与大家一起做个探讨:在上节课《第九课:51单片机CPU的结构》时我们已知道,在51单片机的内部有一个叫做译码器的部件 。用16根地址线来控制65536个存储地址,就是用译码来实现的 。
我们知道,计算机可以进行数学运算,这可令我们非常的难以理解,计算机吗,里面只不过是一些电子元件组成的,怎能么可以进行数学运算呢?我们做数学题时如25+36是这样做的,先在纸上写25,然后在下面写36,然后大脑运算,最后写出结果,运算的原材料:25、36和结果61都是写在纸上的 。计算机中又是怎样存放的呢?为了解决定个问题,我们先做一个实验:
下面有一盏灯,我们知道灯要么亮,要么不亮,就有两种状态,我们可以用“0”和“1”来代替这两种状态,规定亮为“1”,不亮为“0” 。南以上两盏灯,一共有几种状态呢?

文章插图
上面已例出,两盏灯可以表达成00 01 10 11四种状态,那么三盏灯呢?
三盏灯应该就是可以表达成000 001 010 011 100 101 110 111八种状态,
如果是八盏灯呢?那么其状就表达就是00000000 00000001 00000010 。。。。。11111111 共256种状态 。
我们来看,上面这些000 001 010 。。。。等等这些数不就是我们学过的二进制数吗?本来灯的亮灭是一种物理现象,可当我们把它们按一定的顺序排列好后,灯的亮和灭就代表数字了 。让我们再抽象一步,灯为什么会亮呢?是因为输出电路输出高电平,给灯通了电 。因此,灯亮和灭就可以用电路的输出是高电平还是低电平来代替了 。这样,数字就和电平的高、低联系上了 。
推荐阅读
- 猫咪最迟多久不排尿
- 租房子需要如何写合同
- 全网无版权音乐免费搜索下载 vip歌曲免费下载网站
- 怎么取电影票 二维码,微信电影票怎么取票流程
- 时光浪漫的语录 时光语录经典唯美
- 微软在备受瞩目的失败之后带着智能手机回归
- 微信验证失败什么原因,为什么微信好友验证后还是登录不了
- 西红柿怎么切丁
- 世界上最原始的哺乳动物 世界上最原始的哺乳动物名字
