《单片机原理及接口技术-基于C51+Proteus仿真》-第2章 硬件结构_第1页
《单片机原理及接口技术-基于C51+Proteus仿真》-第2章 硬件结构_第2页
《单片机原理及接口技术-基于C51+Proteus仿真》-第2章 硬件结构_第3页
《单片机原理及接口技术-基于C51+Proteus仿真》-第2章 硬件结构_第4页
《单片机原理及接口技术-基于C51+Proteus仿真》-第2章 硬件结构_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

12.1MCS-51系列单片机简介2.280C51的内部总体结构2.389C51的引脚功能2.480C51单片机存储器结构2.5单片机的时钟和复位电路2.5.1时钟电路2.5.2时序2.5.3复位电路2.6单片机的低功耗模式2.6.1待机方式设计2.6.2掉电方式设计22.1MCS-51系列单片机简介MCS-51系列单片机是美国Intel公司于1980年推出8位单片机,由51和52两个子系列组成。51子系列主要包含8031、8051、8751三个品种,有相同的指令系统与芯片引脚,只是片内ROM不同,其中8031芯片不带片内ROM,8051芯片带4KBROM,8751芯片带4KBEPROM。52子系列主要包括8032、8052、8752三种机型,与51子系列相比,片内RAM增至256B;8032不带ROM,8052带8KBROM,8752带8KBEPROM;片内定时器/计数器增加至3个16位;中断源增至6个。32.280C51的内部总体结构80C51片内主要硬件结构如图2-1所示,由片内单一总线连接各功能部件,其CPU通过特殊功能寄存器对各功能部件进行集中控制。80C51主要内包含下列部件。(1)8位CPU。(2)片内振荡器(频率1.2~12MHZ)。(3)片内RAM(128B)。(4)片内ROM(4KB)。(5)程序存储器(64KB)。(6)片外RAM(64KB)。图2-180C51片内硬件结构5(7)位寻址空间(128bit)。(8)特殊功能寄存器(51子系列21个)。(9)4个8位可编程并口(P0、P1、P2、P3)。(10)2个可编程的16位定时器/计数器(T0、T1)。(11)5个中断源(2个优先级别)。(12)1个全双工的串行I/O接口。(13)111条指令(含乘法和除法指令)。(14)片内单总线结构。(15)较强位处理能力。(16)+5V电源供电。介绍图2-1中片内各功能部件。(1)8位CPU80C51具有8位数据宽度的CPU,CPU由运算器和控制器两大部分构成,其中,运算器以算术逻辑运算单元ALU为核心,包含累加器ACC(简称A)、B寄存器、暂存器、程序状态字寄存器PSW、以进位标志位C为累加器的布尔处理器等,实现算术运算、逻辑运算、位运算(置1、清0、取反、转移、逻辑与、或以及位传送等)和数据传输等。控制器通过控制指令的读入、译码和执行,从而对各功能部件进行定时和逻辑控制。6(2)片内振荡器及时钟电路80C51(增强型)内置时钟电路可外接最高频率达33MHz晶振,产生系统工作脉冲时序。(3)4KBROM程序存储器80C51片内有4KBFlashROM,用于存放用户程序、原始数据或表格。(4)128B片内RAM和SFR80C51片内有128BRAM和128BSFR,它们是统一编址的,用户能使用的RAM只有128个,用来存放读写数据、中间结果等用户数据,SFR则用来存放控制指令数据。7(5)2个16位定时器/计数器

80C51有两个16位的可编程增计数定时器/计数器,实现对内部定时或对外部脉冲计数功能,可控制程序中断转向。(6)64KB外部数据存储器和64KB外部程序存储器

80C51是采用哈佛结构的程序存储器和数据存储器,具有最大寻址64KB数据和64KB程序存储器空间的控制电路。(7)32个I/O线(4个6位并行I/O端口)

80C51共有4组8位I/O口(P0、P1、P2或P3),提供对外的三总线传输。8(8)一个可编程全双工串行口

80C51内置一个全双工串行通信口,既可以用作异步通信收发器,也可以当同步移位器使用。(9)5个中断源、两个优先级嵌套中断结构

