MCS-51系列单片机的结构和功能课件_第1页
MCS-51系列单片机的结构和功能课件_第2页
MCS-51系列单片机的结构和功能课件_第3页
MCS-51系列单片机的结构和功能课件_第4页
MCS-51系列单片机的结构和功能课件_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章 MCS-51系列单片机的结构和功能2.1 MCS-51单片机的内部组成及信号引脚2.2 8051的存储器2.3 并行输入输出端口结构2.4 时钟电路及CPU时序2.5 复位及掉电处理第二章 MCS-51系列单片机的结构和功能2.1 MCS2.1MCS-51单片机的内部组成及信号引脚MCS - 51单片机又有51和52两个子系列,51和52系列的引脚功能、引脚数及其排列封装完全一样。51子系列52子系列片内RAM128B256B定时器/计数器23片内ROM4KB8KB中断源个数562.1MCS-51单片机的内部组成及信号引脚MCS - 518031、8051和8751的区别它们的指令系统

2、与芯片引脚完全兼容,仅片内ROM有所不同,8031片内无程序存储器,8051片内有4KB的掩模ROM,8751片内有4KB的EPROM。8031、8051和8751的区别它们的指令系统与芯片引脚完2.1.1 8051单片机的主要功能1. CPU:8位2. 内部RAM:256单元 前128 单元:用户使用 后128单元:专用寄存器占用。3. 内部ROM:4KB掩膜ROM4.定时器/计数器:216位。5.并行I/O口:48位。 P0,P1,P2,P3。6串行口:一个, 全双工。7. 中断控制系统:58时钟电路:fosc振荡频率最高为12MHz。2.1.1 8051单片机的主要功能1. CPU:8位

3、2.1.1 8051单片机的主要功能:9. 程序存储器的寻址范围为64KB。10. 片外数据存储器的寻址范围为64KB。11. 21个字节专用寄存器。12.111条指令,含乘法和除法指令。13.有强的位寻址、位处理能力。14片内采用单总线结构。15. 用单一5V电源。2.1.1 8051单片机的主要功能:9. 程序存储器的寻MCS-51系列单片机的结构和功能课件2.1.2 MCS-51单片机引脚及功能2.1.2 MCS-51单片机引脚及功能 1. 主电源引脚Vcc和Vss VCC(40脚): 接+5 V电源正端; VSS(20脚): 接+5 V电源地端。 2. 外接晶体引脚XTAL1和XTAL

4、2 XTAL1(19脚)和 XTAL2(18脚): 分别用作晶体振荡电路反相器的输入和输出端。 1. 主电源引脚Vcc和Vss 3. 控制信号引脚有RST/VPD、 ALE/PROG* 、PSEN*和 EA*/VPP 。 (1) EA*/VPP(31脚):EA*为访问外部程序存储器控制信号, 低电平有效。 (2) RST/VPD(9脚): RST即为RESET,复位信号,高电平有效。 VPD为备用电源, 保证掉电后保存在RAM中的信息不丢失。 3. 控制信号引脚 (3) ALE/PROG*(30脚): 地址锁存允许信号。访问外部存储器时, ALE把 P0口输出的低8位地址信息锁存起来,实现低8

5、位地址和数据的分时传送。 (4) PSEN* (29脚): 片外程序存储器读选通信号输出端, 低电平有效。即外部ROM的读信号。(相当于外部RAM的RD*) VPP和PROG*是8751等内部有EPROM的芯片的编程电源和编程脉冲输入端。 (3) ALE/PROG*(30脚): 地 4. 输入/输出(I/O)引脚P0口、 P1口、 P2口及P3口 (1) P0口(39脚32脚): P0.0P0.7统称为P0口,分时提供低8位地址总线和8位双向数据总线。 (2) P1口(1脚8脚): P1.0P1.7统称为P1口, 可作为准双向I/O接口使用。 (3) P2口(21脚28脚): P2.0P2.7

6、统称为P2口, 作为准双向I/O接口,或提供高8位地址总线。 (4) P3口(10脚17脚): P3.0P3.7统称为P3口,作为准双向I/O接口使用,每个引脚具有第二功能。 4. 输入/输出(I/O)引脚P0口、 P1口、 P2口MCS-51系列单片机的结构和功能课件引脚总结:数据总线:8位,由P0口提供。地址总线:16位,由P0和P2口提供。控制总线: RST、 ALE 、PSEN*和 EA* 以及P3口的某些第二功能引脚。 引脚总结:2.2 8051的存储器配置存储器用于存放程序和数据。普林斯顿结构:将程序和数据统一编址共存于一个存储器中。哈佛结构:将程序和数据分别编址存放于不同的存储器

