普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 2501|回复: 0

关于IO口方向设置问题

[复制链接]

1

主题

7

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2021-6-26 10:16:42 | 显示全部楼层 |阅读模式
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人回答

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-5-7 01:22 , Processed in 0.100047 second(s), 29 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表