MCS单片机结构与原理 目录MCS单片机结构及CPUMCS单片机引脚与总线结构MCS单片机的存储器结构MCS单片机的输入输出端口MCS单片机的时钟及CPU时序MCS单片机的工作方式.pptx

上传人:一*** 文档编号:82685039 上传时间:2023-03-26 格式:PPTX 页数:111 大小:2.35MB
返回 下载 相关 举报
MCS单片机结构与原理 目录MCS单片机结构及CPUMCS单片机引脚与总线结构MCS单片机的存储器结构MCS单片机的输入输出端口MCS单片机的时钟及CPU时序MCS单片机的工作方式.pptx_第1页
第1页 / 共111页
MCS单片机结构与原理 目录MCS单片机结构及CPUMCS单片机引脚与总线结构MCS单片机的存储器结构MCS单片机的输入输出端口MCS单片机的时钟及CPU时序MCS单片机的工作方式.pptx_第2页
第2页 / 共111页
点击查看更多>>
资源描述

《MCS单片机结构与原理 目录MCS单片机结构及CPUMCS单片机引脚与总线结构MCS单片机的存储器结构MCS单片机的输入输出端口MCS单片机的时钟及CPU时序MCS单片机的工作方式.pptx》由会员分享,可在线阅读,更多相关《MCS单片机结构与原理 目录MCS单片机结构及CPUMCS单片机引脚与总线结构MCS单片机的存储器结构MCS单片机的输入输出端口MCS单片机的时钟及CPU时序MCS单片机的工作方式.pptx(111页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、本章讨论本章讨论MCS-51单片机的结构和工作原理,内容主要有单片机的结构和工作原理,内容主要有MCS-51单片机单片机结构、引脚信号、存储器配置、输入结构、引脚信号、存储器配置、输入/输出端口、时钟与输出端口、时钟与CPU时序,以及单片机的时序,以及单片机的工作方式等。工作方式等。本章是单片机的基本内容,为学习后面各个章节的基础,也是从事单片机本章是单片机的基本内容,为学习后面各个章节的基础,也是从事单片机应用开发的基础。应用开发的基础。第1页/共111页2.1 MCS-51单片机内部结构及单片机内部结构及CPU 主要内容主要内容单片机的功能结构及特点单片机的功能结构及特点单片机的内部原理结

2、构单片机的内部原理结构单片机的单片机的CPU第2页/共111页单片机的功能结构及特点单片机的功能结构及特点 MCS-51单片机的内部功能结构如下页图所示,图中是以单片机的内部功能结构如下页图所示,图中是以52子系列单子系列单片机的结构为对象。片机的结构为对象。从图中可以看到,从图中可以看到,MCS-51单片机在一块芯片中集成了微型计算机所单片机在一块芯片中集成了微型计算机所具有的所有部件具有的所有部件,从功能的角度来看,主要包括,从功能的角度来看,主要包括9个部分。个部分。第3页/共111页图2.1 MCS-51(52子系列)单片机功能结构图时钟信号源外部事件信号BUS时钟电路8KB Flas

3、hROM256B RAM128B SFR16位3个定时/计数器64KB总线扩展控制器可编程并行口可编程全双工串行口CPU中断控制器外中断8位4个并行口串行通信总线控制BUS单片机的功能结构及特点 第4页/共111页从图中可以看出,从图中可以看出,MCS-51单片机内部主要包括单片机内部主要包括9个部分:个部分:一个一个8位的微处理器位的微处理器CPU8KB的片内程序存储器的片内程序存储器Flash ROM256B的片内数据存储器的片内数据存储器RAM、128B特殊功能寄存器(特殊功能寄存器(SFR)4个个8位并行位并行I/O端端有一个管理有一个管理6个中断源的中断控制器个中断源的中断控制器3个

4、个16位的定时器位的定时器/计数器计数器一个全双工的一个全双工的UART可扩展可扩展64KB程序、程序、64KB数据存储器的三总线控制电路数据存储器的三总线控制电路片内振荡电路和时钟发生器片内振荡电路和时钟发生器第5页/共111页单片机的内部原理结构单片机的内部原理结构MCS-51单片机的内部原理结构如图单片机的内部原理结构如图2-2所示。所示。与图与图2-1比较,比较,主要的区别是画出了主要的区别是画出了CPU的内部结构的内部结构,图中的中间部分除,图中的中间部分除了了“定时器、串行口定时器、串行口”大方框之外都属于大方框之外都属于CPU部件。部件。下面先介绍下面先介绍CPU部分,对于其它部

5、件,将在本章和后面的章节讲解。部分,对于其它部件,将在本章和后面的章节讲解。第6页/共111页 图2-2 MCS-51(52子系列)单片机内部原理结构图XTAL2 XTAL1P3.0P3.7P1.0P1.7RAM地址端口0驱动器端口2驱动器8KB FlashROM端口0锁存器端口2锁存器端口1驱动器端口3驱动器端口1锁存器端口3锁存器暂存器1SPPSWB寄存器暂存器2ACC256BRAM128B SFR缓冲器PC加1PC程序地址寄存器DPTR定时器、串行口中断部件及特殊功能寄存器地址总线数据总线P2.0P2.7Vcc GND指令寄存器指令译码器指令控制器P0.0P0.7PSENALEEA RS

6、T ALU第7页/共111页单片机的单片机的CPU MCS-51单片机内部有一个功能强大的单片机内部有一个功能强大的8位位CPU,它包含两个基本部分,运算器和控制器。,它包含两个基本部分,运算器和控制器。一、运算器一、运算器运算器包括:运算器包括:算术和逻辑运算部件算术和逻辑运算部件ALU(Arithmetic Logic Unit)累加器累加器ACC 寄存器寄存器B 暂存器暂存器1 暂存器暂存器2 程序状态字寄存器程序状态字寄存器PSW 布尔处理器布尔处理器等等。第8页/共111页单片机的单片机的CPU1、算术逻辑运算部件、算术逻辑运算部件ALUALU可以对可以对4位(半字节)、位(半字节)

7、、8位(一字节)和位(一字节)和16位(双字节)数据进行操位(双字节)数据进行操作。作。这些操作可以是:这些操作可以是:算术运算:算术运算:加、减、加、减、乘、除、加乘、除、加1、减、减1、BCD码数的十进制调整及比较等;码数的十进制调整及比较等;逻辑运算:逻辑运算:与、或、异或、求补及循环移位等。与、或、异或、求补及循环移位等。第9页/共111页2、累加器、累加器ACC(Accumulator)ACC在在CPU结构中占有特殊的位置,所以结构中占有特殊的位置,所以ACC在在指令中使用的非常多。指令中使用的非常多。既做源操作数又做目的操作数既做源操作数又做目的操作数,如在加、减、乘、,如在加、减

8、、乘、除算术运算指令中,在与、或、异或、循环移位逻辑除算术运算指令中,在与、或、异或、循环移位逻辑运算指令等。运算指令等。ACC也作为通用寄存器使用也作为通用寄存器使用,并且可以按位操作,并且可以按位操作,所以所以ACC是一个用处最多、最忙碌的寄存器。是一个用处最多、最忙碌的寄存器。在指令中用助记符在指令中用助记符A来表示来表示。3、B寄存器寄存器B做专门应用:做专门应用:在乘、除运算时,用来存放一个在乘、除运算时,用来存放一个操作数,并且存放运算后的部分结果。操作数,并且存放运算后的部分结果。B做一般应用:做一般应用:在非乘、除运算中,在非乘、除运算中,B可以作为可以作为通用寄存器使用通用寄

9、存器使用。B也是一个也是一个可以按位操作可以按位操作的寄存器。的寄存器。第10页/共111页4、程序状态字、程序状态字PSWPSW是一个是一个8位寄存器,位寄存器,用于设定用于设定CPU的状态和指示指的状态和指示指令执行后的状态令执行后的状态。PSW相当于其它微处理器中的标志寄存器。程序状态字相当于其它微处理器中的标志寄存器。程序状态字PSW的格式如下:的格式如下:PSW(D0H)D7D6D5D4D3D2D1D0CYACF0RS1RS0OVF1P图图2-3 程序状态字程序状态字PSW格式格式 CY(PSW.7):进位、借位标志。在做位操作(布尔操作)时CY作为位累加器。在指令中用C代替CY。A

10、C(PSW.6):半进位、半借位标志,也称为辅助进位标志 F0、F1(PSW.5 和PSW.1):用户标志位,留给用户使用。RS1、RS0(PSW.4 和PSW.3):工作寄存器组选择控制位。工作寄存器:R0、R1、R7第11页/共111页表表2-1 RS1、RS0的组合关系的组合关系RS1 RS0工作寄存器组工作寄存器组 片内片内RAM地址地址0 0第第0组组00H07H0 1第第1组组08H0FH1 0第第2组组10H17H1 1第第3组组18H1FH OV(PSW.2):溢出标志位 当执行算术指令时,由硬件置位或清零来指示溢出状态。有以下几种情况:1)加减运算 在带符号的加减运算中,OV

11、1表示加减运算结果超出了累加器A所能表示的符号数有效范围(128127),即运算结果是错误的,反之,OV0表示无溢出,即运算结果是正确的。对无符号数运算OV没有意义。第12页/共111页2)无符号数乘法运算)无符号数乘法运算无符号数乘法指令无符号数乘法指令“MUL AB”的执行结果也会的执行结果也会影响溢出标志。影响溢出标志。若若A和和B的乘积超过了的乘积超过了255,则,则OV1,反之,反之OV0。由于乘积的高由于乘积的高8位存放于位存放于B中,低中,低8位存放于位存放于A中,中,OV0则意味着只要从则意味着只要从A中取得乘积即可,中取得乘积即可,OV1意味着意味着B中有乘积结果,需要从中有

