资源描述
第二章MCS-51单片机的内部结构,MCS-51单片机结构及工作原理MCS-51单片机引脚及外部总线结构CPU时序及辅助电路MCS-51单片机存储器结构,MCS-51的总体结构,MCS-51系列单片机是高性能的8位单片机,该系列中有8051、8031、8751等,这三种单片机除内置程序存储器有区别外,内部结构和引脚相同。其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机。8031:内部无程序存储器ROM,须外接EPROM。8051:ROM型单片机,内含4K字节ROM。8751:EPROM型单片机,内含4K字节EPROM。,MCS-51基本构成CPU:8位存储器:128字节RAM21个专用寄存器4K字节ROM存储器并行口:4个8位并行口串行口:1个全双工的串行口定时器/计数器:2个16位的定时器/计数器中断系统:5个中断源,两个中断优先级寻址范围:64K字节(程序存储区和外部数据存储区各64K),MCS-51的总体结构,MCS-51的内部结构,MCS-51的CPU,CPU:单片机的核心部分,是单片机的指挥和执行部件。包含两个基本部分:运算器和控制器。,运算器:进行算术和逻辑运算,存储运算结果并作相应标记。控制器:控制计算机各部分协调工作。,MCS-51的CPU:运算器,1.算术逻辑运算部件ALU:完成各种算术运算和逻辑运算2.寄存器:CPU内部没有单独的存储器,而是设置了一些工作寄存器,暂存数据和状态等(1)累加器ACC:可存放操作数和运算的中间结果;(2)寄存器B:主要用于乘、除运算。寄存器B也可作为一般的寄存器用。,MCS-51的CPU:运算器,2.寄存器(3)程序状态字PSW程序状态字是8位寄存器,用于指示程序运行状态信息。其中有些位是根据程序执行结果由硬件自动设置的,而有些位可由用户通过指令方法设定。,PSW中各标志位名称及定义如下:,程序状态字PSW,C:也表示为CY进(借)位标志位在加减运算中,若操作结果的最高位有进位或有借位时,CY由硬件自动置1,否则就清0。在位操作中,CY作为位累加器使用,参于进行位传送、位与、位或等位操作。另外某些控制转移类指令也会影响CY位状态。,程序状态字PSW,AC:辅助进(借)位标志位。在加减运算中,当低四位向高四位进位或借位时此标志位由硬件自动置1,否则就清0。F0:用户标志位,由用户通过软件设定,用以控制程序转向。,程序状态字PSW,RS1,RS0:寄存器组选择位用于设定当前通用寄存器组的组号。通用寄存器组共有4组,其对应关系如下,程序状态字PSW,OV:溢出标志位在带符号数(补码数)的加减中,OV=1表示运算的结果超出了累加器A的八位符号数表示范围(128+127),产生溢出,因此运算结果是错误的。OV=0,表示未超出表示范围,运算结果正确。乘法时,OV=1,表示结果大于255,结果分别存在A,B寄存器中。OV=0,表示结果未超出255,结果只存在A中。除法时,OV=1,表示除数为0。OV=0,表示除数不为0。,程序状态字PSW,D1位未定义。可用伪指令将它定义为F1,如同F0一样,作为用户设定的软件标志位。P:奇偶标志位。表示累加器A中数的奇偶性;在每个指令周期由硬件根据A的内容的奇偶性,对P自动置位或复位。P=1,表示A中内容有奇数个1。,MCS-51的CPU,CPU:运算器、控制器,控制计算机各部分协调工作。,MCS-51的CPU:控制器,程序计数器PC(ProgramCounter)PC是一个16位计数器,其内容为单片机将要执行的指令机器码所在存储单元的地址。PC具有自动加1的功能,从而实现程序的顺序执行。由于PC不可寻址的,因此用户无法对它直接进行读写操作,但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。PC的寻址范围为64KB,即地址空间为00000FFFFH。,MCS-51的CPU:控制器,数据指针DPTR数据指针DPTR为16位寄存器,它是MCS51中唯一的一个16位寄存器。DPTR通常在访问外部数据存储器时作为地址指针使用,寻址范围为64KB。编程时,既可按16位寄存器使用,也可作为两个8位寄存器分开使用。DPH为DPTR的高八位寄存器,DPL为DPTR的低八位寄存器。,MCS-51的CPU:控制器,堆栈指针SPSP为8位寄存器,用于指示栈顶单元地址。堆栈是一种数据结构,只允许在其一端进行数据删除和数据插入操作的线性表。数据写入堆栈叫入栈(PUSH),数据读出堆栈叫出栈(POP)。堆栈的最大特点是“后进先出”的数据操作原则。,进栈:使SP的内容增1后作数据压入操作;出栈:先把栈顶的数据弹出,然后使SP的内容减1。,堆栈的功用堆栈的主要功用是保护断点和保护现场。因为计算机无论是执行中断程序还是子程序,最终要返回主程序,在转去执行中断或子程序时,要把主程序的断点保护起来,以便能正确的返回。同时,在执行中断或子程序时,可能要用到一些寄存器,需把这些寄存器的内容保护起来,即保护现场。堆栈的设置MCS51系列单片机的堆栈通常设置在内部RAM的30H7FH之间。堆栈指示器SPSP为8位寄存器,用于指示栈顶单元地址。由于SP的内容就是堆栈“栈顶”的存贮单元地址,因此可以用改变SP内容的方法来设置堆栈的初始位置。当系统复位后,SP的内容为07H,但为防止数据冲突现象发生,堆栈最好设置在内部RAM的30H7FH单元之间,例如使(SP)=30H。,MCS-51的CPU:控制器,MCS-51的CPU:控制器,指令寄存器、译码器、定时指令寄存器(IR):存放所取出的指令指令译码器(ID):对指令进行译码定时和控制电路:根据指令发出时序控制信号。,指令执行过程基本概念指令:是计算机执行某种操作的命令。指令通常由操作码和操作数两部分组成。操作码:表示计算机执行什么具体操作。操作数:表示参加操作的数或操作数所在的地址。程序:为完成某项工作,将一系列指令有序地组合。,MCS-51的CPU:控制器,例:LDA,2;把数2送入A累加器中ADDA,6;累加器A和数6相加,结果存入A中上面程序转化为计算机可识别的机器语言00111110LDA,2的操作码00000010LDA,2的操作数211000110ADDA,6的操作码00000110ADDA,6的操作数6,执行指令:第一阶段:取指令,并在取得指令操作码后进行译码;第二阶段:执行指令,即取操作数,然后按操作码的性质对操作数进行操作。,MCS-51的CPU:控制器,MCS-51单片机结构及工作原理MCS-51单片机引脚及外部总线结构CPU时序及辅助电路MCS-51单片机存储器结构,第二章MCS-51单片机的内部结构,MCS-51的引脚,MCS51系列单片机的芯片一般都采用40个引脚的双列直插式封装(DIP)方式。其中有些CHMOS制造工艺的单片机芯片还采用44个引脚的方形封装(LCC或QFP)方式,44个引脚中标识有NC的4个引脚为空引脚。,MCS-51的引脚,主电源及地引脚VCC(40脚):电源(接+5V)VSS(20脚):地线。外接晶振引脚(时钟电路引脚)XTAL1(19脚):接外部晶振的一个引脚(内部反相放大器的输入端)XTAL2(18脚):接外部晶振的一个引脚(内部反相放大器的输出端),MCS-51的引脚,并行输入/输出(I/O)引脚P0.0P0.7(3932脚):P0口是8位双向I/O口,分时提供低8位地址和作8位双向数据总线;P1.0P1.7(18脚):P1口是8位准双向I/O口;P2.0P2.7(2128脚):P2口是8位准双向I/O口。当CPU访问外部存储器时,它输出高8位地址;P3.0P3.7(1017脚):P3口是8位准双向I/O口。它是一个复用功能口。,MCS-51的引脚,P3.0P3.7(1017脚):它是一个复用功能口。作为第一功能使用时,为普通I/O口,与P1口相同。作为第二功能使用是,各脚的定义如下表。,/VPP(31脚):访问程序存贮器选择信号输入线。当为低电平时,CPU只能访问外部程序存储器;当为高电平时,CPU可访问内部程序存储器(当8051单片机的PC值小于等于0FFFH时),也可访问外部程序存储器(当PC值大于0FFFH时)。,MCS-51的引脚,RST/VPD(RESET,9脚)复位信号输入引脚,高电平有效。在该引脚上输入持续2个机器周期以上的高电平时,单片机系统复位。,MCS-51的引脚,(29脚):外部程序存储器的读选通输出信号,低电平有效。在读外部程序存储器时CPU会送出有效的低电平信号。,ALE/PROG(30脚):地址锁存允许信号输出端,高电平有效。在访问外部存储器时,该信号将控制P0口送出的低8位地址锁存到外部地址锁存器中。,MCS-51的片外总线结构,总线:是用来传送信息的一组导线,它为CPU和其他部件之间提供数据、地址、和控制信息的传输通道。一般包括:地址总线AB:用来传送地址信息。地址总线是由CPU出发的,因而是单向的。地址总线的位数决定了CPU可直接寻址的内存范围。数据总线DB:用于传送数据信息。数据既可以从CPU传送到存储器或输入输出接口,也可以从存储器或输入输出接口传送到CPU,因而是双向的。控制总线CB:用于传送控制信号。一种是有CPU发出到存储器或输入输出接口,一种是有输入输出接口发送到CPU的控制信号。,MCS-51的片外总线结构,外部总线1.地址总线AB2.数据总线DB3.控制总线CB,MCS-51的片外总线结构,地址总线AB:宽度为16位;因此,外部存储器直接寻址为64k字节。16位地址总线中,有P0口经地址锁存器提供低8为地址A0-A7,P2口直接提供高8位地址A8-A15。数据总线DB:宽度为8位,由P0口提供。控制总线CB:由P3口的第二功能状态和4根独立控制线组成,第二章MCS-51单片机的内部结构,MCS-51单片机结构及工作原理MCS-51单片机引脚及外部总线结构CPU时序及辅助电路MCS-51单片机存储器结构,MCS-51的时序:CPU的时序,时序的基本概念计算机的工作过程就是不断执行指令的过程。CPU每执行一条指令,都要进行取指令、译码、执行指令。这些操作都必须按照时间节拍一步步地顺序完成。人们把CPU执行一条指令的各个操作所对应的脉冲信号遵循的时间顺序称为时序。时序严格地规定了单片机内部以及与外部各功能部件相互配合协调工作的时空关系。时序图:直观展现CPU的时序。把执行一条指令时对应信号线上有关信息的变化按时间序列以特定的波形表示出来。,MCS-51的时序:CPU的时序,按指令的执行过程,定义了四种周期:振荡周期:为单片机提供定时信号的振荡源的周期;时钟周期:振荡脉冲二分频,又称为状态周期S;机器周期:完成一个基本操作(如取指令、读存储器等)所需要的时间称为机器周期。机器周期由6个状态周期(12个振荡周期)组成。指令周期:CPU执行一条指令所需要的时间,可包含14个机器周期。,MCS-51的复位和复位电路,复位计算机在启动运行时都需要复位,使CPU和系统中的其他部件都处在一个确定的初始状态,并从这个状态开始工作。只要在MCS-51单片机的RST引脚输入24个振荡周期(即2个机器周期)以上的高电平,单片机即被复位。复位是单片机系统的初始化操作,系统复位后会对专用寄存器和单片机的个别引脚信号有影响,复位后对一些专用寄存器的影响情况如下:,(PC)=0000H:系统复位后,使单片机从0000H单元开始执行程序。(SP)=07H:单片机自动把堆栈的栈底设置在内部RAM07H单元,从08H单元开始存储数据。其余的专用寄存器在复位后都全部清“0”。此外,复位操作还对单片机的个别引脚信号有影响,如把ALE和PSEN信号变为无效状态,即ALE=1,PSEN=1。复位操作对内部RAM不产生影响。,MCS-51的复位和复位电路,第二章MCS-51单片机的内部结构,MCS-51单片机结构及工作原理MCS-51单片机引脚及外部总线结构CPU时序及辅助电路MCS-51单片机存储器结构,存储器:储存二进制信息的数字电路器件。存储器包括主存储器和外存储器。外存储器(外存)指各种大容量的磁盘存储器、光盘等。存储器(内存)指能与CPU直接进行数据交换的半导体存储器。半导体存储器:按读、写功能可以分为随机读/写存储器RAM和只读存储器ROM。随机读/写存储器RAM在断电后再通电时,原存的信息全部丢失。它主要用来存放临时的数据和程序。只读存储器ROM在使用时,只能读出信息,而不能写入,且在断电后ROM中的信息仍然保留。它主要用来存放固定不变的程序和数据。,Intel单片机系列,MCS-51的存储器结构,ROM按生产工艺分,又可以分为以下几种:掩膜ROM:其存储的信息在制造过程中采用光刻工艺生成,一旦出厂,信息就不可改变。可编程只读存储器PROM:其存储的信息可由用户通过特殊手段一次性写入,但只能写入一次。可擦除只读存储器:其存储的信息用户可以多次擦除,并可用专用的编程器重新写入新的信息。可擦除只读存储器又可分为紫外线擦除的EPROM、电擦除的EEPROM和FlashROM。,只读存储器ROM,MCS-51的存储器结构,物理结构上,8051有四个存储空间:,程序存储器存放编好的程序和常数表格。它应该是ROM还是RAM?,数据存储器存放运算的中间结果、数据暂存和缓冲以及标志位等。它应该是ROM还是RAM?,MCS-51的存储器结构,物理结构上,8051有四个存储空间:,逻辑上,即从用户编程的角度看,8051只有三个存储空间:,当单片机的EA引脚为1:同时使用片内外的ROM若程序计数器PC的值在4KB(0000H0FFFH)范围内,CPU访问片内ROM,执行片内ROM中的程序;若PC的值大于0FFFH(0FFFHFFEFH),CPU将自动访问片外ROM。单片机的EA引脚为0:只使用片外ROM,丢弃片内ROMCPU的所有取指令操作均访问片外ROM,这是片外ROM从0000H开始编址。,MCS-51的存储器结构:程序存储器,8051内共有4KB掩膜ROM,片外可接60KB的EPROM,片内外统一编址,程序存储器的两种配置,MCS-51的存储器结构:程序存储器,问题:单片机复位后,程序计数器PC的内容为0000H,即系统从0000H单元开始执行程序。然而,由于0003H单元被保留,不能存放用户程序。我们怎么存放大量的程序?解决的方法:所以,一般在0000H0002H单元,存放一条无条件转移指令(类似goto),从而程序可从转移后的地址开始存放。这样,CPU复位后,PC可以从0000H起始地址跳转到用户程序去执行。,在程序存储器中,有6个地址单元被保留用于某些特定地址,MCS-51的存储器结构:数据存储器,数据存储器(RAM):用于存放数据、运算的中间结果和标志等,片内数据存储器:8位地址,共256个字节存储单元。对片内RAM使用MOV指令访问;片外数据存储器:16位地址,最大可扩展至64K字节;对片外RAM使用MOVX指令访问;,MCS-51的存储器结构:数据存储器,片内数据存储器的低128字节,00H1FH为通用工作寄存器区,分为4组,每组8个工作寄存器R0R7,每个寄存器一个字节。在任一时刻,CPU只能使用其中一组通用寄存器,称为当前通用寄存器组。由程序状态寄存器PSW中RS1,RS0位的状态组合来确定。通用寄存器为CPU提供了就近存取数据的便利,提高了工作速度,也为编程提供了方便。,片内数据存储器,MCS-51的存储器结构:数据存储器,片内数据存储器的低128字节,20H2FH为位寻址区。16个字节共128位,每一位都分配一个8位地址,称为位地址,其范围是00H7FH。位寻址区既可作为一般的RAM区进行字节操作;也可对单元的每一位进行位操作,因此称为位寻址区,是存储空间的一部分。30H7FH为数据缓冲区,用来存放数据。用户堆栈一般设在这个区间。,片内数据存储器,MCS-51的存储器结构:数据存储器,片内数据存储器的高128字节,片内数据存储器,内部RAM高128单元是供给专用寄存器使用的,因此称之为专用寄存器区(也称为特殊功能寄存器区(SFR)区),单元地址为80H0FFH。这些特殊功能寄存器中,A、B、PSW、SP、DPTR等已在前面介绍过,其他的留在后面的有关章节介绍。,
展开阅读全文