7、中。通用计算机一般采用普林斯顿结构。MCS-51系列单片机采用的是哈佛结构。2.2 8051的存储器配置存储器用于存放程序和数据。2.2 8051的存储器配置MCS-51单片机的存储空间分为四个: 片内ROM, 片外ROM, 片内RAM, 片外RAM.2.2 8051的存储器配置MCS-51单片机的存储空间分为从用户使用的角度,8051存储器地址空间分为三个:MOVC(1) 片内、片外统一编址0000FFFFH的64K字节的程序存储器地址空间(用16位地址);MOVX (2) 64K字节的片外数据存储器地址空间,地址也从0000FFFFH(用16位地址);MOV (3) 256字节数据存储器地

8、址空间00FFH (用8位地址)。从用户使用的角度,8051存储器地址空间分为三个:FFFFH1000H片外扩展存储器8051片内存储器 0FFFH0000H4KBROM7FH00HFFH80HSFRRAM64KBROM64KBRAM(I/O)FFFFH0000H图2-3 8051存储空间分布图0FFFH0000HFFFFH片外扩展存储器8051片内存储器 0FFFH4KB2.2.1 程序存储器(ROM)用途: 用于存放编好的程序和表格常数。PC 8051片内有4KB ROM, 片外16位地址线可扩展64KB ROM,二者是统一编址的。 当引脚 EA*=1, 8051从0000H执行片内ROM

9、中的程序。 当指令地址超过0FFFH后,就自动转向片外ROM取指令。 当引脚EA*=0,8051片内ROM不起作用,CPU只能从片外ROM/EPROM中取指令,地址可以从0000H开始编址。2.2.1 程序存储器(ROM)用途: 用于存放编好的程序思考: 8031的EA*引脚应该如何接?思考: 2.2.1 程序存储器(ROM)PC是程序计数器,是管理程序执行次序的寄存器,存放将要执行的指令的地址。程序的执行有2种情况,按照顺序执行和跳转。为此,PC有3种功能:1、复位功能:复位时计算机进入初始状态,PC的内容自动清零。2、计数功能:每取出指令代码的一个字节,PC的内容自动加1(加法计数)3、直

10、接置位功能:在执行跳转、返回指令时将跳转的地址直接加载PC。2.2.1 程序存储器(ROM)PC是程序计数器,是管理程内部ROM中的一些特殊单元 内部ROM中的一些特殊单元 2.2.2 数据存储器RAM用途:用于存放运算的中间结果、数据暂存和缓冲、标志位等。RAM分类:片内RAM: 256字节;地址从00H0FFH;片外RAM: 64K字节;地址从0000HFFFFH。MOV 片内RAM:R0、R1、直接寻址MOVX 片外 RAM:R0、R1、DPTR2.2.2 数据存储器RAM 1片外RAM 片外RAM: 64K字节,地址从0000HFFFFH。 MOVX,R0、R1、DPTRMOVX指令时

11、:RD*、WR*信号有效 1片外RAM2片内RAM一、 内部数据存储器低128单元低128单元是单片机的真正RAM存储器,按其用途划分为三个区域:2片内RAMMCS-51系列单片机的结构和功能课件1)寄存器区:共有四组寄存器,每组8个单元一组(8位),各组都以R0、R1、R2、R3、R4、R5、R6、R7作寄存单元编号。 占据内部RAM的00H1FH单元地址。 在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。到底是那一组由程序状态字寄存器PSW中RS0、RS1位的状态组合来决定。1)寄存器区:共有四组寄存器,每组8个单元一组(8位),各 RS0和RS1

12、(PSW.4,PSW.5)寄存器组选择位RS1RS0寄存器组片内RAM地址通用寄存器名称000组00H07HR0R7011组08H0FHR0R7102组10H17HR0R7013组18H1FHR0R7 RS0和RS1(PSW.4,PSW.5)寄存器组选择2). 位寻址区:(表2-4) 内部RAM的20H2FH单元,既可作为一般RAM单元使用进行字节操作,也可以对单元中的每一位进行位操作,因此把该区称之为位寻址区、位寻址区共有16个RAM字节单元,共128位,位地址为00H7FH。3). 用户RAM区: 在内部RAM低128单元中,单元地址为30H7FH。 应当提及,在一般应用中常把堆栈开辟在此