12、乘积结果,需要从B和和A寄存器中取得乘寄存器中取得乘积结果。积结果。3)无符号数除法运算)无符号数除法运算在除法运算中,在除法运算中,DIV指令也会影响溢出标志,当指令也会影响溢出标志,当除数为除数为0时,时,OV1,否则,否则OV0P(PSW.0):):奇偶标志位奇偶标志位 P表示累加器表示累加器A中中1的个数的奇偶性的个数的奇偶性 A中有奇数个中有奇数个1,P1 A中有偶数个中有偶数个1,P0第13页/共111页5、布尔处理器、布尔处理器 MCS-51单片机有一个布尔处理器单片机有一个布尔处理器布尔处理器以布尔处理器以PSW中的进位标志位中的进位标志位CY为累加器(用为累加器(用C表示)。

13、表示)。功能:功能:专门用于处理位操作专门用于处理位操作。MCS-51单片机有丰富的位单片机有丰富的位处理指令处理指令,如置位、位清,如置位、位清0、位取反、判断位值(为、位取反、判断位值(为1或为或为0)转移,以及通过)转移,以及通过C(指令中用(指令中用C代替代替CY)做位数据传送、位逻辑与、位逻辑或等位操作。)做位数据传送、位逻辑与、位逻辑或等位操作。第14页/共111页 控制器包括程序计数器控制器包括程序计数器PC、指令寄存器、指令寄存器IR、指令译码器指令译码器ID,以及时钟控制逻辑、堆栈指针,以及时钟控制逻辑、堆栈指针SP、地址指针地址指针DPTR等。等。1、程序计数器、程序计数器