80C51有2个外部中断源、2个定时器/计数器中断源和一个串行中断源,并具有2级的优先级别选择。

此外,80C51还具有低功耗模式,由两种软件可选择的低功耗节电工作模式。在空闲模式下,冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其他功能。92.389C51的引脚功能

先了解引脚,牢记各引脚功能。AT89S51与各种8051芯片的引脚兼容。目前多采用40只引脚双列直插,如图2-2。此外,还有44引脚的PLCC和TQFP封装方式的芯片。

引脚按其功能可分为如下3类:(1)电源及时钟引脚—VCC、VSS;XTAL1、XTAL2。(2)控制引脚—PSEN*、ALE/PROG*、EA*/VPP、RST(RESET)(3)I/O口引脚——P0、P1、P2、P3,为4个8位I/O口102.389C51的引脚功能

单片机应用是软硬件结合的设计,首先应当熟悉各引脚的功能。80C51单片机主要有两种封装形式:40引脚的双列DIP(DualIn-linePackage)封装和44引脚的方PLCC(PlasticLeadedChipCarrier)封装。这两种封装的引脚配置如图2-2所示。其中,44脚PLCC封装中比DIP封装多出的4只引脚没有使用。

11

12(a)DIP封装

(b)PLCC封装图2-280C51单片机引脚配置

引脚按其功能可分为如下3类:(1)电源及时钟引脚—VCC、VSS;XTAL1、XTAL2。(2)控制引脚—PSEN*、ALE/PROG*、EA*/VPP、RST(RESET)(3)I/O口引脚——P0、P1、P2、P3,为4个8位I/O口132.2.1电源及时钟引脚1.电源引脚(1)VCC(40脚):+5V电源。(2)VSS(20脚):数字地。14图2-2AT89S51双列直插封装方式的引脚2.时钟引脚

(1)XTAL1(19脚):片内振荡器反相放大器和时钟发生器电路输入端。用片内振荡器时,该脚接外部石英晶体和微调电容。外接时钟源时,该脚接来自外部时钟振荡器的信号。

(2)XTAL2(18脚):片内振荡器反相放大器的输出端。当使用片内振荡器,该脚接外部石英晶体和微调电容。当使用外部时钟源时,本脚悬空。2.2.2控制引脚(1)RST(RESET,9脚)

复位信号输入,在引脚加上持续时间大于2个机器周期的高电平,可使单片机复位。正常工作,此脚电平应≤0.5V。15

当看门狗溢出时,该脚将输出96个时钟振荡周期的高电平。(2)EA*/VPP(EnableAddress/VoltagePulseofPrograming,31脚)EA*:第一功能:外部程序存储器访问允许控制端。EA*=1,在PC值≤0FFFH(不超出片内4KBFlash存储器地址范围)时,单片机读片内Flash存储器(4KB)中的程序,但PC值>0FFFH(超出片内4KBFlash地址范围)时,将自动转向读取片外60KB(1000H-FFFFH)程序存储器空间中的程序。EA*=0,只读取片外程序存储器中内容,读取地址范围为0000H~FFFFH,片内的4KBFlash程序存储器不起作用。VPP:引脚第二功能,对片内Flash编程,接编程电压。(3)ALE/PROG*(AddressLatchEnable/PROGramming,30脚)ALE:为CPU访问外部程序存储器或外部数据存储器提供地址锁存控制信号,将低8位地址锁存在片外的地址锁存器中。此外,单片机正常运行时,ALE端一直有正脉冲信号输出,此频率为fosc的1/6。该信号可作外部定时或触发信号使用。

注意:每当AT89S51访问外部RAM或I/O时,要丢失一个ALE脉冲,所以ALE引脚的输出信号频率并不是准确的1/6

fosc。17

如不需要ALE端输出脉冲信号,可将特殊功能寄存器AUXR(地址8EH,本章后面介绍)的第0位(ALE禁止位)置1,来禁止ALE操作,但在执行访问外部程序存储器或外部数据存储器操作时,ALE仍然有效,即ALE禁止位不影响对单片机对外部存储器的访问。PROG*:引脚第二功能,对片内Flash编程,加编程脉冲输入。18(4)PSEN*

(ProgramStrobeENable,29脚)

