不懂别乱回。双向口设为输入时为高阻输入,一般有独立的输入输出控制设置,准双向口输入时非高阻输入,一般没独立的输入输出控制设置。
双向口与准双向口都有输入输出控制寄存器控制的,准双向是只能做输入输出口的,而双向口可能牵涉到端口的复用.乱回!!!
不管是准双向还是双向,都只能做输入或输出,都有可能涉及到端口复用,这不是它们的区别。准双向一般只能用于数字输入输出,输入时为弱上拉状态(约50K上拉),端口只有两种状态:高或低。双向除用于数字输入输出外还可用于模拟输入输出,模拟输入时端口通过方向控制设置成为高阻输入状态。双向端口有三种状态:高、低或高阻。标准51内核单片机的IO口(P1\P2\P3)是准双向IO口,没有方向控制,做输入时需要先往端口数据寄存器写1才行(也可看作此时为输出,端口输出高电平)。PIC系列单片机的IO口是双向IO口,有方向控制,做输出时,需要通过方向控制寄存器把IO口设成输出才能输出高或低电平;做输入时,也同样需要通过方向控制寄存器把IO口设成输入(端口呈高阻状态)才能输入端口电平。如果双向口为强输出高电平(或低电平)时,被外部强拉低(或拉高),IC便可能会损坏。
双向口与准双向口都有输入输出控制寄存器控制的,准双向是只能做输入输出口的,而双向口可能牵涉到端口的复用.乱回!!!不管是准双向还是双向,都只能做输入或输出,都有可能涉及到端口复用,这不是它们的区别。准......
理解正确,初始状态和复位状态下准双象口为1,双向口为高阻状态.有带些比较器的单片机,比较器的输入端只能做在双向口,不能做在准双向口.所以软件设计的第一步就是对 I/O 口的设置.
理解不对,不管高阻还是上拉,作为数字输入时外部和内部电平都是一样的。51的P0在作为总线使用时才算是双向IO,作为普通IO使用时,它是OD结构,需要加上拉才能输出高电平,其作为输入时使用方法与其他IO一样,都需要先往数据寄存器写1(如果外部有上拉,就相当于输出高电平,一样是准双向。
谢谢各位的解释,可我还是不太明确,准双向和双向的区别。下面是我的理解,不只对否:1)老兴:初始状态和复位状态下准双象口为1,双向口为高阻状态。书上写单片机复位后P0~P1=0FFH,这时作为通用I/O...... 理解也不对, "作为普通IO使用时,它是OD结构",是对的,双向口I/O口作为输出时不是'0'便是'1',不需要上拉电阻,所以不光是初始时I/O的状态要设置,复位状态下外围电路的状态都要考虑好,这时就要考虑是否要上拉才能保持高电平,或下拉才能保持底电平.否则会出现不可估量的损失.
理解也不对, "作为普通IO使用时,它是OD结构",是对的,双向口I/O口作为输出时不是'0'便是'1',不需要上拉电阻,所以不光是初始时I/O的状态要设置,复位状态下外围电路的状态都要考虑好,这时就要考虑是否要上拉才能保持高电平,或下拉才能保持底电平.否则会出现不可估量的损失.
回去看清楚51的IO口结构和操作说明。