14、PC(Program Counter)PC是一个是一个具有自加具有自加1功能的功能的16位的计数器,是位的计数器,是所执行程序的字节地址计数器。所执行程序的字节地址计数器。PC的内容是将要执的内容是将要执行的行的下一条指令的地址。下一条指令的地址。改变改变PC的内容就改变了程序执行的顺序。的内容就改变了程序执行的顺序。2、指令寄存器、指令寄存器IR和指令译码器和指令译码器IDIR(Instruction Register):存放从存放从Flash ROM中读取的指令中读取的指令ID(Instruction Decoder):进行译码,产生进行译码,产生一定序列的控制信号,完成指令所规定的操作。

15、一定序列的控制信号,完成指令所规定的操作。二、控制器二、控制器第15页/共111页3、堆栈、堆栈 堆栈是在堆栈是在RAM中专门开辟的一个特殊用途的存中专门开辟的一个特殊用途的存储区储区。堆栈的访问原则堆栈的访问原则:“先进后出先进后出”、“后进先出后进先出”,即先进入堆栈的数据后移出堆栈,后进入堆栈的数即先进入堆栈的数据后移出堆栈,后进入堆栈的数据先移出堆栈。据先移出堆栈。堆栈的应用:堆栈的应用:主要是用来暂时存放数据。主要是用来暂时存放数据。有两有两种情况使用堆栈:种情况使用堆栈:一是一是CPU自动使用堆栈自动使用堆栈,当调用子程序或响应中,当调用子程序或响应中断,处理中断服务程序时,断,处

16、理中断服务程序时,CPU自动将返回地址存放自动将返回地址存放到堆栈中;当调用子程序时,到堆栈中;当调用子程序时,CPU可能通过堆栈传递可能通过堆栈传递参数。参数。二是程序员使用堆栈二是程序员使用堆栈,用堆栈暂时存放数据。,用堆栈暂时存放数据。堆栈的一端的地址是固定的,称为堆栈的一端的地址是固定的,称为栈底栈底;另一端;另一端的地址是动态变化的,称为的地址是动态变化的,称为栈顶栈顶。堆栈的操作方式堆栈的操作方式 堆栈有两种操作方式堆栈有两种操作方式:数据:数据进栈进栈和数据和数据出栈出栈。进栈和出栈都是在栈顶进行进栈和出栈都是在栈顶进行进栈和出栈都是在栈顶进行进栈和出栈都是在栈顶进行,这就必然是

17、按照,这就必然是按照“先先进后出进后出”、“后进先出后进先出”的方式存取数据。的方式存取数据。第16页/共111页4、堆栈指针、堆栈指针SP堆栈指针堆栈指针SP(Stack Pointer)是一个)是一个8位寄存器,其值为栈顶的地址,位寄存器,其值为栈顶的地址,即即SP指向栈顶指向栈顶。SP是访问堆栈的间址寄存器是访问堆栈的间址寄存器,访问堆栈必须借助于,访问堆栈必须借助于SP。SP具有自动加具有自动加1和自动减和自动减1功能功能。当数据进栈时,。当数据进栈时,SP先自动加先自动加1,然后,然后CPU将数据存入;当数据出栈时,将数据存入;当数据出栈时,CPU先将数据送出,然后先将数据送出,然后

