漏级开路即高阻状态,适用于输入/输出,其可独立输入/输出低电平和高阻状态,若需要产生高电平,则需使用外部上拉电阻或使用如LCX245等电平转换芯片。
有些朋友,尤其是未学过此方面知识的朋友,在实际工作中将I/O口设置为漏开,并想输出高电平,但向口线上写1后对方并未认出高电平,对于高阻状态来说,
正确的方法应是外加上拉电阻,上拉电阻的阻值=上拉电压/芯片引脚最大灌(拉)电流。
推挽方式可完全独立产生高低电平,推挽方式为低阻,这样,才能保证口线上不分走电压或分走极小的电压(可忽略),保证输出与电源相同的高电平,
推挽适用于输出而不适用于输入,因为若对推挽(低阻)加高电平后,I=U/R,I会很大,将造成口的烧毁。
对与C8051F的很多型号片子,将I/O口设置为推挽方式的做法为:
PnMDOUT=0xff,Pn=0x00,这样设置I/O口为推挽,并输出低电平(可降低功耗)
将I/O口设置为漏开方式的做法为:PnMDOUT=0x00,Pn=0xff,这样设置I/O口为漏开。
例外的情形是:连接到SDA,SCL,RX0(如果UART0工作于方式0),RX1(如果UART1工作于方式0)的端口引脚总是被配置为漏极开漏方式,