MCS-51单片机的组成及结构分析.ppt
2.MCS-51单片机的组成及结构分析2.1 MCS-51单片机的单片机的内部结构及内部结构及结构特点结构特点1)在)在RAM区有一个区有一个寄存器工作区寄存器工作区(48个工作寄存器个工作寄存器),),专门功能寄存器专门功能寄存器SFR(完成定时器、串行口、中断逻辑等完成定时器、串行口、中断逻辑等控制)。控制)。2)程序)程序存储器与数据存储器存储器与数据存储器在空间上分开。在空间上分开。有不同的地址指针有不同的地址指针PC、DPTR。3)有有32个个I/O引脚,部分引脚,部分I/O引脚具有引脚具有第二功能第二功能。4)内部有一个全双工的)内部有一个全双工的串行接口串行接口,可同时发送和接收,可同时发送和接收,以以实现双机和多机通讯。实现双机和多机通讯。5)具有多个中断源,具有两级优先权控制。)具有多个中断源,具有两级优先权控制。6)内部有专门的内部有专门的位处理机位处理机。7)可对内部程序加密。)可对内部程序加密。图图2-1 MCS-51系列产品的引脚及封装系列产品的引脚及封装2.2 MCS-51单片机的引脚及封装MCS-51单片机的总线工作方式单片机的总线工作方式P0P2WRALERD锁存器锁存器(74HC373)D0.7A0.7A8.15RDWR 8051单片机有四个双向单片机有四个双向8位位I/O口:口:P0P3口,每一个口,每一个口部由口口部由口锁存器锁存器(特殊功能寄存器)、(特殊功能寄存器)、输入三态缓冲器输入三态缓冲器输输出驱动器出驱动器所组成。所组成。1)P0口口 P0口为三态双向口为三态双向IO口口,可以驱动可以驱动8个个LSTTL电路。电路。P0口作为地址数据总线口使用,分时输出外部存贮器的口作为地址数据总线口使用,分时输出外部存贮器的低低8位地址位地址A0A7和和传送数据传送数据D0D7。如果不作为如果不作为系统扩展的系统扩展的地址数据总线口地址数据总线口,它也可以作为,它也可以作为输入输出口输入输出口使用。使用。2.3 I/O端口及其锁存器端口及其锁存器D QP0锁存器锁存器CL QVCC&地址地址/数据数据控制控制读锁存器读锁存器读引脚读引脚内部总线内部总线写锁存器写锁存器引引脚脚3)P2口口 P2口为准三态双向口为准三态双向IO口口,可以驱动可以驱动3个个LSTTL电路。电路。CPU访问外部的程序存贮器时,访问外部的程序存贮器时,P2口输出口输出程序存贮器的高程序存贮器的高8位地址位地址A8A15,该地址来源于内部的程序计数器该地址来源于内部的程序计数器PC的高的高8位;当位;当CPU以以16位地址指针位地址指针DPTR访问外部访问外部RAMIO的时的时候,候,P2口输出的地址来源于口输出的地址来源于DPH,其它情况下,其它情况下,P2口作为口作为一般的一般的IO口口 使用使用。D QP0锁存器锁存器CLK QVCC地址地址 控制控制读锁存器读锁存器读引脚读引脚内部总线内部总线写锁存器写锁存器引引脚脚2)P1口:为准双向口,它的每一位可以分别定义为口:为准双向口,它的每一位可以分别定义为输线输线 或或 输出线输出线。它可以驱动它可以驱动3个个LSTTL电路。电路。D QP0锁存器锁存器CL QVCC读锁存器读锁存器读引脚读引脚内部总线内部总线写锁存器写锁存器引脚引脚4)P3口:多功能口,它的第一功能为口:多功能口,它的第一功能为准三态双向准三态双向IO口口,第二功能为第二功能为特殊输入输出线特殊输入输出线。D QP0锁存器锁存器CLK QVCC读锁存器读锁存器读引脚读引脚内部总线内部总线写锁存器写锁存器引脚引脚&选择输出功能选择输出功能2.4 MCS-51的存储空间及存储器的存储空间及存储器若选择外部程序存储器若选择外部程序存储器(EA=0),则,则P0、P2自动设置为自动设置为数据、地址工作方式。数据、地址工作方式。目前,由于大容量内部程序存储器芯片的生产,采用外目前,由于大容量内部程序存储器芯片的生产,采用外部程序存储器的设计越来越少了。部程序存储器的设计越来越少了。通过开关,也可混合使用,如设计通过开关,也可混合使用,如设计PLC时,在时,在PLC处于处于编程方式时使用片内程序,将外部程序存储器设计成数据存编程方式时使用片内程序,将外部程序存储器设计成数据存储器,将用户所编写的程序写入外部程序存储器,在储器,将用户所编写的程序写入外部程序存储器,在PLC处处于运行方式时则执行外部程序存储器中的用户程序于运行方式时则执行外部程序存储器中的用户程序3.4.1 程序存储器程序存储器通过通过EA引脚来选择内部或外部程序存储器引脚来选择内部或外部程序存储器P0P2WRALERD锁存器锁存器(74HC373)D0.7A0.7A8.15RDWRPSENEA&VCC+单片机单片机存储器存储器3.4.2 数据存储器数据存储器MCS-51系列弹系列弹片机除了具有片内片机除了具有片内数据存储器以外,数据存储器以外,还可以通过外部端还可以通过外部端口来扩展口来扩展64KB的外的外部数据存储器(或部数据存储器(或I/O)。但这些数据)。但这些数据必须用外部操作指必须用外部操作指令令MOVX将其读入将其读入内部内部RAM或寄存器或寄存器中才能进行数据运中才能进行数据运算和处理算和处理P0P2WRALERD锁存器锁存器(74HC373)D0.7A0.7A8.15RDWR单片机单片机存储器存储器3.4.2 数据存储器数据存储器0000h7Fh80hFFhSFR128B直接寻址直接寻址通用通用RAM128B可直接或可直接或间接寻址间接寻址通用通用RAM128B间接寻址间接寻址FFFFh00h外部扩展外部扩展I/O空间空间64KB用用MOVX指令指令间接寻址间接寻址操作操作52(32)以上以上型号单片机型号单片机片内低片内低128BRAM:堆栈或数据缓冲器堆栈或数据缓冲器位寻址区位寻址区工作寄存器区工作寄存器区0工作寄存器区工作寄存器区1工作寄存器区工作寄存器区2工作寄存器区工作寄存器区300h08h10h18h20h30h7Fh16Byte(128bit 00h7Fh)工作寄存器区工作寄存器区R0R7地址由地址由PSW中的中的RS1和和RS2决定决定不用的区域可用作堆栈或数据不用的区域可用作堆栈或数据缓冲器缓冲器特殊功能寄存器特殊功能寄存器 MCS-51系列单片机具有数十个特殊功能寄存系列单片机具有数十个特殊功能寄存器器,使用内部高使用内部高128B的地址空间的地址空间,只能用直接寻址的只能用直接寻址的方式方式,才能操作这些寄存器才能操作这些寄存器.在这些特殊功能寄存器中在这些特殊功能寄存器中,位于位于x0H和和x8H的寄的寄存器存器,还支持位操作还支持位操作.每个特殊功能寄存器和可位操作的每一位每个特殊功能寄存器和可位操作的每一位,都有都有自己的名字自己的名字(助记符助记符),在汇编语言程序设计时在汇编语言程序设计时,可直可直接使用其名称接使用其名称,不用去记其具体的地址不用去记其具体的地址.PSW:CY AC F0 RS1 RS0 OV F1 P外部数据存储器(外部数据存储器(I/O)的扩展)的扩展 锁存器和触发器锁存器和触发器D QLE OE D QCLK OE 高阻高阻高阻高阻DLEQOEDCLKQOE触发器触发器锁存器锁存器利用利用CPLD/FPGA扩展展I/OP0P2ALE74373A0.7A8.15WRRD单片机单片机CPLD/FPGA译码电路译码电路743747437474244OE选通选通控制控制Swr0Swr1Q0PAPBPCQAQB译码电路译码电路完全译码和不完全译码完全译码和不完全译码 完全译码完全译码:利用所有地址线。用于端口多的复杂系统利用所有地址线。用于端口多的复杂系统 不完全译码不完全译码:利用部分地址线。一个引脚占用多个地址利用部分地址线。一个引脚占用多个地址例:上图中,若:例:上图中,若:Swr0=WR+!(A7&!A0)占用地址:占用地址:xx1xxxxxx0 Swr1=WR+!(A7&A0)占用地址:占用地址:xx1xxxxxx1写0080h 0090h00F0h FF80hFFF0h,则输出到同一端口则输出到同一端口 OE=RD+!A7;Q0=A7&!A1&!A0&PA+A8&!A1&A0&PB +A7&A1&!A0&PC;则则:读读0080h00F0h FFF0h 都是读都是读PA端口端口CPU取出一条指令至该指令执行完所需的时间称为取出一条指令至该指令执行完所需的时间称为指令周期,指令周期是以指令周期,指令周期是以机器周期机器周期为单位的。为单位的。8051的一个机器周期由六个状态的一个机器周期由六个状态(S1,S2,S6)组成,组成,每一个状态为每一个状态为2个个时钟周期时钟周期(时相时相P1,P2)。一个机器一个机器周期有周期有12个时钟周期个时钟周期(S1P1,S1P2,S2P1,S2P2,S6P1,S6P2),若晶振为若晶振为12MHz,则一个机器则一个机器周期为周期为1 s。2.5 MCS-51单片机工作时序单片机工作时序MCS-51的工作时序图的工作时序图