18、SP自动减自动减1。第17页/共111页下图是数据进栈的情况下图是数据进栈的情况数据从栈顶进入数据从栈顶进入 开始状态开始状态 58进栈后的状态进栈后的状态A6、7B进栈后的状态进栈后的状态E7E7E7E6E6E6SPE5SPE5SPE5E1E4E2E4E4E4E3E3E3E2E258E236E136E136E121E021E021E058A67B第18页/共111页单片机的单片机的CPU由于进栈时由于进栈时SP的值增加,即的值增加,即堆栈向地址大的方向生长堆栈向地址大的方向生长,并且,并且栈顶是有栈顶是有效数据效数据,这种堆栈是,这种堆栈是满递增型堆栈满递增型堆栈。7B出栈后的状态出栈后的状

19、态A6、58、36出栈后的状态出栈后的状态E7E7E6E6SPE5SPE5E37BE4E07BE4A6E3A6E358E258E236E136E121E021E07BA65836第19页/共111页5、数据指针、数据指针DPTRDPTR是唯一的是唯一的16位寄存器位寄存器。DPTR既可以作为一个既可以作为一个16位寄存器使用,位寄存器使用,也可以作为两个独立的也可以作为两个独立的8位寄存位寄存器使用器使用。其高字节寄存器用。其高字节寄存器用DPH表示,低字节寄存器用表示,低字节寄存器用DPL表示。表示。DPTR的用途:的用途:主要用于存放主要用于存放16位地址位地址,以便对,以便对64KB的片

20、外的片外RAM和和64KB的程序存储空间作的程序存储空间作间接访问。间接访问。其次也可以存放数据其次也可以存放数据,作为一般寄存器使用。,作为一般寄存器使用。第20页/共111页2.2 MCS-51单片机引脚与总线结单片机引脚与总线结构构 主要内容主要内容单片机引脚信号及功能单片机引脚信号及功能单片机外部总线结构单片机外部总线结构第21页/共111页单片机引脚信号及功能单片机引脚信号及功能 封装:封装:40DIP,44PLCC常用常用40DIP40个引脚分为个引脚分为4类:类:l 电源引脚电源引脚l 晶振引脚晶振引脚l 控制信号控制信号l 输入输入/输出引脚输出引脚T2/P1.0T2EX/P1

21、.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXD/P3.0TXD/P3.1INT0/P3.2INT1/P3.3T0/P3.4T1/P3.5WR/P3.6RD/P3.7XTAL2XTAL1Vss89C5189C5240393837363534333231302928272625242322211234567891011121314151617181920VccP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7EA/VPPALE/PROGPSENP2.7/A15P2.6/A14P2.5/A13P2

22、.4/A12P2.3/A11P2.2/A10P2.1/A9P2.0/A8第22页/共111页第23页/共111页一、电源引脚一、电源引脚 Vcc(40脚):接脚):接5V电源正端电源正端Vss(20脚):接脚):接5V电源地端电源地端二、晶振引脚二、晶振引脚XTAL1(19脚)脚)XTAL2(18脚)脚)C1和C2取30pF左右,做微调电容。第24页/共111页第25页/共111页三、控制信号引脚三、控制信号引脚1、RST/VPD(9脚)脚)RST:复位信号输入端复位信号输入端,高电平有效高电平有效。单片机正常工作时:单片机正常工作时:RST保持两个机器周期的高电平就会使单片机复位;保持两个机

23、器周期的高电平就会使单片机复位;上电时:上电时:RST上的高电平必须保持上的高电平必须保持10ms以上才能保证有效复位,由于振以上才能保证有效复位,由于振荡器需要一定的起振时间。荡器需要一定的起振时间。VPD:备用电源输入端备用电源输入端,以保持内部,以保持内部RAM中的数据不丢失。中的数据不丢失。当当Vcc的电压的电压降低到低电平规定的值或掉电时降低到低电平规定的值或掉电时,接入电源。,接入电源。第26页/共111页2、ALE/PROG(30引脚)引脚)ALE:地址锁存信号地址锁存信号,每个机器周期输出两个正脉冲,下降沿或低电平,每个机器周期输出两个正脉冲,下降沿或低电平用于控制外接的地址锁

24、存器,锁存从用于控制外接的地址锁存器,锁存从P0口输出的低口输出的低8位地址。位地址。在没有接外部存储器时,可以将该引脚的输出作为时钟信号使用在没有接外部存储器时,可以将该引脚的输出作为时钟信号使用。PROG:片内程序存储器的编程脉冲输入端片内程序存储器的编程脉冲输入端,低电平有效。,低电平有效。第27页/共111页单片机引脚信号及功能单片机引脚信号及功能 3、PSEN(29引脚)引脚)片外程序存储器读选通信号输出端片外程序存储器读选通信号输出端,每个机器周期输出两个负脉冲,低,每个机器周期输出两个负脉冲,低电平有效。在访问片外数据存储器时,该信号不出现。电平有效。在访问片外数据存储器时,该信

