PersonalCorpus 版 (精华区)
51系列的P0口的确比较特殊
1、在作为数据/地址总线用时,有两个MOSFET管和每个口线相连,
其具有PUSH-PULL结构,也就是说具有很强的上拉/下拉能力,
这时候不需要加上拉/下拉电阻;
2、在作为IO口用时,起上拉作用的MOSFET管被Disable了,P0的每个
口线此时实际上相当于一个MOSFET管(G,D,S,当然在G前加了非门)
a.当作为输出时,如果G为1,MOSFET管导通:D(也就是P0的某个管脚)
和S导通,输出变成0,可以看出,驱动能力很强;如果G上是0,则
MOSFET管截止,D处于浮动状态,这时候,要根据负载情况加上拉电阻,
如果驱动CMOS电路,不需要很小,一般取5K以上,有一个特殊情况,
就是如果负载是TTL的IC,则一般不需要加上拉,因为TTL的IC的输入
不是浮动的,而是在内部接上拉,也就是常说的“开路即为1”
(要注意:CMOS的输入一般是是浮动的,当然也有例外,如一些芯片
带有内部上拉,并且可以Enable/Disable)
带有内部上拉,并且可以Enable/Disable)
b.当作为输入时,根据上面的说明,由其MOSFET管的特性,必须让其截止,
否则读到的结果都是0,这就是读之前先写1。这时候,P0口线上有内
部缓冲器,所以阻抗很高,一般的IC都可直接驱动,不需要加上拉,如
果是三态门驱动,可能根据需要来确定加还是不加,一般来说是不
需要的(因为你可以用P1,P2口来接受这些输入,可以省掉这些电阻)。
可能有时候加上拉没有问题,但有些时候要注意,有些IC的驱动能力
并不强,如果P0口做为输入而加了不必要的上拉,有可能驱动IC无法
将其拉回到0,使输入失效,这是很常见的,所以一定要仔细阅读
Datasheet,分析各个管脚的输出输入特性和驱动能力。
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.310毫秒