51单片机IO及上拉电阻_第1页
51单片机IO及上拉电阻_第2页
51单片机IO及上拉电阻_第3页
全文预览已结束

付费下载

下载本文档

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

文档简介

1、单片机 IO 口结构及上拉电阻 2009-12-1 2:40:00 | By: zydlyq 8051 有 4 组 8 位 I/O 口: P0、P1、P2 和 P3 口, P1、P2 和 P3 为准双向口, P0 口则为双向三态输入输出口,下面我们分别介绍这几个口线:· P0 口和 P2 口:右图为 P0 口和 P2 口其中一位的电路图,由图可见, 电路中包含一个数据输出锁存器和两个三态数据输入缓冲器,另外还有一个数据输出的驱动和控制电路。这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O 扩展口,而不能象P1、P3 直接用作输出口。它们一起可以作为外部地址总线,P0

2、口身兼两职,既可作为地址总线,也可作为数据总线。参考图2。P2 口作为外部数据存储器或程序存储器的地址总线的高8 位输出口AB8-AB15,P0 口由 ALE 选通作为地址总线的低8 位输出口AB0-AB7。外部的程序存储器由PSEN信号选通,数据存储器则由WR 和 RD 读写信号选通,因为216=64k,所以 8051 最大可外接64kB 的程序存储器和数据存储器。·P1 口:右图为 P1 口其中一位的电路图,P1 口为 8 位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时, 1 写入锁存器, Q(非)=0,T2 截止,内上拉电阻将电位拉至"1" ,

3、此时该口输出为1,当 0 写入锁存器, Q(非 )=1,T2 导通,输出则为0。作为输入口时,锁存器置1,Q(非)=0,T2 截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1 口常称为准双向口。需要说明的是,作为输入口使用时,有两种情况,其一是:首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读修改写操作,象 JBC(逻辑判断 )、CPL(取反 )、INC(递增 )、DEC(递减 )、ANL(与逻辑 )和 ORL(逻辑或 )指令均属于这类操作。其二是:读P1 口线状态时,打开三态门G2,将外部状态读入CPU。· P3 口:P3

4、 口的电路如上图所示, P3 口为准双向口,为适应引脚的第二功能的需要,增加了第二功能控制逻辑,在真正的应用电路中,第二功能显得更为重要。由于第二功能信号有输入输出两种情况,我们分别加以说明。P3 口的输入输出及P3 口锁存器、中断、定时/ 计数器、串行口和特殊功能寄存器有关,P3 口的第一功能和 P1 口一样可作为输入输出端口,同样具有字节操作和位操作两种方式,在位操作模式下,每一位均可定义为输入或输出。我们着重讨论P3 口的第二功能,P3 口的第二功能各管脚定义如下:·串行输入口 (RXD)·串行输出口 (TXD)·外中断 0(INT0)·外中断 1

5、(INT1)·定时 / 计数器 0 的外部输入口(T0)·定时 / 计数器 1 的外部输入口(T1)·外部数据存储器写选通(WR)·外部数据存储器读选通(RD)对于第二功能为输出引脚,当作 I/O 口使用时,第二功能信号线应保持高电平,与非门开通,以维持从锁存器到输出口数据输出通路畅通无阻。而当作第二功能口线使用时,该位的锁存器置高电平,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出。对于第二功能为输入的信号引脚,在口线上的输入通路增设了一个缓冲器,输入的第二功能信号即从这个缓冲器的输出端取得。而作为 I/O 口线输入端时,取自三态缓冲

6、器的输出端。这样,不管是作为输入口使用还是第二功能信号输入,输出电路中的锁存器输出和第二功能输出信号线均应置“1”。1. p0 作为地址数据总线时,T1 和 T2 是一起工作的时, T1 截止, T2 打开。这种情况下不用外接上拉电阻部电源直接通过T1 输出到p0 口线上 ,因此驱动能力个 TTL 负载 " 的原因。,构成推挽结构。高电平时,T1 打开, T2 截止;低电平.而且 ,当 T1 打开 ,T2 截止 ,输出高电平的时候,因为内(电流 )可以很大 ,这就是为什么教科书上说可以"驱动 82. p0 作为一般端口时, T1 就永远的截止, T2 根据输出数据 0 导通

