输入输出口.ppt

上传人:本田雅阁 文档编号:3194033 上传时间:2019-07-29 格式:PPT 页数:21 大小:543.01KB
返回 下载 相关 举报
输入输出口.ppt_第1页
第1页 / 共21页
输入输出口.ppt_第2页
第2页 / 共21页
输入输出口.ppt_第3页
第3页 / 共21页
输入输出口.ppt_第4页
第4页 / 共21页
输入输出口.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《输入输出口.ppt》由会员分享,可在线阅读,更多相关《输入输出口.ppt(21页珍藏版)》请在三一文库上搜索。

1、单片机原理与接口应用,(8051输入输出端口结构 ),华中科技大学光电子工程系,MCS51,8051输入输出端口结构 (慨述),80 51单片机有四个8位并行I/O端口,记作P0、P1、P2和P3。每个端口都是8位准双向口,共占32根引脚。每一 条I/O线都能独立地用作输入或输出。 每个端口都包括一个锁存器(即特殊功能寄存器P0P3),一个输出驱动器和输入缓冲器,作为输出时数据可以锁存,作输入时数据可以缓冲,但这四个通道的功能不完全相同。 在无片外扩展存储器的系统中,这四个端口的每一位都可以作为准双向通用IO端口使用。在具有片外扩展存储器系统中,P2口送出高8位地址P0口为双向总线,分时送出低

2、8位地址和数据的输入输出。 8051单片机四个I()端口的电路设计非常巧妙,熟悉IO端口逻辑电路,不但有利于正确合理地使用端口。而且会对设计单片机外围逻辑电路有所启发。,一、P0口的结构:,结构:一个输出锁存器; 二个三态输入缓冲器 输出驱动电路及控制电路组成 其工作状态受: 控制电路与门、 反相器 转换开关MUX控制。 当CPU使控制线C0,开关MUX连接输 出锁存器,P0口为通用IO 口, 当C1时,开关投向反相器的输出端,P0口分时作为地址数据总线使用。,P0口的某一位的结构图,(一)P0口作为一般IO口使用,当8051组成的系统无外扩存储器、CPU对片内存储器和IO口读写时,内部硬件自

3、动使控制线C0。开关MUX处于图示位置,它把输出级(T2)与锁存器的端接通; 因与门输出为0,输出级中的上拉场效应管T1处于截止状态,因此,输出级是漏极开路的开漏电路。这时P0口可作一般IO口用。,1、P0口用作输出口,一般的数据输出情况:当CPU执行输出指令时,写脉冲加在D锁存器的CP上,这样与内部总线相连的D端的数据取反后就出现在端口,又经输出级FFT(T2)反相,在P0端口上出现的数据正好是内部总线的数据。 读P0口D锁存器:8051有几条输出指令功能特别强,属于“读一修改写”指令。 例如,执行条“ANL P0,A”指令的过程是:不直接读引脚上的数据,而是CPU先读P0口D锁存器中的数据

4、,当“读锁存器”信号有效三态缓冲器开通,Q端数据送入内部总线和累加器A中的数据进行“逻辑与”操作,结果送问P0端口锁存器。此时,锁存器的内容(Q端状态)和引脚是致的。,2P0口作输入口,图中的缓冲器用于CPU直接读端口数据。当执行一条由端口输入的指令时,“读引脚”脉冲把该二态缓冲器打开,这样,端口上的数据经过缓冲器读入到内部总线。这类操作由数据传送指令实现。 从图中还可看出,在读入端口引脚数据时由于输出驱动FET(T2)并接在引脚上,如果FET(T2)导通就会将输入的高电平拉成低电平,以致于产生误读。 在端口进行输入操作前,应先向端口锁存器写入“l”,也就是使锁存器0,因为控制线C0,因此T1

5、和T2全截止,引脚处于悬浮状态,可作高阻抗输入。这就是所谓的准双向口的含义。,(二) P0口作为地址数据总线使用,CPU对片外存储器读写,由内部硬件自动使控制线Cl,开关MUX拨向反相器输出端。这时P0口可作地址数据总线分时使用,分为两种情况。 P0口用作输出地址/数据总线:在扩展系统中,种是以P0口引脚输出低8位地址或数据信息。MUX开关把CPU内部地址数据线经反向器与驱动场效应管FET(T2)栅极接通。从图上可以看到,上下两个FET处于反相,构成推拉式的输出电路(T1导通时上拉,T2导通时下拉),大大增加了负载能力。 另一种情况是由P0口输入数据。这种情况是在“读引脚”信号有效时打开输入缓

