51单片机的结构与功能_第1页
51单片机的结构与功能_第2页
51单片机的结构与功能_第3页
51单片机的结构与功能_第4页
51单片机的结构与功能_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

51单片机的结构与功能单片机内部结构单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统分类:1、通用型按单片机(Microcontrollers)适用范围来区分。例如,80C51式通用型单片机,它不是为某种专门用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。2、总线型按单片机(Microcontrollers)是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接,另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。3、控制型按照单片机(Microcontrollers)大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。51单片机的结构与功能基本功能:1.8位数据总线,16位地址总线的CPU;2.具有布尔处理能力和位处理能力;3.采用哈佛结构,程序存储器与数据存储器地址空间各自独立,便于程序设计;4.相同地址的64KB程序存储器和64KB数据存储器;5.0-8KB片内程序存储器(8031无,8051有4KB,8052有8KB,89C55有20KB);6.128字节片内数据存储器(8051有256字节);7.32根双向并可以按位寻址的I/O线;8.两个16位定时/计数器(8052有3个);9.一个全双工的串行I/O接口;10.多个中断源的中断结构,具有两个中断优先级;11.片内时钟振荡器。特点:1.以微处理器(CPU)为核心;2.CPU与其他部件间通过三总线连接。总线:指能为多个部件服务的信息传送线。内部结构单片机外部结构一共40根外部引脚如图:引脚功能介绍1、P0口的结构P0口字节地址为80H,位地址80H~87H。如图,一个端口由锁存器、输入缓冲器、多路开关、一个非门、一个与门及场效应管驱动电路构成。P0位结构:输入缓冲器在P0口中,有两个三态的缓冲器,三态门有3个状态,即在其输出端可以是高电平、低电平,同时还有一种高阻状态(或称为禁止状态),要读取D锁存器输出端Q的数据,需要使读锁存器中这个缓冲器的三态控制端有效,下面一个是读引脚的缓冲器,要读取P0.X引脚上的数据,也要使标号为“读引脚”的三态缓冲器的控制端有效,引脚上的数据才会传输到单片机的内部数据总线上。D锁存器构成一个锁存器,通常要用一个时序电路,一个触发器可以保存一位二进制数(即具有保持功能),在51单片机的32根I/O口线中,都是用一个D触发器来构成锁存器的。图1-4中的D锁存器,D端是数据输入端,CP是控制端(即时序控制信号输入端),Q是输出端,Q非是反向输出端。对于D锁存器来讲,当D输入端有一个输入信号,如果这时控制端CP没有信号(即时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端的。如果时序控制端CP的时序脉冲到达,这时D端输入的数据就会传输到Q及Q非端。数据传送过来后,当CP时序控制端的时序信号消失时,输出端还会保持着上次输入端D的数据(即把上次的数据锁存起来)。如果下一个时序控制脉冲信号到来,这时D端的数据才再次传送到Q端,从而改变Q端的状态。多路开关在51单片机中,当内部的存储器够用时(即不需要外扩展存储器时,这里讲的存储器包括数据存储器及程序存储器),P0口可以作为通用的输入/输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机,或者编写的程序超过了单片机内部的存储器容量需要外扩存储器时,P0口就作为地址/数据总线使用。那么这个多路选择开关就是用于选择是作为普通I/O口使用还是作为地址/数据总线使用的选择开关了。从图1-4可知,当多路开关与下端接通时,P0口作为普通的I/O口使用;当多路开关是与上端接通时,P0口作为地址/数据总线使用。利用P0口进行扩展外部存储器和I/O时,P0口将作为地址和数据分时复用,CPU发控制信号,打开与门,使MUX打向上边,形成推拉式结构,数据信号可直接读入或输出到内部总线。利用P0作为通用I/O时,此时P0口是一个准双向口,CPU发控制信号,封锁与门,使上拉管截止,MUX打向下边,与D触发器Q连接。2、P1口的结构P1口字节地址为90H,位地址为90H~97H。P1位结构:与P0不同,P1口只能作为I/O口使用,无MUX,但其内部有一个上拉电阻,所以连接外围负载时不需要外接上拉电阻,这一点P1、P2、P3都一样。3、P2口的结构P2口字节地址为A0H,位地址为A0H~A7HP2位结构:P2口作为I/O口线时用法与P0口一样,当内部开关拨向另一个方向,即作地址输出时,可以输出程序存储器或外部数据存储器的高8位地址,并与P0口输出的低地址一起构成16位的地址线。4、P3口的结构P3口字节地址为B0H,位地址为B0H~B7H。P3口作为I/O口线用时同其他的端口相同,也是准双向口,不同的是,P3口的每一位都有另一种功能,也叫第二功能,具体作用在用到时将详细解释。当P3口作为通用I/O口时,准双向口第二功能端保持高电平。当P3口作为第二功能时,锁存器输出Q=1,如图为P3口第二功能列表:5、注意(1)在无片外扩展存储器的系统中,这4个端口的每一位都可以作为准双向通用I/O端口使用。在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口作为双向总线,分时作为低8位地址和数据的输入/输出线。(2)P0口作为通用双向I/O口使用时,必须外接上拉电阻。(3)P3口除了作通用I/O口使用外,各位还具有第二功能。当P3口某一位用于第二功能作输出时,则不能再作通用I/O口使用。(4)当P0~P4端口用作输入时,为了避免误读,都必须先向对应的输出锁存器写入1,使FET截止,然后再读端口引脚,例如以下程序:MOVP1,#0FFHMOVA,P151的程序存储器和数据存储器是独立分开的,数据寄存器除内部数据寄存器外,还可以扩展数据寄存器,并存但访问指令不同。程序寄存器当EA引脚接高电平,CPU将使用内部程序寄存器,若程序超过内部程序存储器空间时,则CPU会自动从外部程序存储器重读取超过部分的程序代码。数据寄存器0000H~007FH1、寄存器组区0000H~001FH共有32个地址位寄存器组区每组寄存器组都包括R0、R1、R2、R3、R4、R5、R6、R7等8个寄存器,任何一个时间,都只能使用其中一个寄存器组。寄存器组的切换,可由程序状态字(PSW)中的RS1、RS0来决定。RS0RS1寄存器组位址00RB00000H~0007H01RB10008H~000FH10RB20010H~0017H11RB30018H~001FH2、可位寻址区0020H~002FH共16字节的存储区为可位寻址区设置20H存储器地址的位5设置为1:SETB20H.5设置20H存储器地址的位5设置为0:CLR20H.53、一般数据与堆栈区0030H~007FH的80字节为一般数据访问及堆栈区0080H~00FFH之间的128B位特殊功能寄存器(SFR)特殊功能寄存器P0、P1、P2、P3它们是51的4个输入/输出端口,其地址分别为80H、90H、A0H及B0H。P0口:该8位都为漏级开路输出,每个引脚可以驱动8个LS型TTL负载;且内部没有上拉电阻,执行输出功能时,外部必须接上拉电阻(10千欧即可);若要执行输入功能,必须先输出高电平,方能读取该端口所连接的外部数据;若系统连接外部存储器,则P0可作为地址总线(A0A7)及数据总线(D0D7)的多功能引脚。P1口:内部有30千欧上拉电阻,执行输出功能时,不必连接外部上拉电阻;该8位都为漏级开路输出,每个引脚可以驱动4个LS型TTL负载;若要执行输入功能,必须先输出高电平,方能读取该端口所连接的外部数据;P2口:内部有30千欧上拉电阻,执行输出功能时,不必连接外部上拉电阻;该8位都为漏级开路输出,每个引脚可以驱动4个LS型TTL负载;若要执行输入功能,必须先输出高电平,方能读取该端口所连接的外部数据;若系统连接外部存储器,而外部存储器的地址线超过8条时,则P0口可作为地址总线(A8~A15)引脚。P3口:内部有30千欧上拉电阻,执行输出功能时,不必连接外部上拉电阻;该8位都为漏级开路输出,每个引脚可以驱动4个LS型TTL负载;若要执行输入功能,必须先输出高电平,方能读取该端口所连接的外部数据;P3口其他功能:P3其它功能说明P3.0RXD串行口的接收引脚P3.1RTD串行口的传送引脚P3.2INT0INT0中断输入P3.3INT1INT1中断输入P3.4T0timer0输入P3.5T1Timer1输入P3.6WR写入外部存储器控制引脚P3.7RD读取外部存储器控制引脚SPSP为堆栈指针寄存器,其地址为81H。DPL、DPHDPL与DPH均为8位的数据指针寄存器,其地址分别为82H、83H。若以DPL为低8位、DPH为高8位,即可组成一个16位的数据指针寄存器,简称DPTR,如此将可寻址到64KB的数据地址。PCONPCON作为电源控制寄存器,其地址位87H,其功能是设定CPU的电源方式。它是一个不可位寻址的寄存器。如图所示:SMOD―――GF1GF0PDIDLBit7bit6bit5bit4bit3bit2bit1bit0其中各位说明如下:SMOD位为比特率倍增位。当串行端口工作于模式1、模式2、模式3,且使用定时器1为其比特率产生器时,若其为1,这比特率加倍,若为0,这比特率正常。GF1、GF0位为一般用途标志位,用户可自行设定或清除这两个标志。通常使用这个两个标志作为有中断唤醒闲置模式中的8051系统。PD位为功率下降模式位。为1时,进入功率下降模式;为0时,结束功率下降模式。IDL位为闲置模式位。为1时,进入闲置模式;为0时,结束闲置模式。TCONTCON为定时器/计数器控制寄存器,其地址为88HTMODTMOD为计数器/计数方式控制寄存器,其地址为89H,其功能是设置它的方式TL0、TL1、TH0、TH1TL0、TH0为第一组定时器、计数器的计量寄存器,其地址为8AH、8CH,将TL0与TH0组合即可进行16位的定时/计数。TL1、TH1为第二组定时器、计数器的计量寄存器,其地址为8BH、8DH,将TL1与TH1组合即可进行16位的定时/计数。SCONSCON为串行端口控制寄存器,其地址为98H,其功能是设定串行端口工作方式与标志。SBUFSBUF为串行端口缓冲器,其地址为99H,这是由使用同一个地址的两个寄存器所构成,其中一个寄存器作为传送数据用的缓冲器,另一个寄存器作为接收数据用的缓冲器。至于如何分辨同一个地址的两个寄存器,则视指令而定,若是数据传送指令,则自动定位到传送数据用的缓冲器;若是接受数据指令,则自动定位到接收数据用的缓冲器。详细以后再讲咯。

IEIE为中断使能寄存器,其地址为A8H。IPIP为中断优先级寄存器。T2CONT2CON为Timer2的定时器/计数器控制寄存器,其地址为C8H,其功能死设定Timer2的启动、记录定时/计数溢出,以及外部中断触发方式等。RCAP、RCAP2HRCAP、RCAP2H为捕捉寄存器,其地址为CAH、CBH。当Timer2在捕捉方式时,若T2EX(P1.1)引脚上的输入信号有高电平转为低电平时,TL2与TH2的内容将被载入RCAP与RCAP2H,就像是把Timer2的内容捉进RCAP寄存器一样。TL2、TH2TL2、TH2为第三组定时器、计数器的计量寄存器,其地址为CCH、CDH,将TL2与TH2组合即可进行16位的定时/计数。PSWPSW为CPU的程序状态字寄存器,其地址为D0H,其内容如下:76543210PSWCYACF0RS1RS0OVPPSW.7:本位为进位位(CY),加减法时产生进位或错位,将自行设定为1,否则为0。PSW.6:本位为辅助进位位(AC),进行加减法运算产生进位或错位,将自行设定为1,否则为0。PSW.5:本位为用户标志位,用户自行设定。PSW.4与PSW.3:这两个位为寄存器组选择位(RS1、RS0),其功能如下表所示。RS1RS0寄存器组00RB001RB110RB211RB3PSW.2:本位为溢出标志位(OV),运行时,若发生溢出,为1,否则为0。PSW.1:本位为保留位,没有提供服务。PSW.0:本位位奇偶位(P),8051采用偶同位,若ACC中奇数个1,则为1,偶数个1,则为0。ACCACC累加器又称为A寄存器,其地址为E0H。BB寄存器的地址为F0

温馨提示

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

评论

0/150

提交评论