7、和 1 截止,导通时拉地,当然是输出低电平; 要输出高电平, T2 就截止, p0 口就没有输出了,(注意 ,这种情况就是所谓的高阻浮空状态如果加上外部上拉电阻,输出就变成了高电平1。),3. 其他端口 p1,p2,p3, 在内部直接将 p1 口中的 T1 换成了上拉电阻 ,所以不用外接, 但内部上拉电阻太大,电流太小,有时因为电流不够,也会再并一个上拉电阻。4. 在某个时刻 ,p0 口上输出的是作为总线的地址数据信号还是作为普通I/O 口的电平信号,是依靠多路开关 MUX 来切换的 .而 MUX 的切换 ,又是根据单片机指令来区分的.当指令为外部存储器/IO 口读 / 写时 ,比如MOVXA

8、,DPTR ,MUX是切换到地址/ 数据总线上;而当普通MOV 传送指令操作p0 口时 ,MUX 是切换到内部总线上的。5. p0(i/o),p1,p2,p3 口用于输入时, 需要写 1 使 IO 下拉的 MOS 管截止,以免 MOS 管导通将输入拉底为 0,当一直用于输入时不用置 1(先使用该 IO 输出,该 IO 锁存器里可能是 0,再用该 IO 输入则会使 MOS管导通),将 IO 写 1 后,该 IO 锁存器不会变了,所以再一直用于输入不用置入不用写 1 ,因为 MUX 没和锁存器相连。1。p0用于地址数据线时输PS:Because Ports 1, 2, and 3 have fix

9、ed internal pullups, they are sometimes called- bidirectional” ports“quasi.因为端口 1 、2、 3 有固定的内部上拉,所以有时候他们被称为"准双向 "口。Port 0, on the other hand, is considered“ true ” bidirectional, because when configured as. an input it float端口 0, 从另外一方面来说,就被认为是 " 真正的 " 双向 ,因为当它被设置为输入的时候是浮空(高阻态 )的

10、。P0 口上拉电阻选择如果是驱动 led,那么用1K 左右的就行了。如果希望亮度大一些,电阻可减小,最小不要小于200欧姆,否则电流太大;如果希望亮度小一些,电阻可增大,增加到多少呢,主要看亮度情况,以亮度合适为准,一般来说超过3K 以上时,亮度就很弱了,但是对于超高亮度的 LED,有时候电阻为 10K 时觉得亮度还能够用。我通常就用1k 的。对于驱动光耦合器,如果是高电位有效,即耦合器输入端接端口和地之间,那么和LED 的情况是一样的;如果是低电位有效, 即耦合器输入端接端口和VCC之间,那么除了要串接一个1之间的电阻以外,同时上拉电阻的阻值就可以用的特别大,用100k 500K 之间的都行

11、,当然用10K 的也可以,但是考虑到省电问题,没有必要用那么小的。对于驱动晶体管,又分为PNP 和 NPN 管两种情况:对于 NPN,毫无疑问 NPN 管是高电平有效的,因此上拉电阻的阻值用2K 20K 之间的,具体的大小还要看晶体管的集电极接的是什么负载,对于LED类负载,由于发管电流很小,因此上拉电阻的阻值可以用20k 的,但是对于管子的集电极为继电器负载时,由于集电极电流大, 因此上拉电阻的阻值最好不要大于,有时候甚至用 2K 的。对于 PNP 管,毫无疑问 PNP管是低电平有效的,因此上拉电阻的阻值用100K 以上的就行了,且管子的基极必须串接一个1 10K 的电阻,阻值的大小要看管子集电极的负载是什么,对于LED类负载,由于发光电流很小,因此基极串接的电阻的阻值可以用 20k 的,但是对于管子的集电极为继电器负载时,由于集电极电流大,因此基极电阻的阻值最好不要大于。对于驱动 TTL集成电路,上拉电阻的阻值要用1 10K 之间的,有时候电阻太大的话

温馨提示

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

评论

0/150

提交评论