首页 [讲解]双向IO口

[讲解]双向IO口

举报
开通vip

[讲解]双向IO口[讲解]双向IO口 :准双向一般只能用于数字输入输出,输入时为弱上拉状态(约50K上拉),端口只有两种状态:高或低。 2:双向除用于数字输入输出外还可用于模拟输入输出,模拟输入时端口通过方向控制设置成为高阻输入状态。双向端口有三种状态:高、低或高阻。 3:初始状态和复位状态下准双向口为1,双向口为高阻状态.有带些比较器的单片机,比较器的输入端只能做在双向口,不能做在准双向口.所以软件设计的第一步就是对 I/O 口的设置. 标准51内核单片机的IO口,P0口则为双向三态输入输出口,P1\P2\P3是准双向IO口,...

[讲解]双向IO口
[讲解]双向IO口 :准双向一般只能用于数字输入输出,输入时为弱上拉状态(约50K上拉),端口只有两种状态:高或低。 2:双向除用于数字输入输出外还可用于模拟输入输出,模拟输入时端口通过方向控制设置成为高阻输入状态。双向端口有三种状态:高、低或高阻。 3:初始状态和复位状态下准双向口为1,双向口为高阻状态.有带些比较器的单片机,比较器的输入端只能做在双向口,不能做在准双向口.所以软件设计的第一步就是对 I/O 口的设置. 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 51内核单片机的IO口,P0口则为双向三态输入输出口,P1\P2\P3是准双向IO口,没有方向控制,做输入时需要先往端口数据寄存器写1才行(也可看作此时为输出,端口输出高电平)。 对单片机的控制,其实就是对I/O口的控制,无论单片机对外界进行何种控制,或接受外部的何种控制,都是通过I/O口进行的。51单片机总共有P0、P1、P2、P3四个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。4个I/O端口都能作输入输出口用,其中P0和P2通常用于对外部存储器的访问。 51系列单片机有4个I/O端口,每个端口都是8位准双向口,共占32根引脚。每个端口都包括一个锁存器(即专用寄存器P0,P3)、一个输出驱动器和输入缓冲器。通常把4个端口笼统地表示为P0,P3。 在无片外扩展存储器的系统中,这4个端口的每一位都可以作为准双向通用I/O端口使用。在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。 51单片机4个I/O端口线路设计的非常巧妙,学习I/O端口逻辑电路,不但有利于正确合理地使用端口,而且会给设计单片机外围逻辑电路有所启发。 下面简单介绍一下输入/输出端口结构。 1.P0口和P2的结构 1.1 P0口的结构:下图为P0口的某位P0.n(n=0~7)结构图,它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路及控制电路组成。从图中可以看出,P0 口既可以作为I/O用,也可以作为地址/数据线用。 .2 P0口作为普通I/O口: ?输出时,CPU发出控制电平“0”封锁“与”门,将输出上拉场效应管T1截止,同时使多路开关MUX把锁存器与输出驱动场效应管T2栅极接通。故内部总线与P0口同相。由于输出驱动级是漏极开路电路,若驱动NMOS或其它拉流负载时,需要外接上拉电阻。P0的输出级可驱动8个LSTTL负载。 ? 输入时----分读引脚或读锁存器 读引脚:由传送指令(MOV)实现; 下面一个缓冲器用于读端口引脚数据,当执行一条由端口输入的指令时,读脉冲把该三态缓冲器打开,这样端口引脚上的数据经过缓冲器读入到内部总线。 读锁存器:有些指令 如:ANL P0,A称为“读-改-写” 指令,需要读锁存器。上面一个缓冲器用于读端口锁存器数据。 **原因:如果此时该端口的负载恰是一个晶体管基极,且原端口输出值为1,那么导通了的PN结会把端口引脚高电平拉低;若此时直接读端口引脚信号,将会把原输出的“1”电平误读为“0”电平。现采用读输出锁存器代替读引脚,图中,上面的三态缓冲器就为读锁存器Q端信号而设,读输出锁存器可避免上述可能发生的错误。** 说明: , P0口必须接上拉电阻; , 在读信号之前数据之前,先要向相应的锁存器做写1操作的I/O口称为准双向口; , 三态输入缓冲器的作用: , (ANL P0,A) 准双向口: 从图中可以看出,在读入端口数据时,由于输出驱动FET并接在引脚上,如果T2导通,就会将输入的高电平拉成低电平,产生误读。所以在端口进行输入操作前,应先向端口锁存器写“1”,使T2截止,引脚处于悬浮状态,变为高阻抗 输入。这就是所谓的准双向口。 2、P0作为地址/数据总线 在系统扩展时,P0端口作为地址/数据总线使用时,分为: (1) P0引脚输出地址/数据信息: CPU发出控制电平“1”,打开“与”门,又使多路开关MUX把CPU的地址/数据总线与T2栅极反相接通,输出地址或数据。由图上可以看出,上下两个FET处于反相,构成了推拉式的输出电路,其负载能 力大大增强。 P0作为地址/数据总线----真正的双向口 (2)P0引脚输出地址/输入数据: 输入信号是从引脚通过输入缓冲器进入内部总线。此时,CPU自动使MUX向下,并向P0口写“1”,“读引脚”控制信号有效,下面的缓冲器打开,外部数据读 入内部总线。 二、P2的内部结构 2.1 .P2口作为普通I/O口:CPU发出控制电平“0” ,使多路开关MUX倒向锁 存器 输出Q端,构成一个准双向口。其功能与P1相同。 2(2 .P2口作为地址总线: 在系统扩展片外程序存储器扩展数据存储器且容量超过256B (用MOVX @DPTR指令)时,CPU发出控制电平“1”,使多路开关MUX倒内部地址线。此时,P2输出高8位地址。 三(P1口、P3口的内部结构 ?P1口的一位的结构 它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成----准双向口。 ?P3的内部结构 一、作为通用I/O口与P1口类似----准双向口(W=1) 二、P3第二功能(Q=1) 此时引脚部分输入(Q=1、W=1) ,部分输出(Q=1、W输出) 。 P3第二功能各引脚功能定义: P3.0:RXD串行口输入 P3.1:TXD串行口输出 P3.2:INT0外部中断0输入 P3.3:INT1外部中断1输入 P3.4:T0定时器0外部输入 P3.5:T1定时器1外部输入 P3.6:WR外部写控制 P3.7:RD外部读控制 综上所述:当P0作为I/O口使用时,特别是作为输出时,输出级属于开漏电路, 必须外接上拉电阻才会有高电平输出;如果作为输入,必须先向相应的锁存器写“1”,才不会影响输入电平。 当CPU内部控制信号为“1”时,P0口作为地址/数据总线使用,这时,P0口就无法再作为I/O口使用了。 P1、P2 和P3 口为准双向口, 在内部差别不大, 但使用功能有所不同。 P1口是用户专用 8 位准双向I/O口, 具有通用输入/输出功能, 每一位都能独立地设定为输入或输出。当有输出方式变为输入方式时, 该位的锁存器必须写入“1”, 然后才能进入输入操作。 P2口是 8 位准双向I/O口。外接I/O设备时, 可作为扩展系统的地址总线, 输出高8位地址, 与P0 口一起组成 16 位地址总线。 对于 8031 而言, P2 口一般只作为地址总线使用, 而不作为I/O线直接与外部设备相连。
本文档为【[讲解]双向IO口】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_977556
暂无简介~
格式:doc
大小:103KB
软件:Word
页数:7
分类:企业经营
上传时间:2017-11-26
浏览量:9