欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    单片机的结构和原.ppt

    • 资源ID:6449698       资源大小:1.07MB        全文页数:92页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机的结构和原.ppt

    第二章 89C51单片机的结构和原理,返回主目录,2.1 89C51系列单片机的结构,2.2 89C51单片机引脚及其功能,2.3 89C51存储器配置,2.4 CPU时序,2.5 复位及复位电路,2.6 输入输出端口结构,2.1 MCS51系列单片机的结构 89C51是Intel公司生产的一个单片机系列的名称。该公司继1976推出MCS-48系列8位单片机后,又于1980年推出了89C51系列高档8位单片机。属于这一系列的单片机芯片有很多种,如8051,8031,8751,80C51BH等等,它们的基本组成、基本性能和指令系统都是相同的。为了叙述方便,今后如不作说明,则常用89C51代表MCS51系列单片机。其它常用系列 89Cxxpic单片机原理凌阳16位单片机avr单片机,2.1.1 89C51单片机的基本组成,图2-1所示为89C51系列单片机的基本结构框图。,在一小块芯片上,集成了一个微型计算机的各个组成部分。每一个单片机包括:(1)一个8位的微处理器(CPU)。(2)片内数据存储器RAM(128B/256B)。存放可以读/写的数据-运算的中间结果、最终结果、欲显示的数据等。(3)片内程序存储器ROM/EPROM(4KB/8KB)。存放程序,一些原始数据和表格。但也有一些单片机内部不带ROM/EPROM,如8031,8032,80C31等。(4)四个8位并行I/O接口P0-P3。每个口既可以用作输入,也可以用作输出。,(5)两个定时器/计数器。每个定时器/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。(6)五个中断源的中断控制系统。(7)一个全双工UART(通用异步接收发送器)的串行I/O口。用于实现单片机之间或单片机与微机之间的串行通信。(8)片内振荡器和时钟产生电路。但石英晶体和微调电容需要外接。最高允许振荡频率24MHZ。以上各个部分通过内部数据总线相连接。,2.1.2 89C51单片机内部结构,89C51单片机内部结构如图2-2所示。,8051/8751/8031芯片的外部引脚和指令系统完全兼容,其内部结构除ROM/EPROM不同外,其余完全相同。一个完整的计算机应该由运算器,控制器,存储器(ROM及RAM)和I/O接口组成。一般微处理器(如Z80)只包括运算器和控制器两部分。和一般微处理器相比,89C51增加了四个8位I/O口,一个串行口,4KB ROM,128B RAM,很多工作寄存器及特殊功能寄存器(SFR)。各部分的功能简述如下.,一、中央处理单元(CPU)CPU是单片机的核心,是计算机的控制和指挥中心,有运算器和控制器等部件组成。1.运算器 运算器包括一个可进行8位算术运算和逻辑运算的单元ALU,8位的暂存器1,暂存器2,8位的累加器ACC,寄存器B和程序状态寄存器PSW等。ALU:可对4位(半字节),8位(一字节)和16位(双字节)数据进行操作。能作加、减、乘、除、加1、减1、BCD数十进制调整及比较等算术运算和与、或、异或、求补及循环移位等逻辑操作。,ACC:累加器ACC,8位,一个运算数经暂存器2进入ALU的输入端,与另一个来自暂存器1的运算数进行运算,运算结果又送回 ACC。在指令中用助记符A来表示。PSW:程序状态寄存器,用于指示指令执行后的状态信息,相当于一般微处理器的标志寄存器。PSW中各位状态供程序查询和判别用。B:8位寄存器,在乘、除运算时,B寄存器用来存放一个操作数,也用来存放运算后的一部分结果;若不做乘、除运算时,则可作为通用寄存器使用。,2.控制器 控制器包括程序计数器PC、指令寄存器IR、指令译码器ID、振荡器及定时电路等。程序计数器PC:由两个8位的计数器PCH及PCL组成,共16位。PC实际上是程序的字节地址计数器,PC中的内容是将要执行的下一条指令的地址。指令寄存器IR及指令译码器ID:由PC中的内容指定ROM地址,取出来的指令经指令寄存器IR送至指令译码器ID,由ID对指令译码并送PLA产生一定序列的控制信号,以执行指令所规定的操作。振荡器及定时电路:89C51单片机片内有振荡电路,只需外接石英晶体和频率微调电容(2个30pF左右),其频率范围为1.2MHz-12MHz。,二、存储器 89C51片内有ROM(程序存储器,只能读)和RAM(数据存储器,可读可写)两类,他们有各自独立的存储地址空间,与一般微机的存储器配置方式很不相同。1.程序存储器(ROM)89C51及8751的片内程序存储器容量为4KB,地址从0000H开始,用于存放程序和表格常数。2.数据存储器(RAM)89C51/8751/8031片内数据存储器均为128B,地址为00H-7FH,用于存放运算的中间结果、数据暂存以及数据缓冲等。,在这128B的RAM中,有32个字节单元可指定为工作寄存器,这同一般微处理器不同。89C51的片内RAM和工作寄存器排在一个队列里统一编址。由图2-2可见,89C51单片机内部还有SP,DPTR,PCON,IE,IP等特殊功能寄存器,它们也同128字节RAM在一个队列编址,地址为80HFFH。在这128字节RAM单元中有21个特殊功能寄存器(SFR),在这些特殊功能寄存器中还包括P0P3口锁存器。,(3)I/O接口 89C51有四个8位并行接口,即P0-P3。它们都是双向端口,每个端口有8条I/O线,均可输入/输出。P0-P3口四个锁存器同RAM统一编址,可以把I/O口当作一般特殊功能寄存器来寻址。,2-2 89C51单片机引脚及其功能,89C51系列中各种芯片的引脚是互相兼容的,如89C51,8751和8031均采用40脚双列直插封装(DIP)方式。当然,不同芯片之间引脚功能也略有差异。89C51单片机是高性能单片机,因为受到引脚数目的限制,所以有不少引脚具有第二功能,如图2-3所示。,RD,各引脚功能简要说明如下:1.电源引脚Vcc和Vss Vcc(40脚):电源端,为+5V。Vss(20脚):接地端。2.时钟电路引脚XTAL1和XTAL2 XTAL1(19):接外部晶体和微调电容的一端;在采用外部时钟时,该引脚必须接地。XTAL2(18):接外部晶体和微调电容的另一端;若采用外部时钟电路时,该引脚输入 外部时钟脉冲。注意:要检查89C51/8031的振荡电路是否正常工作,可用示波器查看 XTAL2端是否有脉冲信号输出。,3.控制信号引脚RST,ALM,/PSEN和/EA RST/VPD(9脚):复位信号与备用电源的输入端。RST是复位信号输入端,高电平有效。保持两个机器周期的高电平时,就可以完成复位操作。RST引脚的第二功能是VPD,即备用电源的输入端。ALE/PROG(30脚):地址锁存允许信号端。当89C51上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率fosc的1/6。CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。,不访问片外存储器时,ALE端也以振荡频率的1/6固定输出正脉冲,因而ALE信号可以用作对外输出时钟或定时信号。注意:如果想确定89C51/8031芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出,如有脉冲信号输出,则89C51/8031基本上是好的。ALE负载驱动能力-8个LS型TTL(低功耗甚高速TTL)负载。第二功能PROG在对片内带有4KB EPROM的8751编程写入(固化程序)时,作为编程脉冲输入端。,PSEN(29脚):程序存储允许输出信号端。在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。此引脚接EPROM的OE端。PSEN端有效,即允许读出EPROM/ROM中的指令码。PSEN负载-8个LS型TTL负载。注意:要检查一个89C51/8031小系统上电后CPU能否正常到EPROM/ROM中读取指令码,也可用示波器看PSEN端有无脉冲输出。如有则说明基本上工作正常。,EA/Vpp(31脚):外部程序存储器地址允许输入端/固化编程电压输入端。当EA引脚接高电平时,CPU只访问片内EPROM/ROM并执行内部程序存储器中的指令,但当PC(程序计数器)的值超过0FFFH(对8751/89C51为4KB)时,将自动转去执行片外程序存储器的程序。当输入信号EA引脚接低电平(接地)时,CPU只访问外部EPROM/ROM并执行外部程序存储器中的指令,而不管是否有片内程序存储器。对于无片内ROM的8031或8032,需外扩EPROM,此时必须将EA引脚接地。如是拥有片内ROM的89C51,外扩EPROM也是可以的,但 也要将EA接地。第二功能Vpp是对8751片内EPROM固化编程时,作为施加较高编程电压(一般12V-21V)的输入端。,4.输入/输出端口P0,P1,P2和P3 P0 口(P0.0-P0.7,39-32脚):P0口是一个漏极开路的8位准双向I/O端口。作为漏极开路的输出端口,每个能驱动8个LS型TTL负载。当 P0口作为输入口使用时,应先向口锁存器(地址80H)写入全1,此时P0口的全部引脚浮空,可作为高阻抗输入。作输入口使用时要先写1,这就是准双向的含义。在CPU访问片外存储器(8031片外EPROM或RAM)时,P0口是分时提供低8位地址和8位数据的复用总线。在此期间,P0口内部上拉电阻有效。,P1口(P1.0-P1.7,1-8脚):P1口是一个带内部上拉电阻的8位准双向I/O端口。P1口的每一位能驱动(灌入或输出电流)4个LS型TTL负载。在P1口作为输入口使用时,应先向P1口锁存器(地址90H)写入全1,此时P1口引脚有内部上拉电阻拉成高电平。P2口(P2.0-P2.7,21-28脚):P2口是一个带内部上拉电阻的8位准双向I/O端口。P2口的每一位能驱动(灌入或输出电流)4个LS型TTL负载。在访问片外EPROM/ROM时,它输出高8位地址。,P3口(P3.0-P3.7,10-17脚):P3口是一个带内部上拉电阻的8位准双向I/O端口。P3口的每一位能驱动(灌入或输出电流)4个LS型TTL负载。P3口与其他I/O端口有很大区别,它除作为一般准双向I/O口外,每个引脚还具有第二功能。,2.3 89C51存储器配置,片内程序存储器 片外程序存储器 片内数据存储器 片外数据存储器 89C51存储器地址空间分为三类:(1)片内、片外统一编址0000H-FFFFH的64KB程序存储器地址空间(用16位地址)。(2)64KB片外数据存储器地址空间,地址也从0000H-FFFFH(用16位地址)编址。(3)256B数据存储器地址空间(用8位地址)。89C51存储器空间配置如图2-4所示。,共有四个存储空间:,统一编址,上述三个存储空间地址是重叠的,如何区别这三个不同的逻辑空间呢?89C51的指令系统设计了不同的数据传送指令符号:MOVC:CPU访问片内、片外ROM指令用 MOVX:访问片外RAM指令用 MOV:访问片内RAM指令用,2.3.1 程序存储器地址空间,89C51存储器地址空间分为程序存储器(64KB ROM)和数据存储器(64KB RAM)。程序存储器用于存放编好的程序和表格常数。程序存储器通过16位程序计数器PC寻址,寻址能力为64KB。这使得指令能在64KB地址空间内任意跳转,但不能使程序从程序存储器空间转移到数据存储器空间。89C51/8751片内ROM/EPROM的容量为4KB,地址为0000H-0FFFH,片外最多可扩至64KB ROM/EPROM,地址为1000H-FFFFH,片内外统一编址。,当引脚EA接高电平时,89C51的程序计数器PC在0000H-0FFFH范围内(即前4KB地址)执行片内ROM中的程序;当指令地址超过0FFFH后,就自动转向片外ROM中去取指令。当引脚EA接地电平(接地)时,89C51片内ROM不起作用,CPU只能从片外ROM/EPROM中取指令,地址可以从0000H开始编址。这种接法特别 适用于采用8031单片机的场合。由于8031片内不带ROM,所以使用时必须使EA=0,以便能够从片外扩展EPROM中取指令。问题:如果89C51扩展了64KB片外ROM/EPROM,那么它能够访问的ROM空间是多少?地址为多少?,存储器(ROM)中某些单元是保留给系统使用的。见表2-2。,0000H-0002H-上电复位后引导程序的存放单元。0003H-002AH-均匀地分为五段,用作五个中断服务程序的入口。例如,外部中断引脚INT0(P3.2)有效时,即引起中断申请,CPU响应中断后自动将地址0003H装入PC,程序就自动转向0003H单元开始执行。如果事先在0003H-000AH存有引导(转移)指令,程序就被引导(转移)到指定的中断服务程序空间去执行。这里,0003H称为中断矢量地址。中断矢量地址如表2-3所示。,表2-3 中断矢量地址表 0000H 系统复位,PC指向此处;0003H 外部中断0入口 000BH T0溢出中断入口 0013H 外中断1入口 001BH T1溢出中断入口 0023H 串口中断入口 002BH T2溢出中断入口,2.3.2 数据存储器地址空间,数据存储器RAM用于存放运算的中间结果、数据暂存和缓 冲、标志位等。数据存储器空间也分成片内和片外两大部分,即片内RAM和片外RAM。89C51片外数据存储器空间为64KB,地址从0000H-FFFFH;片内存储器空间为256B,地址从0000H-00FFH。,一.片外RAM 片外数据存储器与片内数据存储器空间的低地址部分(0000H-FFFFH)是重叠的。89C51有MOV和MOVX两种指令 MOV-片内RAM MOVX-片外64KBRAM 二.片内RAM 片内数据存储器最大可寻址256个单元,它们又分为两个部分,低128B(00H-7FH)是真正的RAM区,高128B(80H-FFH)为特殊功能寄存器(SFR)区。如图2-5所示。问题:如果89C51扩展了64KB片外ROM/EPROM,那么它能够访问的ROM空间是多少?地址为多少?,图2-5 片内RAM地址空间,1.低128B RAM 89C51的32个工作寄存器与RAM安排在同一个队列空间里,统一编制并使用同样的寻址方式(直接寻址和间接寻址)。00H-1FH地址安排为四组工作寄存器区,每个有8个工作寄存器(R0-R7),共占32个单元,见表2-4。通过对程序状态字PSW中RS1,RS0的设置,每组寄存器均可选作CPU的当前工作寄存器组。CPU复位后,选中第0组寄存器为当前的工作寄 存器。,工作寄存器区后20H2FH单元,可用于位寻址方式访问其各位,这128位的位地址为00H7FH,其位地址分布见表2-5。低128B RAM单元地址范围也是00H-7FH,89C51采用不同寻址方式来加以区分,即访问128个位地址用位寻址方式,访问低128B单元用直接寻址和间接寻址。这样就可以区分开00H-7FH是位地址还是字节地址。这些可寻址位,通过执行指令可直接对某一位操作,如置1、清0或判1、判0等,可用软件标志位或用于位(布尔)处理。这是一般微机和早期的单片机所没有的。这种寻址能力是89C51的一个特点。问题:什么是位地址,什么是字节地址,同一字节的8位是否有字节地址?作为位寻址区的单元可否作为普通RAM使用?,89C51片内高128B RAM中,有21个特殊功能寄存器(SFR),它们离散地分布在80H-FFH的RAM空间中。访问特殊功能寄存器只允许使用直接寻址方式。这些特殊功能寄存器见表2-5,2.高128B RAM特殊功能寄存器(SFR),E0HF0HD0H81H83H(高),82H(低),下面介绍部分特殊功能寄存器。(1)累加器ACC(E0H)存放操作数、运算中间结果。在指令系统用A作为累加器ACC的助记符。(2)寄存器B(F0H)乘法指令中乘积存于B和A两个8位寄存器中。除法指令中,A中存放被除数,B中放除数,商存放于A中,B中存放余数。在其他指令中,B可作为一般通用寄存器或一个RAM单元使用。,(3)程序状态寄存器PSW(D0H)CY(PSW.7)-进位标志位、位累加器。在指令中用C代替CY。注意:如果要根据加减运算是否有进位来决定程序的转移方向,则必须在运算前对清零 AC(PSW.6)-半进位标志位,也称辅助进位标志。F0(PSW.5)-用户标志位。用户可以根据自己的需要对F0位赋予一定的含义,由用户置位或复位,以作为软件标志。OV(PSW.2)-溢出标志位。当运算结果超出-128+127的范围时,OV位由硬件自动置1;无溢出时,OV=0。PSW.1-为保留位。89C51未用,8052为F1用户标志位。,PSW,CY,AC,F0,RS1,RS0,OV,P,P(PSW.0)-奇偶校验标志位。如果A中有奇数个1,则P=1,否则P=0 RS0和RS1(PSW.3和PSW.4)-工作寄存器组选择控制位。,89C51上电复位后,(RS1)=(RS0)=0,CPU自动选择第0组为当前工作寄存器组。,(4)栈指针SP(81H)堆栈指针SP为8位特殊功能寄存器,SP的内容可指向89C51片内00H-7FH RAM的任何单元。系统复位后,SP初始化为07H,即指向07H的RAM单元。下面介绍一下堆栈的概念。在片内RAM中专门开辟出来一个区域,数据的存放是以“后进先出”的结构方式处理的。堆栈有向上生长型和向下生长型,89C51属于向上生长型。堆栈操作可用图2-6说明。使用堆栈前,先给SP赋值,以规定堆栈的起始位置,称为栈底。当数据压入堆栈后,SP自动加1,即RAM地址单元加1以指出当前栈顶位置。89C51的堆栈指针SP是一个双向计数器。,(5)数据指针DPTR(83H,82H)DPTR是一个16位的特殊功能寄存器,其高位字节寄存器用DPH表示(地址83H),低位字节寄存器用DPL表示(地址82H)。DPTR既可作为一个16位寄存器来处理,也可作为两个独立的8位寄存器来DPH和DPL使用。DPTR主要用于存放16位地址,以便对64KB片外RAM做间接寻址。,(6)I/O端口P0-P3(80H,90H,A0H,B0H)P0-P3为四个8位特殊功能寄存器,分别是四个并行I/O端口的锁存器。它们都有字节地址,每一个口锁存器还有位地址,所以,每一条I/O线均可独立用作输入或输出。用作输出时,可以锁存数据;用作输入时,数据可以缓冲。除上述21个SFR以外,还有一个16位的PC,称为程序计数器,它是不可寻址的。,2.4 CPU时序,时钟的基本概念 启动单片机后,指令执行顺序:,89C51芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,分别是89C51的19脚和18脚。在XTAL1和XTAL2两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器,见图2-7。电容器C1和C2通常取30pF左右,对振荡频率有微调作用。振荡频率范围是0MHZ-24MHZ。,2.4.1 片内振荡器及时钟信号的产生,图2-7 振荡电路,89C51也可使用外部振荡脉冲信号,由XTAL2端输入,直接送至内部时钟电路。因为XTAL2的逻辑电平与TTL电平不兼容,所以应接一个上拉电阻(5.1K)。如图2-8所示。晶体振荡器的振荡信号从XTAL2端输入到片内的时钟发生器上,如图2-9所示。,图2-8 外接时钟源接法,图2-9 89C51的片内振荡器及时钟发生器,时钟发生器是一个2分频触发器电路,它将振荡器的信号频率fosc除以2,向CPU提供了两相时钟信号P1和P2。时钟信号的周期称为机器状态时间S(STATE),它是振荡周期的2倍。在每个时钟周期(即机器状态时间S)的前半周期,相位1(P1)信号有效,在每个时钟周期的后半周期,相位2(P2)信号有效。每个时钟周期(以后常称状态S)有两个节拍(相)P1和P2,CPU就以两相时钟P1和P2为基本节拍指挥89C51单片机各个部件协调地工作。,2.4.2 机器周期和指令周期 89C51的一个机器周期包括12个振荡周期,分为6个S状态:S1-S6。每个状态又分为两拍,称为P1和P2。因此,一个机器周期中的12个振荡周期表示为S1P1,S1P2,S2P1,.,S6P2。若采用6MHZ晶体振荡器,则每个机器周期恰为2s。在89C51系统中,有单周期指令、双周期指令和四周期指令。四周期指令只有乘、除两条指令,其余都是单周期或双周期指令。指令的运算速度和它的机器周期数直接相关,机器周期数越少则执行速度越快。在编程时要注意选用具有同样功能而周期数少的指令。,2.4.2 机器周期和指令周期 指令的字节数指指令的存储长度,在进行程序跳转时用于计算跳转的偏移量。指令的周期数指指令的运行时间,决定了指令执行的速度,同时在定时时要用于计算实际定时时间。振荡周期:晶振的振荡周期,为最小的时序单位机器周期:由12个振荡周期个组成,为基本的时间单位指令周期:执行一条指令所需时间,2.4.3 CPU取指、执行周期时序 每一条指令都可以包括取指和执指两个阶段。在取指阶段,CPU从内部或者外部ROM中取出指令操作码及操作数,然后在执行这条指令。在89C51 指令系统中,根据各种操作的繁简程度,其指令可由单字节、双字节和三字节组成。从机器执行指令速度看,单字节和双字节指令都可能是单周期或双周期的,而三字节指令都是双周期的,只有乘、除指令占四个周期。此外,在6MHz时钟频率下,执行一条指令的时间(指令周期)分别为2s,4 s和8 s。,2.5 复位及复位电路,2.5.1 复位操作 复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,是单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表2-9所示。,2.5.2 复位信号及其产生,RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用频率为6MHz的晶振,则复位信号持续时间应超过4 s才能完成复位操作。,图2-11 复位电路逻辑图,2.5.3 复位电路 复位操作有上电自动复位和按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。其电路图如图2-12(a)所示。这样,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。,按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路图如图2-12(b)所示;,而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现。其电路图如图2-12(c)。,上述电路中的电阻、电容参数适合于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。复位电路虽然简单,但其作用非常重要。一个单片机系统能否正常运行,首先要检查是否能复位成功。初步检查可用示波器探头监视RST引脚,按下复位键,观察是否有足够幅度的波形输出(瞬时的),还可以通过改变复位电路阻容值进行实验。,2.6 89C51单片机的低功耗工作方式,89C51提供两种节电工作方式,即空闲(等待、待机)方式和掉电(停机)工作方式图217所示为实现这两种方式的内部电路。由图217可见,若IDL=0,则89C51将进入空闲运作方式。在这种方式下,振荡器仍继续运行,但IDL封锁了去CPU的“与”门,故CPU此时得不到时钟信号。而中断、串行口和定时器等环节却仍在时钟控制下正常运行。掉电方式下(PD=0),振荡器冻结。图217中,PD和IDL均为PCON中PD和IDL触发器的输出端。,图217 空闲和掉电方式控制电路,2.6.1 方式的设定,空闲方式和掉电方式是通过对SFR中的PCON(地址87H)相应位置1而启动的。图218所示为89C51电源控制寄存器PCON各位的分布情况。HMOS器件的PCON只包括一个SMOD位,其他4位是CHMOS器件独有的。3个保留位用户不得使用。,图218 电源控制寄存器PCON,图218中各符号的名称和功能如下:,SMOD:波特率倍频位。若此位为1,则串行口方式1、方式2和方式3的波特率加倍。GF1和GF0:通用标志位。PD:掉电方式位。此位写1即启动掉电方式。由图2-17可见,此时时钟冻结。IDL:空闲方式位。此位写1即启动空闲方式。这时CPU因无时钟控制而停止运作。如果同时向PD和IDL两位写1,则PD优先。89C51中PCON的复位值为00000B。,2.6.2 空闲(等待、待机)工作方式,CPU执行完置IDL=1(PCON.1)的指令后,系统进入空闲工作方式。进入空闲方式后,有两种方法可以使系统退出空闲方式:一是任何的中断请求被响应都可以由硬件将PCON.0(IDL)清0而中止空闲工作方式。另一种退出空闲方式的方法是硬件复位,,2.6.3 掉电(停机)工作方式,当CPU执行一条置PCON.1位(PD)为1的指令后,系统进入掉电工作方式。退出掉电方式的唯一方法是由硬件复位,复位后将所有特殊功能寄存器的内容初始化,但不改变片内RAM区的数据。在掉电工作方式下,VCC可以降到2 V,但在进入掉电方式之前,VCC不能降低。而在准备退出掉电方式之前,VCC必须恢复正常的工作电压值,并维持一段时间(约10 ms),使振荡器重新启动并稳定后方可退出掉电方式。,2.7 输入/输出端口结构,89C51 单片机有四个8位并行I/O端口,称为P0,P1,P2和P3。每个端口都是8位准双向口,共占32只引脚。每一条I/O线都能独立地用作输入或输出。每个端口都包括一个锁存器(即特殊功能寄存器P0-P3),一个输出驱动器和输入缓冲器。在无片外扩展存储器的系统中,这四个端口都可以作为准双向通用I/O口使用。在具有片外扩展存储器的系统中,P2口送出高8位地址;P0口为双向总线,分时送出低8位地址和数据的输入/输出。,2.6.1 P0口 图2-13画出了P0口某位的结构图,它有一个输出锁存器、二个三态输入缓冲器和输出驱动电路及控制电路组成。其工作状态受控制电路“与”门4、反相器3和转换开关MUX控制。当CPU使控制线C=0时,开关MUX被控为如图示位置,P0口为通用I/O口;当C=1时,开关拨向反相器3的输出端,P0口分时作位地址/数据总线使用。,P0口:地址/数据复用口,图 2-13,一、P0口作为一般I/O口使用 当89C51组成的系统无外扩存储器,CPU对片内存储器和I/O口读/写(执行 MOV指令或EA=1时指行MOVC指令)时,由硬件自动使控制线C=0,开关MUX处于图示位置,它把输出级(T2)与所存器的/Q端接通。同时,因“与”门4输出为0,输出级中的上拉场效应管T1处于截止状态.因此,输出级是漏极开路的开漏电路。这时,P0口可作一般I/O口用。,1.P0口用作输出口 当CPU执行写操作时,写脉冲加在D锁存器的CP上,这样,与内部总线相连的D端的数据取反后就出现在Q端上,又经输出级FET反向,在P0端口上出现的数据正好是内部总线的数据。2.P0口作输入口 图中的缓冲器2用于CPU直接读端口数据。当执行一条由端口输入的指令时,“读引脚”脉冲把三态缓冲器2打开,这样,端口上的数据经过缓冲器2读入到内部总线。这类操作由数据传送指令实现。,二、P0口作为地址/数据总线使用 当用8031外扩存储器(EPROM或RAM)组成系统,CPU对片外存储器读/写(执行MOVX指令或EA=0时执行MOVC指令)时,由内部硬件自动使控制线C=1,开关MUX拨向反相器3输出端。这时,P0口可作地址/数据总线分时使用,并且又分为两种情况。P0口用作输出地址/数据总线。从图中可以看出,上下两个FET处于反相,构成推拉式的输出电路(T1导通时上拉,T2导通是下拉),大大提高了负载能力。另一种情况是由P0口输入数据。这种情况时在“读引脚”信号有效时打开输入缓冲器2,使数据进入内部总线。,总结特点:(1)P0口可作通用I/O口使用,又可作地址/数据总线口;(2)作I/O输入时:必须向对应的锁存器写入1;(3)P0作为输入口使用时:是准双向口;(4)作通用I/O 口输出时:是开漏输出,必须外接上拉电阻,才有高电平输出;(5)作地址/数据总线口时,P0是一真正双向口,而作通用I/O口时,只是一个准双向口。,P1口,P1口也是一个准双向口,用作通用I/O。其电路结构见图2-14,输出驱动部分与P0口不同,内部有上拉负载电阻与电源相连。实质上,电阻是两个场效应管FET并在一起:一个FET为负载管,其电阻固定。另一个FET可工作在导通或截止两种状态,使其总电阻变化近似为0或阻值很大两种情况。当阻值近似为0时,可将引脚快速上拉至高电平;当阻值很大时,P1口为高阻输入状态。,图2-14 P1口某位结构,只能作I/O口用,且是一个准双向口。内部已有上拉电阻,不是开漏输出口。,特点:,(1)当P1口输出高电平时,能向外提供拉电流负载,所以不必再接上拉电阻.(2)可按字节寻址,也可按位寻址(3)在端口用作输入时,也必须先向对应的锁存器写入1,使FET截止。(4)作I/O输入口时:是一准双向口,不是开漏输出。,P2口,图2-15 P2口结构,1、结构,2、特点:(1)当P2口作为通用I/O时,是一准双向口。(2)从P2口输入数据时,先向锁存器写“1”。(3)可位寻址,也可按字节寻址(4)可输出地址高8位。,P3口,P3口是一个多功能端口,其某一位的结构见图2-16。对比P1口的结构不难看出,P3口与P1口的差别在于多了“与非”门3和缓冲器4。正是这两个部分,使得P3口除了具有P1口的准双向I/O功能之外,还可以使用个引脚所所具有的第二功能。“与非”门3的作用实际上是一个开关,决定是输出锁存器上的数据还是输出第二功能(W)的信号。当W=1时,输出Q端信号;当Q=1时,可输出W线信号。,编程时,可不必事先由软件设置P3口为第一功能(通用I/O口)还是第二功能。当CPU对P3口进行SFR寻址(位或字节)访问时,由内部硬件自动将第二功能输出线W置1,这时,P3口为通用I/O口。当CPU不对P3口进行SFR寻址(位或字节)访问时,即用作第二功能输出/输入线时,由内部硬件使锁存器Q=1。,图2-16 P3口结构,当W=1时,输出Q端信号;当Q=1时,可输出W线信号。,W,特点:(1)P3口做输入使用:向口锁存器写1,即使D锁存器Q端保持为1,“与非”门3输出为0,FET场效应管截止,引脚可作高阻输入。(2)当CPU 发出写指令时:使缓冲器2上的“读引脚”信号有效,三态缓冲器2开通。于是引脚的状态经缓冲器4、缓冲器2送到CPU内部总线。,一、P3口作为通用I/O口使用,二、P3口用作第二功能使用“第二输出功能端”W可为表2-10中的TXD,WR和RD三个第二输出功能引脚。由于D锁存器Q端已被置1,W线不用作第二功能输出时也保持为1,FET截止,该位引脚为高阻输入。此时,第二输入功能引脚为RXD,INT1,INT0,T0 和T1。由于端口不作为通用I/O,因此,“读引脚”信号无效,三态缓冲器2不导通。此时,某位引脚的第二功能输出信号经缓冲器4送入第二输入功能端。,口线 替代的第二功能 P3.0 RXD(串行口输入),P3.1 TXD(串行口输出)P3.2 INT0(外部中断0输入),P3.5 T1(定时器1的外部输入)P3.6 WR(片外数据存储器“写选通控制”输出),P3.3 INT1(外部中断1输入)P3.4 T0(定时器0的外部输入),P3.7 RD(片外数据存储器“读选通控制”输出),表2-10 P3各口线与第二功能,P0口的输出级与P1P3口的输出级在结构上是不同的,因此,它们的负载能力和接口要求也各不相同。P0口与其他口不同,它的输出级无上拉电阻。通用I/O口使用时(89C51/8751情况),输出级是开漏电路,故用其输出去驱动NMOS输入时需外接上拉电阻。作输入时,应先向锁存器(80H)写1。作地址/数据总线时(8031情况),则无需外接上拉电阻。用作数据输入时,也无需先写“1”。P0口的每一位输出可驱动8个LS型TTL负载。,端口的负载能力和接口要求,P1P3口的输出级接有内部上拉负载电阻,它们的每一位输出可驱动4个LS型TTL负载。P1P3口也都是准双向口。作为输入时,必须先对相应端口锁存器写1。,1.片内RAM的容量?89C51最大可配置的RAM/ROM容量?2.单片机主要有哪些组成部分?3.89C51的PSEN、RD、WR的作用?4.ALE线的作用?当89C51不和RAM/ROM相连时,ALE线的输出频率是多少?5.堆栈的作用?堆栈指示器SP有多少位?6.时钟周期、机器周期和指令周期的含义?一个机器周期包含有多少个时钟周期?,思考题,

    注意事项

    本文(单片机的结构和原.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开