打印

P0 P2口位操作没有反应?救急!!

[复制链接]
2630|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yzx160|  楼主 | 2008-3-24 17:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的一个程序段如下:
for(i = 0;i < 8;i++)
    {
    /*    if((Vdatain & 0x01)==1)
            P02 = 1;
        else
            P02 = 0;*/
        P02 = (Vdatain & 0x01);            
        delay(10);
        P01 = 1;
        delay(10);
        P01 = 0;
        if (i == 7)
            break;
        Vdatain >>=1;        
    }
    delay(10);
    delay(10);
    P24 = 1;        
    P03 = 1;
    delay(10);
    P03 = 0;
但是运行后P24引脚监测不到高电平,请高手指教,万分感谢!

相关帖子

沙发
xhtxzxw| | 2008-3-25 04:00 | 只看该作者

嘿嘿

不严谨,标题与内容不一致。
P0口的那两个位正常吗?没说

下面这个似乎有点“脱了什么放什么”的感觉:
if (i == 7)
  break;
这不是在循环里吗?i==7了,自然就退出来了嘛!

LZ说P24上没有高电平,是不是在别的地方又改写了P24呢?

建议测试的时候在最后加一句“while(1);”让程序在这里死循环,就可以有时间拿表量量P24了,其他的腿也可以量一量,心里就有底了。测试没问题了,去掉这个死循环就可以了。

使用特权

评论回复
板凳
yzx160|  楼主 | 2008-3-25 08:13 | 只看该作者

谢谢

我为了测试P24上的电平,正是在后面加了个死循环
问题就是那样

使用特权

评论回复
地板
oahzhao| | 2008-3-25 10:41 | 只看该作者

晕倒,你的口写错拉

P02!=P2

使用特权

评论回复
5
xhtxzxw| | 2008-3-26 22:51 | 只看该作者

嘿嘿

LZ的P01、P02、P03、P24是如何定义的呢?

正确的定义之一应该是:
sbit    P01    =    P0^1;
sbit    P02    =    P0^2;
sbit    P03    =    P0^3;
sbit    P24    =    P2^4;

另外,这些引脚外部有没有接什么负载?   P0口上有没有接上拉电阻?
P24上如果接了负载,有可能是被负载强制拉低了。

使用特权

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

本版积分规则

4

主题

10

帖子

0

粉丝