25、号不出现。4、EA/Vpp(31引脚)引脚)EA:片外程序存储器选择输入端片外程序存储器选择输入端。低电平时,使用片外程序存储器;低电平时,使用片外程序存储器;高电平时,使用片内程序存储器高电平时,使用片内程序存储器。Vpp:为片内程序存储器编程电压输入端。为片内程序存储器编程电压输入端。第28页/共111页五、输入五、输入/输出引脚输出引脚 称为P0、P1、P2、P3口,每个口8位 P0.0-P0.7 P1.0-P1.7 P2.0-P2.7 P3.0-P3.7 这32个引脚是单片机与外界联系的最重要的通道,即I/O通道,也是我们要掌握的重点。1、P0口,口,P0.0P0.7(3239引脚)引

26、脚)P0口是一个口是一个8位漏极开路的位漏极开路的I/O口。口。P0口作总线口:口作总线口:当当CPU以总线方式访问片外存储以总线方式访问片外存储器时,器时,P0口口分时地输出低分时地输出低8位地址、读入指令和输入位地址、读入指令和输入/输出数据输出数据。此时。此时P0口可以驱动口可以驱动8个个LS型型TTL负载负载(LS型是低功耗、肖特基Low-power Schottky,Transistor-Transistor Logic)。P0口作为一般口作为一般I/O口:口:此时此时P0口为准双向口口为准双向口(各(各位输入前必须先输出位输入前必须先输出1),可以驱动),可以驱动4个个LS型型TT

27、L负负载。载。第29页/共111页单片机引脚信号及功能单片机引脚信号及功能 2、P1口,口,P1.0P1.7(18引引脚)脚)P1口是一个口是一个8位准双向位准双向I/O口口,可以驱动,可以驱动4个个LS型型TTL负载。负载。P1.0、P1.1的第二功能:的第二功能:对于增强型,对于增强型,第二功能的信号分别为第二功能的信号分别为T2和和T2EXT2(P1.0):):定时器定时器/计数器计数器2的计数脉冲输入和时钟输出。的计数脉冲输入和时钟输出。T2EX(P1.1):):定时器定时器/计数器计数器2的重的重 装、捕获和计数方向控制输入。装、捕获和计数方向控制输入。第30页/共111页单片机引脚

28、信号及功能单片机引脚信号及功能 3、P2口,口,P2.0P2.7(2128引引脚)脚)当当CPU以总线方式访问片外存储器时,以总线方式访问片外存储器时,P2口输出高口输出高8位地址位地址。作为一般作为一般I/O口使用时,为准双向口口使用时,为准双向口,可以驱动,可以驱动4个个LS型型TTL负载。负载。4、P3口,口,P3.0P3.7(1017引引脚)脚)P3口是一个口是一个8位位I/O口口,还是一个双功还是一个双功能口能口作为一般作为一般I/O口使用时,口使用时,为准双向口为准双向口,可以驱动,可以驱动4个个LS型型TTL负载。负载。各引脚第二功能如下页表各引脚第二功能如下页表2-2所示。所示

29、。第31页/共111页单片机引脚信号及功能单片机引脚信号及功能 表表2-2 P3口各引脚第二功能定义口各引脚第二功能定义引引 脚脚第第 二二 功功 能能P3.0RXD:串行口输入:串行口输入P3.1TXD:串行口输出:串行口输出P3.2INT0:外部中断:外部中断0请求输入请求输入P3.3INT1:外部中断:外部中断1请求输入请求输入P3.4T0:定时器:定时器/计数器计数器0外部计数脉冲输入外部计数脉冲输入P3.5T1:定时器:定时器/计数器计数器1外部计数脉冲输入外部计数脉冲输入P3.6WR:外部数据存储器写控制信号输出:外部数据存储器写控制信号输出P3.7RD:外部数据存储器读控制信号输

30、出:外部数据存储器读控制信号输出第32页/共111页单片机外部总线结构单片机外部总线结构单片机总线的应用场合:单片机总线的应用场合:在实际应用中,单片机系统有时需要较大的数据存在实际应用中,单片机系统有时需要较大的数据存储器,如储器,如2KB、8KB等,就需要等,就需要做数据存储器扩展做数据存储器扩展(现在一般不再作程序存储器扩(现在一般不再作程序存储器扩展),这时就要使用单片机的总线。展),这时就要使用单片机的总线。MCS-51单片机内部具有产生总线的结构单片机内部具有产生总线的结构,所以很容易对外提供三总线,如,所以很容易对外提供三总线,如图图2-6所示。所示。三总线三总线:数据总线、地址

