0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机数的本质和物理现象

电子设计 来源:电子设计 作者:电子设计 2022-02-10 11:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

我们来思考一个问题,当我们在编程器中把一条指令写进单片机内部,然后取下单片机,单片机就可以执行这条指令。

那么这条指令一定保存在单片机的某个地方,并且这个地方在单片机掉电后依然可以保持这条指令不会丢失,这是个什么地方呢?

这个地方就是单片机内部的只读存储器即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

审核编辑:何安

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6074

    文章

    45344

    浏览量

    663787
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    怎么学好单片机

    高度集成而来的。所以,学单片机的时候或者之前,先抽时间学习一下模电电,学到自己有所理解的程度,就可以学一下单片机编程,C语言或者汇编都可以,看个人爱好,C语言移植方便,好维护,编程快速,但是缺点是其
    发表于 12-04 07:16

    单片机的误区

    功能,你会觉得昔**仰视的高峰不再。 现在网上的普遍现象,有些自以为很牛X的老鸟人建议直接越级学stm32单片机,很多人会学得很困难,理解上很有偏差,不排除有些人天赋异禀可以不必完全弄清楚硬件结构
    发表于 11-14 07:46

    CRC校验的本质物理意义

    01 多项式:x^16 + x^15 + x^2 + 1 通过多项式长除法计算得到的余数即为CRC值(0xC599)。 2. 校验码的物理意义 CRC校验码本质是原始数据的\"数字指纹
    发表于 11-13 07:58

    单片机:一个承载科技与工程思维的核心平台

    在现代社会中,科技的快速发展推动了各个行业和技术的革新。单片机(Single Chip Computer)作为一种集成化的电子系统,正在逐渐成为连接数字世界与物理世界的桥梁。无论是智能家居、自动驾驶
    的头像 发表于 09-29 01:07 377次阅读

    单片机用什么封装

    单片机封装是将芯片内部电路与外部引脚连接并包裹保护的结构,不仅影响单片机的安装方式、适用场景,还与电路设计的紧凑性、散热性能密切相关。不同封装类型各有特点,适配从简单电路到复杂系统的多样化需求
    的头像 发表于 08-01 13:47 909次阅读

    什么单片机比较耐用

            在工业控制、户外设备、医疗仪器等场景中,单片机的耐用性直接决定了设备的稳定运行与维护成本。耐用的单片机通常具备宽温工作范围、强抗干扰能力、稳定的电源适应性和长寿命的硬件设计。深圳市安
    的头像 发表于 07-31 13:48 562次阅读

    怎么测单片机系统频率

    单片机系统频率是指单片机工作时的时钟频率,它直接影响单片机的运行速度和处理能力,准确测量系统频率对单片机应用开发、程序调试和性能优化具有重要意义。测量
    的头像 发表于 07-25 11:39 487次阅读

    单片机怎么驱动电机?

    在各类自动化设备和智能装置中,电机是重要的执行部件,而单片机作为控制核心,需要通过特定的方式驱动电机运转。单片机驱动电机并非直接连接即可,而是要根据电机类型和功率,搭配合适的驱动电路,才能实现稳定
    的头像 发表于 07-25 09:31 446次阅读

    单片机怎么烧程序

    单片机烧程序是将编写好的程序代码写入单片机内部存储单元,让单片机按照预设逻辑工作的过程,是单片机应用开发中不可或缺的环节。无论是简单的灯光控制程序,还是复杂的工业控制算法,都需要通过烧
    的头像 发表于 07-23 11:47 661次阅读

    给予单片机的温度控制系统设计

    、执行机构、显示模块和电源模块组成。单片机是系统的核心,负责处理温度信息并发出控制指令;温度传感器用于实时采集环境或物体的温度数据,将物理量转化为电信号传输给单片机;执行机构如加热片、制冷器等,根据
    的头像 发表于 07-16 10:57 456次阅读

    KF32A136系列单片机产品介绍

    F32A136 系列单片机是基于 KF32 内核架构开发的单片机
    的头像 发表于 06-27 11:42 1696次阅读
    KF32A136系列<b class='flag-5'>单片机</b>产品介绍

    51单片机笔记(建议收藏!)

    +外设”的结构,外设多,单片机就复杂些,总线位数高,运行就快一些。本质上还逃不出这个架构。对于设计人员编程来说,操作外设实际上就是读写各种特殊功能寄存器,传输数据就是读写总线,相应外设就是处理中断
    发表于 05-21 17:24

    单片机科普总结,建议收藏!

    单片机(MicrocontrollerUnit,MCU)作为嵌入式系统的核心之一,在现代电子产品中无处不在。从智能家居、汽车电子,到工业控制、医疗设备,单片机支撑着无数智能化应用的发展。对于初学者
    的头像 发表于 04-07 11:58 4501次阅读
    <b class='flag-5'>单片机</b>科普总结,建议收藏!

    IGBT模块的反向恢复现象

    IGBT模块的反向恢复现象是指在IGBT关断时,其内部集成的续流二极管(FWD)从正向导通状态转变为反向截止状态过程中出现的一些特定物理现象和电气特性变化。
    的头像 发表于 03-13 14:39 3452次阅读
    IGBT模块的反向恢复<b class='flag-5'>现象</b>

    单片机Debug工具性能对比 单片机调试常用命令

    单片机(Microcontroller Unit, MCU)调试是嵌入式开发中的一个重要环节,它帮助开发者发现和修复代码中的错误,优化程序性能。不同的单片机和开发环境可能使用不同的调试工具和命令
    的头像 发表于 12-19 09:56 2174次阅读