单片机原理及应用
上QQ阅读APP看书,第一时间看更新

1.2 单片机使用中的常用术语

课件 单片机常用术语

视频 单片机常用术语

1.存储器

存储器是计算机系统中的记忆设备,用来存放程序和数据空间。计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都要保存在存储器中。有了存储器,计算机才有记忆功能,才能保证准确高效运行。

1)位和字节

存储器由大量的存储单元构成,每个存储单元都有0和1两种状态,因此可以存放1个二进制数据,即1位(bit)数据。位是存储器最小的存储单位,每1个存储单元就是1个位。

存储器中的最基本的存储单位是字节,1字节(Byte)由8个二进制位(bit)组成。

2)存储器地址和工作原理

存储器的结构如图1-5(a)所示,感觉上就像中药店内存放中药的一个个的小抽屉。每1个小抽屉里又分成八个小格子,这些小格子就是用来存放数据的空间。通过与之相连的导线中电流的变化,可以完成数据的存取。存储器中每个小抽屉可以存放一个数据,称为一个“存储单位”,即1字节,每一个小格子称为一个“存储单元”,即1位。

比如,想要放进一个十进制数据14(二进制表示为00010100),只需要把对应抽屉的第三号和第五号小格子里存满电荷,而将其他小格子里的电荷放掉(清零)就行了,如图1-5(b)所示。

图1-5 存储器的存储结构示意图

但是一个存储器由很多存储单元组成,数据线(D0~D7)是并联的,在放入电荷(数据)的时候,会将电荷(数据)放入所有的单元中,而释放电荷(数据)的时候,又会把每个单元中的电荷都放掉,这样的话,不管存储器有多少个单元,都只能放同一个数据,显然这不是我们希望的结果。因此,要为每个单元再增加一条控制线,当要把数据放进某个单元时,就通过控制线,发一个打开信号给这个单元,将这个存储单元的开关打开,数据就能顺利写入了,而其他单元控制线上没有打开信号,即“抽屉”没打开,所以不会受到影响。如此,就解决了多个不同数据存储和读取的问题。

由上面的分析可知,存储器中不同的存储单元要由不同的控制线来控制开/关状态,因此需要为每一个存储单元都单独设定一条控制线。比如27C512存储器芯片有65536个存储单元,就需要65536根控制线。但是这些线又不能都引出到集成电路外部,只能有少量的外接引脚引出。为了解决这个问题,通常在存储器内部带有译码器,如图1-5(a)所示。译码器的输出端即为通向各个存储单元的控制线,译码器的输入端通过集成电路的外部引脚接入,称为地址线。而每一根地址线都可以有0和1两种状态,n条地址线就可以得出2n种状态。那么要顺利访问到27C512芯片中的每一个存储单元,显然需要16根地址线(216=65536)就可以了。将这些不同的输入线组合值分配给每一个存储单元,作为该单元的唯一标识编号,这个编号就称为该存储单元的地址。

3)存储器体系结构

51系列单片机中主要有两类存储器:一类是ROM又称程序存储器,用来存放用户编写的程序代码;另一类是RAM又称数据存储器,用来存放程序运行中产生的临时数据以及用作特殊功能寄存器使用。这两类存储器在单片机中访问方式的不同,形成了两种不同的体系结构,一种是普林斯顿结构,另一种是哈佛结构,如图1-6所示。

图1-6 普林斯顿结构与哈佛结构

普林斯顿结构如图1-6(a)所示,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。即用来存储程序和数据的物理存储器是在同一个物理存储器空间中,因此程序指令和数据的宽度相同。采用普林斯顿结构的计算机,结构简单,编程灵活,因此常见的通用计算机(如X86系列)普遍采用这种形式。

哈佛结构如图1-6(b)所示,是一种将程序指令存储、数据存储分开来进行的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据具有不同的数据宽度,增加了系统处理的灵活性。

采用哈佛结构的微处理器通常具有较高的执行效率。主要源于程序指令和数据指令分开组织、存储,使得系统在执行前一条指令时,可以预先读取下一条指令。目前使用哈佛结构的中央处理器和微控制器有很多,51系列单片机就采用哈佛结构。

4)51系列单片机的存储器配置

