文件名称:简化单片机的几个基本概念,你都了解吗?
文件大小:100KB
文件格式:PDF
更新时间:2024-07-27 05:26:25
单片机
我们来思考一个问题,当我们在编程器中把一条指令写进单片机内部,然后取下单片机,单片机就可以执行这条指令。 那么这条指令一定保存在单片机的某个地方,并且这个地方在单片机掉电后依然可以保持这条指令不会丢失,这是个什么地方呢? 这个地方就是单片机内部的只读存储器即ROM。 01、单片机数的本质和物理现象 我们知道,计算机可以进行数学运算,这令我们非常难以理解,它们只是一些电子元器件,怎么可以进行数学运算呢? 我们人类做数学题如37+45是这样子做的,先在纸上写37,然后在下面写45,然后大脑运算最后写出结果,运算的原材料是37和45,结果是82都是写在纸上的,计算机中又是放在什么地方呢? 为了解决这个问题,先让我们来做一个实验:这里有一盏灯,我们知道灯要么亮,要么不亮,就有两种状态,我们可以用‘0’和‘1’来代替这两种状态:规定亮为‘1’不亮为‘0’。 现在放上三盏灯,一共有几种状态呢?我们列表来看一下:000/001/010/011/100/101/110/111。 我们来看,这个000/001/101不就是我们学过的的二进制数吗?本来,灯的亮和灭只是一种物理现象,可当我们把它们按一定的顺序排好后,灯的亮和灭就代表了数字了。 让我们再抽象一步,灯为什么会亮呢?是因为输出电路输出高电平,给灯通了电。 因此,灯亮和灭就可以用电路的输出是高电平还是低电平来替代了,这样数字就和电平的高、低联系上了。 02、单片机数位的含义 通过上面的实验我们已经知道:一盏灯亮或者说一根线的电平的高低,可以代表两种状态:0和1,实际上这就是一个二进制位。因此我们就把一根线称之为一“位”,用BIT表示。 03、单片机字节的含义 一根线可以表示0和1,两根线可以表达00/01/10/11四种状态,也就是可以表达0~3,而三根可以表达0~7,计算机中通常用8根线放在一起,同时计数,就可以表示0~255一共256种状态。这8根线或者8位就称之为一个字节(BYTE)。 04、单片机存储器的构造 存储器就是用来存放数据的地方,它是利用电平的高低来存放数据的,也就是说,它存放的实际上是电平的高、低,而不是我们所习惯认为的1234这样的数字,这样,我们的一个谜团就解开了。 一个存储器就象一个个的小抽屉,一个小抽屉里有八个小格子,每个小格子就是用来存放“电荷”的,电荷通过与它相连的电线传进来或释放掉。 至于电荷在小格子里是怎样存的,就不用我们去操心了,你可以把电线想象成水管,小格子里的电荷就象是水,那就好理解了,存储器中的每个小抽屉就是一个放数据的地方,我们称之为一个“单元”。 有了这么一个构造,我们就可以开始存放数据了,想要放进一个数据12,也就是00001100,我们只要把第二号和第三号小格子里存满电荷,而其它小格子里的电荷给放掉就行了。 可是问题出来了,一个存储器有好多单元,线是并联的,在放入电荷的时候,会将电荷放入所有的单元中,而释放电荷的时候,会把每个单元中的电荷都放掉。 这样的话,不管存储器有多少个单元,都只能放同一个数,这当然不是我们所希望的,因此,要在结构上稍作变化。 需要在每个单元上有个控制线,想要把数据放进哪个单元,就把一个信号给这个单元的控制线,这个控制线就把开关打开,这样电荷就可以*流动了,而其它单元控制线上没有信号,所以开关不打开,不会受到影响。 这样,只要控制不同单元的控制线,就可以向各单元写入不同的数据了,同样,如果要从某个单元中取数据,也只要打开相应的控制开关就行了。 05、单片机存储器的译码 那么,我们怎样来控制各个单元的控制线呢?这个还不简单,把每个单元的控制线都引到集成电路的外面不就行了吗? 事情可没那么简单,一片27512存储器中有65536个单元,把每根线都引出来,这个集成电路就得有6万多个脚?不行,怎么办?要想法减少线的数量。 有一种方法称这为译码,简单介绍一下:一根线可以代表2种状态,2根线可以代表4种状态,3根线可以代表8种,256种状态又需要几根线代表?8根线,所以65536种状态我们只需要16根线就可以代表了。 06、单片机存储器的选片概念 至此,译码的问题解决了,让我们再来关注另外一个问题,送入每个单元的八根线是用从什么