您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > MCS-51单片机的结构与原理
第2章MCS-51单片机的结构与原理2.1MCS-51单片机的硬件功能2.2MCS-51硬件系统结构2.3存储器结构2.4I/O端口2.5复位电路2.6CPU时序2.7CPU引脚功能2.8单片机的工作方式128051单片机的主要功能方框图3•共性:•一个8位CPU;•片内振荡和定时电路;•128B内部RAM(00H~7FH);•堆栈深度可达80B(30H~7FH);•16B(128位,20H~2FH)可位寻址区•22个SFR(除PC外,其余21个分散在80H~FFH之间)•4个8位并行I/O口;•2个16位可编程定时/计数器;•一个全双工串行口;•5个中断源(可编程为两个优先级);CPU内部结构1.算术逻辑运算单元ALU(8位)+、–、×、÷算术运算,与、或、非、异或逻辑运算、循环移位、位处理。2.寄存器阵列(1)工作寄存器R0~R7(8位)暂存运算数据和中间结果。4个工作寄存器区,工作寄存器0区~3区。每个区均含8个寄存器R0~R7。用PSW中的两位PSW.4和PSW.3来切换工作寄存器区,选用一个工作寄存器区进行读写操作。(2)累加器Acc(8位)需要ALU处理的数据和计算结果多数要经过A累加器。(3)寄存器B(8位)与A累加器配合执行乘、除运算。也可用作通用寄存器。(4)程序状态字寄存器PSW(8位)存放ALU运算过程的标志状态CyACF0RS1RS0OV—P(5)数据指针DPTR(16位)存放片外存储器地址,作为片外存储器的指针。可分成两个8位寄存器DPH、DPL使用。(6)堆栈指针SP(8位)堆栈是按“先进后出”原则存取数据的存储区。MCS-51堆栈设在片内RAM区。数据入栈/出栈时,SP自动加1/减1,其内容始终为栈顶地址。复位时SP=07H。(7)程序计数器PC(16位)CPU总是按PC的指示读取程序。PC可自动加1。因此CPU执行程序一般是顺序方式。当发生转移、子程序调用、中断和复位等操作,PC被强制改写,程序执行顺序也发生改变。复位时,PC=0000H。8051存储器结构程序存储器•在MCS-51的指令系统仅有两条:MOVCA,@A+DPTRMOVCA,@A+PC•复位后,程序计数器PC的内容为0000H•MCS-51最多可外扩64K字节程序存储器数据存储器(1)从00H~1FH的32B单元是4个工作寄存器组。(2)地址20H~2FH的16B共128位,是可位寻址的内部RAM区,它们既可字节寻址,亦可位寻址。(P14表2-3)(3)其他80B(30H-7FH)是只能按字节寻址的内部RAM区,为用户区。•MCS-51单片机的堆栈安排在内部RAM内,堆栈的深度以不超过内部RAM的空间为限。堆栈堆栈是一种只允许在其一端进行数据插入和删除操作的一种数据结构。数据存取为“后进先出”。堆栈功能:保护断点和现场信息。堆栈的建立:MCS-51的堆栈是设置在内部RAM30H~7FH空间中,栈底为低地址单元,堆栈指针为SP。12特殊功能寄存器SFR(80H-FFH)SFR区标识名称地址标识名称地址ACC累加器E0HIE允许中断控制A8HBB寄存器F0HTMOD定时方式控制89HPSW程序状态字D0HTCON定时/计数控制88HSP堆栈指针81HTH0T0高字节8CHDPTR数据指针DPH、DPL82HTL0T0低字节8AHP0P0口80HTH1T1高字节8DHP1P1口90HTL1T1低字节8BHP2P2口A0HSCON串行控制98HP3P3口B0HSBUF串行数据缓冲器99HIP中断优先级控制B8HPCON电源控制97H13特殊功能寄存器SFRSFR区部分寄存器功能介绍如下:•程序计数器(PC、16位):存放将要执行的指令地址。•累加器(ACC、8位):存放数据或中间结果。•B寄存器(8位):主要用于乘、除运算。•数据指针(DPTR、16位):存放外部数据存储器的地址。•程序状态字(PSW、8位):用于寄存程序运行的状态信息。格式如下:D7D6D5D4D3D2D1D0D0HCYACF0RS1RS0OV/P进辅位助标进志位位标志位用寄寄溢无奇户存存出定偶标器器标义标志组组志志位选选位位择择位位标志位功能:CY:(1)执行算术运算时,最高位向前进位或借位时,CY为1;否则,CY为0。(2)在位操作中,作“位”累加器。AC:用于十进制调整。当低四位向高四位进位或借位时,AC为1;否则AC为0。F0:供用户定义的标志位,可以用指令置位或复位,用以控制程序的转向。OV:(1)在带符号数的加减运算中,结果产生溢出,OV=1;否则,OV=0。(2)在乘法运算中,乘积超过255,OV=1,表示积存放在B与A中;否则,OV=0,表示积只存放在A中。(3)在除法运算中,当除数为0时,OV=1,除法无意义。P:累加器A中数的奇偶性,若A中“1”的个数为奇数,则P=1;否则,P=0。对专用寄存器的两点说明(1)单片机的22个专用寄存器中,有21个是可按字节寻址的(PC除外)。这些字节地址不连续的分散在内部RAM存储空间的高128B中,剩余的空闲地址不允许用户使用。(2)SFR只能使用直接寻址方式来访问它们,书写时既可使用寄存器名,也可使用寄存器单元地址。具有位寻址能力专用寄存器•在21个特殊功能寄存器中,有11个特殊功能寄存器具有位寻址能力,它们的字节地址正好能被8整除,其十六进制地址的末位,只能是0H或8H。具有位寻址能力专用寄存器外部数据存储器•MCS-51外部数据存储器寻址空间为64KB•MCS-51同外部数据存储器的指令有4条:MOVXA,@RiMOVXA,@DPTRMOVX@Ri,AMOVX@DPTR,AR0,R1为8位寄存器,寻址范围256BDPTR为16位的数据指针,寻址范围64KB。I/O端口•MCS-51有4个双向的8位并行I/O口:P0~P3•每一个口都有一个8位的锁存器•复位后它们的初始状态为全“1”P0口是三态双向口:既可作为并行I/O口,也可作为数据总线口。当外部扩展了存储器或I/O端口,则只能作数据总线和地址总线低8位。•P1口是专门供用户使用的I/O口,是准双向接口•P2口是准双向接口,既可作为并行I/O口,也可作为地址总线高8位口。当外部扩展了存储器或I/O端口,则只能作地址总线高8位•P3口是准双向口,又是双功能口。该口的每一位均可独立地定义为第二功能,作为第一功能使用时,口的结构与操作与P1口相同I/O端口I/O的接口要求与负载能力P1,P2,P3口内部均有上拉电阻,当它们用作输入方式时,对应的口锁存器必须先“置”1P0口内部没有上拉电阻,当它作为通用I/O时,外接上拉电阻,在用作地址/数据线时,不必外加上拉电阻P0口的每位输出可驱动8个LSTTL负载,P1-P3口可驱动4个LSTTL负载。复位电路•复位后PC值为0000H,故复位后的程序入口地址为0000H;•复位后PSW=00H,使片内存储器中选择0区工作寄存器,用户标志为F0为0状态;•复位后SP=07H,设定推栈栈底为07H;•复位后的P1,P2,P3口锁存器全为1状态,使这些准双向口皆处于输入状态;•内部RAM不受复位的影响。复位电路复位电路的基本功能是:系统上电时提供复位信号,在加电瞬间,RST端出现一定时间的高电平,直至系统电源稳定后,撤销复位信号。25CPU时序MCS-51内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。CPU时序•CPU执行一条指令的时间称为指令周期,它是以机器周期为单位的,MCS-51典型的指令周期为一个机器周期。•每个机器周期由6个状态周期组成,每个状态周期由2个振荡周期组成,状态周期即S1、S2、S3、S4、S5、S6,而每个状态周期由两个节拍Pl,P2组成。•大多数8051指令执行时间为一个机器周期,MUL(乘法)和DIV(除法)需要4个机器周期。引脚功能1.端口线(4×8=32条)1)P0.0-P0.72)P1.0-P1.73)P2.0-P2.74)P3.0-P3.72.电源线(2条):VCC为+5V电源线,VSS为地线3.控制线(6条)•ALE/PROG:地址锁存允许/编程线•EA/VPP:允许访问片外存储器/编程电源线•PSEN:片外ROM选通线•RST/VPD:复位/备用电源线XTAL1和XTAL2:片内振荡电路输入/输出线•控制线ALE/PROG:地址锁存允许/编程线·配合P0口引脚的第二功能使用,用于把这个片外存储器低8位地址锁存到外部专用地址锁存器•在不访问片外存储器时,MCS-51自动在ALE线上输出频率为fosc/6的脉冲序列。该脉冲序列可用作外部时钟源或作为定时脉冲源使用•它可以在对8751片内EPROM编程/校验时传送5ms宽的负脉冲。EA/VPP:允许访问片外存储器/编程电源线•控制MCS-51使用片内ROM还是使用外ROM。若=1,则允许使用片内ROM;若=0,则只能使用片外ROM。•对8751的EA/VPP用于在片内EPROM编程/校验时输入21V或12.5V编程电源。PSEN:片外ROM选通线执行访问片外ROM的指令MOVC时,自动在线上产生一个负脉冲,用于为片外ROM芯片的选通(相当于读信号RD)。其他情况下,线均为高电平封锁状态RST/VPD:复位/备用电源线•使CPU处于复位(即初始化)工作状态。复位有上电自动复位和人工按钮复位两种•RST/VPD的第二功能是作为备用电源输入端。当主电源VCC,发生故障而降低到规定低电平时,RST/VPD线上的备用电源自动投入,以保证片内RAM中信息不丢失。XTAL1和XTAL2:片内振荡电路输入/输出线,这两个端子用来外接石英晶体和微调电容,即用来连接片内34OSC的定时反馈回路,单片机的工作方式•复位方式•程序执行方式单步执行方式连续执行方式•节电方式待机方式掉电保护方式•EPROM的编程和校验方式复位方式•单片机在开机时都需要复位,以便CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作•RST引脚是复位信号的输入端•复位信号是高电平有效,持续时间要有24个时钟周期以上•若时钟频率为12MHz,则复位脉冲宽度至少应为2µS。•单片机复位后,其片内各寄存器状态如表2-4所列(P15)。这时,堆栈指针SP为07H、ALE、PSEN、P0、P1、P2、和P3口各引脚均为高电平,片内RAM中内容不变。程序执行方式1.单步执行方式单步执行方式是指按一次单步执行键就执行一条用户指令的方式。单步执行方式常常用于用户程序的调试。单步执行方式是利用单片机外部中断功能实现的2.连续执行方式连续执行方式是单片机都需要的一种工作方式被执行程序可以放在片内或片外ROM中由于复位后程序计数器PC=0000H,可以预先在0000H处放一条转移指令,以便跳转到0000H~0FFFFH中的任何地方执行程序。37CHMOS型单片机低功耗工作方式•CHMOS型的51单片机具有低功耗的特点•两种节电工作方式:待机方式和掉电保护方式•待机方式和掉电方式都是由电源控制寄存器PCON的有关位来控制的。SMOD:串行口波特率系数控制位;PD:掉电方式控制位,PD=l,系统进入掉电保护方式;IDL:待机方式控制位,IDL=1,系统进人待机方式。CHMOS型单片机低功耗工作方式待机方式待机方式的进入:使用指令将PCON寄存器的IDL位置1即可。•单片机进入待机方式时振荡器仍然运行•CPU不工作•通用寄存器都保持原有状态不变退出待机方式的方法有两种:中断和硬件复位。CHMOS型单片机低功耗工作方式掉电保护方式掉电保护方式的进入:使用指令将PCON寄存器的PD位置1即可。•单片机的一切工作全部停止•只有内部的RAM单元的内容被保存•I/O引脚状态和相关的特殊功能寄存器的内容相对应•ALE和为逻辑低电平。退出掉电保护方式的方法只有一个:硬件复位。复位后特殊功能寄存器的内容被初始化,但RAM的内容仍然保持不变。编程和校验方式编程:是指利用特殊手段对单片机片内EPROM进行写入的过程校验:是对刚刚写入的程序代码进行读出验证
本文标题:MCS-51单片机的结构与原理
链接地址:https://www.777doc.com/doc-3175605 .html