《单片机基础第3版第11章优秀PPT.ppt》由会员分享,可在线阅读,更多相关《单片机基础第3版第11章优秀PPT.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第1111章章 8 8位单片机的发展位单片机的发展11.1 80C51单片机的发展11.2 从8C552看8位单片机功能的增加11.3 闪速存储器及其在单片机中的应用11.1 80C51单片机的发展11.1.1 在MCS-51基础上发展起来的80C51MCS-51是单片机系列的名称,其中包含有多种芯片型号;而80C51则既是系列名称又是其中一个具体芯片的型号。早期的80C51系列芯片型号与MCS-51完全对应。它们都有两个子系列,即基本型51子系列和增加型52子系列。80C51是对MCS-51的改进,具体表现在所运用的半导体集成电路工艺上。MCS-51接受的是HMOS工艺,即高密度短沟道MO
2、S半导体集成工艺,而80C51则接受CHMOS工艺,即互补金属氧化物的HMOS半导体集成工艺。集成工艺的改进,使得80C51具有抗干扰实力强和低功耗等明显优势。11.1.2 80C51的衍生芯片1.功能简化芯片尽管80C51的软硬件资源配置并不高,但对很多简洁应用仍有富余。为实现资源的最优化配置且降低成本,一些功能和结构简化的简化型芯片应运而生。硬件方面的简化内容涉及片内存储器、定时器、并行口或串行口等。例如,一些单片机应用只须要串行口而不用并行口,因此,就可以把并行I/O内容(口电路和口线引脚)去掉,从而出现了没有并行总线的所谓非总线型芯片。除简化硬件之外,也有简化指令系统的简化型芯片。例如
3、,Microchip公司生产的RISC(精简指令集计算机)型系列芯片,就削减了指令条数,只保留一些常用的基本指令。2.功能增加芯片为满足困难限制应用的须要,出现了很多功能增加的8位单片机芯片,所增加的内容包括增加定时器数目,增加中断类型,以及增加其他功能部件等。例如,Philips公司的80C550和87C550增加了监视定时器WDT和A/D,80C552和87C552增加了I2C、WDT、A/D和脉宽调制器PWM等。此外,功能增加还表现在速度上,例如,SST公司生产的芯片SST89E/V58RD2,其晶振频率可高达40 MHz。3.专用型芯片可把单片机芯片划分为通用型和专用型两类。通用型芯片
4、的软硬件资源相对比较丰富,性能全面而且适应性强,能满足普遍性限制应用的须要。但通用型芯片存在二次开发问题,只有通过用户层面的二次开发,才能构建成一个有针对性的好用限制系统。然而在单片机的限制应用中,更多的还是特地针对某一种特定产品或特定须要的专用型芯片。这些芯片在设计时已经对系统结构的最简化、软硬件资源利用的最优化、牢靠性和成本的最佳化等方面都作了通盘的考虑和论证,所以专用型芯片具有特别明显的性能和价格优势,而且运用起来也特别便利。11.2 从8C552看8位单片机功能的增加11.2.1 8C552的硬件结构8C552芯片的硬件结构是在80C51内核的基础上再增加一些功能部件构成的,现以83C
5、552芯片为例进行说明,硬件结构框图如下图所示。83C552芯片硬件结构框图在83C552芯片的硬件资源中,中心处理器CPU、256个寄存器(RAM)单元、8 KB掩膜ROM、两个16位的定时器/计数器(T0和T1)、全双工异步串行口UART以及外部可扩展64 KB存储空间等,都与80C51系列的83C51芯片一样。新的功能部件包括:附加定时器T2,捕获输入/定时输出逻辑,A/D转换器,两路8位分频的脉宽调制器PWM,监视定时器WDT,15个中断源的中断结构,以及I2C总线接口电路等。此外,83C552还增加了两个8位并行口P4和P5,并行口总数达到6个。1.8C552的基本组成2.8C552
6、的专用寄存器80C51只有21个专用寄存器SFR,而到了8C552,随着功能的增加,寄存器的数目也增加了很多,达到56个,3.8C552的A/D转换器出于限制应用的须要,8C552芯片内置有A/D转换器,它由8路模拟输入多路开关、10位线性逐次靠近A/D转换器等构成。模拟电压的波动范围是0+5 V,一次转换需50个机器周期,当振荡频率为12 MHz时,转换时间为50 s。在运用A/D转换器时,要接受稳定度高的电源作参考电源。供A/D转换运用的寄存器有转换结果高位寄存器ADCH和转换限制寄存器ADCON。8C552为10位A/D转换,转换结果的高8位在ADCH中,低2位在ADCON中。4.8C5
7、52的中断结构8C552的中断源增加到15个,各中断名称、符号及向量略。中断系统结构如下图。由于中断源增多,所以中断允许寄存器和中断优先级限制寄存器都增加到两个。对于中断允许寄存器,把80C51原有的改称为IE0,而把新增加的称为IE1。对于中断优先级限制寄存器,把80C51原有的改称为IP0,而把新增加的称为IP1。硬件查询依次为:外部中断0(X0)定时器0中断(T0)外部中断1(X1)定时器1中断(T1)串行中断(S0)I2C中断(S1)捕获0中断(CT0)捕获1中断(CT1)捕获2中断(CT2)捕获3中断(CT3)A/D中断(AD)比较0中断(CM0)比较1中断(CM1)比较2中断(CM
8、2)定时器2中断(T2)。8C552中断系统结构11.2.2 事务捕获与事务定时输出1.事务捕获与事务定时输出逻辑8C552的事务捕获与事务定时输出逻辑由一个16位定时器T2、4个16位捕获寄存器和3个16位比较寄存器组成,并有相应的输入和输出引脚协作。其逻辑结构如下图所示。其中,定时器T2是一个16位的加法计数器,由高字节寄存器TMH2和低字节寄存器TML2组成。另外,加在定时器之前有一个预分频器。定时器T2有8位溢出中断和16位溢出中断。8C552事务捕获与事务定时输出逻辑结构2.事务捕获在事务捕获逻辑电路中共有4个只读的16位捕获寄存器,分别为CT3(CTH3CTL3)、CT2(CTH2
9、CTL2)、CT1(CTH1CTL1)和CT0(CTH0CTL0)。4个捕获寄存器可以捕获4个事务,因此,芯片上有4个事务输入引脚CT3I、CT2I、CT1I和CT0I。捕获逻辑电路中还有一个捕获限制寄存器CTCON,用于规定被捕获事务的信号形式等。8C552能捕获的事务形式比较简洁,只有电平的上升跳变和下降跳变。事务捕获逻辑随时对外部事务信号进行检测。事务捕获功能常用于测量脉冲信号,包括脉冲的凹凸电平持续时间,正负跳变发生次数,从而可计算出脉冲的频率、周期和占空比以及脉冲个数等。3.事务定时输出所谓事务定时输出就是按在程序中预先设定的时刻去触发外部事务。8C552定时输出逻辑主要由1个时间比
10、较电路和3个16位的比较寄存器CM2(CMH2CML2)、CM1(CMH1CML1)和CM0(CMH0CML0)组成,表明8C552一次最多可设置3个事务。输出事务的状态由一组电信号组成,信号形式有置位、复位和脉冲触发。事务定时输出有广泛的应用,例如:产生脉冲。通过定时限制引脚电平的变更,就能得到一个脉冲序列,而且脉宽和周期都是可控的。驱动步进电机。步进电机是限制系统中最常用的执行部件,通过对各相线圈电流的依次切换就可以使其步进旋转,而线圈电流的切换可由定时输出实现,用单片机的事务定时输出功能限制其电流的通断即可。11.2.3 监视定时器WDT1.程序运行的监视对单片机应用系统来说,牢靠性是至
11、关重要的。这是因为单片机应用的现场环境通常比较恶劣,极易因受到干扰而出现故障;而一旦出现故障,就有可能导致系统失控,甚至造成极其严峻的后果。为了提高系统的牢靠性,除实行足够的硬件措施外,还应对程序运行进行监视,因为系统牢靠与否最终体现在程序运行上。最常见的程序运行故障是“跑飞”和死循环,对于这些程序运行故障,在刚好发觉的同时,还要能够自动复原,以实现系统自救。常用的方法:插入陷阱程序和设置“看门狗”。(1)插入陷阱程序设置陷阱是一种纯软件的方法。程序跑飞就意味着程序执行依次不正确,为此可在各程序模块间或程序后,插入陷阱程序段。陷阱程序段通常由几条空操作指令和无条件转移指令组成,一旦程序跑飞,就
12、会“落入”陷阱,通过执行陷阱程序使其转入初始化程序或复原处理程序,以复原程序的正常运行。(2)设置“看门狗”所谓“看门狗”(Watch Dog)只是一种监视程序运行的形象化比方。这是一种软硬件结合的监视方法,把其中用来感知程序失控的硬件电路比作“狗”。在程序执行过程中,通过指令不断地给该电路发送脉冲信号(喂狗),以使其维持在一个固定的状态(狗处于安静状态)。当程序失控时,不能在规定时刻“喂狗”,硬件电路的预定状态也就不能维持(狗叫)了。可以用单稳触发器或时基电路构成的单稳电路等作为“狗”,还可以用定时器作为“狗”电路。在程序中每隔一个固定时间对其进行一次赋初值操作,以维持其不溢出状态。2.8C
13、552的监视定时器8C552的监视定时器由8位定时器T3和11位预分频器组成,其中预分频器为计数结构的低位,定时器为其高位。监视定时器的计数脉冲来自芯片内部时钟,每个机器周期进行一次加1计数。监视定时器计数溢出时,能产生有效的复位信号,从而使单片机系统复位,这就是监视定时器的功能。程序应在小于监视周期的时间间隔内,对监视定时器进行一次赋值,以使其不发生溢出。当出现故障程序不能正常运行时,监视定时器就会因不能按时赋值而出现溢出,并将系统复位。1.8C552脉宽调制器的构成8C552具有两路脉宽调制输出,由预分频器(PWMP)、8位加法计数器、两个脉冲宽度寄存器(PWM1、PWM0)、两个比较器及
14、相关逻辑电路等组成,其结构框图如下图所示。脉宽调制器输出的方波脉冲宽度间隔(占空比)是可编程的,其数据通过程序写入PWM1和PWM0中。而重复频率由预分频器PWMP确定。11.2.4 脉宽调制器PWM8C552芯片的PWM结构图 2.PWM方波分析 (1)周期可调脉宽调制器输出的方波脉冲周期(或频率)由预分频器PWMP限制。PWM计数器每一个状态周期进行一次加1,8位计数器最大计数值为255,故脉宽调制器输出的方波脉冲频率fPWM的计算公式为:fPWM fosc/2(PWMP+1)255按此公式,只要知道时钟频率和预分频器的值,便可计算出以微秒为单位的PWM方波周期。(2)宽度可控PWM方波脉
15、冲的宽度由脉冲宽度寄存器(PWM1和PWM0)确定。而PWM是通过计数和比较来产生方波的,所以只要变更脉冲宽度寄存器的内容,方波宽度就会随之变更。(3)占空比可调方波宽度在整个方波周期中所占的百分比称为占空比。因为PWM方波的宽度是可控的,所以它的占空比也是可调的,3.PWM应用概述PWM的最基本应用是产生方波,而绝大多数PWM应用都是建立在对PWM方波进行滤波的基础上。例如,把PWM波经过简洁处理就可以得到连续变更的模拟信号,实现D/A转换功能,其电路如下图所示。11.3 闪速存储器及其在单片机中的应用闪速存储器全称为快闪可编程/擦除只读存储器,简称闪速存储器或FlashROM,也可简写为F
16、PEROM(Flash Programmable and Erasable Read Only Memory),20世纪80年头后期由Intel公司研制成功。11.3.1 闪速存储器概述闪速存储器具有可写性和非易失性,所以常用做只读存储器。闪速存储器除具有高密度、低功耗、非易失、高牢靠性、长保存时间和超强的加密功能等特点外,它的优势更表现在在线编程功能上。Flash ROM与E2PROM都运用电信号进行编程和擦除,并可重复进行。11.3.2 闪速存储芯片1.芯片封装及信号引脚闪速存储芯片的存储容量可达216 KB,近期更有1664 MB的芯片出现。这里介绍一个比较典型的闪速存储芯片28F010
17、。闪速存储芯片28F010的存储容量为128 KB,引脚排列如右图所示。各引脚功能如下:A16A0:地址引脚。在写周期中,其内容被内部地址锁存器锁存。DQ7DQ0:数据引脚。当芯片未选中时,引脚为高阻抗状态。/CE:片选信号,低电平有效。当CE0时,芯片被选中,将激活芯片内的限制逻辑和相关电路。当CE1时,芯片不被选中,功耗将降低到预备状态。/OE:输出选通限制信号,低电平有效。在读周期中,当OE0时,输出缓冲器被选通,读出的数据通过缓冲器输出。/WE:写信号,低电平有效。用于限制对吩咐寄存器和存储阵列的写入操作,在WE脉冲的下降沿,地址被锁存;在其上升沿时,数据被锁存。VPP:擦除/编程电压
18、。VCC:主电源,+5 V。VSS:地线。NC:空引脚。2.硬件结构28F010的核心是一个1048576位的存储阵列,以及相应的译码和选通电路。其他部分则是在线擦除和编程的协助电路。28F010的内部硬件结构如下图所示。在线擦除与编程主要是通过编程引脚VPP和吩咐寄存器实现的。当VPP不加编程电压(通常是接地)时,吩咐寄存器内容为缺省值(即数据读出吩咐),存储芯片为只读方式。此时对闪速存储器只能进行读操作而不能进行写操作。若要进行在线擦除和编程操作,则需把VPP引脚接上编程高电压(+12 V)。这时,除可以对闪速存储器进行正常的数据读操作外,还可进行擦除与编程操作,包括存储阵列的擦除和编程以
19、及读出编程验证数据等。但对每项操作,还须要向吩咐寄存器写入相应的吩咐。28F010芯片结构框图11.3.3 闪存单片机芯片闪存单片机芯片是指内部程序存储器为闪速存储器的单片机芯片,在80C51系列中比较典型的闪存单片机芯片是89C51。1.闪存单片机概述在单片机的闪存化发展过程中,Atmel公司的工作比较突出。该公司生产的89C51,命名时把AT加在前面,称为AT89C51。现在该公司的闪存单片机已经系列化,即AT89系列。2.闪存单片机芯片AT89C51AT89C51内含4 KB的闪速存储器,虽然性能有很大提高,但它的指令系统和引脚与80C51完全兼容。AT89C51芯片的引脚如右图。其内部
20、结构如后图所示。AT89C51 内部结构框图AT89C51的主要性能指标和硬件资源都与80C51系列相同或类似。现将其主要性能说明如下:片内有4 KB闪速存储器。128 B的内部RAM单元。两个16位定时器/计数器。中断系统仍为5个中断源,二级优先结构。4个8位I/O口,即32位可编程口线。可编程全双工串行口。宽范围的工作电压,VCC的允许变更范围为2.76.0 V。可设置为待机状态和掉电状态。振荡器刚好钟电路,全静态工作方式,时钟频率可为0 Hz24 MHz。具有全静态工作方式,表明它不确定要求连续的时钟定时,在等待内部事务期间,时钟频率可降至0。3.AT89C51的简化芯片AT89C205
21、1(常简称为2051)是AT89C51的简化芯片,只有2 KB闪速存储器,其他硬件资源简化为:128 B的内部RAM单元、15条I/O口线、两个16位定时器/计数器、5个中断源(二级优先结构)、可编程全双工串行口、振荡器以刚好钟电路等。AT89C2051芯片的引脚如下图所示。AT89C2051没有并行扩展功能,所以只保留P1和P3两个I/O口。但在AT89C2051芯片中有一个模拟比较器,比较器以口线P1.1/AIN1和P1.0/AIN0为模拟量的正负输入端。由于P3.6已用作比较器输出,所以芯片不再有P3.6引脚。如下图所示。11.3.4 闪速存储器编程单片机芯片中的闪速存储器,原始状态为擦
22、除状态,地址单元的内容全为FFH。对它有两种编程方式。一种是运用专用编程设备进行,另一种是利用系统的自身资源进行。利用芯片自身资源进行编程的方式,也称为系统内部写入法ISW(In System Writing),即在线编程。1.闪速存储器的编程接口信号为实现闪速存储器编程,应预先把相关的地址、数据和限制信号准备好。AT89C51芯片FPEROM的编程接口信号如下图所示。其中各引脚功能如下:P0.7P0.0:编程时代码输入,校验时代码输出。P1.7P1.0和P2.3P2.0:存储阵列单元地址,因为AT89C51的闪存容量为4 KB,需用12位地址。P3.7、P3.6、P2.7、P2.6:高、低电平组合设置。ALE/PROG:PROG为编程脉冲信号。EA/VPP:VPP为编程电源。对于AT89C51芯片来说,有两种编程电压,一种是+5 V,运用时可以把VPP与本芯片的VCC干脆相连;另一种是+12 V,VPP单独接+12 V电源。+5 V编程电压运用户系统的在线编程成为可能,为用户供应便利;而+12 V编程电压则是供与专用编程器配套运用的。