8051单片机硬件结构和原理_第1页
8051单片机硬件结构和原理_第2页
8051单片机硬件结构和原理_第3页
8051单片机硬件结构和原理_第4页
8051单片机硬件结构和原理_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

2.1MCS-51单片机的结构,2.2MCS-51单片机引脚及其功能,2.38051存储器配置,2.4CPU时序,2.5复位及复位电路,第二章MCS-51单片机的结构和原理,2.1MCS-51单片机的结构,2.1.1 MCS-51单片机的基本组成,2.1.2 MCS-51单片机内部结构,2.1.1 MCS-51单片机的基本组成,一、组成,二、MCS-51系列单片机的性能,8051单片机结构框图,89C51CPU,振荡器和时序OSC,64KB 总线扩展控制器,数据存储器256B RAM/SFR,216位定时器/计数器,可编程I/O,程序存储器4KBROM,可编程全双工串行口,外中断,内中断,控制总线,并行口,串行通信,外部时钟源,外部事件计数,MCS-51系列单片机的性能表,2.1.2 MCS-51单片机内部结构,一、结构图,二、结构组成,P0驱动器,P2驱动器,P0锁存器,P2锁存器,RAM地址寄存器,128BRAM,4KB ROM,B寄存器,暂存器1,暂存器2,ACC,SP,程序地址寄存器,缓冲器,PC增1,PC,DPTR,中断、串行口和定时器,PSW,P1锁存器,P1驱动器,P3锁存器,P3驱动器,定时控制,指令寄存器,指令译码器,OSC,ALU,P0.0-P0.7,P2.0-P2.7,P3.0-P3.7,P1.0-P1.7,XTAL1 XTAL2,PSENALEEARET,8051内部结构图,二、结构组成,(一) 中央处理单元(CPU),(二) 存储器,(三) I/O接口,中央处理单元(CPU)的组成,1运算器,2控制器,运算器的组成,(1)8位的ALU:可对4位、8位、16位数据进行操作。,(2)8位累加器ACC(A):它经常作为一个运算数经暂存器2进入ALU的输入端,与另一个来自暂存器1的运算数进行运算,运算结果又送回ACC,(3)8位程序状态字寄存器PSW:指示指令执行后的状态信息供程序查询和判别用。,运算器的组成(续),(4)8位寄存器B:在乘除运算时,用来存放一个操作数也用来存放运算后的一部分结果;如不能做乘除运算时,作为通用寄存器。,(5)布尔处理器:专门用于处理位操作的,以PSW中的C为其累加器。,(6)2个8位暂存器:ALU的两个入口处。,控制器的组成,(1)程序计数器PC(16位),(2)指令寄存器IR及指令译码器ID,(3)振荡器和定时电路,程序计数器PC(16位),由两个8位计数器PCH、PCL组成。PC是程序的字节地址计数器,PC内容为将要执行的指令的地址。改变PC内容,改变执行的流向。PC可对64KB的ROM直接寻址,也可对8051片外RAM寻址。,指令寄存器IR及指令译码器ID,由PC中的内容指定ROM地址,取出来的指令经IR送至ID,由ID对指令译码产生一定序列的控制信号,以执行指令所规定的操作。,振荡器和定时电路,8051单片机片内有振荡电路,只需外接石英晶体和频率微调电容(2个30pF左右),其频率范围为1.2MHz12MHz。该信号作为8051工作的基本节拍即时间的最小单位。,存储器的组成,1、程序存储器(ROM),2、数据存储器(RAM),程序存储器(ROM),地址从0000H开始。用于存放程序和表格常数。,数据存储器(RAM),地址为00H7FH。用于存放运算的中间结果、数据暂存以及数据缓冲等。这128B的RAM中有32个字节单元可指定为工作寄存器。片内还有21个特殊功能寄存器(SFR),它们同128字节RAM统一编址,地址为80HFFH.,I/O接口,8051有四个8位并行I/O接口P0P3。它们都是双向端口,每个端口各有8条I/O线。P0-P3口四个锁存器同RAM统一编址,可作为SFR来寻址。,2.2MCS-51单片机引脚及其功能,2.2.1MCS-51单片机引脚,2.2.2 MCS-51单片机引脚功能,8051单片机引脚图,2.2.1MCS-51单片机引脚,2.2.2 8051单片机引脚功能,一、电源引脚:Vcc和Vss二、时钟电路引脚:XTAL1和XTAL2三、控制信号引脚RST、ALE、PSEN 和 EA四、I/O端口P0、P1、P2和P3,电源引脚:Vcc和Vss,1Vcc(40脚):电源端,为+5V。2Vss(20脚):接地端。,时钟电路引脚:XTAL1和XTAL2,XTAL2(18脚):接外部晶体和微调电容的一端;在8051 片内它是振荡电路反向放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚输入外部时钟脉冲。8051/8031正常工作时,该引脚应有脉冲信号输出。,XTAL1(19脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反向放大器的输入端,在采用外部时钟时,该引脚接地。,时钟电路引脚:XTAL1和XTAL2,控制信号引脚,RST/VPD(9脚):RST:复位信号输入端,高电平有效。当此输入端保持两个机器周期的高电平时,就可以完成复位操作。,RST/VPD(9脚):VPD :RST引脚的第二功能,备用电源输入端。当主电源Vcc 发生故障,降低到低电平规定值时,将+5V电源自动接入该引脚,为RAM提供备用电源,以保证RAM中的信息不丢失,使得复位后能继续正常运行。,控制信号引脚,ALE/PROG(30脚):ALE:地址锁存允许信号端。正常工作时,该引脚以振荡频率的1/6固定输出正脉冲。CPU访问片外存储器时,该引脚输出信号作为锁存低8位地址的控制信号。它的负载能力为8个LS型TTL负载。,控制信号引脚,ALE/PROG(30脚):PROG:是对片内带有4KB EPROM的8751编程写入时的编程脉冲输入端。,控制信号引脚,PSEN(29脚):程序存储器允许信号输出端。在访问片外ROM时,定时输出负脉冲作为读片外ROM的选通信号,接片外ROM 的OE端。它的负载能力为8个LS型TTL负载。,控制信号引脚,EA/Vpp(31脚):EA: 外部程序存储器地址允许输入端。 当该引脚接高电平时,CPU访问片内EPROM/ROM并执行片内程序存储器中的指令,但当PC值超过0FFFH(片内ROM为4KB)时,将自动转向执行片外ROM中的程序。 当该引脚接低电平时,CPU只访问片外EPROM/ROM并执行外部程序存储器中的程序。,控制信号引脚,EA/Vpp(31脚):Vpp:对8751片内EPROM固化编程时,编程电压输入端(12-21V)。,控制信号引脚,I/O端口P0、P1、P2和P3,1、准双向2、P0口3、P1口4、P2口5、P3口,准双向的意义,当I/O口作为输入时,应先向此口锁存器写入全1, 此时该口引脚浮空,可作高阻抗输入。,P0口简介,漏极开路的8位准双向I/O口,每位能驱动8个LS型TTL负载。P0口可作为一个数据输入/输出口;在CPU访问片外存储器时,P0口为分时复用的低8位地址总线和8位数据总线。,P1口简介,带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。,P2口简介,P2口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。在CPU访问片外存储器时,它输出高8位地址。,P3口简介,带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。P3口除作为一般I/O口外,每个引脚都有第二功能。,P3口线的第二功能表,2.38051存储器配置,2.3.18051存储器分类2.3.2程序存储器地址空间2.3.3数据存储器地址空间,2.3.1 8051存储器分类,一、物理结构(哈佛结构)二、用户角度,物理结构(哈佛结构),8051存储器,程序存储器ROM,数据存储器RAM,片内程序存储器,片外程序存储器,片内数据存储器,片外数据存储器,从程序员角度看存储器,程序存储器保留地址,(1)0000H0002H三个单元:用作上电复位后引导程序的存放单元。因为复位后PC的内容为0000H,CPU总是从0000H开始执行程序。将转移指令存放到这三个单元,程序就被引导到指定的程序存储器空间去执行。,(2)0003H002AH单元:均分为五段,用作五个中断服务程序的入口。中断矢量地址表如表2-3所示。,程序存储器保留地址,2.3.3 数据存储器地址空间,一、用途:二、片外RAM: 三、片内RAM:,RAM用途,用于存放运算的中间结果、数据暂存和缓冲、标志位等。,片外RAM,地址:0000HFFFFH 寻址:用MOVX指令,片内RAM,片内数据存储器最大可寻址256个单元,它们又分为两部分: 低128字节(00H7FH)是真正的RAM区;高128字节(80HFFH)为特殊功能寄存器(SFR)区。,低128字节RAM区,高128字节RAM区(SFR区,特殊功能寄存器区),低128字节RAM,8051的32个工作寄存器与RAM安排在同一个队列空间里,统一编址并使用同样的寻址方式(直接寻址和间接寻址)。00H1FH地址安排为4组工作寄存器区,每组有8个工作寄存器(R0R7),共占32个单元。通过对程序状态字PSW中RS1、RS0的设置,每组寄存器均可选作CPU的当前工作寄存器组。若程序中并不需要4组,那么其余可用作一般RAM单元。CPU复位后,选中第0组寄存器为当前的工作寄存器。工作寄存器区后的16字节单元(20H2FH),可用位寻址方式访问其各位。在指令系统中,还包括许多位操作指令,这些位操作指令可直接对这128位寻址。这128位的位地址为00H7FH.,高128字节RAM特殊功能寄存器(SFR),8051片内高128字节RAM中,有21个特殊功能寄存器(SFR),它们离散地分布在80HFFH的RAM空间中。访问特殊功能寄存器只允许使用直接寻址方式。,SFR之累加器ACC(E0H),累加器ACC是8051最常用、最忙碌的8位特殊功能寄存器,许多指令的操作数取自于ACC,许多运算中间结果也存放于ACC。在指令系统中用A作为累加器ACC的助记符。,SFR之 寄存器B(F0H),在乘、除指令中,用到了8位寄存器B。乘法指令的两个操作数分别取自A和B,乘积存于B和A两个8位寄存器中。除法指令中,A中存放被除数,B中放除数,商存放于A,B中存放余数。在其他指令中,B可作为一般通用寄存器或一个RAM单元使用。,SFR之 程序状态寄存器PSW(D0H),PSW是一个8位特殊功能寄存器,它的各位包含了程序执行后的状态信息,供程序查询或判别之用。各位的含义及其格式如表26所列。PSW除有确定的字节地址(D0H)外,每一位均有位地址,CY(PSW.7): 进位标志位。在执行加法(或减法)运算指令时,如果运算结果最高位(位7)向前有进位(或借位),则CY位由硬件自动置1;如果运算结果最高位无进位(或借位),则CY清0。CY也是89C51在进行位操作(布尔操作)时的位累加器,在指令中用C代替CY。AC(PSW.6): 半进位标志位,也称辅助进位标志。当执行加法(或减法)操作时,如果运算结果(和或差)的低半字节(位3)向高半字节有半进位(或借位),则AC位将被硬件自动置1;否则AC被自动清0。F0(PSW.5): 用户标志位。用户可以根据自己的需要对F0位赋予一定的含义,由用户置位或复位,以作为软件标志。,Psw中的位,RS0和RS1(PSW.3和PSW.4): 工作寄存器组选择控制位。这两位的值可决定选择哪一组工作寄存器为当前工作寄存器组。通过用户用软件改变RS1和RS0值的组合,以切换当前选用的工作寄存器组。8051上电复位后,RS1=RS0=0,CPU自动选择第0组为当前工作寄存器组。根据需要,可利用传送指令对PSW整字节操作或用位操作指令改变RS1和RS0的状态,以切换当前工作寄存器组。这样的设置为程序中保护现场提供了方便。,OV(PSW.2): 溢出标志位。当进行补码运算时,如有溢出,即当运算结果超出128127的范围时,OV位由硬件自动置1;无溢出时,OV=0。PSW.1: 为保留位。P(PSW.0): 奇偶校验标志位。每条指令执行完后,该位始终跟踪指示累加器A中1的个数。如结果A中有奇数个1,则置P=1;否则P=0。常用于校验串行通信中的数据传送是否出错。,栈指针SP(81H),堆栈指针SP为8位特殊功能寄存器,SP的内容可指向8051片内00H7FH RAM的任何单元。系统复位后,SP初始化为07H,即指向07H的RAM单元。,8051在片内RAM中专门开辟出来一个区域,数据的存取是以“后进先出”的结构方式处理的,好像冲锋枪压入子弹。这种数据结构方式对于处理中断,调用子程序都非常方便。堆栈的操作有两种: 一种叫数据压入(PUSH),另一种叫数据弹出(POP)。8051的堆栈指针SP是一个双向计数器。进栈时,SP内容自动增值,出栈时自动减值。存取信息必须按“后进先出”或“先进后出”的规则进行。,数据指针DPTR(83H,82H),DPTR是一个16位的特殊功能寄存器,其高位字节寄存器用DPH表示(地址83H),低位字节寄存器用DPL表示(地址82H)。DPTR既可以作为一个16位寄存器来处理,也可以作为两个独立的8位寄存器DPH和DPL使用。DPTR主要用于存放16位地址,以便对64 KB片外RAM作间接寻址。,/端口P0P3(80H,90H,A0H,B0H),P0P3为4个8位特殊功能寄存器,分别是4个并行/端口的锁存器。它们都有字节地址,每一个口锁存器还有位地址,每一条/线均可独立用作输入或输出。用作输出时,可以锁存数据;用作输入时,数据可以缓冲。,特殊功能寄存器SFR的位置,2.4CPU时序,2.4.1 片内振荡器及时钟信号的产生,2.4.2机器周期和指令周期,2.4.3CPU取指、执行周期时序,2.4.1片内时钟信号的产生,8051芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。电容器和通常取30 pF左右,可稳定频率并对振荡频率有微调作用。振荡脉冲频率范围为fOSC=024 MHz。晶体振荡器的频率为fOSC,振荡信号从XTAL2端输入到片内的时钟发生器上,8051的片内振荡器及时钟发生器,节拍与状态周期,时钟发生器是一个2分频的触发器电路,它将振荡器的信号频率fOSC除以2,向CPU提供两相时钟信号P1和P2。时钟信号的周期称为机器状态周期S(STATE),是振荡周期的2倍。在每个时钟周期(即机器状态周期S)的前半周期,相位1(P1)信号有效,在每个时钟周期的后半周期,相位2(P2,节拍2)信号有效。每个时钟周期(以后常称状态S)有两个节拍(相)P1和P2,CPU就以两相时钟P1和P2为基本节拍指挥8051单片机各个部件协调地工作。,一个机器周期是指CPU访问存储器一次所需的时间。例如,取指令、读存储器、写存储器等等。一个机器周期包括12个振荡周期,分为6个S状态:S1S6。每个状态又分为两拍,称为P1和P2.因此,一个机器周期中的12个振荡周期表示为S1P1,S1P2,S2P1,S6P1,S6P2。若采用6MHz晶体振荡器,则每个机器周期为2s(微秒),机器周期,指令周期:执行一条指令所需的时间。每条指令由一个或若干个字节组成。有单字节指令,双字节指令,多字节指令等。字节数少则占存储器空间少。每条指令的指令周期都由一个或几个机器周期组成。有单周期指令、双周期指令、和四周期指令。机器周期数少则执行速度快。,指令周期,基本时序定时单位,基本时序定时单位有4个:振荡周期: 晶振的振荡周期,为最小的时序单位。状态周期: 振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。因此,一个状态周期包含2个振荡周期。机器周期(MC): 1个机器周期由6个状态周期即12个振荡周期组成,是计算机执行一种基本操作的时间单位。指令周期: 执行一条指令所需的时间。一个指令周期由14个机器周期组成,依据指令不同而不同。,4个时序单位从小到大依次是节拍、状态周期、机器周期和指令周期.,8051单片机各种周期的相互关系,2.4.2CPU取指、执行周期时序,每条指令的执行都可以包括取指和执指两个阶段。在

温馨提示

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

评论

0/150

提交评论