片外程序存储器读选通信号,低有效。2.2.3并行I/O口引脚(1)P0口:P0.7~P0.0脚,8位,漏极开路的双向I/O口

当外扩存储器及I/O接口芯片时,P0口作为低8位地址总线及数据总线的分时复用端口。P0口也可作通用的I/O口用,需加上拉电阻,这时为准双向口。如作输入,应先向端口写1。可驱动8个LS型TTL负载。(2)P1口:P1.7~P1.0脚,8位,准双向I/O口,内有上拉电阻。

准双向I/O口,作通用I/O输入时,应先向端口锁存器写1,19P1口可驱动4个LS型TTL负载。P1.5/MOSI、P1.6/MISO和P1.7/SCK也可用于对片内Flash存储器串行编程和校验,分别是串行数据输入、输出和移位脉冲引脚。(3)P2口:P2.7~P2.0脚,8位,准双向I/O口,具有内部上拉电阻。

当AT89S51扩展外部存储器及I/O口时,P2口作为高8位地址总线输出高8位地址。P2口也可作普通I/O使用。当作通用I/O输入时,应先向端口输出锁存器写1。可驱动4个LS型TTL负载。(4)P3口:P3.7~P3.0脚,8位,准双向I/O口,具有内部上拉电阻。

可作为通用的I/O口使用。作为通用I/O输入,应先向端口输出锁存器写入1。可驱动4个LS型TTL负载。P3口还可提供第二功能。第二功能定义如表2-1,应熟记。

综上所述,P0口作为总线口时,为双向口,作通用I/O用时,为准双向口,需加上拉电阻。P1、P2、P3口均为准双向口。2122注意:准双向口与双向口的差别。准双向口仅有两个状态。而P0口作为总线使用,口线内无上拉电阻,处于高阻“悬浮”态。故为双向三态I/O口。为什么P0口要有高阻“悬浮”态?因为P0口作为数据总线用时,多个数据源都挂在数据总线上,当P0口不需要读写其他数据源时,需要与数据总线高阻“悬浮”隔离。准双向I/O口则无高阻“悬浮”态。另外,准双向口作通用I/O输入使用时,需先向该口先写入“1”。准双向口与双向口的差别,学习2.5节的P0~P3口内部结构后,会有更深入了解。

232.480C51单片机存储器结构80C51单片机是哈佛结构的单片机,程序存储器和数据存储器有独立的寻址空间、控制信号和功能。从逻辑上看,80C51划分为3个存储器地址空间:64KB程序存储器地址空间(片内、片外统一编址),256B的内部数据存储器地址空间和64KB的外部数据存储器地址空间。从物理地址空间看,80C51有5个存储器地址空间:4KB片内程序存储器、60KB片外程序存储器(不使用片内ROM时可达64KB)、64kB片外数据存储器和I/O接口、128B片内数据存储器、128B特殊功能寄存器。80C51单片机的存储器配置如图2-3所示。下面分别叙述各存储器的配置特点。2425图2-380C51存储器的配置261.程序存储器

