打印

io口高阻态第一次应用,出现不明现象

[复制链接]
5339|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yegucheng123|  楼主 | 2011-8-10 14:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序如下
P1M1=0x01;
P1M0=0;
while(1)
{
  if(p10==0)
  p11=~p11;
}
设置p10高阻。然后读p10,根据p10使p11取反。
现象如下
上电后,p11LED中亮度。向p10输入低电平后,LED在原来的基础上变亮。向p10输入高电平后,LED在原来的基础上变暗。多试几次LED偶然会熄灭。
P1无上拉或下拉电阻。

为什么LED暗亮不分明且偶然还会熄灭?
在设置p10高阻态后,只对其读取,会读出什么值?

相关帖子

沙发
yegucheng123|  楼主 | 2011-8-10 14:10 | 只看该作者
将 if(p10==0)改为if(p10==1)后再试
现象如下:
上电后,p11LED中亮度。向p10输入低电平后,LED基本上每次都能熄灭,偶然很暗。向p10输入高电平后,LED在原来的基础上变亮。
P1无上拉或下拉电阻。

为什么LED暗亮不分明且偶然还会熄灭?
在设置p10高阻态后,只对其读取,会读出什么值?
两次向p10分别输入高低电平,p11都能作出反应(变暗或变亮)。这说明p10准确地读出我输入的高低电平和本身的高阻态吗?

使用特权

评论回复
板凳
yegucheng123|  楼主 | 2011-8-10 15:45 | 只看该作者
诚忘高手指点或砖拍

使用特权

评论回复
地板
a412314214| | 2011-8-10 15:56 | 只看该作者
:loveliness::loveliness:

使用特权

评论回复
5
zhouarm| | 2011-8-12 21:14 | 只看该作者
你能确定在每次P10状态即将发生变化的最后那个周期,P11是什么状态吗? :)。
或者说,P10状态发生变化,难道 每次高电平状态或者低电平状态持续时间内,P11 = ~P11 执行次数是一样的么?  可能为奇数次,也可能为偶数次…………。

你的程序有问题。再看看把。

使用特权

评论回复
6
草履虫| | 2011-8-15 12:08 | 只看该作者
1. LED暗亮不分明且偶然还会熄灭?
while(1){}执行速度太快,p11可频繁变化.可以考虑加延时测试.
2. p10高阻态后,只对其读取,会读出什么值?
外部给的电平是高读的就是高,低读的就是低.前提是p10端口置1.如果置0的话,情况就不定了,外部输入信号的驱动能力和p10的驱动能力强弱有关了.

使用特权

评论回复
7
xiaotann| | 2011-8-15 12:14 | 只看该作者
LED在原来的基础上变亮

使用特权

评论回复
8
autopccopy| | 2011-8-15 23:38 | 只看该作者
没说单片机的型号?

使用特权

评论回复
9
jamsan| | 2011-8-16 00:31 | 只看该作者
猜是STC的单片机吧?没有延时,所以撤掉P10时,没准会处在那个状态。

使用特权

评论回复
10
草履虫| | 2011-8-16 19:26 | 只看该作者
和什么单片机没有关系.世界上除了STC,51,还有成n多MCU.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:阿弥陀佛,出家人不打诳语。女施主 ,你的确是贫僧自东土出行至今所遇的,最美丽、最性感的女子,你看你这秀发,这玉手,这肌肤,这手感……

0

主题

82

帖子

1

粉丝