单片机并行I/O口(P0)硬件结构

P0口有8位,每位包括1个输出锁存器(D锁存器)、2个三态缓冲器和2个场效应管,其中P0.x为外部引脚,MUX为模拟开关。如下图所示。
这里写图片描述
下面分析P0口的工作过程,分为两个部分,一个是作为地址/数据总线的复用口,一个是作为通用I/O接口使用。
作为地址/数据总线的复用口,分析如下,1、当P0口作为地址或数据输出时,CPU送来的控制信号为高电平,使“与门”开启,硬件自动使转向开关MUX打向上面,接通反相器的输出。(a)当输出的地址/数据信息=1时,“与门”输出1,T1导通,T2截止,P0.x引脚输出为1;(b)当输出的地址/数据信息=0时,“与门”输出0,T1截止,T2导通,P0.x引脚输出为0。
由T1和T2两个场效应管形成的推拉式结构,大大提高负载能力,T1这时起到内部上拉电阻的作用。
2、当P0口作为数据输入(访问外部存储器)时,从外部引脚P0.x读入信息,CPU送来的控制信号为低电平,MUX接通D锁存器的/Q端, CPU自动向P0口写入FFH,使T2截止,而T1因为低电平的控制信号也截止,从而保证数据信息的高阻抗输入,从外部输入的数据直接由P0.x引脚通过输入缓冲器BUF2进入内部总线。
作为通用I/O接口,分析如下,CPU送来的控制信号为低电平,MUX打向下面,接通锁存器的/Q,“与门”输出为0,T1截止,形成了P0口输出电路为漏极开路输出。1、作为输出口时,CPU写脉冲加在D锁存器的CP端,内部总线的数据写入D锁存器,并由引脚P0.x输出,(a)当D锁存器为1时,/Q端为0,T2截止,输出为漏极开路,此时,必须外接上拉电阻才能有高电平输出;(b)当D锁存器为0时,T2导通,P0口输出为低电平。2、作为I/O输入时,分为两种“读锁存器”和“读引脚”,(a)当CPU发出“读锁存器”指令时,锁存器的状态由Q端经上方的三态缓冲器BUF1进入内部总线,(b)当CPU发出“读引脚”指令时,锁存器的Q端为1,T2截止,引脚的状态经下方的BUF2进入内部总线。

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值