打印
[51单片机]

求助 一个奇怪的问题

[复制链接]
1641|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
987376261|  楼主 | 2014-1-6 13:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
好久没玩单片机了 最近做个课设  碰到这么个奇怪的问题
程序写成P1=0x0f;if(P1^0==1&&P1^1==1&&P1^2==1&&P1^3==1&&P1^4==0&&P1^5==0&&P1^6==0&&P1^7==0)时 这个IF条件是成立的
可是写成P1=0x0f;if(P1==0x0f)时 这个IF条件就不成立了
这两个条件不是等价的吗
单片机是STC12C5608AD 这是什么情况

相关帖子

沙发
as564335sa| | 2014-1-6 13:37 | 只看该作者
P1是一个寄存器,头文件里对应的是一个地址值,这样是不会成立的吧,试试if(P1&0xff)

使用特权

评论回复
板凳
as564335sa| | 2014-1-6 13:47 | 只看该作者
不对,是我错了,你那样写是没错的,语法上也没错,测试一下编译是能通过的,条件不成立考虑软硬件问题吧

使用特权

评论回复
地板
987376261|  楼主 | 2014-1-6 14:13 | 只看该作者
as564335sa 发表于 2014-1-6 13:47
不对,是我错了,你那样写是没错的,语法上也没错,测试一下编译是能通过的,条件不成立考虑软硬件问题吧 ...

噢噢 谢了
我也是最近要做个课设 需要用到按键  可是按键程序老是出错  一步步检查发现居然是这个问题  好奇怪
困扰了一天也没解决。以前从来没有这种情况  能不能说说可能是硬件哪里的问题

使用特权

评论回复
5
yzjgod| | 2014-1-6 15:37 | 只看该作者
你这是没有考虑去全面,0x0f是0-3脚,那4-7脚的状态呢?这个是不定的,所以你要屏蔽掉4-7脚的状态,&0x0f就可以了

使用特权

评论回复
6
yzjgod| | 2014-1-6 15:47 | 只看该作者
我看错了,不过你是按键,应该是输入,你怎么给弄成了输出?
还有你为什么先赋值,然后马上判断?这么做有可能会被编译器优化出问题。

使用特权

评论回复
7
ayb_ice| | 2014-1-6 16:01 | 只看该作者
P1^0不等于P1的位0,
是P1与0民或的结果

使用特权

评论回复
8
987376261|  楼主 | 2014-1-6 16:59 | 只看该作者
yzjgod 发表于 2014-1-6 15:47
我看错了,不过你是按键,应该是输入,你怎么给弄成了输出?
还有你为什么先赋值,然后马上判断?这么做有 ...

额 这个是我自己为了解决按键程序问题另外写的一个独立的测试程序 没有用到按键  只是用单片机执行用数码管看结果的简单程序
还有就是我给单片机换成STC12C5410或STC90都正常  唯独这个STC12C5608不知道怎么回事

使用特权

评论回复
9
yzjgod| | 2014-1-6 17:19 | 只看该作者
987376261 发表于 2014-1-6 16:59
额 这个是我自己为了解决按键程序问题另外写的一个独立的测试程序 没有用到按键  只是用单片机执行用数码 ...

那你看一下芯片的手册吧,可能是硬件的问题,看看有什么复用的功能,比如I2C,可能这些复用功能的使用比较奇怪

使用特权

评论回复
10
987376261|  楼主 | 2014-1-6 17:24 | 只看该作者
ayb_ice 发表于 2014-1-6 16:01
P1^0不等于P1的位0,
是P1与0民或的结果

谢谢提醒:)

使用特权

评论回复
11
987376261|  楼主 | 2014-1-6 17:30 | 只看该作者
谢谢大家了  我刚才又写了一些测试程序  发现是这个板子的P1^2接在了一个电位器上  调了一下电位器正常了

使用特权

评论回复
12
987376261|  楼主 | 2014-1-6 17:30 | 只看该作者
987376261 发表于 2014-1-6 16:59
额 这个是我自己为了解决按键程序问题另外写的一个独立的测试程序 没有用到按键  只是用单片机执行用数码 ...

谢谢了

使用特权

评论回复
13
haitun1895| | 2014-1-6 23:32 | 只看该作者
if(P1==0x0f),“==”P1是常数了?还是要P1=0x0f?

使用特权

评论回复
14
chenyu988| | 2014-1-10 10:12 | 只看该作者
量一下p1的各个IO是不是0x0f不就行了

使用特权

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

本版积分规则

7

主题

22

帖子

0

粉丝