程序存储器用来存放编程好的固定程序和表格常数,其以16位程序计数器PC作下一条指令的地址指针,通过地址总线,可寻址地址空间64KB。在程序存储器空间应用中有以下说明。(1)80C51单片机中,片内集成有4KB的Flash存储器(AT89S52则为8KB;AT89C55片内20KB),片外可外扩至64KB。64KB程序存储器的地址空间是统一的。是否使用片内4KBFlashROM,取决于引脚的连接方式。27①在正常运行时,应把引脚接+5V电源,使程序从片内ROM开始执行。当PC值超出4K时,会自动转向外部程序存储器空间。因此,外部程序存储器地址空间为1000H~FFFFH。②若直接将接地(如调试程序时),单片机系统根据PC指针从0000H~FFFFH空间变化,只从外部程序存储器中取指、译码并执行,此时80C51单片机将忽略片内0000H~FFFH的4KBFlash存储器中的程序代码。28(2)80C51单片机程序存储器的低地址单元被固定用于5个中断源(80C52为6个)的中断服务程序的入口地址(中断向量),5个中断源对应的中断向量如表2-2所示(表中最后一列是80C52定时器T2的中断向量)。由于每个中断服务程序只占8个字节单元,所以一般中断向量处存放一条绝对跳转指令,实际中断服务程序在转移地址处存放。29(3)从物理角度看,PC在80C51的内部是独立的。PC始终存放CPU下一条要执行的指令地址(程序存储器地址),由于它是一个16位的寄存器,因此80C51单片机的寻址范围为0~65535(64KB)。执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出。复位后程序计数器PC内容为0000H,因此系统从0000H单元开始取指执行,这是系统执行程序的起始地址,通常在该单元中存放一条跳转指令,使程序跳转到用户程序存放地址。302.数据存储器80C51单片机的数据存储器分为片内和片外两个地址空间。片内为128B(52子系列为256B),片外最多可扩64KB。(1)片外数据存储器当片内128BRAM不够用时,最多可扩展64KB外部数据存储器,地址范围为0000H—0FFFFH,使用时注意,单片机I/O接口与片外数据存储器采用统一编址方式,即片外数据存储器连同I/O口一起总的扩展容量是64KB,且采用相同控制线、指令和寻址空间。(2)片内数据存储器图2-4(a)所示是80C51单片机内部数据存储器的配置。内部数据存储器是最灵活的地址空间,它分成物理上独立的且性质不同的3个区。31①00H~7FH(0~127)单元组成低128B地址空间的RAM区片内数据存储器按功能分成3个部分:工作寄存器区、位寻址区、用户RAM区,还包含堆栈区。工作寄存器区包括0区~3区4个通用工作寄存器区,占地址为00H~1FH的32个单元,每个区有8个工作寄存器,编号分别为R0~R7,各区中R0~R7地址如图2-4(b)所示。4个工作寄存器区的切换可通过程序中改变程序状态字特殊功能寄存器PSW的RS1和RS0的四种组合状态实现。如表2-3所示。32②80H~FFH的128B地址空间的SFR映射在片内RAM区SFR实质是各外围部件的控制寄存器及状态寄存器。由于SFR内容较重要,下面将专设一小节详细介绍。③8052/80C52单片机80H~FFH单元组成的高128B的数据RAM区8052/80C52单片机的片内高128B的RAM与SFR是不同的物理空间,但是具有相同的字节地址(统一编址),C51访问这2个不同区域时,通过不同的关键字区分。3334353.SFR