6、冲器使数据进入内部总线。,总结:,P0既可作般IO端口用使用,又可作地址数据总线使用。 I/O输出时,输出级属开漏电路,必须外接上拉电阻,才有高电平输出; 作IO输入时,必须先向对应的锁存器写入“1”,使FET(T2)截止,不影响输入电平。 当P0口被地址数据总线占用时,就无法再作IO口使用了。,二、 P1口,P1口也是一个准双向口: 作通用IO口使用。其电路结构见图,输出驱动部分与P0口不同内部有上拉负载电阻与电源相连。实质上电阻是两个场效应管FET并在起,个FET为负载管,其电阻固定;另一个FET可工作在导通或截止两种状态,使其总电阻值变化近似为0或阻值很大两种情况。当阻值近似为0时、可将

7、引脚快速上拉至高电平;当阻值很大时,Pl口为高阻输入状态。 当P1口输出高电平时、能向外提供拉电流负载,所以不必再接上拉电阻,在端口用作输入时,也必须先向对应的锁存器写入“1”,使FET截止。由于片内负载电阻较大,约20一40k,所以不会对输入的数据产生影响。,P1口某位结构,三、P2口某位结构,四、P3口的结构,P3口是一个多功能端口 : 第功能:通用IO口 第二功能:其他功能(见下表) P3口与P1口的差别在于多了一个与非门和缓冲器,正是这两个部分,使得P3口除了具有P1口的准双向IO功能之外,还可以使用各引脚所具有的第二功能。 与非门的作用实际上是一个开关,决定是输出锁 存器上的数据还是

8、输出第二功能(W)的信号。 当W1时输出Q端信号; 当Q1,可输出W线信号。,P3各口线的第二功能表,P3口的位结构,编程时,不必事先由软件设置P3门为第一功能(通用IO口)还是第二功能。 当CPU对P3口进行SFR寻址(位或字节)访问时,由内部硬件自动将第二功能输出线W置1,这时P3口为通用IO口; 当CPU不把P3口作为SFR寻址(位或字节)访问时,即用作第二功能输出/输入时,由内部硬件使锁存器Q1。,(一)P3口作为通用IO口使用,当对P3口的SFR寻址时,“第二输出功能端W”保持高电平。打开与非门,所以D锁存器输出端Q的状态可通过与非门送至FET场效应管输出,这是作通用IO口输出的情况

9、。 当P3口作为输入使用(即CPU读引脚状态)时。同P0P2口一样 ,应由软件向口锁存器写“1”,即使得锁存器Q端保持为1,与非门0输出为0,FET场效应管截止,引脚端可作为高阻输入。当CPU发出读命令时,使缓冲器的“读引脚”信号有效,三态缓冲器开通,于是引脚的状态经两个缓冲器到CPU内部路线。,(二)P3口用作第二功能使用,当端口用于第二功能时8个引脚是按位独立定义。 当某位被用作第二功能时,该位的D锁存器Q应被内部硬件自动置1,使与非门对“第二输出功能端W”是畅通的。 输入:Q=1,W=1(W不作第二功能输出) 读引脚无效, 只有T0、T1、INT0、INT1、RXD有效,五、端口的负载能

10、力和接口要求,P0口的输出级与P1P3口的输出级在结构上是不同的! 因此,其负载能力与接口要求也各不相同。 P0口与其它口不同,它的输出级无上拉电阻。 当把它用作通用IO口使用时,输出级是开漏电路,输入时需外接上拉电阻; 用作输入时,应先向口锁存器(80H)写1; 把它当作地址数据总线时则无需外接上拉电 阻。 P0口的每一位输出可驱动8个LS型TTL负载。,P1P3口的输出级接有内部上拉负载电阻,它们的每一位输出可驱动3个LS型TT负载。 作为输入口时,任何TTL电路都能以正常的方式驱动805l单片机(HMOS)的P1P3口。由于它们的输出级具有上拉电阻,也可以被集电极开路(oc门)或漏极开路所驱动,而无需外接上拉电阻, 对于80c51单片机(CHMOS),端口能提供几毫安的输出电流,故当作输出口去驱动一个普通晶体管的基极(或TTL电路输入端)时,应在端口与晶体管基极间串联一个电阻,以限制高电平输出时的电流。 Pl P3口也都是准双向I/O口,作输入时,必须先在相应端口锁存器先写1。,请看下一节,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1