您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 第2章MCS-51单片机的硬件结构概要
第2章MCS-51单片机的硬件结构2.1MCS-51单片机结构2.2单片机的复位电路设计2.3MCS-51单片机的存储器配置2.1.1MCS-51单片机的组成MCS-51单片机基本组成示意图时钟电路ROMSFR和RAMCPU定时/计数器并行端口中断系统串行端口系统总线时钟源T0T1P0P1P2P3TXDRXDINT0INT12.1MCS-51单片机结构MCS-51单片机的基本组成部件▪8位CPU,片内振荡器;▪4K字节ROM,128字节RAM;▪21个特殊功能寄存器;▪32根可编程I/O口线;▪可寻址各64K的外部程序存储器、外部数据存储器;▪2个l6位的定时器/计数器;▪中断结构:具有5个中断源,2个优先级;▪一个可编程全双工串行口;▪有位寻址功能,适于布尔处理的位处理机。2.1.2MCS-51单片机的外部引脚说明803180518751•1.I/O口线功能4个8位并行I/O接口引脚P0.0~P0.7、P1.0~P1.7、P2.0~P2.7和P3.0~P3.7为多功能引脚,可自动切换用作数据总线、地址总线、控制总线和或I/O接口外部引脚。40个引脚分为四类:电源、地2条;时钟2条;控制4条;I/O线32条。P0.0--P0.7(39-32):双向I/O口P0.第二功能是在访问外部存储器时,可分时用作低8位地址和8位数据线;在对8751编程和校验时,用于数据的输人/输出。PO口能以吸收电流的方式驱动8个LS型TTL负载Pl.0--Pl.7(1-8):双向I/O口Pl。P1口能驱动(吸收或输出电流)4个LS型TTL负载。在对EPROM编程和程序验证时,它接收低8位地址。在8052单片机中P1.0还用作定时器2的计数触发输人端T2,P1.1还用作定时器2的外部控制端T2EX。•P2.0--P2.7(21-28):双向I/O口P2。P2口可以驱动(吸收或输出电流)4个LS型TTL负载。•第二功能是在访问外部存储器时,输出高8位地址。在对EPROM编程和校验时,它接收高位地址。P3.0--P3.7(10-17):双向I/O口P3。P3口能驱动(吸收或输出电流)4个LS型TTL负载。P3口的每条引脚都有各自的第二功能。2.控制线ALE:地址锁存允许信号端PSEN:外部程序存储器读选通信号端EA/VPP:程序存储器选择信号端和编程电源输入端803180518751RST/VPD(9):RST是复位信号输人端•ALE/(30):•ALE是地址锁存允许信号PROGPROG在访问外部存储器时,用来锁存由PO口送出的低8位地址信号。在不访问外部存储器时,ALE以振荡频率1/6的固定速率输出脉冲信号。因此它可用作对外输出的时钟。但要注意,只要外接有存储器,ALE端输出的就不再是连续的周期脉冲信号。第二功能用于对8751片内EPROM编程的脉冲输人端。•它是外部程序存储器ROM的读选通信号。在执行访问外部ROM指令时,会自动产生PSEN信号;而在访问外部数据存储器RAM或访问内部ROM时,不产生PSEN信号。PSEN(29):访问外部存储器的控制信号。当EA高电平时,访问内部程序存储器;但当程序计数器PC的值超过OFFFH(对8051/80051/8751)或1FFFH(对8052)时,将自动转向执行外部程序存储器内的程序。当EA保持低电平时,只访问外部程序存储器,不管是否有内部程序存储器。第二功能VPP为对8751片内EPROM的21V编程电源输入。/PPEAV(31):RST/VPD(9):RST是复位信号输人端。当此输人端保持两个机器周期(24个振荡周期)的高电平时,就可以完成复位操作。第二功能是VPD,即备用电源输人端。当主电源发生故障,降低到规定的低电平以下时,vl,1。将为片内RAM提供备用电源,以保证存储在RAM中的信息不丢失。单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。21个特殊功能寄存器复位后的状态为确定值。。•XTALl(19):•接外部晶体的一个引脚。当单片机采用外部时钟信号时,此脚应接地。XTAL2(18):接外部晶体的一个引脚。当单片机采用外部时钟信号时,外部时钟信号由此引脚接入。•使用单片机内部振荡电路时,用来接外部晶体的两端和微调电容。当单片机采用外部时钟信号时,则用来输入时钟脉冲。•Vss(20):接地端。Vcc(40):电源端,接十5V。图2-28051单片机内部结构•单片机时钟电路通常有两种形式:•1.内部振荡方式:MCS-51单片机片内有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。把放大器与作为反馈元件的晶体振荡器或陶瓷谐振器连接,就构成了内部自激振荡器并产生振荡时钟脉冲(如图2-10所示)。•2.外部振荡方式:外部振荡方式就是把外部已有的时钟信号引入单片机内(如图2-11所示)。2.1.3单片机时钟电路及CPU基本时序3、单片机时钟电路及CPU基本时序向CPU提供两相时钟信号振荡器输出信号一、机器周期、状态、振荡周期•一个机器周期=6个状态=12个振荡周期1、振荡周期:振荡器输出的振荡时钟脉冲信号的周期。单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各种微操作都以此周期为时序基准。2、时钟周期:又称状态周期、状态时间S,是振荡周期的两倍。分为P1、P2节拍。P1节拍通常完成逻辑操作,P2节拍通常完成内部寄存器间数据传送。•3、机器周期•若把一条指令执行过程分为几个基本操作,则执行每个基本操作所需要的时间,称为机器周期。单片机的一个机器周期包括12个振荡周期,分为6个S状态:S1-S6。每个状态又分为2拍,即前面介绍的P1和P2信号;个机器周期中的12个振荡周期可表示为S1P1,S1P2,S2P1……S6P1,S6P2.•4、指令周期•CPU执行一条指令所需要的时间。是以机器周期为单位的,CPU执行一条指令通常需要1~4个机器周期。P1P2S1P2振荡周期时钟周期机器周期机器周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2MCS-51单片机各种周期的相互关系再读下一条指令再读下一条指令XTAL2(OSC)P2S1ALE读操作码读下一个操作码(丢弃)读第二字节(a)单字节,单周期指令例:MOVAR1(d)单字节,双周期指令,如MOVXP1P2S1P1P2S2P1P2S3P1P2S4P2S5P2S6P2S1P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P2S6P2S1S2P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S1读操作码P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1读下一个操作码(丢弃)(b)双字节,单周期指令例:ADDAdir(c)单字节,双周期指令例:INCDPTR读操作码(MOVX)读下一个操作码(丢弃)无取指无ALE无取指地址数据(DATA)访问外部存储器P2S1读操作码P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1二、CPU执行指令时序2.2单片机复位电路及复位状态1.复位电路单片机复位电路包括片内、片外两部分。外部复位电路就是为内部复位电路提供两个机器周期以上的高电平而设计的。MCS-51单片机通常采用上电自动复位和按键手动复位两种方式。如图所示2.单片机复位后的状态单片机运行出错或进入死循环时,可按复位键重新运行。21个特殊功能寄存器复位后的状态为确定值,如表所示。22μFC1RSTR11KΩ+5V22μFC1RST+5VR2200ΩRSTR1+5VC222μF803180518751803180518751803180518751(a)上电复位电路(c)按键脉冲复位电路(b)按键电平复位电路R11KΩ22μFC11KΩR21KΩ几种复位电路特殊功能寄存器初始状态特殊功能寄存器初始状态A00HTMOD00HB00HTCON00HPSW00HTH000HSP07HTL000HDPL00HTH100HDPH00HTL100HP0~P3FFHSBUF××××××××BIP×××00000BSCON00HIE0××00000BPCON0×××××××B单片机复位后特殊功能寄存器的状态表2.3MCS-51单片机的存储器配置•2.3.1程序存储器•2.3.2片内数据存储器•2.3.3片外数据存储器2.3.1程序存储器•程序存储器的结构如图所示,包括片内和片外程序存储器两个部分。其主要用来存放编好的用户程序和表格常数,它以16位的程序计数器PC作为地址指针,故寻址空间为64KB。FFFFH外部ROM内部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000H程序存储器图2-9MCS-51单片机存储器结构特殊功能寄存器SFR通用RAM区00H1FH20H2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位寻址外部RAM(I/O口地址)0000HFFFFH内部数据存储器(a)外部数据存储器(b)FFFFH外部ROM内部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000H程序存储器(c)工作寄存器区位寻址区128BRAM2.3.2片内数据存储器工作寄存器区00H—1FH,供用户编程使用,临时存放,每个单元8位信息。共四组,每组8个单元,即8个寄存器当某一组被设定成工作寄存器组后,该组中的8个寄存器,从低地址到高地址就分别称为R0-R7,从而可以把它们用作通用寄存器,并可按寄存器寻址方式被访问。一旦工作寄存器组被指定后,另外三组寄存器则同其它数据RAM一样,只能按字节地址被予以读写。位寻址区•20H—2FH,16个字节,每个单元8位。也称为布尔处理区。该区每一位都被赋予一个地址,供128位。每个地址单元可进行字节操作之外,还可进行位操作。内部数据存储器中的位地址表数据缓冲区•30H—7FH,即用户区,共80个单元。用于存放运算数据和结果。实际上不使用的位寻址的字节和不使用的工作寄存器区都可以用作数据缓冲区使用。堆栈区•用户可以指定内部RAM的最高若干字节做为堆栈区。在初始化程序中,可以对堆栈指针SP写入栈底的地址,于是从SP指定的栈底直到7FH单元都是堆栈区。例如MOVSP,#5FH.那么,从60H—7FH单元都是堆栈区。堆栈是片内RAM中临时开辟的暂存区,堆栈主要是为子程序调用和中断操作而设立的。其具体功能有两种:保护现场和保护断点。计算机无论是执行子程序还是执行中断操作.最后都要返回主程序,因此计算机在转去执行这些程序之前,必须考虑其返回问题。这就要预先把主程序的断点保护起来,为程序的正确返回作准备。那么,把断点和现场内容保护在哪里?这就必须保护在堆栈内.特殊功能寄存器区(SFR)•特殊功能寄存器也叫专用寄存器,专用于控制、管理片内算术逻辑部件、并行I/O口、定时器/计数器、中断系统等功能模块的工作,用户在编程时可以设定,却不能自由移作它用。特殊功能寄存器地址及功能表2.3.3片外数据存储器•外部数据存储器又称外部RAM,当片内RAM不能满足数量上的要求时,可通过总线端口和其他I/O口扩展外部数据RAM,其最大容量可达64K字节,其结构如图所示。•在片外数据存储器中,数据区和扩展的I/O口是统一编址的,使用的指令也完全相同,因此,用户在应用系统设计时,必须合理地进行外部RAM和I/O端口的地址分配,并保证译码的唯一性。存储器类型单片机系
本文标题:第2章MCS-51单片机的硬件结构概要
链接地址:https://www.777doc.com/doc-4279212 .html