80C51单片机内的累加器ACC、I/O口、定时器、串行口、中断等各种控制寄存器和状态寄存器都是以SFR的形式出现的,它们映射在内部RAM80H~FFH地址空间,表2-5列出了SFR的助记标识符、名称及地址。其中字节地址可以被8整除的SFR均可位寻址。3637(1)SFR分类SFR分为以下5类。①CPU专用寄存器:累加器A(E0H),寄存器B(F0H),程序状态寄存器PSW(D0H),堆栈指针SP(81H),数据指针DPTR(82H、83H)。②并行接口:P0~P3(80H、90H、A0H、B0H)。③串行接口:串口控制寄存器SCON(98H),串口数据缓冲器SBUF(99H),电源控制寄存器PCON(87H)。④定时/计数器:方式寄存器TMOD(89H),控制寄存器TCON(88H),初值寄存器TH0(8CH)和TL0(8AH)、TH1(8DH)TL1(8BH)。定时/计数器T2相关寄存器(仅52子系列有):定时/计数器2控制寄存器T2CON(C8H),定时/计数器2自动重装寄存器RCAP2H(CBH)和RCAP2L(CAH),定时/计数器2初值寄存器TH2(CDH)和TL2(CCH)。⑤中断系统:中断允许寄存器IE(A8H),中断优先级寄存器IP(B8H)。38(2)SFR介绍下面简单介绍部分SFR。1)累加器ACC累加器是最常用的SFR。大部分单操作数指令和多数双操作数指令的一个操作数取自累加器。加、减、乘、除算术运算指令的运算结果都存放在累加器A中。2)B寄存器80C51单片机在乘法和除法指令中用到B寄存器。乘法指令的两个操作数分别取自A和B,其结果高8位和低8位分别存放在B、A寄存器中。除法指令中,被除数取自A,除数取自B,商数存放于A,余数存放于B。在其他指令中,B寄存器可作为RAM中的一个单元来使用。393)PSWPSW包含了程序运行状态的各种信息,其各位的含义如表2-6所示。其中PSW.1未用,其他各位说明如下。①CY(PSW.7)进位标志在布尔处理机中,C被认为是位累加器。在执行某些算术和逻辑指令时,可以被硬件或软件置1或清0。如算术运算中,若最高位有进位或借位时CY=1,否则CY=0;②AC(PSW.6)辅助进位标志当进行加法或减法操作而产生由D3位向D4位(低4位数向高4位数)进位或借位时,AC将被硬件置1,否则被清0。AC被用于十进制调整,详见DAA指令。③F0(PSW.5)标志0用户可定义的一个状态标记,可以用软件来设置该位,例如用软件测试F0以控制程序的流向。40④RS1、RS0(PSW.4,PSW.3)寄存器区选择控制位1和0四个通用寄存器组的选择位,该两位的四种组合状态用来选择工作寄存器区的0~3区。可以用软件来置1或清0。⑤OV(PSW.2)溢出标志当执行算术指令时,由硬件置1或清0,以指示溢出状态。当带符号数运算结果超出-128~+127范围时OV=1,否则OV=0。当无符号数乘法结果超过255时,或当无符号数除法的除数为0时OV=1。当执行加法时,若用C6‘表示D6位向D7位有进位,用C7’表示D7向CY有进位,则有OV=C6‘⊕C7’。即当D6向D7有进位而D7不向CY进位时,或D6不向D7进位而D7向CY有进位时,溢出标志OV置1。否则清0。同样,在执行减法指令时,若C6'和C7'表示D6有借位和D7有借位,溢出计算公式相同。41⑥P(PSW.0)奇偶标志奇偶校验标志。每条指令执行完,若A中“1”的个数为奇数时,P=1,否则P=0,即偶校验方式。此标志位对串行通信中的数据传输有重要的意义。在串行通信中常用奇偶校验的办法来检验数据传输的可靠性。在发送端可根据P的值对数据的奇偶位置1或清0。若通信协议中规定使用奇校验的办法,则P=0时,应对数据(假定由A取得)的奇偶位置1,否则就清0。424)栈指针SP栈指针SP指示堆栈顶部在内部RAM中的位置。系统复位后,SP初始化为07H,使得堆栈事实上由08H单元开始。由于08H~lFH空间属于工作寄存器区1~3,20H~2FH空间为位寻址区,而程序设计中常用到这些区,在具体使用时应避开工作寄存器、位寻址区,一般设在2FH以后的单元,如工作寄存器和位寻址区未用,也可开辟为堆栈。堆栈是按先入后出、后入先出的原则进行管理的一段存储区域,主要作为子程序调用、中断响应、子程序返回(RET)和中断返回(RETI)等操作时,保护断点和现场。43①保护断点预先把主程序的断点(PC值)保存在堆栈中,为程序能够正确返回。②现场保护在子程序或者中断服务程序入口处,将用到的寄存器单元的内容压入堆栈,以便程序退出前出栈。MCS-51单片机是一种满递增的堆栈,即执行两种操作:数据压入(PUSH)堆栈时,SP先自动加1,再压入数据;数据弹出堆栈时,数据先出栈,SP再自动减1。447)串行数据缓冲器SBUF串行数据缓冲器SBUF用于存放欲发送或已接收的数据,它实际上由两个独立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器。当要发送的数据传送到SBUF时,进的是发送缓冲器。当要从SBUF读数据时,则取自接收缓冲器,取走的是刚接收到的数据。5)数据指针DPTR数据指针DPTR是一个16位特殊功能寄存器,高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。DPTR既可以作为一个16位寄存器DPTR来处理,也可作为两个独立的8位寄存器DPH和DPL来处理。DPTR主要用来存放16位地址,以间址寄存器形式访问外部数据存储器、I/O接口和程序存储器。6)端口P0~P3专用寄存器P0、P1、P2和P3分别是I/O端口P0~P3的锁存器。458)定时器/计数器80C51系列中有两个16位定时器/计数器T0和T1,各由两个独立的8位寄存器组成,共有4个独立的寄存器:TH0、TL0、TH1、TL1。不能将T0、T1当作一个16位寄存器来寻址。9)其他控制寄存器IP、IE、TMOD、TCON、SCON和PCON等SFR包含有中断系统、定时器/计数器、串行口和供电方式的控制和状态位,这些寄存器将在有关章节中叙述。462.5单片机的时钟和复位电路在单片机的设计和应用中,对振荡器、时钟电路、CPU工作时序以及复位电路的了解是最基本的。可靠的时钟电路和复位电路的设计能有效地保证单片机工作的稳定。472.5.1时钟电路时钟电路主要用于产生80C51执行指令时所必需的控制信号的各个节拍,单片机执行指令是在统一的时钟脉冲控制下一拍一拍地进行的。时钟电路发出的时序信号有两类,一类用于对片内定时器、中断系统等各个功能部件控制;另一类用于对片外存储器或I/O接口的控制。执行指令时,CPU首先到程序存储器中取指、译码并执行,所有过程都是以时钟控制信号为基准。为保证各部件间的同步工作,单片机内部电路需在唯一的时钟信号下严格地按照时序工作。因此时钟电路的设计很重要,时钟频率直接决定着80C51单片机的速度,设计质量也影响单片机应用系统的可靠性。481.内部时钟方式内部时钟方式是由单片机内部时钟电路自身产生时钟脉冲信号,如图2-5所示。利用单片机内部的高增益反相放大器可构成振荡器,在反向放大器的输入引脚XTAL1和输出引脚XTAL2两端外接晶振和微调电容,就构成稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,电路两端电容C1和C2对单片机频率有微调作用,电容通常为30pF。晶振频率通常选择12MHz,在串口通信应用中,为得到准确的通信波特率,晶振频率一般选择11.0592MHz。为了减少寄生电容,保证振荡器稳定工作,晶振和电容安装时,应尽量靠近单片机芯片。图2-5内部时钟电路49图2-6外部时钟电路2.外部时钟方式外部时钟方式是由外部振荡器产生时钟脉冲信号送给单片机,如图2-6所示。在多片80C51同时工作,需要多片单片机之间保持时钟同步时,需要共同的外部时钟时使用。因内部时钟发生器的信号取自反相器的输入端,80C51采用外部时钟源时,外接时钟源直接接到XTAL1端,XTAL2端悬空。503.时钟信号的输出当需要为外部其它芯片提供时钟时,可先使用内部时钟方式产生时钟信号,再通过XTAL1或XTAL2提供时钟信号输出,此时需外部扩充电路增加驱动能力。常用的输出形式有2种,如图2-7(a)和(b)所示。图2-7时钟信号的输出511.振荡周期振荡周期是单片机时钟控制信号的基本时间单位,指为单片机提供时钟信号的振荡源的周期。若晶体振荡频率为fosc,则振荡周期Tosc=1/fosc。如外接晶振12MHz时,振荡周期=1/12MHz=1/12μs=0.0833μs。2.状态周期又称S周期,是振荡源信号经二分频后形成的周期脉冲信号,是振荡周期两倍。如外接晶振12MHz时,状态周期=1/6μs=0.167μs2.5.2指令时序80C51单片机执行指令时,各条指令可分解为若干基本微操作,这些微操作所对应的脉冲信号,在时间上有严格的先后次序,称作单片机指令时序,如图2-8所示,描述单片机执行指令快慢程度的时间单位主要有振荡周期、状态周期、机器周期和指令周期4种。523.机器周期通常将单片机完成一个基本操作所需的时间称为机器周期,每个机器周期可完成取指令、读或写数据等基本操作。1个机器周期固定为12个振荡周期。如外接晶振12MHz时,机器周期=1μs。4.指令周期指令周期是指单片机执行一条指令所需要的时间。80C51典型的指令周期是一个机器周期,一个机器周期由6个状态(12个振荡周期)组成。每个状态又分成两拍:P1和P2。所以,一个机器周期的12个振荡周期依次表示为S1P1、S1P2、…、S6P1、S6P2。53由图2-8可知,ALE在每个机器周期中两次有效:一次在S1P2与S2P1期间,另一次在S4P2与S5P1期间。单片机指令周期一般需要含有1个、2个或者4个机器周期;其中大多数单字节指令和双字节指令,取出指令立即执行,需一个机器周期。三字节指令和部分双字节指令都是双机器周期,而乘、除法指令需要占用4个机器周期。所以,外接晶振12MHz时,指令周期=1~4μs。541.复位过程复位信号如图2-9所示,复位期间不产生ALE及信号,ALE及被配置为输入状态,即ALE=1和=1。直至RST端电平变低,结束复位。复位后,各内部寄存器状态如表2-7所示,PC=0000H,SP为07H,P0~P3口的内容均为0FFH,其他SFR有效位均为0,复位操作不影响RAM的状态,内部RAM不断电(上电复位除外,上电时RAM内容不确定),其中数据信息不丢失。当RST引脚返回低电平后,CPU从0地址开始执行程序。2.5.3复位电路复位是单片机片内寄存器的初始化过程。只要给RST引脚保持至少两个机器周期(24个振荡器周期)的高电平,80C51单片机将实现复位。55图2-980C51复位信号562.复位电路80C51单片机的复位是由外部复位电路实现的,在复位电路设计时,要考虑兼顾上电复位和人工按键复位功能。图2-10给出了80C51单片机常用于实际应用中的RC外部复位电路。除了这些复位电路,还有一些电路设计会采用专用的电压监控和复位芯片来构成复位电路。(a)上电复位(b)按键脉冲复位(c)按键电平复位57(1)上电自动复位电路原理单片机上电后,+5V电源(VCC)通过电容C和电阻R回路,给电容C充电,并加在RST引脚一个短暂的高电平复位信号,随着充电进行,复位信号逐渐降低,此复位信号高电平持续时间取决于电容C的充电时间,即充电时间越长,复位时间越长。增大电容或者增大电阻都可以增加复位时间。(2)人工按键复位电路原理按压按键后,接通了+5V电源(VCC),通过两个电阻的分压回路,RST端分压后产生高电平信号,按键按下的时间决定了复位时间。当时钟频率选用6MHz时,电容C的典型取值为22uF,两个电阻R1和R2的典型值分别为220Ω和1kΩ。582.6单片机的低功耗节电方式CHMOS型单片机属于低功耗器件,具有空闲模式和掉电模式2种节电模式,80C51单片机正常工作时电流是11~20mA,空闲模式电流是1.7~5mA,掉电模式电流为5~50μA。表2-8列出了单片机的3种工作模式下消耗电流情况。

