单片机常用名词解释与常用逻辑电路
MCS-51系列单片机
MCS-51系列单片机分为两大系列,即51子系列与52子系列。
51子系列:基本型,根据片内ROM的配置,对应的芯片为8031、8051、8751、8951
52子系列:增强型,根据片内ROM的配置,对应的芯片为8032、8052、8752、8952
这两大系列单片机的主要硬件特性如下表:
从上表中可以看到,8031、8031、8032、80C32片内是没有ROM的,对应着上表看,我们可以发现,51系列的单片机的RAM大小为128B,52系列的RAM大小为256B,51系列的计数器为两个16位的,52系列的计数器为三个16位计数器。51系列的中断源为5个,52系列的中断源为6个。
8051与80C51的区别:
80C51单片机是在8051的基础上发展起来的,也就是说在单片机的发展过程中是先有8051,然后才有80C51的。
8051单片机与80C51单片机从外形看是完全一样的,其指令系统、引脚信号、总线等完全一致(完全兼容),也就是说在8051下开发的软件完全可以在80C51上应用,反过来,在89C51下开发的软件也可以在8051上应用。这两种单片机是完全可移植的。
既然这两种单片机外形及内部结构都一样,那它们之间的主要差别在哪里呢?
8051与80C51单片机的主要差别就在于芯片的制造工艺上。80C51的制造工艺是在8051基础上进行了改进。
8051系列单片机采用的是HMOS工艺:高速度、高密度;
80C51系列单片机采用的是CHMOS工艺:高速度、高密度、低功耗;
也就是说80C51单片机是一种低功耗单片机。
单片机常用名词解释
总线: 指能为多个部件服务的信息传送线,在微机系统中各个部件通过总线相互通信。
地址总线(AB): 地址总线是单向的,用于传送地址信息。地址总线的宽度为16位,因此基外部存储器直接寻址64K,16位地址总线由P0口经地址锁存器提供低8位地址(A0~A7),P2口直接提供高8位地址(A8~A15)。
数据总线(DB): 一般为双向,用于CPU与存储器,CPU与外设、或外设与外设之间传送数据信息(包括实际意义的数据和指令码)。数据总线宽度为8位,由P0口提供。
控制总线(CB): 是计算机系统中所有控制信号的总称,在控制总线中传送的是控制信息。由P3口的第二功能状态和4根独立的控制总线,RESET、EA、ALE、PSEN组成。
存储器: 用来存放计算机中的所有信息:包括程序、原始数据、运算的中间结果及最终结果等。
只读存储器(ROM):只读存储器在使用时,只能读出而不能写入,断电后ROM中的信息不会丢失。因此一般用来存放一些固定程序,如监控程序、子程序、字库及数据表等。ROM按存储信息的方法又可分为以下几种:
1、掩膜ROM:
掩膜ROM也称固定ROM,它是由厂家编好程序写入ROM(称固化)供用户使用,用户不能更改内部程序,其特点是价格便宜。
2、可编程的只读存储器(PROM):
它的内容可由用户根据自已所编程序一次性写入,一旦写入,只能读出,而不能再进行更改,这类存储器现在也称为OTP(Only Time Programmable)。
3、可改写的只读存储器EPROM:
前两种ROM只能进行一次性写入,因而用户较少使用,目前较为流行的ROM芯片为EPROM。因为它的内容可以通过紫外线照射而彻底擦除,擦除后又可重新写入新的程序。
4、可电改写只读存储器(EEPROM):
EEPROM可用电的方法写入和清除其内容,其编程电压和清除电压均与微机CPU的5V工作电压相同,不需另加电压。它既有与RAM一样读写操作简便,又有数据不会因掉电而丢失的优点,因而使用极为方便。现在这种存储器的使用最为广泛。
5、随机存储器(RAM):
这种存储器又叫读写存储器。它不仅能读取存放在存储单元中的数据,还能随时写入新的数据,写入后原来的数据就丢失了。断电后RAM中的信息全部丢失。因些,RAM常用于存放经常要改变的程序或中间计算结果等信息。
RAM按照存储信息的方式,又可分为静态和动态两种。
①静态SRAM: 其特点是只要有电源加于存储器,数据就能长期保存。
②动态DRAM: 写入的信息只能保存若干ms时间,因此,每隔一定时间必须重新写入一次,以保持原来的信息不变。
6、可现场改写的非易失性存储器:
这种存储器的特点是:从原理上看,它们属于ROM型存储器,从功能上看,它们又可以随时改写信息,作用又相当于RAM。所以,ROM、RAM的定义和划分已逐渐的失去意义。
①快擦写存储器(FLASH)
这种存储器是在EPROM和EEPROM的制造基础上产生的一种非易失性存储器。其集成度高,制造成本低于DRAM,既具有SRAM读写的灵活性和较快的访问速度,又具有ROM在断电后可不丢失信息的特点,所以发展迅速。
②铁电存储器FRAM
它是利用铁电材料极化方向来存储数据的。它的特点是集成度高,读写速度快,成本低,读写周期短。
时钟周期:计算机在时钟信号的作用下,以节拍方式工作。因此必须有一个时钟发生电路,输入微处理器的时钟信号的周期称为时钟周期。
机器周期:机器完成一个动作所需的时间称为机器周期,一般由一个或一个以上的时钟周期组成。在我们讲述的MCS-51系列单片机中,一个机器周期由12个时钟周期组成。
指令周期:执行一条指令(如“MOV A,#34H”,该指令的含义是将立即数34H传送到微处理器内的累加器A中)所需时间称为指令周期,它由一个到数个机器周期组成。指令周期的长短取决于指令的类型,即指令将要进行的操作步聚及复杂程度。
汇编: 是能完成一定任务的机器指令的集合。
二进制数: 只有0和1两个数码,基数为二。
16进制数: 采用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F等16个数码,其中A-F相应的十进数为10-15,基数是16。
指令: 是计算机所能执行的一种基本操作的描述,是计算机软件的基本单元。
字节:8位二进制数组成一个字节,在存储器中以字节为单位存储信息。
字:2个字节组成一个字。
双字:2个字组成一个双字。
补码:机器数可用不同的码制来表示,补码表示法是最常用的一种,正数采用符号-绝对值表示,即数的最高有效位为0,数的其余部分则表示数的绝对值;负数的表示要麻烦一些,先写出与该负数相对应的正数的补码表示,然后将其按位求反,最后在末位加1,就可以得到该负数的补码表示了。
段地址:8086CPU将1MB的存储器空间分成许多逻辑段,每个段最大限制为64KB,段地址就是逻辑段在主存中的起始位置。为了能用16位寄存器表示段地址,8086规定段地址必须是模16地址,即为xxxx0H形式,省略低4位0,段地址就可以用16位数据表示,它通常被保存在16位的段寄存器中。
偏移地址:存单元距离段起始位置的偏移量简称偏移地址,由于限定每段不超过64KB,所以偏移地址也可以用16位数据表示。
物理地址:在1M字节的存储器里,每一个存储单元都有一个唯一的20位地址,称为该存储单元的物理地址,把段地址左移4位再加上偏移地址就形成物理地址。
代码段:程序员在编制程序时要把存储器划分成段,代码段用来存放程序的指令序列,代码段的段地址存放在CS中,指令指针寄存器IP指示代码段中指令的偏移地址,处理器利用CS:IP取得下一条要执行的指令。
数据段:数据段存放当前运行程序所用的数据,数据段的段地址存放在DS中。
附加段:附加段是附加的数据段,也用于数据的保存,另外,串操作指令将附加段作为其目的操作数的存放区域。附加段的段地址存放在ES中。
堆栈段:堆栈段是堆栈所在的主存区域,堆栈段的段地址存放在SS中,堆栈指针寄存器SP指示堆栈栈顶的偏移地址,处理器利用SS:SP操作堆栈中的数据。
堆栈:堆栈是一个"后进先出"的主存区域,位于堆栈段中,使用SS段寄存器记录其段地址。它只有一个出入口,即当前栈顶,栈顶是地址较小的一端(低端),它用堆栈指针寄存器SP指定。堆栈有两种以字为单位的基本操作,对应两条基本指令:进栈指令PUSH和出栈指令POP。
伪指令:汇编语言程序的语句除指令外还包括伪指令和宏指令,伪指令又称为伪操作,它不象机器指令那样是在程序运行期间由计算机来执行的,它是在汇编程序对源程序汇编期间由汇编程序处理的操作,完成诸如数据定义、分配存储区、指示程序结束等功能。
宏指令:宏是源程序中一段有独立功能的程序代码,它只需要在源程序中定义一次,就可以多次调用,调用时只需要用一个宏指令语句就可以了。宏指令是用户自定义的指令,在编程时将多次使用的功能用一条宏指令来代替。
子程序:子程序又称为过程,它相当于高级语言中的过程和函数。在一个程序的不同部分,往往要用到类似的程序段,这些程序段的功能和结构形式都相同,只是某些变量的赋值不同,此时就可以把这些程序段写成子程序形式,以便需要时可以调用它;某些常用的特定功能的程序段也可编制成子程序的形式供用户使用。
中断:中断是一种使CPU中止正在执行的程序而转去处理特殊事件的操作,这些引起中断的事件称为中断源,它们可能是来自外设的输入输出请求,也可能是计算机的一些异常事故或其它内部原因。
中断处理程序:当中断发生时,处理器中止当前正在运行的程序,而转到处理特殊事件的程序段中去执行,这种处理中断的子程序就是中断处理程序,又称为中断服务程序。中断处理程序的入口地址被安排在中断向量表中。
BIOS中断:在存储器系统中,从地址0FE000H开始的8K ROM中装有BIOS(Basic Input/Output System)例行程序。驻留在ROM中的基本输入输出程序BIOS提供了系统加电自检、引导装入、主要I/O设备的处理程序以及接口控制等功能模块来处理所有的系统中断。BIOS中断给程序员编程带来很大方便,程序员不必了解硬件I/O接口的特性,可直接用指令设置参数,然后中断调用BIOS中的程序。
暂存器: 用来暂存由数据总线或通用寄存器送来的操作数,并把它作为另一个操作数。
中断: 中断是单片机实时地处理内部或外部事件的一种内部机制。当某种内部或外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,继续执行下去。
掉电保护: 指在正常供电电源掉电时,迅速用备用直流电源供电,以保证在一段时间内信息不会丢失,当主电源恢复供电时,又自动切换为主电源供电。
寄存器寻址: 操作数在寄存器中,由指令操作码中的rrr三位的值和PSW中RS1及RS0的状态,选中某个工作寄存器区的某个寄存器,然后进行相应的指令操作。
波特率: 即每秒钟传送二进制数的位数, 波特率越高,数据传输的速度越快。
D/A转换: 即将二进制数量转换成与其量值成正比的电流信号或电压信号。
A/D转换: 即将模拟量转换成相应的数字量,然而送计算机处理。
串行方式: 指数据的各位分时传送,只需一条数据线,外加一条公共信号地线和若干条控制信号线。
并行方式: 指数据的各位同时传送,每一条数据都需要一条传输线。
伪指令: 用于告诉汇编程序如何进行汇编的指令,它既不控制机器的操作也不被汇编成机器代码,只能为汇编程序所识别并指导汇编如何进行。
SLEEP MODI 睡觉模式: 保证程序内部运行,但与外部的传输等动作已停止的一种运行模式。
linking 连接: 把编译后生成的 *.obj 文件与其它 *.obj文件合并成机器能识别的机器文件。
I2C:输入与输出共用一条传输线,而时钟由另一条线控制的一种串行传输方式。
SFR 特殊功能寄存器区: 8051 把 CPU 中的专用寄存器、并行端口锁存器、串行口与定时器/计数器内的控制寄存器集中安排到一个区域,离散地分布在地址从 80H 到 FFH 范围内,这个区域称为特殊功能寄存器区 SFR。
常用逻辑电路
在逻辑电路中,输入和输出只有两种状态,即高电平和低电平。通常以逻辑“1”和“0”表示电平高低。
1、与门
是一个能够实现逻辑乘运算的、多端输入、单端输出的逻辑电路。
逻辑解释:
即如右边图所示,当开关A与B当中只有全部闭合(即为高电平1)时,才会有输出(即灯泡才会亮)所以在与门电路中,只有输入的全部条件为高电平“1”时输会有输出。
语言表达为:“有0出0,全1出1”
2、或门
是一个能够实现逻辑加运算的、多端输入、单端输出的逻辑电路。
逻辑解释:
即如右边图所示,当开关A与B当中只要有一个开关闭合(即为高电平1)时,就会有输出(即灯泡才会亮)所以在或门电路中,只要输入的为高电平“1”就会有输出。
语言表达为:“有1出1,全0出0”。
3、非门
是一个能够实现逻辑非运算的、单端输入、单端输出的逻辑电路。非就是反,就是否定,也就是输入与输出的状态总是相反。
逻辑解释:
如右边图所示,当开关K断开时灯亮,开关闭合时灯灭。如以开关断开为灯亮,开关接通为灭为结果,则开关K与灯泡的因果关系为非逻辑关系。
语言表达为:“有0出1,有1出0”。
复合逻辑门电路
1、与非门
将一个与门与一个非门联接起来就构成了一个与非门。
根据与门和非门的逻辑功能,可以列出与非门逻辑关系真值表。其逻辑功能的特点是:“当输入全为1,输出为0;只要输入有0,输出就为1”。
真值表如下:
2、或非门
将一个或门与一个非门联接起来就构成了一个或非门。
根据或门和非门的逻辑功能,可以列出与非门逻辑关系真值表。其逻辑功能的特点是:“当输入全为0,输出为1;只要输入有1,输出就为0”。
真值表如下:
3、异或门
异或门只有两个输入端和一个输出端。
其逻辑功能的特点是:“当两个输入端一个为0,另一个为1时,当两个输入端均为1或均为0时,输出为0”。
真值表如下:
异或门的作用是:把两路信号进行比较,判断是否相同。当两路输入信号不同,即一个为高电平,一个为低电平时,输出为高电平。反之当两个输出端信号相同时,即为高电平或低电平时,输出为低电平”。
触发器
触发器是计算机记忆装置的基本单元,它具有把以前的输入‘记忆’下来的功能,一个触发器能储存一位二进制代码。下面我们简单的来介绍计算机中常用的几中触发器。
1
R-S触发器
R-S触发器的逻辑符号如下图所示,它有两个输入端,两个输出端。其中,S为置位信号输入端,R为复位信号输入端;Q和Q非为输出端。规定Q为高、Q非为低时,该触发器为1状态;反之为0状态。其真值表如下。
2
D触发器
D触发器又称数据触发器,它的逻辑符号如下图所示,R、S分别为强制置0、置1端,触发器的状态是由时钟脉冲CLK上升沿到来时D端的状态决字。当D=1时,触发器为1状态;反之为0状态。其真值表如下
3
J-K触发器
J-K触发器的逻辑符号如下,R、S分别为强制置0、置1端。K为同步置0输入端,J为同步置1输入端。触发器的状态是由时钟脉冲CLK下降沿到来时J、K端的状态决定,其真值表如下
J-K触发器的逻辑功能比较全面,因此在各种寄存器、计算器、逻辑控制等方面应用最为广泛。但在某些情况,如二进制计数、移位、累加等,多用D触发器。由于D触发器线路简章,所以大量应用于移位寄存器等方面。
寄存器
寄存器是由触发器组成的,一个触发器是一个一位寄存器。多个触发器就可以组成一个多位的寄存器。由于寄存器在计算机中的作用不同,从而被命名不同,常用的有缓冲寄存器、移位寄存器、计数器等。下面我们就简单的来介绍下这些寄存器的电路结构及工作原理。
1
缓冲寄存器
它是用来暂存某个数据,以便在适当的时间节拍和给定的计算步骤将数据输入或输出到其它记忆单元中去,下图是一个并行输入、并行输出的4位缓冲器的电路原理图,它由4个D触发器组成。
启动时,先在清零端加清零脉冲,把各触发器置0,即Q端为0。然后,把数据加到触发器的D输入端,在CLK时钟信号作用下,输入端的信息就保存在各触发器中(D0~D3)。
2
移位寄存器
移位寄存器能将所储存的数据逐位向左或向右移动,以达到计算机运行过程中所需的功能,请看下图
启动时,先在清零端加清零脉冲,使触发器输出置0。然后,第一个数据D0加到触发器1的串行输入端,在第一个CLK脉冲的上升沿Q0=Q0,Q1=Q2。Q3=Q0。其后,第二个数据D1加到串行输入端,在第二个CLK脉冲到达时,Q0=Q1,Q1=Q0,Q2=Q3=0。以此类推,当第四个CLK来到之后,各输出端分别是Q0=Q3,Q1=Q2,Q2=Q1,Q3=Q0。输出数据可用串行的形式取出,也可用并行开式取出。
3
计数器
计数器也是由若干个触发器组成的寄存器,它的特点是能够把存款在其中的数据加1或减1。计数器的种类也很多,有行波计数器、同步计数器等,下面我们就以行波计数器向大家作个介绍。
下图就是一个由J-K触发器组成的行波计数器的工作原理图。这种计数器的特点是:第一个时钟脉冲促使其最低有效位加1,使其由0变1;第二个时钟脉冲促使最低有效位由1变0。同时推动第二位,使其由0变1;同理,第二位由1变0时又去推动第三位,使其由0变1,这样有如水波前进一样逐位进位下去。
上图中各位的J、K输入端都是悬浮的,这相当于J、K输入端都是置1的状态,即各位都处于准备翻转的状态。只要时钟脉冲边沿一到,最右边的触发器就会翻转,即Q由0转为1或由1转为0。
上图中的这个计数器是4位的,因此可以计0~15的数。如果要计更多的数,需要增加位数,如8位计数器可计0~255的数,16位则可计0~65535的数。
4
三态门(三态缓冲器)
为减少信息传输线的数目,大多数计算机中的信息传输线均采用总线形式,即凡要传输的同类信息都走同一组传输线,且信息是分时传送的。在计算机中一般有三组总线,即数据总线、地址总线和控制总线。为防止信息相互干扰,要求凡挂在总线上的寄存器或存储器等,它的传输端不仅能呈现0、1两个信息状态,而且还应能呈现第三种状态——高阻抗状态(又称高阻状态),即此时好像它们的输出被断开,对总线状态不起作用,此时总线可由其它器件占用。三态门即可实现上述的功能,它除具有输入输出端之外,还有一控制端,请看下图。
当控制端E=1时,输出=输入,此时总线由该器件驱动,总线上的数据由输入数据决定;
当控制端E=0时,输出端呈高阻抗状态,该器件对总线不起作用。当寄存器输出端接至三态门,再由三态门输出端与总线连接起来,就构成三态输出的级冲寄存器。如下图所示就是一个4位的三态输出缓冲寄存器。由于这里采用的是单向三态门,所以数据只能从寄存器输出到数据总线。如果要实现双向传送,则要用双向三态门。
到底什么是嵌入式?什么是单片机?
大家好,我是小枣君。
凡是从事计算机或电子信息相关领域工作的童鞋,一定都听说过嵌入式 和单片机 吧?
很多人应该知道,这两个名词和硬件系统有着非常密切的关系。一听到它们,就容易让人联想到插满芯片和针脚的电路板:
但是,如果要问具体什么是嵌入式,什么是单片机,它们之间究竟有什么区别,我相信大部分人并不能解释清楚。
今天,小枣君就给大家做一个入门科普,揭秘上述问题的答案。与此同时,我还会给大家介绍一下,我们经常听说的51、STM32,究竟是什么。
什么是嵌入式
首先,我们来看看什么是嵌入式。
嵌入式,一般是指嵌入式系统,英文叫作:embedded system。嵌入式开发,其实就是对嵌入式系统的开发。
IEEE(美国电气和电子工程师协会)对嵌入式系统的定义是:“用于控制、监视或者辅助操作机器和设备的装置”。
国内学术界的定义更为具体一些,也更容易理解:
嵌入式系统,是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
以应用为中心,说明嵌入式系统是有明确实际用途的。以计算机技术为基础,说明它其实就是一种特殊的计算机。软硬件可裁剪,说明它有很强的灵活性和可定制能力。
专用计算机系统,“专用”所对应的,就是“通用”。我们常用的个人PC、笔记本电脑、数据中心服务器,可以用于多种用途,就是“通用计算机系统”。
嵌入式系统究竟具体应用于哪些“专用”方向呢?
举例如下:
个人通信与娱乐系统: 手机、数码相机、音乐播放器、可穿戴电子产品、PSP游戏机家电类产品: 数字电视、扫地机器人、智能家电办公自动化: 打印机,复印机、传真机医疗电子类产品: 生化分析仪、血液分析仪、CT网络通信类产品: 通信类交换设备、网络设备 (交换机、路由器、网络安全)汽车电子类产品: 引擎控制、安全系统、汽车导航与娱乐系统工业控制类产品: 工控机、交互式终端 (POS、ATM)、安全监控、数据采集与传输、仪器仪表军事及航天类产品: 无人机、雷达、作战机器人嵌入式系统的应用领域
上述这些领域,都使用了嵌入式系统。这还只是冰山一角。
可以说,嵌入式系统完完全全地包围了我们,时刻影响着我们的工作和生活。
嵌入式系统,既然是一个计算机系统,那么肯定离不开硬件和软件。
一个嵌入式系统的典型架构如下:
注意,最重要的就是嵌入式操作系统和嵌入式微处理器。
从硬件角度来看,嵌入式系统就是以处理器(CPU)为核心,依靠总线(Bus)进行连接的多模块系统:
和个人PC是一样的方式
下面这张图,就是一个嵌入式系统的实物样例:
中间偏左上角,S3C2440,是CPU,中间是RAM,然后还有ROM、网卡、串口、电源等等。可以看出,嵌入式系统麻雀虽小,五脏俱全。
什么是单片机
嵌入式系统的核心,就是嵌入式处理器。嵌入式处理器一般分为以下几种典型类型:
嵌入式微控制器MCU(Micro Control Unit)MCU内部集成ROM/RAM、总线逻辑、定时/计数器、看门狗、I/O、串口、A/D、D/A、FLASH等。典型代表是8051、8096、C8051F等。
嵌入式DSP处理器(Digital Signal Processor)DSP处理器专门用于信号处理,在系统结构和指令算法进行了特殊设计。在数字滤波、FFT、频谱分析中广泛应用。典型代表是TI(德州仪器)公司的TMS320C2000/C5000系列。
嵌入式微处理器MPU(Micro Processor Unit)MPU由通用处理器演变而来,具有较高的性能,拥有丰富的外围部件接口。典型代表是AM186/88、386EX、SC-400、PowerPC、MIPS、ARM系列等。
此外,还有嵌入式片上系统SoC(System on Chip) 和可编程片上系统SoPC(System on a Programmable Chip) 。
我们的单片机,就属于上述的第一种——MCU(嵌入式微控制器)。
我们来详细介绍一下它。
单片机,又称为单片微控制器,英文叫Single-Chip Microcomputer。
它其实就是一种集成电路芯片,是通过超大规模集成电路技术,将CPU、RAM、ROM、输入输出和中断系统、定时器/计数器等功能,塞进一块硅片上,变成一个超小型的计算机。
这么说来,单片机不就是一个嵌入式系统?别急,我们往下看。
“单片机”其实是一种古老的叫法。以前半导体工艺技术不成熟,不同的功能无法做进一个芯片(Chip),所以会有多片机。现在半导体技术早已非常发达,所以不存在多片机。但是,“单片机”的叫法却一直延用至今。
很多高校老师喜欢强调单片机姓“单”,除了指单片机只是一个硅片之外,更多是指单片机的功能单一,它是完成运算、逻辑控制、通信等功能的单一模块。即便它性能再强大,功能依然是单一的。
单片机技术从上世纪70年代末诞生,早期的时候是4位,后来发展为8位,16位,32位。它真正崛起,是在8位时代。8位单片机功能很强,被广泛应用于工业控制、仪器仪表、家电汽车等领域。
我们在研究单片机的时候,经常会听到两个词——51单片机 、STM32 。我来介绍一下它们究竟是什么。
51单片机,其实就是一系列单片机的统称。该系列单片机,兼容Intel 8031指令系统。它们的始祖,是Intel(英特尔)的8004单片机。
注意,51单片机并不全是英特尔公司的产品。包括ATMEL(艾德梅尔)、Philips(飞利浦)、华邦、Dallas(达拉斯)、Siemens(西门子)、STC(国产宏晶)等公司,也有很多产品属于51单片机系列。
ATMEL公司的51单片机,AT89C51
这是一个51单片机的开发板,中间那个芯片才是51单片机
51单片机曾经在很长时间里都是市面上最主流、应用最广泛的单片机,占据大量的市场份额。
51单片机其实放在现在毫无技术优势,是一种很老的技术。之所以它的生命力顽强,除了它曾经很流行之外,还有一个原因,就是英特尔公司彻底开放了51内核的版权。
所以,无论任何单位或个人,都可以毫无顾忌地使用51单片机,不用付费,也不用担心版权风险。
此外,51单片机拥有雄厚的存量基础和群众基础。很多老项目都是用的51单片机,出于成本的考虑,有时候只能继续沿用51单片机的技术进行升级。而且,很多老一辈的工程师,都精通51单片机开发技术。所以,51单片机的生命力得以不断延续。
再来看看STM32。
STM32,是意法半导体公司 推出的基于ARM Cortex-M内核的通用型单片机。
STM32单片机
意法半导体(STMicroelectronics)是世界最大的半导体公司之一,于1987年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics 将公司名称改为意法半导体有限公司。
意法半导体LOGO
ARM公司以前小枣君给大家介绍过。它是目前全球做芯片设计最厉害的公司之一,利用手机芯片的快速发展而崛起,占有物联网市场极大的份额。
在单片机领域,ARM的Cortex-M内核拥有压倒性的优势,已经成为绝对的主流。很多半导体公司都放弃了自己原先的架构,转做ARM架构的单片机。
STM32单片机开发板
STM32的硬件配置可以满足大部分的物联网开发需求,开发工具和相关的文档资料齐全,已经成为目前单片机学习的首选对象。
嵌入式和单片机的区别
说到这里,我们来看看,嵌入式和单片机的区别到底是什么。
从前文的介绍来看,嵌入式系统是一个大类,单片机是其中一个重要的子类。嵌入式系统像是一个完整的计算机,而单片机更像是一个没有外设的计算机。
以前单片机包括的东西并不算多,两者的硬件区别较为明显。但是,随着半导体技术的突飞猛进,现在各种硬件功能都能被做进单片机之中。所以,嵌入式系统和单片机之间的硬件区别越来越小,分界线也越来越模糊。
于是,人们倾向于在软件上进行区分。
从软件上,行业里经常把芯片中不带MMU(memory management unit,内存管理单元)从而不支持虚拟地址,只能裸奔或运行RTOS(实时操作系统,例如ucos、华为LiteOS、RT-Thread、freertos等)的system,叫做单片机(如STM32、NXP LPC系列、NXP imxRT1052系列等)。而把芯片自带MMU可以支持虚拟地址,能够跑Linux、Vxworks、WinCE、Android这样的“高级”操作系统的system,叫做嵌入式。
在某些时候,单片机本身已经足够强大,可以作为嵌入式系统使用。它的成本更低,开发和维护的难度相对较小,尤其是针对一些针对性更强的应用。而嵌入式系统理论上性能更强,应用更广泛,但复杂度高,开发难度大。
嵌入式和单片机的学习价值
最后我们来说一说嵌入式和单片机的学习价值,到底有没有必要学习嵌入式和单片机。
最近这些年,有一句话被广泛传播,那就是——“软件为王”。人们普遍认为软件知识的价值远远大于硬件,而学习软件,从事软件方向,会更容易找到工作,找到更高收入、更有前途的工作。
而嵌入式和单片机,往往被归为“硬件”方向,遭人“嫌弃”。加上嵌入式和单片机的学习难度较大,学习周期很长,需要漫长的“煎熬”,所以越来越多的人放弃这条路。
小枣君认为这种想法是不正确的。
首先,嵌入式和单片机并不是纯“硬件”类方向。前面我也说了,它们是软件和硬件的紧密结合。
如果你想学好嵌入式和单片机,只懂数字电路和微机接口这样的硬件知识是不够的,你更需要学习的,是汇编、C/C++语言、数据结构和算法知识。
拥有软硬结合的能力,远远比单纯掌握某种程序开发语言更有价值。
其次,嵌入式和单片机拥有广泛的应用场景,在各个领域都有项目需求和人才需求。
根据权威部门统计,目前我们国家每年的嵌入式人才缺口高达50万。尤其是嵌入式软件开发,是未来几年最热门和最受欢迎的职业之一。具有10年工作经验的高级嵌入式工程师,年薪可以达到30-50万元左右。
而且我们国家现在正在大力发展芯片产业,也会带动嵌入式人才的就业,提升待遇。
随着5G的全面启动,整个社会正在向“万物互联”的方向发展。物联网技术也将迎来前所未有的历史机遇。嵌入式和单片机技术是物联网技术的重要组成部分,也将进入发展的快车道。
因此,尽管学习过程会比较艰辛,小枣君仍然建议有志青年关注这一赛道。技术越难,过程越苦,越有利于构建竞争壁垒。到了后期,个人价值可以得到进一步的体现。
好了,关于嵌入式和单片机的内容,小枣君今天就介绍到这里。
谢谢大家啦!
相关问答
什么是MCU?MCU的英文全称是multicontrolunit,多点控制单元。顾名思义,多点指的是三点及三点以上。如果参加会议的只有两个点,也就是点对点,那么不需要mcu。如果参与视...
如何做才能精通 单片机 ?1、熟悉单片机的原理,结构;2、学好数电,模电,为设计电路打好基础;3、熟练使用C语言,多学习别人的程序;4、对操作系统原理有一定的了解;5...学习单片机很...
为什么修车的把故障存储芯片叫做电脑?最多也就是个 单片机 呀?其实单片机的俗称就是“微电脑”。我们可以从单片机的英文全称来看一下,SingleChipMicrocomputer,翻译过来就是“单片微型计算机”。所以说,修车的把这个芯...
uack是什么?其中Heatgear和Coldgear系列装备是ua品牌革命性创新面料设计的,专门针对不同温度、气候环境条件下的装备,让运动员在极端的环境里依然展现最佳状态。Footwear...
物联网技术到底是什么技术?物联网工程到底是学什么的啊?物联网技术近几年火了起来,其实物联网最早可以追溯到1990年施乐的网络可乐贩卖机。很多大学也开设了物联网专业,那我们今天大致了解一下物联网。起源1995年比...
流控信号 名词解释 ?流控信号是指数据在两个串口之间传输时,常常会出现丢失数据的现象,或者两台计算机的处理速度不同。如台式机与单片机之间的通信,接收端数据缓冲区已满,则此...
TCP/IP协议到底在讲什么? 申请方TCP/IP讲的就是你访问一个网站,收发邮件,从FTP服务器下载上传文件,QQ聊天是怎么通过计算机和电信网络实现的。在TCP/IP模型中,HTTP,SMTP,FTP和QQ内...
电气自动化基础知识有哪些 - 小红薯36C4CC62 的回答 - 懂得不管学什么基础最重要。模拟电路与数字电路简称(模电、数电),前者是针对信号的处理与分析,后者是对数字逻辑与运算。电机与电气这是主专业,看课程名...
什么是“共享农业”?谢谢邀请!我是春光秋月,欢迎大家关注!什么是共享农业?共享农业其实对我们并不陌生。大家都能知道“共享单车”、“共享充电宝”,他们的出现为我们的生产生...
加密狗的原理是什么? - 懂得加密狗的工作原理:加密狗通过在软件执行过程中和加密狗交换数据来实现加密的。加密狗内置单片机电路(也称CPU),使得加密狗具有判断、分析的处理能力...