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

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

3天内不再提示

单片机基础概念:指令、数位、字节、存储器、总线

dytfki8u8yql ? 来源:电子技术控 ? 作者:电子技术控 ? 2022-12-09 09:51 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

单片机 执行指令

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

那么这条指令一定保存在单片机的某个地方,并且这个地方在单片机掉电后依然能够保持这条指令不会丢失,这是个什么地方呢?这个地方就是单片机内部的只读存储器即ROM(READ ONLY MEMORY)。

为什么称它为只读存储器呢?刚刚我们不是明明把两个数字写进去了吗?原来在89C51中的ROM是一种电可擦除的ROM,称为FLASH ROM,刚刚我们是用的编程器,在特殊的条件下由外部设备对ROM进行写的操作,在单片机正常工作条件下,只能从那面读,不能把数据写进去,所以我们还是把它称为ROM。

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

我们知道,计算机能够进行数学运算,这令我们非常难以了解,它们只是一些电子元器件,怎么能够进行数学运算呢?

我们人类做数学题如37+45是这样做的,先在纸上写37,其次在下面写45,其次大脑运算最后写出结果,运算的原素材是37和45,结果是82都是写在纸上的,计算机中又是放在什么地方呢?

为了攻克这个问题,先让我们做一个实验:这里有一盏灯,我们知道灯要么亮,要么不亮,就有两种状态,我们能够用‘0’和‘1’来代替这两种状态:规定亮为‘1’、不亮为‘0’。

此时放上三盏灯,一共有几种状态呢?我们列表来看一下:000 / 001 / 010 / 011 / 100 / 101 / 110 / 111。我们来看,这个000 / 001 / 101 不就是我们学过的的二进制数吗?原本,灯的亮和灭只是一种物理现象,可当我们把它们按一定的顺序排好后,灯的亮和灭就代表了数字了。让我们再抽象一步,灯为什么会亮呢?是由于输出电路输出高电平,给灯通了电。因此,灯亮和灭就能够用电路的输出是高电平还是低电平来替代了。这样,数字就和电平的高、低联络上了。

单片机 数位的含义


通过上面的实验我们已经知道:一盏灯亮或者说一根线的电平的高低,能够代表两种状态:0和1,现实中上这就是一个二进制位。

因此我们就把一根线称之为一“位”,用BIT表示

一根线能够表示0和1,两根线能够表达00 / 01 / 10 / 11四种状态,也就是能够表达0~3,而三根能够表达0~7,计算机中通常用8根线放在一起,同时计数,就能够表示0~255一共256种状态。

这8根线或者8位就称之为一个字节(BYTE)。

单片机 存储器的构造

存储器就是拿来寄存数据的地方。它是利用电平的高低来寄存数据的,也就是说,它寄存的现实中上是电平的高、低,而不是我们所习惯认为的1234这样的数字,这样,我们的一个谜团就解开了。

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

有了这么一个构造,我们就能够初始寄存数据了,想要放进一个数据12,也就是00001100,我们只有把第二号和第三号小格子里存满电荷,而其它小格子里的电荷给放掉就行了。

可问题出来了,一个存储器有好多单元,线是并联的,在放入电荷的时候,会将电荷放入所有的单元中,而释放电荷的时候,会把每个单元中的电荷都放掉。这样的话,不管存储器有多少个单元,都只能放同一个数,这当然不是我们所希望的。因此,要在构造上稍作变化。

须要在每个单元上有个控制线,想要把数据放进哪个单元,就把一个信号给这个单元的控制线,这个控制线就把开关翻开,这样电荷就能够自由流动了。而其它单元控制线上没有信号,所以开关不翻开,不会受到影响。

这样,只有控制不同单元的控制线,就能够向各单元写入不同的数据了。同样,假如要从某个单元中取数据,也只有翻开相应的控制开关就行了。

单片机 存储器的译码

那么,我们怎样来控制各个单元的控制线呢?这个还不简略,把每个单元的控制线都引到集成电路的外面不就行了吗?

事情可没那么简略,一片27512存储器中有65536个单元,把每根线都引出来,这个集成电路就得有6万多个脚?不行,怎么办?要想法减少线的数量。

有一种方法称这为译码,简略介绍一下:一根线能够代表2种状态,2根线能够代表4种状态,3根线能够代表8种,256种状态又须要几根线代表?8根线,所以65536种状态我们只须要16根线就能够代表了。

单片机 存储器的选片概念

至此,译码的问题攻克了,让我们再来关注另外一个问题。送入每个单元的八根线是用从什么地方来的呢?它就是从计算机上接过来的,一般地,这八根线除了接一个存储器之外,还要接其它的器件。

这样问题就出来了,这八根线既然不是存储器和计算机之间专用的,假如总是将某个单元接在这八根线上,就有问题出现了:假如这个存储器单元中的数值是0FFH另一个存储器的单元是00H,那么这根线到底是处于高电平,还是低电平?怎样分辩?

办法很简略,当外面的线接到集成电路的引脚进来后,不直接接到各单元去,中间再加一组开关就行了。平时我们让开关翻开着,假如的确是要向这个存储器中写入数据,或要从存储器中读出数据,再让开关接通就行了。

这组开关由三根引线选择:读控制端、写控制端和片选端。要将数据写入片中,先选中该片,其次发出写信号,开关就合上了,并将传过来的数据(电荷)写入片中。假如要读,先选中该片,其次发出读信号,开关合上,数据就被送出去了。