低功耗节电原则是:让运行模式比空闲、掉电模式占用时间大大减少,从而减少消耗的能量,主要通过以下方法实现:(1)在开机状态下,靠中断唤醒CPU,在短暂的时间内工作在运行模式,处理相应的事件,然后进入空闲(或掉电)模式;(2)在关机状态下,完全进入掉电模式。59

80C51单片机的空闲模式和掉电模式都是通过对特殊功能寄存器PCON中相关的位进行控制的,PCON各位定义如表2-9所示。其中,IDL为空闲控制位,IDL=1,单片机进入空闲模式;PD为掉电控制位,PD=1,单片机进入掉电模式。602.6.1空闲模式设计1.进入空闲模式80C51单片机执行如下指令使IDL=1,进入空闲模式。PCON=0x01;//IDL空闲控制位置1通过程序设计使待机方式位PCON.0或IDL置1时,单片机进入空闲模式。此时,CPU处于休眠状态,而片内其时钟电路、中断、串口、定时/计数器等都保持工作状态,片内RAM和所有SFR内容保持不变,由于CPU耗电占单片机耗电的80%~90%,因此大大降低了系统的功耗。612.退出空闲模式中断或硬件复位2种方法都可以终止空闲模式。在空闲模式下,中断系统仍在工作,当中断请求被响应后,硬件使得IDL=0,从而退出空闲模式,进入中断服务程序。在空闲模式时,硬件复位,各个SFR恢复默认状态,PCON=0,IDL=0,退出空闲模式。为了防止休眠被复位终止时对端口引脚意外写入的可能性,在生成待机模式的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论