13、区中。2). 位寻址区:(表2-4)MCS-51系列单片机的结构和功能课件2.2.3 专用寄存器内部数据存储器高128单元:被特殊功能寄存器(SFR)使用。 其单元地址为80HFFH。1专用寄存器简介:8051共有21个专用寄存器,现部分介绍:2.2.3 专用寄存器(1)累加器ACC(Accumulator) 8位寄存器,是最常用的专用寄存器 大部分单操作数指令的操作数就取自ACC,许多双操作数指令中的一个操作数也取自累加器。(2) B寄存器 8位寄存器,主要用于乘除运算。B寄存器也可作为一般数据寄存器使用。(1)累加器ACC(Accumulator)(3)程序状态字PSW(Program S

14、tatus Word) 8位寄存器,用于存放程序运行的状态信息。 其中:有些位状态是根据程序执行结果,由硬件自动设置的而有些位状态则使用软件方法设定D7D6D5D4D3D2D1D0CyACF0RS1RS0OVP(3)程序状态字PSW(Program Status Wor CY(PSW.7)进位标志位;位累加器 AC(PSW.6)辅助进位标志位 加减运算中当有低4位向高4位进位或借位时,AC由硬件置位,否则AC位被清零。 F0(PSW.5)用户标志位需要时用软件方法置位或复位,用以控制程序的转向。 CY(PSW.7)进位标志位;位累加器 RS0和RS1(PSW.4,PSW.5)寄存器组选择位RS

15、1RS0寄存器组片内RAM地址通用寄存器名称000组00H07HR0R7011组08H0FHR0R7102组10H17HR0R7013组18H1FHR0R7 RS0和RS1(PSW.4,PSW.5)寄存器组选择 OV(PSW.2)溢出标志位 8位带符号数字加减运算结果是否超出运算范围。 8位有符号数字表示的范围:128127。 OV0,运算正确,即无溢出产生。 在乘法运算中,OV1,表示乘积超过255; 在除法运算中,OV1,表示除数为0,除法不能进行。 P(PSW.0)一一奇偶标志位。表明累加器A中数的奇偶性。 OV(PSW.2)溢出标志位例题:分析指令MOV A,#7FHADDA,#47H

16、执行后,A 、C、AC、OV、P的内容是什么?(A)=C6H;C=0、AC=1;OV=1;P=1/0例题:分析指令MOV A,#7FH(4) 数据指针(DPTR) 16位寄存器。 MCS一51中唯一的一个16位寄存器。 编程时,DPTR既可按16位寄存器使用,也可以按两个8位寄存器分开使用。 DPH: DPTR高位字节 DPL: DPTR低位字节 作用:通常在访问外部RAM时作地址指针使用, 由于外部数据存储器的寻址范围64KB。(4) 数据指针(DPTR)(6)I/O端口P0P3(80H,90H,A0H,B0H)P0P3为四个8位特殊功能寄存器,分别是四个并行I/O端口的锁存器。它们都有字节

17、地址,每一个口锁存器还有位地址,所以当每一条I/O线独立地用作输入或输出时,数据可以锁存;作输入时,数据可以缓冲。当I/O端口某一位用于输入信号时,对应的锁存器必须先置“1”。(6)I/O端口P0P3(80H,90H,A0H,B0H表 2.6 SFR特殊功能寄存器地址表 表 2.6 SFR特殊功能寄存器地址表 表 2.6 SFR特殊功能寄存器地址表 表 2.6 SFR特殊功能寄存器地址表 几点说明: 专用寄存器不连续地分散在内部RAM高128单元之中、空闲地址不能被用户使用。 使用SFR时,既可使用寄存器符号,也可使用寄存器单元地址。例如: MOV B, ACCMOVB, E0H几点说明:3.

18、 可位寻址专用寄存器: 在21个可寻址的专用寄存器中,有11个寄存器是可以位寻址的,见表l4。全部专用寄存器可寻址的位为:83位位寻址区: 128位 共211位3. 可位寻址专用寄存器:2.2.4 堆栈及堆栈指示器 1、堆栈:只允许在其一端进行数据插入和数据删除操作的线性表。堆栈占用内部RAM 30H3FH的部分区域。堆栈指针SP是一个专用地址寄存器,它指明栈顶的位置,起着管理堆栈的作用。(复位时SP=07H)堆栈操作的最大特点:“后进先出”。2.2.4 堆栈及堆栈指示器MCS-51系列单片机的结构和功能课件2、堆栈传送数据方式: 入栈:PUSH 出栈:POP。2、堆栈传送数据方式:3. 堆栈

19、的功能:堆栈是为子程序调用和中断操作而设立的。功能:保护断点地址和保护现场数据。断点地址: 当前PC值。 现场数据:主程序中用到子程序还要用到的寄存器中的内容。3. 堆栈的功能: * * * 例如: MOV A, B LCALL HEXASCII (PC=1000H) ADD A, #12H* * * (PC=2000H) HEXASCII : PUSH AMOV R0, #30H ADD A,R0 * * * POP ARET;返回 * * *现场数据用指令保护和弹出,断点地址是在执行调用和返回指令时自动保护和弹出的,不需要使用专门的指令。 * * *现场数据用指令保护和4堆栈使用方式:两种

20、 (1):自动方式:(保护断点) 在调用子程序或中断时,返回地址(断点)自动进栈。 程序返回时,断点再自动弹回PC. 操作的特点:堆栈操作无需用户干预- 自动方式。 LCALL NEXT 4堆栈使用方式:两种(2):指令方式(保护现场) 进栈指令: PUSH出栈指令: POP。例如: PUSHAPUSHBPOPBPOPA(2):指令方式(保护现场) 5、堆栈使用要求: 要让它具有足够的容量(或者说足够的堆栈深度) 堆栈存放在内部RAM 的30H7FH中,但复位后SP=07H,故要使用堆栈,要给SP重新设定值。同时要尽量位于该部分存储区的高地址,一般设定 MOV SP,#50H或60H,这样从该

21、地址到7FH就是可以使用的堆栈空间。 5、堆栈使用要求: 6. 堆栈开辟 1)外堆栈:在主存储器中开辟堆栈例如8080,Z80等早期的微型机。主要优点是堆栈容量大。但外堆栈的操作速度较慢。 2) 内堆栈:在CPU芯片内部存储器中开辟。MCS51的堆栈就是开辟在内部RAM中。 主要优点是操作速度快,但堆栈容量有限。 7.堆栈两种类型: 向上生长型和向下生长型。 MCS5l 为向上生长型,其操作规则为: 进栈操作;先SP加1,后写入数据 出栈操作:先读出数据,后SP减1。MCS-5180867.堆栈两种类型: 向上生长型和向下生长型。MCS-51802.3 并行输入/输出端口结构MCS-51单片机

