以前没有注意过单片机IO口的读写的具体情况,最近因为一个小问题涉及到了IO端口的问题,在论坛上也看了很多相关的帖子,讲得也很详细,但就是还有一点我没想明白,想请教一下这里的大侠们。(上图是截自“suoma”的帖子里的,特此说明)
就是当我要向外输出高电平时,内部总线上是高电平,经过锁存器输出的Q非就是低电平,即T2的栅极为低电平,T2就截止了。而因为控制MUX的控制信号为低电平(才能使T2的栅极与Q非相接),所以T1栅极那的与门应该是输出低电平的,所以T1也被截止吧?那P0.n口应该是高阻态的,怎么就会输出高电平了?这样的情况好像应该是P0.n作为输入时的情况啊。。。。
此电路的输出应该是推挽结构吧?那就是说T1和T2应该是一个导通时另一个截止、一个截止时另一个导通,这样对于输出时才能说得通(内部总线输出1时,T2截止T1导通,输出高电平;内部总线输出0时,T1截止T2导通,输出低电平)。那这样的话控制T1的那个与门就应该有输出高电平的情况(使T1导通),但且不说“地址/数据”端此时不用(因为这时P0是作为普通IO,不是外扩存储器的情况),“控制”信号那也得是1吧,那这样的话MUX不就被控制把T2栅极连接到反相器的输出端了吗?但是作为普通IO口用时MUX不应该是一直使T2与Q非连起来吗?
我表达能力有限,不知道说的清楚不清楚,可能是我哪个地方理解错了,欢迎大家来纠正讨论!
|