读和写信号同时还接入到另一个存储器,但是由于片选端不同,所以虽有读或写信号,但没有片选信号,所以另一个存储器不会“误会”而开门,造成冲突。那么会不同时选中两片芯片呢?

只有是设计好的系统就不会,由于它是由计算控制的,而不是我们人来控制的,假如真的出现同时出现选中两片的情况,那就是电路出了故障了,这不在我们的探讨之列。

单片机 总线概念
从上面的介绍中我们已经看到,拿来传递数据的八根线并不是专用的,而是很多器件大家共用的。

所以我们称之为数据总线,总线英文名为BUS,总即公交车道,谁也能够走。而十六根地址线也是连在一起的,称之为地址总线。

审核编辑 :李倩

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

    关注

    6071

    文章

    45124

    浏览量

    654691
  • 存储器
    +关注

    关注

    39

    文章

    7664

    浏览量

    168570
  • 总线
    +关注

    关注

    10

    文章

    2974

    浏览量

    90167

原文标题:单片机基础概念:指令、数位、字节、存储器、总线

文章出处:【微信号:电子技术控,微信公众号:电子技术控】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机原理及应用详解

    单片机(Microcontroller Unit, MCC) ?是一种集成计算机核心功能(CPU、存储器、I/O接口等)的微型芯片,广泛应用于嵌入式系统中。以下是其原理及应用的详细介绍: 一、单片机
    的头像 发表于 08-11 13:57 ?209次阅读

    单片机的储存优点是什么

    场景。深圳市安凯星科技有限公司在单片机应用开发中,充分利用这些储存优点,为拓邦、朗科、安徽龙多等客户打造了高效稳定的解决方案。 1.集成度高,节省硬件空间 单片机将程序存储器(ROM)、数据
    的头像 发表于 07-31 10:09 ?177次阅读

    PMS15A/PMS150C系列8位OTPIO型单片机

    静态,以OTP为程序存储基础的单片机。使用RISC的架构基础使大多数的指令启动时间都是一个指令周期,只有极少数指令是需要两个
    发表于 06-23 09:00

    单片机实例项目:AT24C02EEPROM存储器

    单片机实例项目:AT24C02EEPROM存储器,推荐下载!
    发表于 06-03 20:50

    C51单片机及C语言知识点必备秘籍

    单片机关键知识点一览: 系列一 1:单片机简叙 2:单片机引脚介绍 3:单片机存储器结构 4:第一个
    发表于 05-15 14:00

    扒一扒单片机存储器的那些事

    单片机存储器的关系像什么?单片机里的存储都是一样的吗?为什么有的单片机既有EEPROM又有Flash?
    的头像 发表于 04-10 10:06 ?1042次阅读
    扒一扒<b class='flag-5'>单片机</b>与<b class='flag-5'>存储器</b>的那些事

    32位电机驱动单片机ZH521X产品概述

    ZH521X系列类单片机是一款低功耗,高性能,资源丰富,M0内核的电机控制专用单片机。集成32k字节代码存储器EFLASH、4k字节SRAM
    的头像 发表于 11-25 14:49 ?978次阅读
    32位电机驱动<b class='flag-5'>单片机</b>ZH521X产品概述

    MCU与单片机的区别

    单元,简称MCU,是一种集成电路芯片,它将计算机的CPU、存储器、可编程输入/输出外设等集成在一个芯片上。MCU通常用于嵌入式系统,能够控制其他电子设备或机械部件。 1.2 单片机 单片机,也称为微控制
    的头像 发表于 11-11 14:50 ?3108次阅读

    51单片机的主要逻辑功能部件是什么

    部件的操作。它包括算术逻辑单元(ALU),用于执行算术和逻辑运算。 2. 存储器 程序存储器(ROM):用于存储程序代码,通常是不可更改的内存,如EPROM或闪存。 数据存储
    的头像 发表于 10-18 12:49 ?1261次阅读

    存储器主要用来存储什么

    的主要功能 数据存储 :内存储器用于存储CPU需要直接访问的数据,这些数据可能是程序代码、用户输入的数据、计算过程中的中间结果等。 指令存储
    的头像 发表于 10-14 09:55 ?2746次阅读

    PIC单片机的优势和不足之处

    的核心优势在于其CPU采用的RISC结构,这一结构精简而高效,分别包含33、35、58条指令,构成了精简指令集。这种设计不仅减少了指令的数量,还提高了指令的执行效率。 同时,PIC
    的头像 发表于 09-25 17:22 ?1417次阅读

    8位单片机为何不会被高端单片机取代?

    的控制选择。 (1)架构:8位单片机通常采用冯诺依曼架构,其中程序和数据存储器共享一条公共总线。它们还有一个哈佛架构,程序和数据存储器
    发表于 09-24 16:51

    单片机的三种总线结构

    单片机的三种总线结构包括地址总线(Address Bus, AB)、数据总线(Data Bus, DB)和控制总线(Control Bus,
    的头像 发表于 09-10 11:32 ?7489次阅读

    单片机hex文件反编译成C语言的过程

    使用C语言编写,然后编译成机器码并烧录到单片机存储器中。 Hex文件是一种用于存储单片机程序的文件格式,它包含了程序的机器码和一些附加信息,如起始地址、结束地址等。Hex文件通常用于
    的头像 发表于 09-02 10:49 ?6670次阅读

    单片机烧录程序的线比单片机上的少还能烧录吗

    单片机烧录原理 单片机烧录是指将编写好的程序代码通过一定的方式传输到单片机存储器中,使其能够按照程序的指令运行。这个过程通常需要使用烧录
    的头像 发表于 09-02 09:54 ?1237次阅读