22、共有4个8位双向并行输入/输出(I/O)口,分别为:P0、P1、P2、P3。这4个口可以并行输入或输出8位数据;也可以按位使用,即每一根输入/输出线都能独立的用作输入或输出。四个I/O口在结构和特性上基本相同的,但又各具特点。2.3 并行输入/输出端口结构P0P1口的功能 1P0口为双向(输入/输出)三态口A/D线。 用作: 地址/数据总线口。 低8位地址/8位数据总线分时复用。 2P1口:作为可编程的输入或输出线。 3P2口: 用作:(1)可作为输入或输出线用; (2)当扩展系统外设时,可作为扩展系统的高8位地址总线,与P0口一起组成16位地址总线。 说明:对8031单片机来说,P2口一般只

23、作为地址总线使用,而不作为I/O线直接与外设相连。为什么? P0P1口的功能4P3口: 双功能口。 (1):可作为输入或输出口线用; (2):特殊的第二功能。4P3口: 双功能口。1. P1口1. P1口P1口的功能P1口只有一种功能通用输入/输出接口,有输出、输入、端口操作3种工作方式。 (1)输出方式:计算机执行写P1口的指令如MOV P1,#data时,P1口工作于输出方式。此时数据data经内部总线送入锁存器锁存。P1口的功能P1口只有一种功能通用输入/输出接口,有输出、P1口的功能(2)输入方式:计算机执行读P1口的指令如MOV A,P1时,P1口工作于输入方式。控制器发出的读信号打

