第2章80C51单片机的结构及原理ppt课件.ppt
《第2章80C51单片机的结构及原理ppt课件.ppt》由会员分享,可在线阅读,更多相关《第2章80C51单片机的结构及原理ppt课件.ppt(78页珍藏版)》请在三一办公上搜索。
1、第2章 80C51单片机的结构及原理,学习目的(1)了解80C51的内部结构。(2)掌握80C51引脚信号功能定义。(3)掌握80C51的存储器空间分配及各I/O口的特点。(4)掌握80C51的复位电路、时钟电路及指令时序。学习重点和难点(1)80C51的结构特点。(2)80C51存储器配置与空间的分布。(3)80C51程序状态寄存器(PSW)。(4)80C51的指令时序。,2.1 80C51单片机的结构与原理 2.1.1 80C51单片机系列 Intel公司推出的80C51是MCS-51系列单片机中以CHMOS为生产工艺的一个典型产品;其它厂商以8051为基核开发出的CMOS工艺单片机产品统
2、称为80C51系列。当前常用的80C51系列单片机主要产品有:1、Intel公司的:80C31、80C51、87C51、80C32、80C52、87C52等。2、ATMEL公司的:89C51、89C52、89C2051、89S51等。3、Philips公司的80C51、80C550、80C552系列。4、Motorola公司M68HC05系列。5、华邦公司的W78C51、W77C51高速低价系列。6、Maxim公司的DS89C420高速(50MIPS)系列。7、Cygnal公司的C8051F系列高速SOC单片机。8、ADI公司的ADC8xx高精度ADC系列。9、LG公司的GMS90/97低压高
3、速系列。,2.1.2 80C51单片机的结构 80C51单片机的结构框图如图2-1所示,可以看出,在一块芯片上集成了一个微型计算机的主要部件,它包括以下几部分:(1)8位 CPU 1个。(2)时钟电路(振荡电路和时序OSC)。(3)4KB程序存储器(ROM/EPROM/Flsh),可外扩展到64KB。(4)128B数据存储器RAM,可外扩展到64KB。(5)2个16位定时/计数器。(6)64KB总线扩展控制电路。(7)4个8位并行I/O接口P0P3。(8)1个全双工异步串行I/O接口。(9)中断系统:5个中断源,其中包括2个优先级嵌套中断。,2.1.3 80C51单片机的内部结构 80C51单
4、片机的内部结构如图2-2所示,它由CPU、存储器、I/O口及SFR(特殊功能寄存器)等组成。具体说明如下:1、80C51 CPU 80C51 CPU即微处理器,是一8位CPU,是单片机的核心部件,是计算机的控制指挥中心。同微型计算机CPU类似,80C51内部CPU由运算器和控制器两部分组成。(1)运算器 组成:由算术运算/逻辑运算单元ALU(Arithmetic Logic Unit)为核心,由暂存器1、暂存器2、累加器ACC(Accumulator)、寄存器B及程序状态寄存器PSW(Program Status Word)组成。主要任务:是完成算术运算、逻辑运算、位运算和数据传送等操作,运算
5、结果的状态由程序状态寄存器(PSW)保存。,图2-2 80C51单片机的内部结构,(2)控制器 组成:由程序计数器(PC)、PC增1寄存器、指令寄存器(IR)、指令译码器(ID)、数据指针(DPTR)、堆栈指针(SP)、缓冲器及定时控制电路等组成。主要任务:完成指挥控制工作,协调单片机各部分正常工作。2、80C51的片内存储器 80C51的片内存储器与一般微机的存储器的配置不同。一般微机的ROM和RAM安排在同一空间的不同范围(称为普林斯顿结构)。而80C51单片机的存储器在物理上设计成程序存储器和数据存储器两个独立的空间(称为哈佛结构)。,2.1.4 80C51单片机的引脚及功能 80C51
6、单片机的封装是采用双列直插式(DIP)封装,引脚图如图2-3(a)所示。80C51的40个引脚及功能描述如下:1、电源引脚(2根)(1)VCC(40脚):电源端,接+5V电源。(2)VSS(20脚):接地端。2、时钟引脚(2根)(1)XTAL1(19脚):晶体振荡器接入的一个引脚。采用外部时钟电路时,此引脚应接地。(2)XTAL2(18脚):晶体振荡器接入的另一个引脚。使用外部时钟时,此引脚应接外部时钟的输入端。3、控制引脚(4根)(1)RST/VPD(9脚):复位信号输入引脚/备用电源输入引脚。说明:当RST引脚保持两个机器周期的高电平后,就可以使80C51完成复位操作。该引脚的第二功能是V
7、PD,即备用电源的输入端,具有掉电保护功能。若在该引脚接+5V备用电源,在使用中若主电源VCC掉电,可保护片内RAM中的信息不丢失。,(2)ALE/PROG(30脚):地址锁存允许信号输出引脚/编程脉冲输入引脚。说明:在系统扩展时,ALE用于控制把P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。此外,由于ALE是以晶振fosc/6的固定频率输出的正脉冲(fosc代表振荡器的频率),因此,可作为外部时钟或外部定时脉冲使用。该引脚的第二功能是对8751内部4KB EPROM编程写入时,作为编程脉冲的输入端。(3)EA/VPP(31脚):外部程序存储器地址允许输入信号引脚/编程电压输入信
8、号引脚。说明:当EA接高电平时,CPU执行片内ROM指令,当PC值超过0FFFH时,将自动转去执行片外ROM指令;当EA接低电平时,CPU只执行片外ROM指令。该引脚的第二功能VPP是对8751片内EPROM编程写入时,作为21V编程电压的输入端。(4)PSEN(29脚):片外ROM读选通信号。说明:在读片外ROM时,为低电平(有效),以实现对片外ROM的读操作。,4、并行I/O引脚(32根,由4个8位口构成)其中:(1)P0.0P0.7(3932脚):一般的8位双向I/O口引脚或数据/地址总线低8位复用引脚。说明:P0口即可作数据/地址总线使用,又可作一般的I/O口使用。当CPU访问片外存储
9、器时,P0口分时先作低8位地址总线,后作双向数据总线,此时,P0口就不能再作一般I/O口使用。(2)P1.0P1.7(18脚):P1口作为一般的8位准双向I/O口使用。(3)P2.0P2.7(2128脚):一般8位准双向I/O口引脚或高8位地址总线引脚。说明:P2口即可作为一般的I/O口使用,也可作为片外存储器的高8位地址总线,与P0口配合,组成16位片外存储器单元地址,可访问64KB的存储空间。(4)P3.0P3.7(1017脚):一般8位准双向I/O口引脚或第二功能引脚。说明:P3口除了作为一般的I/O口使用之外,每个引脚还具有第二功能,P3的8条口线都定义有第二功能,详见表2-1(a),
10、表2-1 P3口各引脚与第二功能表,2.2 80C51单片机的存储器组织 80C51的存储器在物理结构为哈佛结构,它将程序存储器和数据存储器分开,如图2-4所示。从物理地址空间看,80C51单片机有四个存储器地址空间,即片内数据存储器(简称片内RAM)、片内程序存储器(片内ROM)、片外数据存储器(片外RAM)和片外程序存储器(片外ROM)。,但从使用的角度来看,80C51的存储器又分为三个逻辑空间,如图2-5所示。1、片内外统一寻址的64KB程序存储器空间,地址范围为0000HFFFFH(访问用指令MOVC)。2、64KB的片外数据存储器空间,地址范围也为0000HFFFFH(访问用指令MO
11、VX)。3、80C51的片内数据存储器RAM只有128B,地址范围为00H7FH;80C52的片内数据存储器RAM为256B,地址范围为00HFFH(访问用指令MOV)。,2.2.1 80C51单片机的程序存储器ROM 80C51程序存储器ROM用来存放程序、常数或表格等。80C51内部有4KB的掩膜ROM,87C51内部有4KB的EPROM,而80C31内部没有程序存储器。80C51的片外最多能扩展64 KB程序存储器,片内外的ROM是统一编址的。80C51程序存储器ROM空间地址分布图如图2-6(a)所示。80C51的引脚为选择内部或外部ROM控制端,当接高电平时,80C51的程序计数器P
12、C在0000H0FFFH地址范围内(即前4 KB地址)是执行片内ROM中的程序,当PC值超过0FFFH时,PC将自动转去执行片外1000HFFFFH地址范围ROM中的程序;当接低电平时,只能寻址外部ROM程序存储器,片外存储器可以从0000H开始编址。,对图2-6(a)ROM空间地址分布图作如下说明:1、80C51片内有4KB的ROM存储单元,地址为0000H0FFFH。2、80C51片外最多可扩60KB的ROM,地址为1000HFFFFH。,2.2.2 80C51ROM低地址特殊单元 80C51的程序存储器低地址单元中有6个单元具有特殊功能,见图2-6(b)所示,使用时应予以注意其含义。1、
13、0000H0002H:单片机复位后的程序入口地址(3个单元)。2、0003H000AH:外部中断0的中断服务程序入口地址(8个单元)。3、000BH0012H:定时器0的中断服务程序入口地址(8个单元)。4、0013H001AH:外部中断1的中断服务程序入口地址(8个单元)。5、001BH0022H:定时器1的中断服务程序入口地址(8个单元)。6、0023H002AH:串行口的中断服务程序入口地址(8个单元)。,具体应用时注意:第一组特殊单元是0000H0002H,3个单元不可能安排长程序,因此,系统复位后(PC)=0000H,80C51单片机从0000H单元开始取指令执行程序。如果程序不从0
14、000H单元开始,应在这3个单元中存放一条无条件转移指令,以便直接转去执行指定的程序。第二组特殊单元是0003H002AH,共40个单元。这40个单元被均匀地分为5段,作为5个中断源的中断地址区。中断响应后,按中断种类,自动转到各中断区的首地址去执行程序,因此在中断地址区中应存放中断服务程序。但通常情况下,8个单元难以存下一个完整的中断服务程序,因此通常也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址。,2.2.3 80C51单片机的数据存储器RAM 80C51数据存储器RAM主要用来存放运算的中间结果和数据等。80C51单片机
15、数据存储器RAM分为片内RAM和片外RAM两大部分,如图2.7所示。80C51的片内数据存储器RAM只有128B,地址范围为00H7FH;80C52的片内数据存储器RAM为256B,地址范围为00HFFH。片外数据存储器RAM最多可扩至64KB存储单元,地址范围为0000HFFFFH。,说明两点:80C52的片内RAM地址空间共有256B,又分为两个部分:低128B(00H7FH)RAM区与80C51的RAM区相同(访问时采用直接或间接寻址方式均可)。高128B(80HFFH)RAM区,在访问这个区只能用寄存器间接寻址。需要注意是该地址范围与特殊功能寄存器(SFR)区相重叠,区别是访问特殊功能
16、寄存器区采用直接寻址方式。片内RAM和片外RAM的低端地址0000H007FH区是相重叠的,因此,就需要采用不同的寻址方式来解决。访问片内RAM时用指令MOV,而访问片外RAM时用指令MOVX,另外片外RAM不能进行堆栈操作。,在80C51单片机中,尽管片内RAM的容量不大,但它的功能多,使用灵活。下面分别对低128B RAM区和高128B特殊功能寄存器(SFR)区进行讨论。一、内部数据存储器低128单元 内部数据存储器低128单元是指地址为00H7FH单元,如图2-8所示。低128单元是单片机的真正RAM存储器,按其用途划分为工作寄存器区、位寻址区和用户RAM区三个区域。1、工作寄存器区 8
17、0C51单片机内部RAM的00H1FH地址单元,共32B,分成4组工作寄存器,每组8个工作寄存单元。寄存器0组:地址00H07H(R0R7)寄存器1组:地址08H0FH(R0R7)寄存器2组:地址10H17H(R0R7)寄存器3组:地址18H1FH(R0R7)各组都以R0R7作工作寄存单元编号。由于它们的功能及使用不作预先规定,因此称之为通用寄存器。4组通用寄存器在任一时刻,CPU只能使用其中的一组工作寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。到底是哪一组,由程序状态字寄存器PSW中RS1、RS0位的状态组合来决定。,图2-8 80C51片内RAM的配置,2、位寻址区 内部RAM的
18、20H2FH地址单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。位寻址区共有16个RAM单元,计128位,地址为00H7FH,见表2-2。程序设计时,常将程序状态标志、位控制变量设在位寻址区内。这种位寻址能力是80C51的一个重要特点。3、用户RAM区 地址为30H7FH,共计80个字节,这就是供用户使用的一般RAM区。这个区域的操作指令非常丰富,数据处理方便灵活。对用户RAM区的使用没有任何规定或限制,但在一般应用中常把堆栈设置在此区中。,表2-2 片内RAM及位寻址区的位地址表,二.内部数据存储器RAM高128单元 在80C51内部
19、RAM的高128单元是供给专用寄存器使用的,它们分布在其单元地址为80HFFH的空间。因这些寄存器的功能已作专门规定,故称之为专用寄存器(Special Function Register),也可称为特殊功能寄存器(简称为SFR寄存器)。访问SFR寄存器只允许使用直接寻址方式。1、特殊功能寄存器(SFR)简介 80C51共有21个特殊功能寄存器(SFR),其中的11个SFR还具有位寻址功能,它们的字节地址能被8整除,即十六进制的地址码尾数为0或8,见表2-3用“*”表示的。现把其中部分SFR简单介绍如下:1)与运算器有关的特殊功能寄存器有3个(1)累加器ACC(Accumulator)。累加器
20、为8位寄存器,是最常用的专用寄存器,用于向ALU提供操作,因此,功能较多,地位重要。它既可用于存放操作数,也可用来存放运算的中间结果。80C51单片机中大部分单操作数指令的操作数就取自累加器,许多双操作数指令中的一个操作数也取自累加器。,表2-3 80C51 SFR中位地址分布表,(2)B寄存器。B寄存器是一个8位寄存器,主要用于乘、除运算。也可以作为RAM的一个单元使用。(3)程序状态字PSW(Program Status Word)。程序状态字是一个8位寄存器,用于存放程序运行中的各种状态信息,作为程序查询或判断的条件。PSW有些位的状态是根据程序执行结果,由硬件自动设置的,而有些位的状态
21、则使用软件方法设定。PSW的各位状态可以用专门指令进行测试,也可以用指令读出。PSW的各位定义见表2-4。各位的定义及使用作如下说明:CY(PSW.7)进位(借位)标志位。其功能有二:一是存放算术运算的进位()时,CY由硬件置“1”,否则清“0”;二是在进行位操作时,CY作为累加器借位)标志,在作加法(减法)运算时,如果操作结果的最高位有进位(借位C使用,可进行位传送、位与位的逻辑运算等位操作,会影响该标志位。AC(PSW.6)辅助进位标志位。在进行加法(减法)运算中,当低4位向高4位进位(借位)时,AC由硬件置“1”,否则AC位被清“0”。AC位常用于调整BCD码运算结果。,F0(PSW.5
22、)用户标志位。这是一个留给用户自己定义的标志位,可以根据自己的需要通过软件方法置位或复位F0位,用以控制程序的转向。RS1和RS0(PSW.4,PSW.3)工作寄存器组选择位。工作寄存器共有4组,对应关系见表2-5。RS1和RS0这两位的状态是由软件置“1”或清“0”来设置的,被选中的工作寄存器组即为当前工作寄存器组。注意:当单片机上电或复位后,RS1 RS0=00,选中第0组。OV(PSW.2)溢出标志位。在带符号数的算术运算时,如果运算结果超出了8位二进制数所能表示的符号数有效范围(-128+127),这产生了溢出OV=1,表示运算结果是错误的;否则,OV=0即无溢出产生,表示运算结果正确
23、。PSW.1位保留未用。P(PSW.0)奇偶标志位。表明运算结果累加器A中内容的奇偶性。如果A中有奇数个“1”,则P置“1”,否则置“0”。凡是改变累加器A中内容的指令均会影响P标志位。注意:P标志位对串行通信中的数据传输有重要的意义。在串行通信中常采用奇偶校验的办法来校验数据传输的可靠性。,2)与指针有关的特殊功能寄存器有3个(1)数据指针DPTR。数据指针为16位寄存器,用来存放16位地址。DPTR既可以按16位寄存器使用,也可以按两个8位寄存器分开使用,即:DPHDPTR高8位字节 DPLDPTR低8位字节 DPTR通常在访问片外RAM或ROM存储器时作地址指针使用,用间接寻址或变址寻址
24、可对片外的64KB范围的RAM或ROM数据进行操作。(2)堆栈指针SP(Stack Pointer)。SP是一个8位寄存器,它总是指向栈顶。80C51单片机在编程序时常将堆栈设在内部RAM 30H7FH中。堆栈是一个特殊的存储区,用来暂存数据和地址,它是按“先进后出”的原则存取数据的。堆栈共有两种操作:进栈和出栈。80C51单片机系统复位后,SP的内容为07H,从而复位后堆栈实际上是从08H单元开始的。但08H1FH单元分别属于工作寄存器13组,如程序要用到这些区,最好把SP值改为1FH或更大的值。一般在内部RAM的30H7FH单元中开辟堆栈。SP的内容一经确定,堆栈的位置也就跟着确定下来,由
25、于SP可初始化为不同值,因此堆栈位置是浮动的。(3)程序计数器PC(Program Counter)。PC是一个16位的计数器,它的作用是控制程序的执行顺序。其内容为将要执行指令的地址,寻址范围达64 KB。PC有自动加1功能,从而实现程序的顺序执行。PC没有地址,是不可寻址的,因此用户无法对它进行读写,但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。因地址不在SFR(专用寄存器)之内,一般不计作专用寄存器。,3)与接口有关的特殊功能寄存器有7个(1)并行I/O口P0、P1、P2、P3(4个),均为8位;可实现数据在接口输入/输出。(2)串行口数据缓冲器SBUF(详见串行口章节)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 80 C51 单片机 结构 原理 ppt 课件
链接地址:https://www.31ppt.com/p-2104195.html