片机的基本结构与工作原理.ppt_第1页
片机的基本结构与工作原理.ppt_第2页
片机的基本结构与工作原理.ppt_第3页
片机的基本结构与工作原理.ppt_第4页
片机的基本结构与工作原理.ppt_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

第二章单片机的基本结构与工作原理,主讲教师:朱志斌,第二章单片机的基本结构与工作原理,1.单片机的基本组成(知道)2.80C51的引脚功能(记忆)和结构框图3.80C51CPU的结构和特点(重点)4.存储器结构和地址空间(重点、难点)5.布尔处理器(知道)6.80C51单片机的工作方式(了解),2.1单片机的基本组成,一、80C51系列典型产品配置,由表可见:(1)增强型与基本型在以下几点不同:片内ROM字节数:从4K增加到8K;片内RAM字节数:从128增加到256;定时/计数器从2个增加到3个;中断源由5个增加到6个。,(2)片内ROM的配置形式:无ROM(即ROMLess)型,应用时要在片外扩展程序存储器;掩膜ROM(即MaskROM)型,用户程序由芯片生产厂写入;EPROM型,用户程序通过写入装置写入,通过紫外线照射擦除;FlashROM型,用户程序可以电写入或擦除(当前常用方式)。还有OTPROM型(一次性编程写入ROM)产品,具有较高的环境适应性和可靠性。,二、80C51的基本结构,一个8位CPU;128byte(256byte)数据存储器;4Kbyte(8K)程序存储器四个8-bit并行I/O端口;一个可编程串行接口;两(3)个16位定时/计数器;一个时钟、时序电路;64Kbyte扩展总线控制电路;中断控制器,21(26)个特殊功能寄存器;(SFR【SpecialFunctionRegister】),两优先级,五(6-7)个中断源,1.中央处理器CPUCPU即中央处理器的简称,是单片机的核心部件,它完成各种运算和控制操作,CPU由运算器和控制器两部分电路组成。单片机的CPU和通用微处理器基本相同,只是增设了“面向控制”的处理功能,例如:位处理,查表,增强了实时性。,2.存储器80C51系列单片机的存储器包括数据存储器和程序存储器,其主要特点是程序存储器和数据存储器的寻址空间是相互独立的,物理结构也不相同。(1)128个字节的片内数据存储器RAM,其片外数据存储器的寻址范围64K,用于存放可读写的数据,如运算的中间结果或最终结果。(2)4KB的片内程序只读存储器ROM或EPROM。其片外可寻址范围为64KB,用于存放已编制的程序,也可以存放一些原始数据和表格。,(3)21【18】个SFR(128字节)它用于控制和管理片内算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的工作。3.并行I/O口80C51单片机共有4个8位的I/O口(P0、P1、P2和P3),每一条I/O线都能独立地用作输入或输出。P0口为三态双向口,能带8个TTL门电路,P1、P2和P3口为准双向口,负载能力为4个TTL门电路。,4.串行I/O口80C51单片机具有一个采用通用异步工作方式的全双工串行通信接口【单工、半双工、全双工】,可以同时发送和接收数据。5.定时器/计数器80C51单片机片内有两个16位的定时/计数器,即定时器0和定时器1。它们可以用于定时控制、延时以及对外部事件的计数和检测等。,6.中断控制器80C51共有5个中断源,即外部中断2个,定时/计数中断2个,串行中断1个。常用于实时控制、故障自动处理、计算机与外设间传送数据及人机对话等。7.总线以上所有组成部分都是通过总线连接起来,从而构成一个完整的单片机。系统的地址信号、数据信号和控制信号都是通过总线传送的,总线结构减少了单片机的连线和引脚,提高了集成度和可靠性。,2.280C51的引脚功能和结构框图一、80C51封装形式,总线型,非总线型,DIP(DualIn-linePackage),QFP(QuadFlatPackage)LCC(无引脚芯片载体),80C51的引脚封装,二、单片机外部引脚说明,1.主电源引脚Vcc和VssVCC(40脚):接+5V电源正端;VSS(20脚):接+5V电源地端。2.外接晶振引脚XTAL1和XTAL2XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHMOS单片机,该引脚作为外部振荡信号的输入端。XTAL2(18脚):接外部晶体的另一端。在单片机内部,接至片内振荡器的反相放大器的输出端。当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端;对于CHMOS芯片,该引脚悬空不接。,3.控制信号或与其它电源复用引脚控制信号或与其它电源复用引脚有RST/VPD、ALE/PROG*、PSEN*、和EA*/VPP等。(1)RST/VPD(9脚):RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚出现持续两个机器周期的高电平,就可以实现复位功能。(2)ALE/PROG*(30脚):当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的低8位地址。对于片内含有EPROM的单片机,在EPROM编程期间,该引脚作为编程脉冲PROG*的输入端。,(3)PSEN*(29脚):片外程序存储器读选通信号输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期PSEN*两次有效,以通过数据总线口读回指令或常数。当访问外部数据存储器期间,PSEN*信号将不出现。(4)EA*/VPP(31脚):为访问外部程序存储器控制信号,低电平有效。当EA*端保持高电平时,单片机访问片内程序存储器4KB。若超出该范围时,自动转去执行外部程序存储器的程序。当EA*端保持低电平时,无论片内有无程序存储器,均只访问外部程序存储器。对于片内含有EPROM的单片机,在EPROM编程期间,该引脚用于接21V或12V的编程电压Vpp,4.输入/输出(I/O)引脚P0口、P1口、P2口及P3口P0口(P0.0P0.7):该端口为漏极开路的8位真正双向I/O口,负载能力为8个TTL负载,它做为8位地址线和8位数据线的复用口时是准双向I/O口。P1口(P1.0P1.7):它是一个内部带上拉电阻的8位准双向I/O口,P1口的驱动能力为4个TTL负载。P2口(P2.0P2.7):它为一个内部带上拉电阻的8位准双向I/O口,P2口的驱动能力也为4个TTL负载。在访问外部程序(数据)存储器时,它作存储器的高8位地址线。P3口(P3.0P3.7):P3口同样是内部带上拉电阻的8位准双向I/O口,P3口除了作为一般的I/O口使用之外,其还具有特殊功能。(p17),三、结构框图,2.380C51CPU的结构和特点,中央处理器是单片机内部的核心部件,它决定了单片机的主要功能特性。它由运算部件和控制部件两大部分组成。一、运算部件运算部件是以算术逻辑单元ALU(ArithmeticLogicalUnit)为核心,加上累加器A、寄存器B、暂存器TMP1和TMP2、程序状态寄存器PSW及专门用于位操作的布尔处理机组成,它能实现数据的算术逻辑运算,位操作和数据传送操作。,1.算术逻辑单元ALU与累加器ACC、寄存器B累加器ACC累加器为8位寄存器,是程序中最常用的专用寄存器,在指令系统中累加器的助记符为A。大部分单操作数指令的操作数取自累加器,很多双操作数指令的其中一个操作数也取自累加器。加、减、乘和除等算术运算指令的运算结果都存放在累加器A或AB寄存器中,在变址寻址方式中累加器被作为变址寄存器使用。在80C51中由于只有一个累加器,而单片机中的大部分数据操作都是通过累加器进行的,故累加器的使用是十分频繁的。,B寄存器B寄存器为8位寄存器,主要用于乘除指令中。乘法指令的两个操作数分别取自累加器A和寄存器B,其中B为乘数,乘法结果的高8位存放于寄存器B中。除法指令中,被除数取自A,除数取自B,除法的结果商数存放于A,余数存放于B中。在其它指令中,B寄存器也可作为一般的数据单元来使用。,2、程序状态字PSW(重点),程序状态字是一个8位寄存器,它包含程序的状态信息。在状态字中,有些位状态是根据指令执行结果,由硬件自动完成设置的,而有些状态位则必须通过软件方法设定。PSW中的每个状态位都可由软件读出,PSW的各位定义如表2.1。,(1)CY:进位标志位在执行某些算术和逻辑指令时,可以被硬件或软件置位或清零。在算术运算中它可作为进位标志,在位运算中,它作累加器使用,在位传送、位与和位或等位操作中,都要使用进位标志位。,表2.1PSW的各状态位定义,(2)AC:辅助进位标志进行加法或减法操作时,当发生低四位向高四位进位或借位时,AC由硬件置位,否则AC位被置“0”。在进行十进制调整指令时,将借助AC状态进行判断。(3)用户标志位F0该位为用户自定义的状态标记,用户根据需要可以用指令对其置位或清零,也可以用指令测试F0来控制程序的跳转。(4)RS1和RS0:工作寄存器组选择控制位该两位通过软件置“0”或“1”来选择当前工作寄存器组。,(5)OV:溢出标志位当执行算术指令时,由硬件置位或清零来指示溢出状态。在带符号的加减运算中,OV1表示加减运算结果超出了累加器A所能表示的符号数有效范围(128127),即运算结果是错误的,反之,OV0表示运算正确,即无溢出产生。判断1:在加(减)法中若D6位向D7位有进位(借位),而D7位不向更高位(CY)有进位(借位)时OV位置1;判断2:在加(减)法中若D7位向更高位(CY)有进位(借位),而D6位不向D7位有进位(借位)时OV位置1;无符号数乘法指令MUL的执行结果也会影响溢出标志,若置于累加器A和寄存器B的两个数的乘积超过了255,则OV置1,反之OV置0。由于乘积的高8位存放于B中,低8位存放于A中,OV置0则意味着只要从A中取得乘积即可,否则要从BA寄存器对中取得乘积结果。在除法运算中,DIV指令也会影响溢出标志,当除数为0时,OV1,否则OV0。,(6)P:奇偶标志位每个指令周期由硬件来置位或清零用以表示累加器A中1的个数的奇偶性,若累加器中1的个数为奇数则P1,否则P0。,二、控制器,控制器是识别指令,并根据指令性质控制计算机各组成部件进行工作的部件,与运算器一起构成中央处理器。控制器包括程序计数器PC,指令寄存器IR、指令译码器,数据指针DPTR、堆栈指针SP、缓冲器,条件转移逻辑电路及定时控制逻辑电路。其功能是控制指令的读出、译码和执行,对指令的执行过程进行定时控制,并根据执行结果决定是否分支转移。,1、程序计数器PC(programcounter)是控制器中最基本的寄存器,是一个独立的计数器,它是用来存放下一条将要读出的指令的地址的。工作过程:读指令时,PC将其中的数作为要取指令的地址输出给程序地址存储器,然后程序存储器按此地址输出指令字节,同时程序计数器本身自动加1,指向下一条指令。PC变化的轨迹决定了程序执行的顺序。PC的位宽(16bit)决定了单片机可访问的程序存储器的最大容量为21664K。PC的输出与P0、P2口的对应关系(P20),2、数据指针DPTR从结构上说数据指针是80C51中一个16位的特殊功能寄存器,主要功能是作为片外数据存储器寻址用的地址寄存器,全称为数据存储器地址指针。DPTR的输出与P0、P2口的对应关系(P20)也可作为两个8位的寄存器使用,其高位用DPH表示,低位用DPL表示。,PC与DPTR的异同点:相同点:1、都是与地址有关的16位寄存器2、都是通过P0(低)、P2(高)口输出地址的。不同点:1、PC对应程序存储器,DPTR对应数据存储器。PC输出与ALE和PSEN*有关;DPTR输出与ALE、WR*、RD*有关。PC只能作为16位的寄存器,DPTR可以作为16位寄存器也可作为两个8位的寄存器PC不能用MOV指令访问,DPTR是可以的。,3、指令寄存器IR、指令译码器及控制逻辑指令寄存器是用来存放指令操作码的专用寄存器。执行程序时,首先进行程序存储器的读操作,也就是根据程序计数器给出的地址从程序存储器中取出指令,送指令寄存器IR,IR的输出送指令译码器;然后由指令译码器对该指令进行译码,译码结果送定时器控制逻辑电路。定时控制逻辑电路则根据指令的性质发出一系列定时控制信号,控制计算机的各组成部件进行相应的工作,执行指令。整个程序的执行过程就是在控制器的控制下,将指令从程序存储器中逐条取出,进行译码,然后由定时器控制逻辑电路发相应的定时控制信号,控制指令的执行。对于运算指令,还要将运算的结果特征送入程序状态标志寄存器。,条件转移逻辑电路主要用来控制程序的分支转移。在80C51中,转移条件也可分为两部分。一部分是内部条件,即程序状态标志位和累加器的零状态。另一部分是外部条件,即F0和所有位寻址空间的状态。然后使用位测试指令进行测试,以确定程序是否转移。其它位寻址空间作用与F0类似,可用位测试指令进行状态测试。概括起来,转移条件有如下几种:进位标志位、溢出标志位、奇偶标志位、累加器为零状态、F0标志、位寻址空间。,(重点),2.4单片机存储器及存储空间,80C51存储器分类及配置,80C51存储器可以分成两大类:RAM,CPU在运行时能随时进行数据的写入和读出,但在关闭电源时,其所存储的信息将丢失。它用来存放暂时性的输入输出数据、运算的中间结果或用作堆栈。ROM是一种写入信息后不易改写的存储器。断电后,ROM中的信息保留不变。用来存放固定的程序或数据,如系统监控程序、常数表格等。51系列单片机的存储器还可以从物理结构上可以分为:片内、片外程序存储器和片内、片外数据存储器4部分。也可从功能上可分为:程序存储器、内部数据存储器、特殊功能寄存器、位地址空间和外部数据存储器5部分。,2.4.180C51的程序存储器配置,PC是16位的计数器,所以能寻址64KB的ROM。,80C51内部程序存储器,80C51的程序存储器用于存放编好的程序和表格常数。80C51片内有4KB的ROM,87C51片内有4KB的EPROM,80C31片内无程序存储器。80C51的片外最多能扩展64K字节程序存储器,片内外的ROM是统一编址的。如EA*端保持高电平,80C51的程序计数器PC在0000H0FFFH地址范围内(即前4KB地址)是执行片内ROM中的程序,当PC在1000HFFFFH地址范围时,自动执行片外程序存储器中的程序,当保持低电平时,只能寻址外部程序存储器,片外存储器地址可以从0000H开始.,80C51的程序存储器中有些单元具有特殊功能,使用时应予以注意。其中一组特殊单元是0000H0002H。系统复位后,(PC)=0000H,单片机从0000H单元开始取指令执行程序。如果程序不从0000H单元开始,应在这三个单元中存放一条无条件转移指令,以便直接转去执行指定的程序。,还有一组特殊单元是0003H002AH。共40个单元,这40个单元被均匀地分为五段,作为五个中断源的中断地址区。其中:0003H000AH外部中断0中断地址区000BH0012H定时器/计数器0中断地址区0013H001AH外部中断1中断地址区001BH0022H定时器/计数器1中断地址区0023H002AH串行中断地址区中断响应后,按中断种类,自动转到各中断区的首地址去执行程序。因此在中断地址区中理应存放中断服务程序。但通常情况下,8个单元难以存下一个完整的中断服务程序,因此通常也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址去。,2.4.280C51的数据存储器配置,一、内部数据存储器低128单元80C51的内部RAM共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址00H7FH)和高128单元(单元地址80HFFH)。如下表所示为低128单元的配置图。30H7FH通用RAM区,数据缓冲区20H2FH位寻址区(00H7FH)18H1FH工作寄存器3区(R0R7)10H17H工作寄存器2区(R0R7)08H0FH工作寄存器1区(R0R7)00H07H工作寄存器0区(R0R7)低128单元是单片机的真正RAM存储器,按其用途划分为三个区域:,1、工作寄存器区,低端32个字节分成4个工作寄存器组,每组8个单元。当前工作寄存器组的机制便于快速现场保护。,PSW的RS1、RS0决定当前工作寄存器组号寄存器0组:地址00H07H;寄存器1组:地址08H0FH;寄存器2组:地址10H17H;寄存器3组:地址18H1FH。,2、位寻址区,3、通用RAM区,位寻址区之后的30H至7FH共80个字节为通用RAM区。这些单元可以作为数据缓冲器使用。这一区域的操作指令非常丰富,数据处理方便灵活。在实际应用中,常需在RAM区设置堆栈。80C51的堆栈一般设在30H7FH的范围内。栈顶的位置由SP寄存器指示。复位时SP的初值为07H,在程序初始化时可以重新设置。,二、内部数据存储器高128单元,内部RAM的高128单元是供给专用寄存器使用的,其单元地址为80HFFH。因这些寄存器的功能已作专门规定,故而称之为专用寄存器(SpecialFunctionRegister),也可称为特殊功能寄存器。,80C51的特殊功能寄存器(SFR),1、指针类寄存器(3个),程序计数器(PCProgramCounter)在上面的学习中,我们已经知道PC是一个16位的计数器,它的作用是控制程序的执行顺序。其内容为将要执行指令的地址,寻址范围达64KB。PC由PC增量器实现自动加1功能,从而实现程序的顺序执行。PC没有地址,是不可寻址的。因此用户无法对它进行读写。但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。因地址不在SFR之内,一般不计作专用寄存器。,堆栈指针SP,8位。它总是指向栈顶。80C51单片机的堆栈常设在30H7FH这一段RAM中。堆栈操作遵循“后进先出”的原则,入栈操作时,SP先加1,数据再压入SP指向的单元。出栈操作时,先将SP指向的单元的数据弹出,然后,SP再减1,这时SP指向的单元是新的栈顶。可见,80C51单片机的堆栈区是向地址增大的方向生成的(与常用的80X86微机不同);数据指针DPTR,16位。用来存放16位的地址。它由两个8位的寄存器DPH和DPL组成。间接寻址或变址寻址可访问片外的64KB范围的RAM或ROM数据。,2、与口相关的寄存器(7个),并行I/O口P0、P1、P2、P3,均为8位。通过对这4个寄存器的读/写,可以实现数据从相应口的输入/输出;串行口数据缓冲器SBUF;串行口控制寄存器SCON;串行通讯波特率倍增寄存器PCON(一些位还与电源控制相关,所以又称为电源控制寄存器)。,3、与中断相关的寄存器(2个),中断允许控制寄存器IE;中断优先级控制寄存器IP。,4、与定时器/计数器相关的寄存器(6个),定时/计数器T0的两个8位计数初值寄存器TH0、TL0,它们可以构成16位的计数器,TH0存放高8位,TL0存放低8位;定时/计数器T1的两个8位计数初值寄存器TH1、TL1,它们可以构成16位的计数器,TH1存放高8位,TL1存放低8位;定时/计数器的工作方式寄存器TMOD;定时/计数器的控制寄存器TCON。,几点说明:,21个可字节寻址的专用寄存器是不连续地分散在内部RAM高128单元之中,尽管还余有许多空闲地址,但用户并不能使用。程序计数器PC不占据RAM单元,它在物理上是独立的,因此是不可寻址的寄存器。对专用寄存器只能使用直接寻址方式,书写时既可使用寄存器符号,也可使用寄存器单元地址。,2.5.布尔处理机,布尔处理(即位处理)是80C51单片机ALU所具有的一种功能。它在硬件上是一个完整的系统包括一个累加器(借用cy位),可位寻址的RAM,可位寻址的寄存器及并行I/O口,同时80C51的ACC具有极强的位运算能力与此相适应,80C51的指令系统中有17条位操作指令,布尔处理器是80C51的独特结构,这使它在控制领域内的应用优势显著。,2.6CPU时序与复位,一、时钟电路控制部件是单片机的神经中枢,它包括定时和控制电路、指令寄存器、译码器以及信息传送控制等部件。单片机的定时控制功能是由片内的时钟电路和定时电路来完成的,而片内的时钟产生有两种方式:一种是内部时钟方式;一种是外部时钟方式,内部时钟外部时钟,1、单片机时钟产生方式,B、CHMOS型,A、HMOS型,2、时钟电路的组成时钟电路是由振荡器、定时控制元件、时钟发生器和地址锁存允许信号ALE组成。,A、振荡器振荡器的核心电路是一个高增益反相放大器,其输入端为引脚XTAL1其输出端为引脚XTAL2只要在片外跨接石英晶体和微调电容,形成反馈电路,振荡器就可以工作。实质上反相放大器和石英晶体、微调电容构成的振荡器相当于一个电容三点式振荡电路,而石英晶体和微调电容是该振荡器的选频网络。振荡器工作可以由PD*(是PCON中的一位)来控制。当PD*=1时振荡器停止工作,系统进入低功耗工作状态。振荡器工作频率一般在1.212MHz(40M)之间,频率主要由石英晶体决定,电容可以对频率进行微调,其次电容的大小可以影响振荡器振荡的稳定性和起振速度,通常选用1030pF。设计电路板时晶振、电容与芯片应尽量靠近,可减小分布电容。保证振荡器的稳定性。,一般用晶振作定时控制元件,在不要求高精度时钟中,可以用电感代替晶振,此时电

温馨提示

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

评论

0/150

提交评论