24、开三态门1,引脚P1.上的数据经三态门1进入芯片内部总线,并送到累加器A。因此输入时无锁存功能。 在执行输入操作时,如果锁存器原来寄存的数据Q=0。那么由于Q*=1将使V1导通,引脚被始终钳位在低电平,不可能输入高电平。为此,用作输入前,必须先用输出指令置Q=1,使V1截止。因此P1口被称为准双向接口。单片机复位后,P1口线的状态都是高电平,可以直接用做输入。P1口的功能(2)输入方式:计算机执行读P1口的指令如MOVP1口的功能(3)端口操作:MCS-51单片机有不少指令可直接进行端口操作,如:ANLP1,#dataORLP1, #dataXRLP1,AINCA这些指令的执行过程分成“读-修

25、改-写”三步。先将P1口的数据读入CPU,在ALU中进行运算,运算的结果再送回P1。执行端口操作指令时,CPU通过三态门2读回锁存器Q端的数据。P1口的功能(3)端口操作:MCS-51单片机有不少指令可直P1口的负载能力P1口输出时能驱动4个LSTTL负载。通常把100uA的输入电流定义为一个TTL负载的输入电流,所以P1口的输出电流不小于400uA。P1口内部有上拉电阻,因此在输入时,无须外接上拉电阻。P1口的负载能力P1口输出时能驱动4个LSTTL负载。通常2. P2口2. P2口P2口P2口有2种用途:通用I/O接口或高8位地址总线。地址总线:计算机从片外ROM中取指,或者执行访问片外R

26、AM、片外ROM的指令时,P2口上出现PC或DPTR的高8位地址。上述情况,锁存器的内容不受影响。一般,在系统扩展了ROM,取指操作连续不断,P2口不断送出高8位地址,这时P2口就不应再做通用I/O使用了。如果系统仅仅扩展外部RAM,情况应具体分析。P2口P2口有2种用途:通用I/O接口或高8位地址总线。P3口口线逻辑电路图3. P3口P3口口线逻辑电路图3. P3口P3口的第二功能P3口作为第二功能使用时,其锁存器Q端必须为高电平,否则V1管导通,引脚被钳位在低电平,无法输入或输出第二功能信号。单片机复位时,锁存器输出端为高电平。P3口的第二功能P3口作为第二功能使用时,其锁存器Q端必须为4

27、. P0口4. P0口MCS-51系列单片机的结构和功能课件P0口作为地址/数据分时复用总线单片机系统扩展片外存储器时,P0口作为地址/数据分时复用总线使用。在访问片外存储器时,CPU送来的控制信号为高电平,模拟开关打在上方。如果执行输出数据的指令,分时输出的地址/数据经倒相器4、驱动V1、V2送到引脚。如果执行取指操作或输入数据的指令,地址仍经V1、V2输出,而输入的数据经输入缓冲器1进入内部总线。P0口作为地址/数据分时复用总线单片机系统扩展片外存储器时,2.4 时钟电路及CPU时序时钟电路:用于产生单片机工作所需要的时钟信号; 时序:指令执行中各信号之间的相互关系。2.4.1 时钟电路1

28、内部时钟方式利用芯片内部的振荡器,然后在引脚XTAL1和XTAL2两端跨接晶体振荡器和微调电容,就构成了一个稳定的自激振荡器,其发出的脉冲直接输入单片机的内部时钟电路。 2.4 时钟电路及CPU时序内部时钟电路;晶体振荡器可以是石英晶体或陶瓷结构,振荡频率范围是1.212MHz。对于石英晶体振荡器,电容C1和C2在30pF左右;陶瓷振荡器, C1和C2在47pF左右。C1和C2的作用:1、使晶振起振2、对频率起微调作用。内部时钟电路;晶体振荡器可以是石英晶体或陶瓷结构,振荡频率范2. 外部时钟方式2. 外部时钟方式2.4.2 CPU的时序MCS-51的时序定时单位共有4个,从小到大依次是: 拍节,状态、机器周期、指令周期。1拍节与状态拍节(P):振荡脉冲的周期,又称振荡周期。状态(S): 时钟信号的周期,又称时钟周期。关系:振荡频率2倍时钟频率 时钟周期2倍振荡周期, 即 1S=2P (拍节1(P1),拍节2(P2)。2.4.2 CPU的时序2机器周期机器周期: 指CPU访问存储器一次所需要的时间。 例如取指令,读存储器、写存储器等。MCS-51的一个机器周期包括12个振荡周期(12P)6S 即6个状态:S1S6。 而每个状态又分为两拍,称为P1和P2。 因此,一个机器周期中的12个振荡

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论