从物理上看,51系列单片机有4个存储器:内部程序存储器、外部程序存储器、内部数据存储器和外部数据存储器。从逻辑上看,51系列单片机只有3个存储器:芯片内外部统一的程序存储器、内部数据存储器、外部数据存储器。51系列单片机的存储器配置如图1-7所示。

内外部统一的程序存储器由引脚来区分,当引脚为低电平时,表示此时操作的是外部程序存储空间;当引脚为高电平时,表示使用的是内部程序存储空间。由于8031/8032单片机本身没有内部程序存储空间,所以它的引脚必须接低电平。即使芯片内部有ROM,也可以通过调整,只使用外部程序存储空间。尤其是在产品开发阶段,便于修改程序。程序存储器的地址为0000H~FFFFH,共64KB,单片机对于内、外部ROM采用统一编址并使用同样时序访问。如果内部ROM为4KB,程序执行访问超过0FFFH时,会自动转向外部ROM;反之,当访问低于1000H时,也会自动转回内部ROM。

图1-7 51系列单片机的存储器配置

内部数据存储器即内部RAM,最大空间为256B(8031/8051)或384B(8052/8032),采用8位地址为00H~FFH。外部数据存储器即外部RAM,采用16位地址,其地址空间为0000H~FFFFH,共64KB。

5)锁存器与特殊功能寄存器

所谓锁存器实际也是一种对脉冲电平敏感的存储单元电路,它的输出端状态不会随输入端的状态变化而变化,只有当锁存信号有效时输入的状态才被保存到输出,直到下一个锁存信号到来时才改变。锁存器虽然也是一种存储单元,但它不属于ROM也不属于RAM,典型的锁存器逻辑电路是D触发器电路。

锁存器的作用除了把信号暂存以维持某种电平状态即缓存数据,还能解决高速的控制与慢速外设不同步问题,以及I/O口既能输出也能输入的问题。因此对51系列单片机并行I/O口的读写只要将数据送入对应I/O口的锁存器即可。

对于定时/计数器、串行I/O口等操作是通过对特殊功能寄存器的访问来实现的。特殊功能寄存器(SFR)是51系列单片机中CPU各外围功能部件所对应的寄存器,它们起着专用寄存器的作用,用来设置片内电路的运行方式,记录电路的运行状态,并表明有关标志等。51单片机共有21个特殊功能寄存器(SFR)。这些特殊功能寄存器属于RAM范畴,位于内部RAM的高128B。从功能上大体可分为两类:一类是与芯片的引脚有关,如P0~P3是映射并行和串行I/O端口的寄存器,对这些寄存器的读/写,可实现从相应I/O端口的输入、输出操作;另一类则作为片内功能的控制使用,见表1-2。

21个特殊功能寄存器不连续地分布在128B的SFR存储空间中,地址空间为80H~FFH。在SFR空间中,包含128个位地址空间,地址也是80H~FFH,但只有83个有效位地址,其中可对11个特殊功能寄存器进行位寻址操作。

表1-2 51系列单片机的特殊功能寄存器

2.时钟电路

时钟电路产生单片机所需要的时钟信号。51系列单片机内部有时钟电路,负责将内部振荡电路产生或外部输入的时间信号进行分频,送往CPU以及其他各功能部件。

51系列单片机内部有一个高增益的反相放大器,其输入端为引脚XTAL1,输出端为引脚XTAL2,用于外接石英晶体振荡器或陶瓷谐振器和微调电容,构成稳定的自激振荡器,其发出的脉冲可直接送入内部的时钟电路,如图1-8(a)所示。

外部接入方式常用于多片单片机组成的系统中,以便各单元之间的时钟信号同步运行。

对于HMOS型单片机(如8051),可用来输入外部脉冲信号,如图1-8(b)所示,XTAL1接地,XTAL2接外部时钟,由于XTAL2的逻辑电平与TTL电平不兼容,所以还要接一个上拉电阻。

对于CHMOS型单片机(如80C51),外部时钟要由XTAL1引入,而XTAL2引脚应悬空,如图1-8(c)所示。

图1-8 MCS-51振荡电路及外部时钟源的连接

图1-8中部分元件的作用及推荐取值如下:

①电容C1、C2对频率具有微调作用,电容一般取值10~30pF,典型值为30pF;

