MCS-51单片机系统结构.ppt_第1页
MCS-51单片机系统结构.ppt_第2页
MCS-51单片机系统结构.ppt_第3页
MCS-51单片机系统结构.ppt_第4页
MCS-51单片机系统结构.ppt_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

1,第二章MCS-51单片机系统结构,2,第一节芯片引脚介绍(P15),一、封装形式HMOS制造工艺的MCS-51单片机都采用40引脚双列直插(DIP)封装方式。例如:8031、8051。CHMOS制造工艺的80C51/80C31芯片,除DIP封装外,还采用方形封装(PLCC)工艺。另外,还有PGA封装,SQRF表面封装。,3,图2280C51/80C52的封装及逻辑图,4,二、引脚(以8031/8051为例),40条引脚:2条是电源与地,2条是外接晶体引脚,4条控制线或其它电源的复用线,32条输入/输出(I/O)引脚。,5,1.电源:VCC、GND,2.时钟:XTAL1、XTAL2,复位:RST,4.I/O口(既可输入也可输出)P0:地址、数据P1:用户使用P2:地址P3:兼具第二功能,地址锁存:ALE/PROG,外部ROM访问控制:EA/VPP,6,1.主电源引脚VSS和VCCVSS(Pin20):地(GND)VCC(Pin40):电源引脚,+5V电压2.外接晶体引脚XTAL1(Pin19)、XTAL2(Pin18):芯片内部晶体振荡电路的反相器输入、输出端。使用内部振荡电路时,两引脚用来外接石英晶体。,7,3.控制信号引脚PSEN:外部程序存贮器的读选通信号(Pin29)在对外部程序存贮器取指令时,PSEN每个机器周期产生两次有效。在执行内部程序存贮器取指令时,PSEN无效。在执行外部程序时,每次访问外部数据存贮器期间,减少两个PSEN脉冲输出。,8,EA/Vpp:访问外部程序存储器控制信号(Pin31)当EA为低电平时,CPU仅执行外部程序存贮器中的程序(对于8031,由于其内部无程序存贮器,EA必须接地,这样才能只选择外部程序存贮器)。当EA为高电平时,CPU先执行内部程序存贮器中程序,当PC(程序计数器)值超过OFFFH(对8051/8751/80C51)或1FFFH(对8052),将自动转向执行外部程序存贮器,即:低地址在内,高地址在外。对于EPROM型单片机(8751),在EPROM编程期间,加21V编程电源(Vpp)。,9,ALE/PROG:地址锁存允许信号(Pin30)在访问外部存贮器时,ALE的输出用于锁存地址的低8位。在非访问外部存贮器期间,ALE以振荡频率的1/6固定速率输出,能作外部时钟或定时用。在访问外部数据存贮器期间,则以1/12fosc频率输出ALE脉冲(即减少一个ALE脉冲)。对于EPROM型单片机(8751),在EPROM编程期间,此引脚用于输入编程脉冲PROG。,10,RST/Vpd:复位信号输入端/内部RAM备用电源输入端(Pin9)连续2个机器周期的高电平复位该芯片。对于具有掉电保护功能的单片机,该引脚可接备用电源(Vpd),当电源电压下降到低于规定电平时,则Vpd在其规定范围(50.5V)内向内部RAM提供备用电源。,11,4.输入/输出引脚(4个端口,共32条)P0口(P0.0P0.7):8位(准)双向并行I/O口(Pin3932)负载能力:8个LSTTL当访问外部存贮器时,它是复用总线,(1)作为数据总线D0D7(2)作为地址总线的低八位(A0A7),12,P1口(P1.0P1.7):8位准双向并行I/O口(Pin18)负载能力:4个LSTTL对于8032/8052:P1.0引脚具第二功能,为T2定时/计数器的外部输入端P1.1引脚的第二功能为T2EX捕捉、重装触发,即T2的外部控制端。对EPROM编程和程序校验期,它接收低八位地址。,13,P2口(Pin2128):8位准双向并行I/O口负载能力:4个LSTTL在访问外部存贮器时,作为地址总线高8位。在对EPROM编程和程序验证时,它接收高8位地址和控制信号。P3口(Pin1017):8位准双向并行I/O口负载能力:4个LSTTL可提供以下特殊功能(也称第二功能),14,P3.0(RXD)串行数据接收端P3.1(TXD)串行数据发送端P3.2(INT0)外部中断0请求输入端P3.3(INT1)外部中断1请求输入端P3.4(T0)定时器/计数器0外输入端P3.5(T1)定时器/计数器1外输入端P3.6(WR)外部数据存贮器写选通控制线P3.7(RD)外部数据存贮器读选通控制线,15,第二节芯片结构(P12),16,以8051为例,其主要包含如下功能部件:一个8位CPU4K字节的程序存贮器(PROM)128字节的数据存贮器(RAM)21个特殊功能寄存器SFR(RAM)4个并行I/O端口,每个端口包含8根输入输出线一个全双工串行I/O口2个16位定时器/计数器5个中断源,分为2个优先级,同级中断则按优先顺序查询一个振荡器和时钟电路可寻址64K字节外部程序和外部数据存贮器空间,17,图2180C51的内部结构图,18,一、CPU(中央处理单元)(P18),组成:8位运算器ALU(算术/逻辑运算部件)定时/控制部件若干寄存器ALU:对传送到CPU的数据进行算术/逻辑运算运行一条指令的时间:单周期,双周期或四周期(机器周期)。,19,专用寄存器:累加器ACC在算术运算中存放和提供操作数并存放运算结果,在逻辑操作、数据传送等指令中作为源操作数或目的操作数,一部分指令则规定要通过累加器A(即ACC)进行。寄存器B一般用于乘除法指令,与累加器A配合使用。B中存放第二操作数、乘积的高位字节或除法的余数部分。其它情况下作为一般寄存器或中间结果暂存器用。,20,程序状态字PSW8位,存放当前指令执行后的状态。(为下条或以后指令的执行提供状态条件。因此,许多指令的执行结果将影响PSW的某些对应的状态标志位。)重要特点:可编程,即通过软件改变PSW的状态标志。(注意奇偶标志位P的特殊性)其结构及各位状态标志的定义如下:76543210P:PSW.0位地址0D0H,奇偶标志,累加器ACC中1的个数为奇数时则P=1,否则P=0(即:偶校验),21,OV:PSW.2位地址0D2H,溢出标志,0V=C7C6主要用于补码运算,当最高和次高位不同时有进位或借位时置位1,否则清0。RS0:PSW.3位地址0D3H,工作寄存器区选择位RS1:PSW.4位地址0D4H,工作寄存器区选择位F0:PSW.5位地址0D5H,用户标志位,供用户使用的标志位。Ac:PSW.6位地址0D6H,辅助进位标志(半进位位),如操作结果低4位有进位(加法)或借位(减法),则置位AC(1),否则清零。Cy:PSW.7位地址0D7H进位标志,又是布尔处理机的累加器C。如数据操作最高位有进位或借位时置位Cy,否则Cy清0。,22,堆栈指针SP8位堆栈:一组特殊的存储单元,通常是在存储器中开辟的一个存储区域。堆栈元素的压入和弹出遵循后进先出的原则,堆栈操作总是对栈顶进行的。51单片机允许用户定义片内RAM的任一连续区域作为堆栈区。内部RAM为128/256个字节,所以栈指针SP为8位寄存器,指示堆栈栈顶地址。压栈时SP先自动加“1”,然后将欲进栈的数据压入SP所指示的栈顶单元;出栈时将所指示的栈顶单元内数据弹出,然后SP自动减1,因而SP总是指向堆栈栈顶。,23,数据指针DPTR16位地址寄存器用于寻址64K地址空间中任一地址单元,既可寻址数据存贮器,也可寻址程序存贮器的表格等单元。常用于调用(CALL)、转移以及访问外部数据存储器和查表等指令。可分成两个独立的8位数据指针:DPH,DPL。程序计数器PC16位(无地址)存放程序地址(CPU即将执行的指令的地址);控制程序顺序运行或跳转。PC是51系统中唯一没有地址的寄存器。,24,二、振荡器和时钟电路及时序(P23),1.振荡器和时钟电路8051的XTAL1和XTAL2引脚分别为单片机片内反相放大器的输入/输出端,其频率范围为1.2MHz12MHz,典型值取12MHz、11.0592MHz或6MHz。内部时钟方式(见下页左图)外部时钟方式(见下页右图),25,时钟引脚XTAL1、XTAL2连接方式,CHMOS型,26,2.指令的执行时序二分频电路振荡频率的二分频信号,为芯片提供一个二相时钟信号,二分频信号的前半周期为相位1信号(P1);后半周期为相位2(P2)。振荡周期(节拍):1/fosc状态周期:2/fosc机器周期(6个状态周期):12/fosc,27,假如单片机外接12MHz晶振,则MCS-51的振荡周期(一个P)为1/12s,状态周期(一个S)为1/6s,机器周期为1s,指令周期为1s、2s或4s。注意:P26页(4)说法不严谨,28,一个机器周期包含编号为S1P1(状态1、相位1)S6P2(状态6、相位2)共12个振荡周期。一般,算术/逻辑运算发生在相位1(P1)周期,而内部寄存器之间的传送操作发生在相位2(P2)周期。指令周期:CPU取一条指令至该指令执行完所需的时间。以机器周期为单位,有三种情况:单周期、双周期和四周期。指令代码:多为单字节和双字节指令,最长不超过三个字节。,29,图2880C51单片微机指令时序,30,三、RST/VPD引脚与复位电路(P45),复位的作用:可以使系统处于确定的初始状态复位的条件:RST引脚连续两个机器周期的高电平在RST为高电平的第二个机器周期时执行内部复位,并且在RST变低前的每个机器周期重复执行内部复位。复位电路见P47。,31,图216复位电路,32,复位后:(P46)内部RAM不变。复位有效期,ALE,PSEN引脚均输出高电平。PC:0000H(单片机从0000H地址开始执行程序)ACC:00HDPTR:0000HPSW:00HP0P3口:0FFHSP:07H注:其余特殊功能寄存器的复位值见P46,33,四、输入/输出(I/O)口(P36),P0P3:四个8位并行I/O口(双向),每一位均由自己的锁存器(特殊功能寄存器SFR之一)、输出驱动器和输入缓冲器组成。,34,P0口:三态双向口(准)作用:地址总线低八位A0A7;数据总线D0D7时分复用:a)地址线b)I/OP0作A/D总线,分时输出外部存贮器低八位地址A0A7和8位数据D0D7。结构:见下页作普通I/O口使用时,相当于准双向口输出:写入P0口锁存器输入:读入数据前应先置1作地址/数据复用总线时,是真正的双向口,35,图211P0口位结构原理图,36,P1口:准双向I/O口P1、P2、P3口均有内部上拉电阻,当它们作输出方式时,各口Q0管将通过饱和或截止使输出端为0或1。因此当用作输入时,必须使Q0截止,即先置相应锁存器为1,这就是所谓准双向I/O口的特点。即:输出时:口锁存器0引脚低1引脚高输入时:口锁存器0引脚电平为低,不能正确读入数据。1可正确读入数据。,37,P2口:8位准双向I/O口高八位地址总线A8A15P3口:具双重功能a)第一功能:普通的准双向I/O口b)第二功能:其口锁存器必须置为1状态,此时与非门的状态由第二输出功能控制线的状态确定,反映第二功能输出的电平状态。8052的P1.0,P1.1具有第二功能,位结构同P3口注:上电复位后:P0P3口均为0FFH,38,总结:作为准双向口:输出:正常使用输入:先置相应锁存器为1,39,I/O的读操作(P41)读引脚:当指令中Px口为唯一源操作数时,该指令是读取引脚的状态,因而是读引脚。如“MOVA,P1”该指令是读取P1口的内容送累加器,因而是“读引脚”。读锁存器:当指令中Px口既是源操作数,又是目的操作数时,内部时序逻辑是采用“读锁存器”方式。读取Px状态,进行某种操作再写入刚才的读入口,即“读修改写”操作。如“INCP1”该指令是先读取口锁存器内容,加1后再写入P1口锁存器中。,40,第三节存贮器组织(P28),MCS-51的存储器结构,与典型的微型计算机不同,它把程序存储器和数据存储器截然分开,各有自己的寻址系统、控制信号和功能。,41,在物理上设有4个存储器空间程序存储器:片内程序存储器;片外程序存储器。数据存储器:片内数据存储器;片外数据存储器。,在逻辑上设有3个存储器地址空间片内、片外统一的64KB程序存储器地址空间;片内256(80C52为384)B的数据存储地址空间;片外64KB的数据存储器地址空间。注:在访问这3个不同的逻辑空间时,应选用不同形式的指令。,42,逻辑上的三个空间又可细分为五类:程序存贮器工作寄存器区和数据缓冲区位寻址区内部数据存储特殊功能寄存器外部扩展的数据存贮器和I/O空间,43,图2980C51单片微机存储器映象图,片外,片外,片内,44,一、程序存贮器1、用于存放程序和表格常数,以程序计数器PC作地址指针(16位)2、64K字节程序存贮器空间,0000HFFFFH3、无论片内是否有程序存贮器,其地址空间统一编址,最大64K字节。8051和8751:内部有4K字节PROM/EPROM程序存贮器,当EA=0时,低4K地址指向片外;当EA=1时,低4K地址(0000H0FFFH)指向片内。1000HFFFFH均为片外。8031无片内程序存贮器,其EA必须为0。8052内部有8KROM,45,4、程序是存放在PROM/EPROM内,是固定内容,正常工作时只有读程序,不会写程序,故在硬件上,51读程序控制线PSEN与外扩PROM或EPROM的OE(输出使能端)相连,因此可以正确读出程序。5、软件上,有一类指令对程序存贮器(其中存放的表格)进行处理(读操作)。MOVCA,A+PC;A(A)+(PC)MOVCA,A+DPTR;A(A)+(DPTR)6、编程时注意:复位时PC=0,故程序总是从0000H开始。(程序执行方式见课本P47),46,程序存储器中从0003H002DH单元被保留用于中断源的中断服务程序的入口地址。以下7个特定地址被保留:复位0000H外部中断00003H计时器T0溢出000BH外部中断10013H计时器T1溢出001BH串行口中断0023H计时器T2/T2EX002BH(对于8052、8032)在程序设计时,通常在这些中断入口处设置无条件转移指令,使之转向对应的中断服务程序段处执行。,47,二、内部数据存贮器,1、低128字节地址空间的RAM区:字节地址00H7FHCPU内部可存数据的单元。2、高128字节地址空间:对于8051:为特殊功能寄存器区(SFR)对于8052:既是RAM区(80HFFH),又是特殊功能寄存器区,为二者重叠的地址空间。注:当这个地址空间的RAM区和SFR区共享同样的地址单元时,它们的访问是通过各自的寻址方式来加以区别的访问高地址字节片内RAM时采用寄存器间接寻址方式访问SFR则只能用直接寻址方式访问低128字节片内RAM则两种方法均可。,48,图210片内数据存储器各部分地址空间分布图,49,内部RAM,8051内部数据存储器结构,特殊功能寄存器区SFR,00,7F,FF,80,50,3、片内数据存储器具体介绍(以8051为例),(1)片内数据存贮器低128字节:00H7FH由三部分组成:工作寄存器区、位寻址区和数据缓冲区。,51,a)工作寄存器区:00H1FH分为四个工作寄存器区,每区有8个工作寄存器R0R7,其与片内RAM地址的对应关系为:R0R1R2R3R4R5R6R7RS1RS0区00H01H02H03H04H05H06H07H00008H09H0AH0BH0CH0DH0EH0FH01110H11H12H13H14H15H16H17H10218H19H1AH1BH1CH1DH1EH1FH113,52,b)数据缓冲区:30H7FH(直接地址)其作用同外部数据存贮器,但仅用8位地址,故处理事件应尽可能放在内部。C)位寻址区:20H2FH该区间既可位寻址也可字节寻址。位地址与字节地址的关系:20H.0=00H20H.1=01H20H.7=07H字节地址位地址21H.0=08H21H.1=09H21H.7=0FH2FH.0=78H2FH.1=79H2FH.7=7FH共168=128个位地址可按位操作。,53,表22字节地址和位地址的关系,54,低128字节中位寻址区的位地址与字节地址的转换举例:23H.6(字节地址)=?(位地址)(23H-20H)*8+6=30=1EH(位地址)61H(位地址)?(字节地址)6*2+20H=12+20H=0CH+20H=2CH所以字节地址为:2CH.161H中的低半字节:15DH(位地址)?(字节地址)5*2+20H=10+20H=0AH+20H=2AH所以字节地址为:2AH.D,但.D显然不合理,“.”后只能为07,通过推算可得2BH.5(因为D-8=5,2AH+1=2BH),55,(2)片内数据存贮器高128字节:80HFFHa)特殊功能寄存器SFR离散分布在80HFFH之间,共21个。b)位地址空间SFR中凡是字节地址为8的倍数的特殊功能寄存器都具有位寻址功能,其位地址占用80H0FFH空间,56,特殊功能寄存器SFR区,57,表24特殊功能寄存器(SFR)的位地址,58,位地址与字节地址貌似相同,在工作中是如何区分的呢?例:PCON:字节地址87HP0.7:位地址87H指令:MOVA,87H自动翻译成字节寻址MOVC,87H自动翻译成位寻址Cy是布尔处理机的累加器C,其功能同字节操作时的累加器Acc。,59,c)对8052/8032而言,80H0FFH还为128个高地址字节单元的内部RAM区,依寻址方式与SFR区分。访问高地址字节片内RAM时采用寄存器间接寻址方式,访问SFR则只能用直接寻址方式。,60,三、外部数据存贮器,1、0000FFFFH,64K寻址空间。2、硬件:正常工作时,主要受RD和WR线来控制对外部RAM芯片的读出和写入。3、软件:访问外部数据存贮器专用指令MOVX,地址指针通常用DPTR(SFR中的数据指针)。MOVXDPTR,A;(写)MOVXA,DPTR;(读)4、注意:外部扩展的I/O地址也占用同一地址空间,使用同样的地址线、数据线和控制线,设计系统时一定要统一编址,不能重迭。(8088系统中I/O和RAM不在同一个寻址空间)。,61,第四节单片机的工作方式,四种工作方式:复位、程序执行、低功耗以及编程和校验。,62,一、复位方式,复位操作复位是单片机的初始化操作其主要功能是把程序计数器PC初始化为0000H,使单片微机从0000H单元开始执行程序。除PC之外,复位操作还对其它一些特殊功能寄存器有影响,其复位状态见表26。复位操作还对单片微机的个别引脚信号有影响。例如在复位期间,ALE和PSEN信号变为无效状态,即ALE=l,PSEN=l。,63,表26特殊功能寄存器SFR的复位状态,64,复位信号及其产生RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续2个机器周期(即24个振荡周期)以上。若使用频率为6MHz的晶振,则复位信号应持续4s以上。整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送施密特触发器,再由片内复位电路每个机器周期的S5P2时刻采样触发器输出,得到内部复位所需信号。片内复位操作有上电自动复位、按键电平复位和外部脉冲复位三种方式。,65,程序执行方式是单片机的基本工作方式。由于复位后PC0000H,因此程序执行总是从0000H开始的。一般在0000H开始的单元中存放一条无条件转移指令,以便跳转到实际主程序的入口去执行。比如:ORG0000HSJMPMAIN;转主程序,二、程序执行方式,66,三、低功耗工作方式,80C51有两种低功耗方式,即待机方式和掉电保护方式。待机方式和掉电保护方式都是由电源控制寄存器(PCON)的有关位来控制的。,67,图21780C51单片微机低功耗方式的内部结构,PD,68,其中:SMOD:波特率倍增位,在串行通讯时使用。GF1、GF0:通信标志位1、0。PD:掉电方位式,PD1,则进入掉电方式。IDL:待机方式位,IDL1,则进入待机方式。若PD、IDL同时为1,则先激活掉电方式,电源控制寄存器是一个逐位定义的8位寄存器,其格式如下:,69,待机方式进入待机方式:使用指令置PCON寄存器的IDL位为1。这时振荡器仍然运行,并向中断逻辑、串行口和定时器/计数器电路提供时钟,中断功能继续存在。向CPU提供时钟的电路被阻断,因此CPU不能工作,与CPU有关的如SP、PC、PSW、ACC以及全部通用寄存器都被冻结在原状态。,70,退出待机方式:采用中断方式或硬件复位。a.若产生一个外部中断请求信号,在单片机响应中断的同时,PCON.0位(IDL位)被硬件自动清0,则退出待机方式。在中断服务程序中安排一条RETI指令,就可以使单片机恢复正常工作,从设置待机方式指令的下一条指令开始继续执行程序。b.硬件复位只需保持两个机器周期的高电平即可。RST端复位信号直接将IDL位清0,从而退出待机方式,从设置待机方式指令的下一条指令开始继续执行程序。,71,掉电保护方式PCON的PD位控制单片机进入掉电保护方式。当80C51检测到电源故障时,除进行信息保护外,还应把PCON.1位置1,使之进入掉电保护方式。此时单片机一切工作都停止,只有内部RAM单元的内容被保护。只能依靠复位退出掉电保护方式。当Vcc恢复正常后,只要硬件复位信号维持10ms,就能使单片机退出掉电保护方式,CPU则从进入该方式的下一条指令开始重新执行程序。,72,对于片内具有EPROM型程序存储器的87C51(87C52)和片内具有闪速存储器的89C51(89C52)、78E51(78E52)等单片机可以通过编程来修改程序存储器中的程序。89C51内部有一个4KB的FlashEPROM。编程接口可接收高电压(12V)或低电压(VCC)的允许编程信号。低电压编程方式可以很方便的与89C51内的用户系统进行编程;而高压编程方式则可与通用的EPROM编程器兼容。对于这两种编程方式的芯片,其型号和片内特征字节的内容不同。闪速存储器编程方式表2-8列出了89C51闪速存储器的编程、校验、写锁定位

温馨提示

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

最新文档

评论

0/150

提交评论