31、总线、控制总线:数据总线、地址总线、控制总线第33页/共111页单片机外部总线结构单片机外部总线结构图图2-6 MCS-51单片机外部总线结构单片机外部总线结构地址锁存器74LS573A15:A8A7:A0D7:D0数据总线(DB)I/O口控制总线(CB)地址总线(AB)P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6/WRP3.7/RDALEPSENEARSTP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0第34页/共111页2.3 MCS-

32、51单片机的存储器结单片机的存储器结构构主要内容主要内容程序存储器结构程序存储器结构片内数据存储器结构片内数据存储器结构片外数据存储器结构片外数据存储器结构第35页/共111页 MCS-51单片机存储器概述单片机存储器概述1、单片机的存储器分为程序存储器、单片机的存储器分为程序存储器和数据存储器和数据存储器MCS-51单片机的存储器结构与一般单片机的存储器结构与一般PC机的存储器结构不同,机的存储器结构不同,分为程序存分为程序存储器储器ROM和数据存储器和数据存储器RAM,称为哈佛结构,称为哈佛结构。程序存储器程序存储器固化程序、常数和数据表格固化程序、常数和数据表格数据存储器数据存储器存放程

33、序运行中产生的各种数据、用作堆栈等。存放程序运行中产生的各种数据、用作堆栈等。第36页/共111页 2、单片机的存储器空间及分类、单片机的存储器空间及分类MCS-51单片机有单片机有4个存储空间:个存储空间:片内程序存储器片内程序存储器 片内数据存储器片内数据存储器 片外程序存储器片外程序存储器 片外数据存储器。片外数据存储器。这这4个存储空间可以分成三类:个存储空间可以分成三类:片内数据存储空间(片内数据存储空间(256B的的RAM和和128B的特殊功能寄存器)、的特殊功能寄存器)、片外数据存储空间(片外数据存储空间(64KB)片内和片外统一编址的程序存储空间片内和片外统一编址的程序存储空间

34、(64KB)不同类型的存储空间,有各自的寻址方式和访不同类型的存储空间,有各自的寻址方式和访问指令问指令。分别用三个不同的指令来区别这三个地址空间,即CPU访问 片 内、片 外 ROM用 MOVC指 令,访 问 片 外 RAM用MOVX指令,访问片内RAM用MOV指令。MOVC MOVX MOV第37页/共111页89C51存储器配置89C51存储器存储器程序存储器程序存储器ROM数据存储器数据存储器RAM片内程序存储器片内程序存储器片外程序存储器片外程序存储器片内数据存储器片内数据存储器片外数据存储器片外数据存储器第38页/共111页程序存储器结构程序存储器结构一、程序存储器结构一、程序存储

35、器结构51子系列子系列(基本型基本型)片内有片内有4KB的的Flash ROM,地址为,地址为0000H0FFFH,片外最多可以扩展到,片外最多可以扩展到64KB,地址为,地址为1000HFFFFH。52子系列子系列(增强型增强型)片内有片内有8KB的的Flash ROM,地址为,地址为0000H1FFFH,片外最多也是扩展到,片外最多也是扩展到64KB,地址为,地址为2000HFFFFH,片内外是统一编址的。,片内外是统一编址的。这两种单片机的程序存储器空间配置如图这两种单片机的程序存储器空间配置如图2-7所示。所示。第39页/共111页程序存储器结构程序存储器结构图图2-7 MCS-51单

36、片机程序存储器空间配置单片机程序存储器空间配置片 外ROM片 内ROMEA=1片 外ROMEA=00000H0FFFH1000HFFFFH(a)片内有4KB的ROM (b)片内有8KB的ROM片 外ROM片 内ROMEA=1片 外ROMEA=00000H1FFFH2000HFFFFH第40页/共111页 89C51存储器配置存储器配置第41页/共111页程序存储器结构程序存储器结构单片机在执行指令时,对于低地址部分,究竟是从片内程序存储器取指令,单片机在执行指令时,对于低地址部分,究竟是从片内程序存储器取指令,还是从片外程序存储器取指令?还是从片外程序存储器取指令?决定于程序存储器选择引脚决定

37、于程序存储器选择引脚EA电平的高低电平的高低,如果,如果EA接低电平,则接低电平,则CPU从片从片外程序存储器取指令,若外程序存储器取指令,若EA接高电平,则接高电平,则CPU从片内程序存储器取指令。从片内程序存储器取指令。当取指令的地址大于片内存储器的最大地址时,当取指令的地址大于片内存储器的最大地址时,CPU自动转到片外程序存储自动转到片外程序存储器取指令器取指令。第42页/共111页二、程序存储器的专用区域二、程序存储器的专用区域用作程序启动和中断入口用作程序启动和中断入口 0000H0000H0002H0002H三个单元:用作上电复位后引导程序的三个单元:用作上电复位后引导程序的存放单

38、元。因为复位后存放单元。因为复位后PCPC的内容为的内容为0000H0000H,CPUCPU总是从总是从0000H0000H开始执行程序。将转移指令存放到这三个单元,程序就被引开始执行程序。将转移指令存放到这三个单元,程序就被引导到指定的程序存储器空间去执行。导到指定的程序存储器空间去执行。表表2-3 ROM中专用存储区域中专用存储区域存储单元存储单元应应 用用0000H0002H复位后引导程序地址复位后引导程序地址0003H000AH外中断外中断0000BH0012H定时器定时器0中断中断0013H001AH外中断外中断1001BH0022H定时器定时器1中断中断0023H002AH串行口中

39、断串行口中断002BH0032H定时器定时器2中断(增强型机)中断(增强型机)第43页/共111页中断向量,即中断入口地址,如下表所示。中断向量,即中断入口地址,如下表所示。表表2-4 中断向量表中断向量表中中 断断 源源中断入口地址中断入口地址外中断外中断00003H定时器定时器0中断中断000BH外中断外中断10013H定时器定时器1中断中断001BH串行口中断串行口中断0023H定时器定时器2中断(增强型机)中断(增强型机)002BHC语言编程所考虑的问题如果用C语言编写程序,不需要考虑以上这些问题,即不用考虑引导程序问题,中断入口与跳转问题,这些问题均由编译系统安排好。main()函数

40、起到引导程序的作用。对于中断处理,只要按照格式编写中断处理函数即可。第44页/共111页片内数据存储器结构片内数据存储器结构片内数据存储器按照寻址方式,片内数据存储器按照寻址方式,可以分为三个部分可以分为三个部分:低:低128字节数据区,字节数据区,高高128字节数据区间,特殊功能寄存器区。如下图所示。字节数据区间,特殊功能寄存器区。如下图所示。低128B RAMdata区特殊功能寄存器80HFFH00H7FH(a)89C51片内RAM低128BRAMdata区高128BRAMidata区特殊功能寄存器00H7FH80HFFH80HFFH(b)增强型单片机片内RAM第45页/共111页片内数据

41、存储器结构片内数据存储器结构一、低一、低128字节字节RAM低低128字节数据区有多种用途,并且使用最频繁。字节数据区有多种用途,并且使用最频繁。该区域可以使用两种方该区域可以使用两种方式寻址式寻址:直接寻址和寄存器间接寻址。用:直接寻址和寄存器间接寻址。用C语言编程时,使用关键字语言编程时,使用关键字“data”或或“idata”将变量定义在该区域。将变量定义在该区域。在这部分空间分为三个区域在这部分空间分为三个区域:工作寄存器区,位寻址区和通用数据区,其:工作寄存器区,位寻址区和通用数据区,其中的通用数据区用于堆栈和暂存数据。低中的通用数据区用于堆栈和暂存数据。低128字节字节RAM的配置

42、如图的配置如图2-9所示。所示。第46页/共111页 7F30堆栈和堆栈和数据缓存数据缓存通通用用数数据据区区2F20位地址为位地址为00H7FH(128位位)位位寻寻址址区区1F18R0、R1、R7(第(第3组)组)工工1710R0、R1、R7(第(第2组)组)作作寄寄0F08R0、R1、R7(第(第1组)组)存存器器0700R0、R1、R7(第(第0组)组)区区图2-9 低128字节RAM区第47页/共111页图图28 低低128字节字节RAM区区图图29 高高128字节字节RAM区区(SFR区,特区,特殊功能寄存器区殊功能寄存器区)第48页/共111页1、工作寄存器区、工作寄存器区地址从

43、地址从00H到到1FH,共,共32字节,字节,分为分为4个组个组,称为第,称为第0组、第组、第1组、第组、第2组组和第和第3组。组。每组每组8个寄存器,其名字都叫做个寄存器,其名字都叫做R0、R1、R2、R7,但不同的组对,但不同的组对应的应的8个寄存器的地址不同,如表个寄存器的地址不同,如表2-1所示。所示。在某一时刻,只能选择使用一组在某一时刻,只能选择使用一组,究竟选择哪一组,决定于程序状态字,究竟选择哪一组,决定于程序状态字PSW的的RS1和和RS0位,见表位,见表2-1。C语言情况下:语言情况下:在定义函数时,通过在定义函数时,通过使用关键字使用关键字“using”来选择来选择工作寄

44、工作寄存器组。存器组。第49页/共111页2、位寻址区、位寻址区地址从地址从20H到到2FH,共,共16字节,字节,128位,位地址从位,位地址从00H到到7FH。该区域既可以做位操作,也可以字节操作。该区域既可以做位操作,也可以字节操作。C语言编程时:语言编程时:用关键字用关键字“bit”定义的位变量定义的位变量在该区域,在该区域,用关键字用关键字“bdata”将字节变量定义在该区域将字节变量定义在该区域,并且定义的变量还可以进行位寻址。,并且定义的变量还可以进行位寻址。3、通用数据区、通用数据区地址从地址从30H到到7FH,共,共80字节,该区域字节,该区域用于堆栈、存放数据、存放程序运行

45、时用于堆栈、存放数据、存放程序运行时的中间结果等的中间结果等。第50页/共111页二、高二、高128字节字节RAM(89C52)对于高对于高128字节字节RAM区,其用途与低区,其用途与低128字节中的字节中的30H到到7FH完全一样,完全一样,用于堆栈、存放程序运行时的数据和中间结果用于堆栈、存放程序运行时的数据和中间结果。在该区域,使用间接寻址方式访问在该区域,使用间接寻址方式访问。C语言编程:语言编程:使用关键字使用关键字“idata”定义变量定义变量 第51页/共111页片内数据存储器结构片内数据存储器结构三、特殊功能寄存器(三、特殊功能寄存器(SFR)特殊功能寄存器特殊功能寄存器(S

46、FR:Special Function Register)也称为也称为专用寄存器专用寄存器,是单片机中最重要的部分。是单片机中最重要的部分。1、特殊功能寄存器的作用、特殊功能寄存器的作用特殊功能寄存器的作用主要是三个方面:特殊功能寄存器的作用主要是三个方面:控制单片机各个部件的运行控制单片机各个部件的运行反映各部件的运行状态反映各部件的运行状态存放数据或地址存放数据或地址第52页/共111页片内数据存储器结构片内数据存储器结构2、特殊功能寄存器的访问方法、特殊功能寄存器的访问方法特殊功能寄存器占用的空间也是特殊功能寄存器占用的空间也是80HFFH,与高,与高128字节字节RAM的地址重合,为了

47、进行区的地址重合,为了进行区分,分,用直接寻址方式访问特殊功能寄存器,用间用直接寻址方式访问特殊功能寄存器,用间接寻址方式访问高接寻址方式访问高128字节字节RAM区区。3、具体特殊功能寄存器、具体特殊功能寄存器特殊功能寄存器虽然占居特殊功能寄存器虽然占居128字节的空间,字节的空间,但实际上对但实际上对51子系列来说只有子系列来说只有21个寄存器,增个寄存器,增强型单片机有强型单片机有27个寄存器个寄存器。在特殊功能寄存器中,有在特殊功能寄存器中,有11个(基本型)个(基本型)或或12个(增强型)可以按位操作,具有位名和位个(增强型)可以按位操作,具有位名和位地址,用地址,用“*”标注。标注

48、。第53页/共111页图图28 低低128字节字节RAM区区图图29 高高128字节字节RAM区区(SFR区,特区,特殊功能寄存器区殊功能寄存器区)第54页/共111页 (1)与定时器相关的)与定时器相关的(12个)个)TMOD:模式寄存器:模式寄存器TCON*:控制寄存器:控制寄存器TL0、TH0:T0低低8位、高位、高8位计数器位计数器TL1、TH1:T1低低8位、高位、高8位计数器位计数器T2MOD:T2模式寄存器模式寄存器T2CON*:T2控制寄存器控制寄存器TL2、TH2:T2低低8位、高位、高8位计数器位计数器RCAP2L、RCAP2H:T2捕获寄存器捕获寄存器 (2)与中断相关的

