1、第第 2 2 章章MCS-51MCS-51单片机的单片机的基本结构与工作原理基本结构与工作原理主要内容主要内容MCS-51总体结构总体结构MCS-51时钟及时钟及CPU工作时序工作时序MCS-51存储器配置存储器配置MCS-51系列基本产品型号:系列基本产品型号:8031、8051、8751称为称为 51子系列。子系列。不不同同型型号号MCS-51单单片片机机CPU处处理理能能力力和和指指令令系系统完全兼容,只是存储器和统完全兼容,只是存储器和I/O接口的配置有所不同接口的配置有所不同。2.1 MCS-51总体结构总体结构2.1.1 MCS-51的引脚的引脚 40只引脚只引脚双列直插双列直插封
2、装(封装(DIP)4444只引脚方形封装方式(只引脚方形封装方式(4 4只无用)只无用)引脚逻辑图引脚逻辑图引脚可分为三个部分引脚可分为三个部分控控制制引引脚脚并行并行I/O口引脚口引脚电电源源及及时时钟钟引引脚脚(1)电源及时钟引脚)电源及时钟引脚:Vcc、Vss;XTAL1、XTAL2。(2)控制引脚:)控制引脚:PSEN*、EA*、ALE、RESET (3)I/O口引脚:口引脚:P0、P1、P2、P3,4个个8位位I/O口口一、一、电源及时钟引脚电源及时钟引脚 1 1电源引脚电源引脚 (1 1)VccVcc(4040脚)脚):+5V+5V电源;电源;(2 2)VssVss(2020脚)脚
3、):接地。:接地。2 2时钟引脚时钟引脚 (1 1)XTAL1XTAL1(1919脚脚):采采用用外外接接晶晶体体振振荡荡器器 时,此引脚应接地。时,此引脚应接地。(2 2)XTAL2XTAL2(1818脚)脚):接外部晶体的另一端。:接外部晶体的另一端。二、二、控制引脚控制引脚 (1)RST/VPD(9(1)RST/VPD(9脚脚):复位与备用电源:复位与备用电源(2)ALE/PROG(2)ALE/PROG*(3030脚):脚):第一功能第一功能ALEALE :地址锁存允许:地址锁存允许 第二功能第二功能PROGPROG*:编程脉冲输入端。编程脉冲输入端。(3)(3)PSENPSEN*(29
4、29脚脚):外外部部程程序序存存储储器器的的读读选选通通信信号号。可以驱动可以驱动8 8个个LSLS型型TTLTTL负载。负载。(4)EA(4)EA*/VPP(31/VPP(31脚脚):EAEA*为内外程序存储器选择控制为内外程序存储器选择控制 EAEA*=1=1,访问片内程序存储器,访问片内程序存储器,EAEA*=0=0,单片机则只访问外部程序存储器。单片机则只访问外部程序存储器。第二功能第二功能V VPPPP,用于,用于施加编程电压施加编程电压。三、三、I/OI/O引脚引脚(1)(1)P0P0口口:双向双向8 8位三态位三态I/OI/O口,地址总线(低口,地址总线(低8 8位)及数据总线分
5、时复用口。位)及数据总线分时复用口。(2)(2)P1P1口口:8 8位位准双向准双向I/OI/O口,可驱动口,可驱动4 4个个LSLS型型TTLTTL负载。负载。(3)(3)P2P2口口:8 8位位准准双双向向I/OI/O口口,与与地地址址总总线线(高高8 8位)复用。位)复用。(4)(4)P3P3口口:8 8位位准双向准双向I/OI/O口,双功能复用口。口,双功能复用口。引脚引脚转义引转义引脚脚功能说明功能说明P3.0RXD串行数据接收端串行数据接收端P3.1TXD串行数据发送端串行数据发送端P3.2INT0外部中断外部中断0请求请求P3.3INT1外部中断外部中断1请求请求P3.4T0计数
6、器计数器0外部输入外部输入P3.5T1计数器计数器1外部输入外部输入P3.6WR外部数据存储器写外部数据存储器写P3.7RD外部数据存储器读外部数据存储器读CPUCPU运算部件运算部件控制部件控制部件B BRAMRAMP0P0口口P2P2口口ROMROM(EPROM)(EPROM)串串行行 C/TC/T中断中断系统系统SFRSFRP1P1口口8 8P3P3口口8 88 88 8XTALXTAL1 1XTALXTAL2 2PSEN ALEPSEN ALE EA RESET EA RESETVcVcc cVsVss su按功能可分成按功能可分成8个部件,通过片内总线连接起来个部件,通过片内总线连接
7、起来1.1.微处理器微处理器2.2.数据存储器数据存储器3.3.程序存储器程序存储器4.I/O4.I/O口口5.5.串行口串行口6.6.定时定时/计数器计数器7.7.中断系统中断系统8.8.特殊功能特殊功能寄存器寄存器u控制方式:控制方式:SFR对各功能部件集中控制对各功能部件集中控制片内总线片内总线片内总线片内总线2.1.2 MCS-51单片机的硬件资源单片机的硬件资源各功能部件:各功能部件:1.CPU1.CPU(微处理器)(微处理器)2.2.数据存储器(数据存储器(RAMRAM)内部数据存储器包括了内部数据存储器包括了128字节字节8位的位的RAM和和RAM地地址寄存器,作用是存放运算的中
8、间结果地地址寄存器,作用是存放运算的中间结果以及数据的暂存。地址为以及数据的暂存。地址为00H7FH。3.3.程序存储器(程序存储器(ROM/EPROMROM/EPROM):用于存放程序代码用于存放程序代码 8031:8031:无此部件;无此部件;8051:8051:4K4K字节字节ROMROM;8751:8751:4K4K字节字节EPROM EPROM;89C51/89C52/89C55:89C51/89C52/89C55:4K/8K/20K 4K/8K/20K 字节闪存。字节闪存。4.P14.P1口、口、P2P2口、口、P3P3口、口、P0P0口口为为4 4个并行个并行8 8位位I/OI/
9、O口口,以实现单片机与外界交换信息。以实现单片机与外界交换信息。5.5.串行口串行口 1 1个全双工的异步串行口个全双工的异步串行口实现单片机与其它数据设备如计算机之间的数据传送实现单片机与其它数据设备如计算机之间的数据传送。6.6.定时器定时器/计数器计数器实现定时功能和计数功能,并可以根据定时或计数的实现定时功能和计数功能,并可以根据定时或计数的结果对单片机进行控制。结果对单片机进行控制。7.7.中断系统中断系统 为了使单片机具有实时控制能力而设计的电路。为了使单片机具有实时控制能力而设计的电路。8.8.特殊功能寄存器(特殊功能寄存器(SFRSFR)共有共有2121个,是一个具有特殊功能的
10、个,是一个具有特殊功能的RAMRAM区。区。u MCS-51 MCS-51的的CPUCPU 由由运算器运算器和和控制器控制器所构成所构成运算器运算器 对操作数进行对操作数进行算术、逻辑运算和位操作算术、逻辑运算和位操作。1.1.算术逻辑运算单元算术逻辑运算单元ALUALU 2.2.累加器累加器A A 使用最频繁的寄存器,使用最频繁的寄存器,可写为可写为Acc。A的作用:的作用:是是ALU单元的输入之一,又是运算结果存放单元的输入之一,又是运算结果存放单元。单元。数据传送大多都通过累加器数据传送大多都通过累加器A。A的进位的进位标志标志Cy同时又是同时又是位处理机的位累加位处理机的位累加器。器。
11、3.3.程序状态字寄存器程序状态字寄存器PSWPSW3.3.程序状态字寄存器程序状态字寄存器PSWPSW Cy Cy(PSW.7PSW.7)进位标志位进位标志位 Ac(PSW.6)Ac(PSW.6)辅助进位标志位辅助进位标志位 F0F0(PSW.5PSW.5)标志位标志位 由用户使用的一个状态标志位。由用户使用的一个状态标志位。RS1RS1、RS0RS0(PSW.4PSW.4、PSW.3PSW.3):4 4组组工工作作寄寄存存器器区区选选择择控制位控制位1 1和位和位0 0。OVOV(PSW.2PSW.2)溢出标志位)溢出标志位 指示运算是否产生溢出。各种算术运算指示运算是否产生溢出。各种算术
12、运算指令对该位的影响情况较复杂,将在第指令对该位的影响情况较复杂,将在第3 3章章介绍。介绍。PSW.1PSW.1位位:保留位,未用保留位,未用 P(PSW.0)P(PSW.0)奇偶标志位奇偶标志位 P=1P=1,A A中中“1 1”的个数为奇数的个数为奇数P=0P=0,A A中中“1 1”的个数为偶数的个数为偶数u 控制器控制器 1 1程序计数器程序计数器PCPC(Program CounterProgram Counter)存放下一条要执行的指令在程序存储器中的地址。存放下一条要执行的指令在程序存储器中的地址。基本工作方式:基本工作方式:(1 1)程序计数器)程序计数器自动加自动加1 1
13、(2 2)执执行行有有条条件件或或无无条条件件转转移移指指令令时时,程程序序计计数数器器将被置入新的数值,从而使程序的流向发生变化。将被置入新的数值,从而使程序的流向发生变化。(3 3)执行)执行子程序调用或中断调用子程序调用或中断调用时完成下列操作:时完成下列操作:PCPC的当前值保护的当前值保护 将子程序入口地址或中断向量的地址送入将子程序入口地址或中断向量的地址送入PCPC。2 2指令寄存器指令寄存器IRIR、指令译码器及控制逻辑电路、指令译码器及控制逻辑电路P0.3地址锁存器CBI/OA15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0D7D6D5D4D3D2D
14、1D0DBABP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RESETP3.0P3.1P3.3P3.4P3.5P3.6P3.7VSSVCCP0.0P0.1P0.2P0.5P0.6P0.7EAALEPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P3.2MCS-51片外总线结构示意图返回返回MCS-51单片机片外总线P0.41、8031单片机共有(4)个8位并行口。2、8031单片机共有(1)个串行口。3、8031单片机共有()个外部中断输入口。4、使用8031芯片时,需将/EA引脚接()电平,因为其片内无()存储器。在8051单片机系统中,若仅用片内R
15、OM时控制线/EA接()电平。5、MCS51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS51的PC是16位的,因此其寻址的范围为(64)KB。课堂练习题16、8031单片机中访问外部程序存储器的读选通控制线是()A.ALEB./PSENC./EAD./WR7、PC的值是A、当前正在执行指令的前一条指令的地址B、当前正在执行指令的地址C、当前正在执行指令的下一条指令的地址D、控制器中指令寄存器的地址8、控制线/EA、ALE、/PSEN、RST的作用。2.3 MCS-512.3 MCS-51存储器的结构存储器的结构存储器空间可划分为存储器空间可划分为5 5类:类:1.1.
16、数据存储器空间数据存储器空间 2.2.特殊功能寄存器特殊功能寄存器 3.3.程序存储器空间程序存储器空间内部程序存储器程序存储器外部程序存储器程序存储器内部数据存储器数据存储器外部数据存储器数据存储器MCS-51MCS-51存储器分类及配置存储器分类及配置存储器分类及配置存储器分类及配置一、内部数据存储器一、内部数据存储器字节地址为字节地址为00H7FH一、内部数据存储器(片内一、内部数据存储器(片内RAM)(1)工作寄存器区:)工作寄存器区:内部内部RAM的前的前32个单元作为个单元作为工作工作寄存器寄存器使用,共分为使用,共分为4组,每组含组,每组含8个寄存器,在组个寄存器,在组中按中按R
17、7R0编号。编号。字节地址:字节地址:00H1FH RS0、RS1决定当前工作寄存器组。决定当前工作寄存器组。工作寄存器区的选择工作寄存器区的选择 18181FH1FH3 3区区1 11 1101017H17H2 2区区1 01 008080FH0FH1 1区区0 10 1000007H07H0 0区区0 00 0R R0 0R R7 7地址地址寄存器组寄存器组RSRS1 1 RS RS0 0工作工作寄存器有两种使用方法寄存器有两种使用方法 MOV A,R0 MOV A,00H 字节地址:字节地址:位地址为:位地址为:(2)位寻址区:位寻址区:20H2FH00H7FH例如:清除位地址例如:清除
18、位地址00H单元单元 的内容。的内容。CLR 00H MOV 00H,#00H(3)数据缓冲区)数据缓冲区/堆栈区(用户堆栈区(用户RAM区)区)供用户使用的一般供用户使用的一般RAM区,其单元地址区,其单元地址 30H7FH。对于用户对于用户RAM区,只能以存储单元(字节)的区,只能以存储单元(字节)的形式来使用,在一般应用中常把堆栈开辟在此区中。形式来使用,在一般应用中常把堆栈开辟在此区中。二二.特殊功能寄存特殊功能寄存器(器(SFRSFR)CPUCPU对对各各种种功功能能部部件件的的控控制制采采用用特特殊殊功功能能寄寄存存器器集集中中控控制制方方式式,共共2121个个。有有的的SFRSF
19、R可可进进行行位位寻寻址址,其其字字节节地地址址的的末末位位是是0H0H或或8H8H。表表2-2 SFR的名称及其分布的名称及其分布SFR中的位地址分布中的位地址分布SFRSFR中的某些寄存器中的某些寄存器 1 1堆栈指针堆栈指针SPSP 指示出堆栈顶部在内部指示出堆栈顶部在内部RAMRAM块中的位置块中的位置 复位后复位后 ,SPSP中的内容为中的内容为07H07H。(1 1)保护断点)保护断点(2 2)现场保护)现场保护堆栈堆栈向上生长向上生长 2.2.数据指针数据指针DPTRDPTR 16 16位特殊功能寄存器,位特殊功能寄存器,高位字节寄存器用高位字节寄存器用DPHDPH表表示,低位字
20、节寄存器用示,低位字节寄存器用DPLDPL表示。表示。3.I/O3.I/O端口端口P0P0P3P3 P0P0P3P3分别为分别为I/OI/O端口端口P0P0P3P3的锁存器。的锁存器。4.4.寄存器寄存器B B 为执行乘法和除法操作设置的。为执行乘法和除法操作设置的。在不执行乘、除的情况下,可当作一个普通寄存器在不执行乘、除的情况下,可当作一个普通寄存器来使用。来使用。5.5.串行数据缓冲器串行数据缓冲器SBUFSBUF 存放欲发送或已接收的数据,一个字节地址,物理存放欲发送或已接收的数据,一个字节地址,物理上是由两个独立的寄存器组成,一个是发送缓冲器,上是由两个独立的寄存器组成,一个是发送缓
21、冲器,另一个是接收缓冲器。另一个是接收缓冲器。6.6.定时器定时器/计数器计数器 两两个个1616位位定定时时器器/计计数数器器T1T1和和T0T0,各各由由两两个个独独立立的的8 8位位寄寄存存器器组组成成:TH1TH1、TL1TL1、TH0TH0、TL0TL0,只只能能字字节节寻寻址址,但但不不能能把把T1T1或或T0T0当当作作一一个个1616位位寄寄存存器器来来寻寻址访问。址访问。位地址空间总结位地址空间总结 211211个(个(128128个个+83+83个)寻址位个)寻址位。位地址范。位地址范围为:围为:00H00HFFHFFH。内部内部RAMRAM的可寻址位的可寻址位128128
22、个个(字节地址字节地址20H20H2FH)2FH)。特殊功能寄存器特殊功能寄存器SFRSFR为为8383个个可寻址位可寻址位。三三.程序存储器程序存储器 l 存放应用程序和表格之类的固定常数。存放应用程序和表格之类的固定常数。l 分为片内和片外两部分,由分为片内和片外两部分,由EAEA*引脚上所接电平确定引脚上所接电平确定 程序存储器中的程序存储器中的0000H0000H地址是系统程序的启动地址地址是系统程序的启动地址 5 5个单元具有特殊用途个单元具有特殊用途 5 5种中断源的中断入口地址种中断源的中断入口地址外中断外中断0 0003H0 0003H定时器定时器T0 000BHT0 000B
23、H外中断外中断1 0013H 1 0013H 定时器定时器T1 001BH T1 001BH 串行口串行口 0023H0023H 四四.外部数据存储器外部数据存储器 最多可最多可外扩外扩64K64K字节字节的的RAMRAM或或I/OI/O。片外数据存储区中,片外数据存储区中,RAMRAM与与I/OI/O端口统一编端口统一编址。址。所有外围所有外围I/OI/O端口的地址均占用端口的地址均占用RAMRAM地地址单元,使用与访问外部数据存储器相同址单元,使用与访问外部数据存储器相同的传送指令。的传送指令。MCS-51单片机存储器的结构特点单片机存储器的结构特点 1、把数据存储器和程序存储器分开;、把
24、数据存储器和程序存储器分开;2、存储器有内外之分。、存储器有内外之分。MCS-51单片机由芯片内存储器和芯片外扩展存单片机由芯片内存储器和芯片外扩展存储器构成了单片机应用系统的整个存储器系统。储器构成了单片机应用系统的整个存储器系统。1、8051单片机有单片机有4组工作寄存器,它们的地址范围组工作寄存器,它们的地址范围是(是()。)。2、8031的的PSW中中RS1=1、RS0=0,工作寄存器,工作寄存器R0R7的地址为(的地址为()。3、8031内部内部RAM可位寻址区的字节地址为(可位寻址区的字节地址为(););对应的位地址为(对应的位地址为()。)。4、8051单片机中可位寻址的特殊功能
25、寄存器的个数单片机中可位寻址的特殊功能寄存器的个数是(是()。)。5、8031中可位寻址特殊功能寄存器的特点是(中可位寻址特殊功能寄存器的特点是()。)。6、8051中,唯一一个可寻址的中,唯一一个可寻址的16位寄存器是(位寄存器是()。课堂练习题22.2 MCS-512.2 MCS-51时钟电路及时钟电路及CPUCPU工作时序工作时序 时时钟钟电电路路用用于于产产生生单单片片机机工工作作所所必必需需的的时时钟控制信号。钟控制信号。2.2.1 2.2.1 时钟电路时钟电路 时时钟钟频频率率直直接接影影响响单单片片机机的的速速度度,电电路路的的质质量量直直接接影影响响系系统统的的稳稳定定性性。常
26、常用用的的时时钟钟电电路路有两种方式:有两种方式:内部时钟内部时钟方式和方式和外部时钟外部时钟方式。方式。一、内部时钟方式一、内部时钟方式 内部有一个用于构成振荡器的内部有一个用于构成振荡器的高增益反相放大器高增益反相放大器,其输入端:其输入端:XTAL1XTAL1,输出端:,输出端:XTAL2XTAL2。C1和和C2典型值通典型值通常选择为常选择为30pF左右。左右。晶体的振荡频率晶体的振荡频率在在1.2MHz12MHz之间。之间。某些高速单片机某些高速单片机芯片的时钟频率已芯片的时钟频率已达达40MHz。二、外部时钟方式二、外部时钟方式 常用于多片常用于多片MCS-51MCS-51单片机同
27、时工作。单片机同时工作。2.2.2 MCS-512.2.2 MCS-51工作时序工作时序一、振荡周期一、振荡周期单片机的单片机的基本时间单位基本时间单位。若时钟的晶体的振荡频率为若时钟的晶体的振荡频率为foscfosc,则振荡周期,则振荡周期Tosc=1/foscTosc=1/fosc。如。如fosc=6MHzfosc=6MHz,Tosc=166.7nsTosc=166.7ns。二、状态周期二、状态周期它是振荡周期的它是振荡周期的2 2倍。状态周期被分成倍。状态周期被分成2 2个节拍,即个节拍,即P1P1节拍和节拍和P2P2节拍。节拍。三、机器周期三、机器周期CPUCPU完完成成一一个个基基本
28、本操操作作所所需需要要的的时时间间。执执行行一一条条指指令令分分为为几几个个机机器器周周期期。每每个个机机器器周周期期完完成成一一个个基基本本操操作。作。一个机器周期由一个机器周期由6 6个状态(个状态(S1S1、S2S2S6S6)组成,)组成,即即6 6个状态周期,个状态周期,1212个振荡周期。可依次表示为个振荡周期。可依次表示为S1P1S1P1、S1P2S1P2、S2P1S2P1、S2P2 S2P2 S6P1S6P1、S6P2S6P2共共1212个节拍。个节拍。ALE信号是为地址锁存而定义的信号是为地址锁存而定义的,以振荡脉冲,以振荡脉冲1/6的频率出现的频率出现,在一个机器周期中,在一
29、个机器周期中,ALE信号两次有效信号两次有效四、指令周期四、指令周期一条指令的执行时间,以机器周期的倍数来表示。一条指令的执行时间,以机器周期的倍数来表示。MCS-51的指令周期根据指令的不同,可包含有一、二或的指令周期根据指令的不同,可包含有一、二或四个机器周期。四个机器周期。执行一条指令时,可分为执行一条指令时,可分为取指令阶段取指令阶段和和指令执行阶段指令执行阶段。取指令阶段取指令阶段,PCPC中地址送到程序存储器,并从中取出中地址送到程序存储器,并从中取出需要执行指令的操作码和操作数。需要执行指令的操作码和操作数。指令执行阶段指令执行阶段,对指令操作码进行译码,以产生一系,对指令操作码
30、进行译码,以产生一系列控制信号完成指令的执行。列控制信号完成指令的执行。ALEALE信号是为地址锁存而定义的信号是为地址锁存而定义的,以振荡脉冲,以振荡脉冲1/61/6的频的频率出现,在一个机器周期中,率出现,在一个机器周期中,ALEALE信号两次有效。信号两次有效。时序之间的关系为:时序之间的关系为:振荡周期:振荡周期:Tosc1/fosc状态周期:状态周期:S=2 Tosc机器周期:机器周期机器周期:机器周期12 Tosc地址锁存有效信号:地址锁存有效信号:ALE6 Tosc若外接晶振为若外接晶振为12MHz时,则单片机的四个周时,则单片机的四个周期的具体值为:期的具体值为:时钟周期时钟周
31、期1/12MHz1/12s0.0833s 状态周期状态周期1/6s0.167s 机器周期机器周期1s 指令周期指令周期14s可用于计算指令、程序的执行时间,以及定时可用于计算指令、程序的执行时间,以及定时器的定时时间器的定时时间典典 型型 指指 令令 时时 序序单片机的典单片机的典 型型 指指 令令 时时 序包括:序包括:单字节单机器周期指令单字节单机器周期指令 单字节双机器周期指令单字节双机器周期指令 单字节四机器周期指令(乘法、除法)单字节四机器周期指令(乘法、除法)双字节单机器周期指令双字节单机器周期指令 双字节双机器周期指令双字节双机器周期指令 三字节双机器周期指令三字节双机器周期指令
32、04H24H dataA3H复位操作和复位电路复位操作和复位电路复位操作复位操作单片机的初始化操作,摆脱死锁状态。单片机的初始化操作,摆脱死锁状态。引脚引脚RSTRST加上加上大于大于2 2个机器周期(即个机器周期(即2424个时钟振荡个时钟振荡周期)的高电平就可使周期)的高电平就可使MCS-51MCS-51复位。复位。复位时,复位时,PCPC初始初始化为化为0000H0000H,使,使MCS-51MCS-51单片机从单片机从0000H0000H单元开始执行程单元开始执行程序。序。在复位有效期间,在复位有效期间,ALEALE脚脚和和PSENPSEN*脚脚均为高电平,均为高电平,内部内部RAMR
33、AM的状态不受复位的影响。的状态不受复位的影响。除除PCPC之外,复位操作还对其它一些寄存器有影响,之外,复位操作还对其它一些寄存器有影响,见见下表。下表。MCS-51单片机各寄存器的复位状态单片机各寄存器的复位状态 00HTCON0000HPC00HTMOD00000BPCON0000000BIE不定不定SBUF 000000BIP00HSCON0FFHP0P300HTH10000HDPTR00HTL107HSP00HTH000HPSW00HTL000HACC复位状态复位状态寄存器寄存器复位状态复位状态寄存器寄存器上电自动复位上电自动复位和和按钮复位按钮复位 最简单的上电自动复位电路最简单的上电自动复位电路:复位电路复位电路VccRSTVss 10FRC8.2K8051Vcc按键手动复位电路按键手动复位电路:VccVccRSTVss 22FR1C1K8051R2200