控制/MCU
P3口是一个多功能端口,对比P1的结构图不难看出,P3口与P2口的差别在于多了与非门和缓冲器。正是这两个部分,使得P3口除了具有P1口的准双向I/O功能之外,还可以使用各引脚所具有的第二功能。
与非门的作用实际上是一个开关,决定是输出锁存器上的数据还是输出第二功能W的信号。WR和RD三个第二输出功能引脚。当W=1时,输出Q端信号;当Q=1时,可输出W线信号。编程时,可不必事先由软件设置P3口为通用I/O口还是第二功能。
当CPU对P3口进行特殊功能寄存器寻址访问时,由内部硬件自动将第二功能输出线W置1,这时P3口为通用I/O口;当CPU不把P3口作为特殊功能寄存器寻址访问时,即可用作第二功能输出/输入线时,由内部硬件使锁存器Q=1.P3口可作为通用I/O口使用时,工作原理与P1口类似.
P3口作为通用I/O进行特殊功能寄存器寻址时,"第二输出端"W保持高电平,打开与非门,所以D锁存器输出端Q的状态可通过与非门送至FET场效应管输出,这是作通用I/O输出的情况.当P3口作为输入使用(即CPU读引脚状态)时,同P0-P2口一样,先用软件向口锁存器写入"1",即使D锁存器Q端保持为1,与非门输出为0,FET场效应管截止,引脚端可作为高阻输入.
当CPU发出读命令时,使缓冲器上的"读引脚"信号有效,三态缓冲器导通,于是引脚的状态经缓冲器2,缓冲器1送到CPU内部总线.当P3口用于第二功能时,8个引脚可独立定义.当某个被用作第二功能时,该位的D端锁存器Q应被内部硬件置1,使与非门对"第二输出功能端"W是畅通的."第二输出功能端"W可为TXD,WR和RD三个第二输出功能引脚.
例如,某一位被选择为RD功能,则该位的W线上即RD控制信号状态通过与非门和FET输出引脚端.由于D锁存器Q端已被置1,W线不作第二功能输出时保持为1,场效应管FET截止,该引脚为高阻输入,此时,第二输入功能为:RXD,INTO,INT1,TO和T1. 由于端口不作为通用I/O口,"读引脚"信号无效,三态缓冲器不导通,某位引脚的第二输入功能信号经缓冲器2送入功能端,然后再进入各自的第二功能处理机构.
综上所述,P0口的输出级与P1-P3口的输出级在结构上是不同的,因此,它们的负载能力和接口要求也是各不相同.下面我们回顾一下四个端口的特点:
P0口与其他口号不同,它的输出级无上拉电阻.当把它用作通用I/O口使用时,输出极是开漏电路, 故用作输出时需外接上拉电阻,用作输入时应先向口锁存器写1;把它当作地址/数据总线时,则无需外接上拉电阻,也无需先写1.P0口的每一位输出可驱动8个TTL负载.
P1-P3口的输出级外接有内部上拉电阻,它们的每一位输出可驱动4个LS型TTL负载输入端.由于它们的输出级具有上拉电阻,所以无需外接上拉电阻.P1-P3口也都是准双向口,即作输入时,必须先在相应端口锁存器写1.
责任编辑;zl
全部0条评论
快来发表一下你的评论吧 !