②晶振:选择范围为1.2~12MHz,典型值为6MHz和12MHz。(一般情况下,选用12MHz的石英晶体,而在串行通信情况下通常选用11.0592MHz。)

3.时序

时序就是CPU执行指令时所需要的控制信号的时间顺序。时序中使用的定时单位有大有小,51系列单片机的时序定时单位有4个,分别是节拍、状态、机器周期和指令周期,如图1-9所示。

图1-9 MCS-51单片机的时序单位

1)节拍

一个振荡周期(时钟周期)就是一个节拍,其值为外接晶振的频率或外部输入的时钟频率的倒数。例如,外接晶振的频率为12MHz,则其1个节拍(振荡周期、时钟周期)=

2)状态

经过内部二分频触发器对振荡频率分频产生的连续两个节拍称为一个状态(或状态周期)。一个状态的前半周期称为P1,后半周期称为P2。

3)机器周期

一个机器周期包括6个状态,依次可以记为S1~S6。而每个状态又包括2个节拍,每个节拍又是一个振荡周期,所以每个机器周期等于12个振荡周期(节拍),或者说是机器周期是振荡频率的12分频。

4)指令周期

指令周期是指执行一条指令所需要的时间。根据指令不同,51系列单片机的指令周期可以包括1、2或4个机器周期。

单片机的基本操作周期为机器周期。一个机器周期分为6个状态,每个状态由2个脉冲组成,也就是所谓的两相(前一个脉冲P1称为相位1,后一个脉冲P2称为相位2)。因此一个机器周期共有12个振荡脉冲。再根据时钟频率计算出一个机器周期的时长,就可以得出指令周期的时长。

比如某单片机的振荡频率为12MHz时,一条指令的执行时长最短为一个指令周期,即一个机器周期,计算得出,最长的指令周期为4个机器周期,计算得出

4.单片机的复位

单片机控制系统设计完成交付使用后,第一步就是上电开始工作。为了使系统能从一个确定的状态开始工作,必须进行内部的复位操作,然后再进入程序执行方式。或者是在系统运行过程当中,因为有外部干扰或者是其他因素导致不正常的工作状态时,也需要通过手动方式对系统进行复位。

单片机的复位是通过对RST引脚提供一个持续2个机器周期以上的高电平信号来触发的。51单片机的上电复位电路原理如图1-10所示。

图1-10 51单片机的上电复位电路原理

分析图中的复位电路,可以看到:

(1)上电复位:上电瞬间,电容充电电流最大,电容相当于短路,RST端自然是高电平,这一过程持续的时长会超过2个机器周期,因此单片机进行自动复位;当电容两端的电压达到电源电压时,电容充电电流为零,电容相当于开路,于是RST端为低电平,单片机程序开始正常运行。

(2)手动复位:当按下复位按键时,此时RST直接与VCC相连,RST端为高电平,系统开始复位,与此同时电路中的电解电容被短路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,重复上电复位过程,充电完成后,电容相当于开路,RST为低电平,正常工作。

5.最小系统

单片机最小系统,也可称为最小应用系统,是指用最少的元件组成的可以工作的单片机系统。对51系列单片机来说,最小系统一般主要由电源、复位、振荡电路以及扩展部分等部分组成。单片机最小系统如图1-11所示。

图1-11 单片机最小系统

6.单片机中常用的逻辑电平

单片机是一种数字集成芯片。数字电路中通常只有两种电平:高电平和低电平。单片机的输入和输出需要使用不同的逻辑电平信号作为标识。

常用的逻辑电平有TTL、CMOS、RS-232-C等。其中,TTL和CMOS的逻辑电平按典型电压可分为4类:5V系列、3.3V系列、2.5V系列和1.8V系列。5V TTL和5V CMOS是通用的逻辑电平。3.3V及以下的逻辑电平称为低电压逻辑电平。

TTL电平在单片机中使用最多,这是因为数据表示通常采用二进制,TTL电平中+5V等价于逻辑1,0V等价于逻辑0,这被称为TTL(晶体管-晶体管逻辑电平)信号系统,是计算机处理器控制的设备内部各部分之间通信的标准技术。

计算机串口通信使用的是RS-232-C电平,RS-232-C是负逻辑电平,即高电平为-12V,低电平为+12V。因此,当计算机与单片机之间通过串口通信时,要进行电平转换。