资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,请单击鼠标左键换页,!,2.1 MCS-51,单片机的内部结构,重点,:,1.CPU,结构 ,2.I/O,口的功能 ,3.,存储器结构 ,了解,:,51,单片机堆栈的特点及使用方式概念。,2.1 MCS-51,单片机的内部结构,MCS-51,系列单片机是,Intel,公司推出的通用性单片机的基本产品为,8051,、,8031,和,8751,。,8051,的,ROM,为掩模型,具有专有功能;,8031,无片内,ROM,,使用时需外接,ROM,;,8751,的,ROM,是,EPROM,型,;,上述三个器件是,HMOS,工艺的产品。低功耗的,CMOS,工艺器件,80C51,、,80C31,、,87C51,分别与上述器件兼容。,CMOS,器件具有低功耗的特点。如,8051,功耗约为,630,mW,,而,80C51,的功耗仅为,120,mW,。,8,位,CPU,。,片内振荡器及时钟电路。,32,根,I/O,线。,外部存储器地址范围,ROM,、,RAM,各,64K,。,2,个,16,位的定时,/,计数器。,内部,ROM,程序存储器。,内部,RAM,数据存储器,一个可编程全双工串行口(,UART,)。,有,5,个中断源、,2,个优先级的中断结构。,MCS-51,单片机的内部结构框图,MCS-51,单片机的内部结构逻辑图,2.2 CPU,的结构,CPU=,?,运算器,+,控制器,2.2.1,运算器,运算器包括算术逻辑部件,(ALU),、累加器,A,、暂存寄存器、寄存器,B,、程序状态寄存器(,PSW,),十进制调整电路等。,运算器主要用于实现算术,/,逻辑运算及位操作运算。,1,、算术逻辑部件,ALU,2,、,累加器,A,3,、,寄存器,B,4,、,程序状态字寄存器,PSW,CY,(,PSW.7,):进位标志位。在进行加法(或减法)运算时,若运算结果最高位有进位或借位,则,CY,自动置“,1”,,否则,CY,置“,0”,,在进行布尔操作运算时,,CY,(简称,C,)作为布尔处理器。,AC,:辅助进位标志位。当进行加法或减法时,若低,4,位向高,4,位有进位(或借位)时,,AC,被置“,1”,,否则,AC,被置“,0”,。在十进制调整指令中,AC,还作为十进制调整的判别位。,F0,:用户标志位。用户可用软件对,F0,位置“,1”,或清“,0”,以决定程序的流向。,OV,:溢出标志位,当运算结果溢出时,OV,为“,1”,,否则为“,0”,,此标志位反映了运算结果是否溢出。,PSW.1,:未定义位。,P,(,PSW.0,):奇偶标志位。,MCS-51,单片机采用的是,偶校验,。当累加器,A,中“,1”,的个数为奇数时,,P,置“,1”,,否则,P,置“,0”,。此位反映累加器,A,中内容“,1”,的奇偶性,它常常用于机间通信。,RS1,、,RS0,:工作寄存器区选择位。用来选择当前工作的寄存器区。用户通过改变,RS1,、,RS0,的内容来选择当前工作寄存器区。,RS1,、,RS0,的内容与工作寄存器区的对应关系如表,2-1,所示。,2.2.2,控制器,1,、指令寄存器,IR,和指令译码器,ID,。,指令寄存器,IR,用来暂时存放当前取出的指令,并由指令译码器,ID,译码,产生相应的译码信号,并传送给定时控制电路,定时控制电路发出各种控制信号控制各器件完成指令规定的操作。,2,、程序计数器,PC,程序计数器,PC,为,16,位寄存器,用于存放下一条要执行的指令的地址,具有自动加,1,功能,。,可寻址,64KB,的程序存储器空间,。,3,、堆栈指针,SP,用于存放栈顶单元的地址,其作用是在子程序调用与中断时,用于保存,断点地址,及,片内数据存储单元的内容,。,4,、数据指针寄存器,DPTR,DPTR,用于存放,片外,数据存储器及,I/O,口的地址。,2.2.3,工作寄存器和特殊功能寄存器,1,、,工作寄存器,MCS-51,有,32,个工作寄存器,分为四个区,每个区为,8,个寄存器,R0,、,R1,、,R2,、,R3,、,R4,、,R5,、,R6,、,R7,,每一时刻只有一个区工作。由,PSW,寄存器中的,RS1,、,RS0,的值来决定当前的工作区:,当,RS1 RS0,00,时,,0,区为工作区,,RS1,RS0,01,时,,1,区为工作区,RS1,RS0,10,时,,2,区为工作区,RS1,RS0,11,时,,3,区为工作区,32,个工作寄存器地址为,00H-1FH,共,32,个单元。,00H,07H,为,0,区,分别对应,R0,R7,08H,0FH,为,1,区,分别对应,R0,R7,10H,17H,为,2,区,分别对应,R0,R7,18H,1FH,为,3,区,分别对应,R0,R7,2,、特殊功能寄存器,SFR,(又称专用寄存器),MCS-51,单片机内的,I/O,口锁存器、状态标志寄存器、定时器、串行口、数据缓冲器以及各种控制寄存器统称为特殊功能寄存器,它们离散地分布在内部,RAM,地址空间,80H,FFH,内。,21,个特殊功能寄存器中,,11,个具有位寻址功能。,2.3 MCS-51,单片机存储器,MCS-51,单片机采用,哈佛结构,其,程序存储器和数据存储器是分开的,各有自己的寻址系统、控制信号和功能。程序存储器用来存放程序和表格常数,;,数据存储器通常用来存放程序运行所需要的给定参数和运行结果。,MCS-51,单片机的存储器配置从实际的物理存储介质来看,有,4,种存储空间:,片内程序存储器、片外程序存储器;片内数据存储器,(,含特殊功能寄存器,),和片外数据存储器。,MCS-51,的存储器配置情况如下图所示。,程序,存储器配置,数据,存储器配置,程序存储器以程序计数器,PC,作地址指针,通过,16,位地址总线,可寻址的地址空间为,0000H,FFFFH,共,64KB,其访问指令为,MOVC,。用于存放程序指令码与固定的数据表格等。,程序存储器保留给系统使用空间:,0000H,0002H,单元是所有执行程序的起始地址,MCS-51,单片机复位后,程序计数器,PC,为,0000H,。通常在该单元存放一条跳转指令,用户程序则从跳转地址开始存放。,0003H,002AH,单元均匀地分为五段,用作五个中断服务程序的入口地址,用户程序不应进入上述区域。,高电平:,程序从内部,ROM,开始执行。,/EA,引脚:,低电平:,程序从外部,ROM,开始执行。,程序存储器,外部中断,0 0003H,定时器,0(T0)000BH,外部中断,1 0013H,定时器,1(T1)001BH,串行口,0023H,数据存储器,片外数据存储器,:,数据存储器,片内数据存储器,以,DPTR,作为地址指针,可寻址的地址空间为,0000H,0FFFFH,共,64KB,其访问指令为,MOVX,。,单片机的,I/O,口地址与片外数据存储器统一编址,其地址也是由,DPTR,提供。,地址空间从,00H,FFH,共,256B,其访问指令为,MOV,。其地址可由,R0,、,R1,寄存器提供。,分,2,个区,:,00H,7FH RAM,区,.,80H,FFH SFR,区。,内部,RAM,结构,RAM,区,RAM,区,工作寄存器区,(00H,1FH):,主要用于存放数据,与片内存储单元的地址。,位地址区,(20H,2FH):,通常把各种程序状态标志、位控制变量设在位寻址区内。位寻址区的,RAM,元也可以作为一般的数据缓冲区使用,。,数据缓冲区,(30H,7FH),:,共,80,个字节单元,用于存放数据与运算结果,如加法运算时,存放加数、,被加数及运算和。通常堆栈区也设置在该区内。,特殊功能寄存器,SFR,特殊功能寄存器地址范围,:(80H,FFH),注意,:,对于,8051,子系列,128B,的,SFR,区中只有,21B,是有意义的,(,对于,8052,子系列为,26B),。若访问的是这一区中没有定义的单元,得到的是一个,随机数,。对于,8052,子系列,其,RAM,为,256B,高,128B RAM,区与,SFR,区的地址是重合的,对两者的访问,通过寻址方式加以区分。,详细情况见前节描述:,2.4,时钟电路及时序,内部方式时钟电路,时钟电路,外部方式时钟电路,2.4.1,时钟电路,时钟信号的输出,为应用系统中的其它芯片提供时钟,但需增加驱动能力。,2.4.2 8051,基本时序,指令译码产生的一系列微操作信号在时间上有严格的先后次序。,单片机执行的指令均是在,CPU,控制器的时序控制电路的控制下进行的,各种时序均与时钟周期有关。,一、时钟周期,时钟周期是单片机的基本时间单位。若时钟晶体的振荡频率为,f,osc,,则时钟周期,Tosc=1/fosc,。如,f,osc=6MHz,,,Tosc=166.7ns,。,二、机器周期,CPU,完成一个基本操作所需要的时间。单片机中常把执行一条指令的过程分为几个机器周期。每个机器周期完成一个基本操作,如取指令、读或写数据等等。每,12,个时钟周期为一个机器周期,即,Tcy=12/Tosc,。若,fosc=6MHz,,,Tcy=2S,;,fosc=12MHz,,,Tcy=1S,。,MCS-51,的一个机器周期包括,12,个时钟周期,分为,6,个状态:,S1,S6,。每个状态又分为两拍:,P1,和,P2,。因此,一个机器周期中的,12,个时钟周期表示为:,S1P1,、,S1P2,、,S2P1,、,S2P2,、,、,S6P2,三、指令周期,CPU,执行一条指令所用的时间(用机器周期数表示)。,ALE,信号是为地址锁存而定义的,该信号每有效一次,则对应,MCS-51,的一次读指令的操作。,ALE,信号以时钟脉冲,1/6,的频率出现,,2.5,输入,/,输出端口,(P0,口,),P0,口,是一个真正的双向数,据总线口,访问外部存储器时,分时送出地址的低,8,位和,8,为数据,。,P0,口有位,每一位由一,个输出锁存器、两个三态输入,缓冲器以及输出控制电路和输,出驱动电路组成,P0,口:,字节地址为,80H,,,位地址为,80H-87H,功能,:,I/O,口、地址,/,数据总线。,作为输出口,当用,P0,口输出数据时,写信号加在锁存器的时钟端,CP,上,此时与内部总线相连的,D,端其数据经反相后出现在,/Q,端上,再经,V2,管反相,于是在,P0,口引脚上出现的数据正好是内部总线上的数据。,作,I/O,口时,,CPU,令控制信号为低电平,。多路开关,MUX,接通,B,端,同时使与门输出低电平,场效应管,V1,截止,因而输出级为开漏输出电路。,用作输出口时应外接上拉电阻。,作为输入口,用,P0,口输入数据时,有两种工作方式:,读引脚和读锁存器,。,当,CPU,执行一般的端口输入指令时,“,读引脚,”,信号使下面一个缓冲器开通,于是端口引脚上的数据经过缓冲器输入到内部总线上。,当,CPU,执行,“,读,修改,写,”,一类指令时,“,读锁存器,”,信号使上面一个缓冲器开通,锁存器,Q,端的数据经缓冲器输入内部数据总线。,“,读,修改,写,”,这类指令的操作情况是,:,先读输出锁存器的状态,然后按指令要求对读入的数据进行修改,再把修改结果写入端口锁存器,输出到引脚上。,“,读,修改,写,”,指令不直接读引脚上的数据而要读锁存器,Q,端上的数据,是为了避免可能错读引脚上的电平信号。,在,P0,口作为输入口使用时,必须,首先向端口锁存器写入,“,1,”,。,这是因为当进行读引脚操作时,如果,V2,是导通的,那么不论引脚上的输入状态如何,都会变为低电平。为了正确读入引脚上的逻辑电平,先要向锁存器写,1,使其,/Q,端为,0,,,V2,截止,。该引脚成为高阻抗的输入端。,作为地址,/,数据总线,P0,口可作为地址总线低,8,位或数据总线,供系统扩展时使用。这时,控制信号,为高电平,MUX,接通,A,端。,作为,总线输出,时,从,“,地址,/,数据,”,端输入的地址或数据信号通过与门驱动,V1,,同时通过非门驱动,V2,,结果在引脚上得到地址或数据输出信号。,作,数据总线,输入数据时,从引脚上输入的外部数据经过读引脚缓冲器进入内部数据总线。,P0,口既可以作为地址,/,数据总线口,这时它是真正的双向口;又可作通,用的,I/O,口,但只是一个准双向口。,准双向口的特点是,:,复位时,口锁存器均置,“,1,”,8,根引脚可当一般输入线使用,而在某引脚由原输出状态变成输入状态时,则应先写入,“,1,”,以免错读引脚上的信息。,P0,口通常作地址,/,数据总线口使用,不能再作通用,I/O,口使用。,2.5,输入,/,输出端口,(P1,口,),P1,口只用作通用,I/O,口。与,P0,口相比,P1,口的位结构中少了地址,/,数据的传送电路和多路开关,上面一只,MOS,管改为上拉电阻。,P1,口作为一般,I/O,的功能和使用方法与,P0,口相似。,当输入数据时,应先向锁存器写,“,1,”,。,P1,口也有,读引脚,和,读锁存器,两种方式。所不同的是当输出数据时,由于内部有了上拉电阻,所以不需要再外接上拉电阻。,P2,口是一个,8,位准双向,I/O,口,具有两种功能。,1,、作通用,I/O,口用:与,P1,口相同。,2,、作扩展系统的高,8,位地址总线。输出高,8,位地址,与,P0,口一起组成,16,位地址总线。,当控制端输出高电平时,多路开关接到,A,端,地址信号经反相器、,V,从引脚输出。这时,P2,口输出地址总线高,8,位,供系统扩展使用。,2.5,输入,/,输出端口,(P2,口,),2.5,输入,/,输出端口,(P3,口,),通用,I/O,口,:,当,“,第二功能输出,”,端为高电平时,P3,口用作通用,I/O,口。这时与非门对于输入端,Q,来说相当于非门,位结构与,P2,口完全相同。,第二功能,:,当,P3,口的某一位作为第二功能输出使用时,应将该位的锁存器置,“,1,”,使与非门的输出状态只受,“,第二功能输出,”,端的控制。,“,第二功能输出,”,端的状态经与非门和驱动管,V,输出到该位引脚上。当,P3,口的某一位作为第二功能输入使用时,该位的锁存器和,“,第二功能输出,”,端都应为,“,1,”,这样,该位引脚上的输入信号经缓冲器送入,“,第二功能输入,”,端。,P3,口线第二功能,P3.0,RXD,串行数据接收,P3.1,TXD,串行数据发送,P3.2,INT,0,外部中断,0,申请,P3.3,INT,1,外部中断,1,申请,P3.4,T,0,定时器,/,计数器,0,计数输入,P3.5,T,1,定时器,/,计数器,1,计数输入,P3.6,/,WR,外部,RAM,写选通,P3.7,/,RD,外部,RAM,读选通,P0,口:分时用作地址低,8,位与数据线,低,8,位地址由,PC,低,8,位或,DPL,提供。,P1,口:按位可编址的输入输出口。,P2,口:地址线的高,8,位,高,8,位地址由,PC,高,8,位或,DPH,提供。,P3,口:双功能口,若不用第二功能,可作为一般的,I/O,口。,组成应用系统时,并行口常用来进行系统的扩展。例如实现单片机和存储器以及输入输出接口的连接,也可直接利用并行口与外界进行信息传送,这时就必须考虑并行口的负载能力。一般,P1,、,P2,P3,口的输出能驱动,4,个,LSTTL,输入,P0,口的输出能驱动,8,个,LSTTL,输入。对于,MOS,输入,P1,、,P2,、,P3,无需外加电阻就可以直接驱动,P0,口需外加提升电阻。当,P0,口用作地址,/,数据线时,它可以直接驱动,MOS,而不必加上拉电阻。,MCS-51,单片机的,I/O,口小结,MCS-51,单片机最小系统,2.6 MCS-51,单片机的引脚功能,MCS-51,系列中,用,HMOS,工艺制造的单片机都采用双列直插式,(DIP40),脚封装,引脚信号完全相同。图,2-10,为引脚图,这,40,根引脚大致可分为,:,电源,(VCC,、,VSS,、,VPP,、,VPD),时钟,(XTAL1,、,XTAL2),I/O,口,(P0,P3),地址总线,(P0,口、,P2,口,),控制总线,(ALE,、,RST,、,/EA,、,PSEN),40,只引脚双列直插封装(,DIP,)。,44,只引脚方形封装方式为(,4,只无用),2.7,MCS-51,单片机的工作方式,MCS-51,单片机有四种工作方式,,复位方式,、,程序执行方式,、,节电工作方式,以及,EPROM,编成和校验方式。,2.7.1,复位方式,单片机在开机时都需要复位,以使,CPU,以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作。,RST,引脚是复位信号的输入端。复位信号高电平有效,持续时间需,24,个时钟周期以上。,单片机复位后的工作状态见下表:,2,、,复位电路,2.7.2,程序执行方式,是单片机的基本工作方式。通常可分为,单步执行,和,连续执行,两种工作方式,。,2.7.3,节电工作方式,减少单片机功耗的工作方式。通常可分为,空闲方式,和,掉电方式,两种。单片机的各种工作方式消耗的电流分别为:,11-20mA,、,1.7-5mA,、,5-50uA,。,(,1,)电源控制寄存器,PCON,SMOD-,串行口波特率倍频控制位。,GF0,和,GF1-,通用标志位。,PD,掉,电控制位。,IDL,空,闲控制位。,(,2,),空闲工作方式,将,PCON,中的,IDL,位置,1,,单片机进入空闲工作方式,如图,2-11,所示。中断和复位两种方法退出。,(,3,),掉电工作方式,将,PCON,中的,PD,位置,1,,单片机进入掉电工作方式,如图,2-11,所示。复位方式退出。,2.7.4,编成和校验工作方式,作业,1,、程序存储器的那些单元被保留用于特定场合?,2,、,8051,单片机的,4,个,I/O,口在使用上有哪些分工和特点?,3,、,8051,单片机的,4,个,I/O,口做通用,I/O,口时,要注意什么?,4,、,8051,单片机有那几种工作方式?简单说明其应用场合和特点?,5,、,8051,单片机片内,RAM,低,128,个存储单元划分为哪三个主要部分?各个部分主要功能是什么?,
展开阅读全文