49、)与中断相关的(2个)个)IE*:中断允许(控制)寄存器:中断允许(控制)寄存器IP*:中断优先级寄存器:中断优先级寄存器(3)与串行口相关的)与串行口相关的(2个)个)SCON*:串行口控制寄存器:串行口控制寄存器SBUF:串行口数据缓冲寄存器:串行口数据缓冲寄存器第55页/共111页(4)与)与I/O口相关的口相关的P0*、P1*、P2*、P3*4个并行口映射寄存器个并行口映射寄存器 (5)其它的)其它的(7个)个)PSW*:程序状态寄存器:程序状态寄存器SP:堆栈指针:堆栈指针PCON:电源控制寄存器:电源控制寄存器A*:累加器:累加器B*:辅助运算寄存器:辅助运算寄存器DPL:数据指针

50、低字节:数据指针低字节DPH:数据指针高字节:数据指针高字节第56页/共111页4、一些最重要的寄存器、一些最重要的寄存器在表在表2-5中有格式的特殊功能寄存器最重要中有格式的特殊功能寄存器最重要,它们是:,它们是:TCON、TMOD、PCON、SCON、PSW、IE、IP、T2CON、T2MOD,共,共9个。个。应用单片机,主要就是掌握这应用单片机,主要就是掌握这9个有格式的特殊功能寄存器个有格式的特殊功能寄存器,对基本型仅有,对基本型仅有7个。个。5、特殊功能寄存器在、特殊功能寄存器在C语言中的表语言中的表示示这些特殊功能寄存器及各位位名在汇编语言中能够识别,但在这些特殊功能寄存器及各位位

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理工具

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com