资料介绍
我们来思考一个问题,当我们在编程器中把一条指令写进单片机内部,然后取下单片机,单片机就可以执行这条指令。
那么这条指令一定保存在单片机的某个地方,并且这个地方在单片机掉电后依然可以保持这条指令不会丢失,这是个什么地方呢?
这个地方就是单片机内部的只读存储器即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、单片机存储器的选片概念
至此,译码的问题解决了,让我们再来关注另外一个问题,送入每个单元的八根线是用从什么地方来的呢?
它就是从计算机上接过来的,一般地,这八根线除了接一个存储器之外,还要接其它的器件。
这样问题就出来了,这八根线既然不是存储器和计算机之间专用的,如果总是将某个单元接在这八根线上,就有问题出现了:比如这个存储器单元中的数值是0FFH另一个存储器的单元是00H,那么这根线到底是处于高电平,还是低电平?怎样分辩?
办法很简单,当外面的线接到集成电路的引脚进来后,不直接接到各单元去,中间再加一组开关就行了。
平时我们让开关打开着,如果确实是要向这个存储器中写入数据,或要从存储器中读出数据,再让开关接通就行了。
这组开关由三根引线选择:读控制端、写控制端和片选端,要将数据写入片中,先选中该片,然后发出写信号,开关就合上了,并将传过来的数据(电荷)写入片中,如果要读,先选中该片,然后发出读信号,开关合上,数据就被送出去了。
读和写信号同时还接入到另一个存储器,但是由于片选端不同,所以虽有读或写信号,但没有片选信号,所以另一个存储器不会“误会”而开门,造成冲突,那么会不同时选中两片芯片呢?
只要是设计好的系统就不会,因为它是由计算控制的,而不是我们人来控制的,如果真的出现同时出现选中两片的情况,那就是电路出了故障了,这不在我们的讨论之列。
07、单片机的总线概念
从上面的介绍中我们已经看到,用来传递数据的八根线并不是专用的,而是很多器件大家共用的。所以我们称之为数据总线,总线英文名为BUS,总即公交车道,谁也可以走,而十六根地址线也是连在一起的,称之为地址总线。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42976659/article/details/101363616
- 天线的几个基本概念
- 单片机的几个基本概念
- 初学51单片机几个不易掌握的概念
- 单片机定时器一1ms12MHz_51单片机中断基本概念
- 单片机:A/D 和 D/A 的基本概念
- 51单片机中断基本概念
- 单片机的几个概念归纳梳理资料下载
- 51单片机的指令系统的基本概念和详细资料说明 10次下载
- 使用51单片机进行串口通信的基本概念和程序免费下载
- 51单片机汇编语言教程之关于单片机的一些基本概念资料说明 9次下载
- 你真的完全了解了单片机了吗快来快速了解单片机吧 1次下载
- 单片机的中断系统如何使用?基本概念和应用详细讲解 11次下载
- 初学51单片机几个不易掌握的概念 0次下载
- 电路的一些基本概念 0次下载
- 电路的一些基本概念 0次下载
- 串口通信的基本概念 357次阅读
- 单片机编程和plc编程有什么区别 1808次阅读
- 单片机中ADC采集都存在哪些误差? 2633次阅读
- 普通单片机与STM32单片机中堆栈的区别 3032次阅读
- 51单片机串行通信的基本概念 2387次阅读
- 单片机解密威廉希尔官方网站 你知道多少带你详细了解 2182次阅读
- 关于单片机和嵌入式,它们的区别是什么 2.8w次阅读
- 什么是单片机_单片机的概念 3.5w次阅读
- 开发单片机应掌握的几个技巧 5415次阅读
- 单片机堆栈的小故事让你更容易理解堆栈的概念 4404次阅读
- 浅析单片机中PWM的基本概念和基本原理 1.1w次阅读
- 玩单片机可以有几个等级?几个误区? 6826次阅读
- 自学单片机必备的硬件设备你都知道吗 2.1w次阅读
- 单片机必须了解的外设功能——定时器/中断功能 7179次阅读
- 单片机基础知识:单片机的前世今生 9359次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多