|
1金钱
本帖最后由 lcqyhz 于 2021-6-26 10:16 编辑
在程序运行过程中,我想切换使用3种状态,即0,1,高阻(或OD),如P2.1=0;//输出0,OK
P2.1=1;//输出1,OK
请问如何改为高阻状态呢?
我考虑了一下,设为输入,应该是高阻状态,但是本芯片好像没有设置IO口类别的寄存器
于是,我用以下方式使IO口为输入,但是实际没有效果,请问问题在哪里,有没有什么办法?
bit x;//定义一个变量
P2.1=0;//输出0,外部接LED负极,然后LED正极串电阻接电源,此时LED点亮
x=P2.1;//用临时变量,读取P2.1,我想此时此IO口应该被改为输入状态,即高阻,此时LED应该不亮才对,可是LED还是亮,说明不是高阻状态,请问什么原因?
或者有没有办法切换为OD也行,我看了一个芯片资料,原文如下:"STC89C51RC/RD+系列单片机所有I/O口均有3种工作类型:准双向口/弱上拉,仅为输入(高阻)或开漏输出功能."
我知道答案
本帖寻求最佳答案回答被采纳后将获得系统奖励 10 金钱 , 目前已有 0人回答
|
|