4987|8

69

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

各位大神,求解 [复制链接]

为什么我的按键不能控制流水灯的模式呢?
   求解。。。。

#include
#include"intrinsics.h"
//#include"in430.h"
/*
* main.c
*/

int main(void)
{


    WDTCTL = WDTPW | WDTHOLD;        // Stop watchdog timer
    //P2DIR |= BIT1;
    unsigned char LED[]={BIT0,BIT2,BIT3,BIT4,BIT5,BIT6,BIT7};
    unsigned int i;
    P2SEL = 0;
    P2DIR |= (BIT0+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7);
    P2IE=0;
    P6DIR |= (BIT0+BIT1+BIT2+BIT3);

    P2DS = 0XFF;
    P6IN |= 0X00;
  while(1)
  {  if((P6IN|=BIT0)!=(P6IN|=BIT2))            // push keybord

        {
                for(i=0;i<7;i++)
                    {
                    P2OUT = LED[7-i];  // ~flow
                _delay_cycles(1000000);
                }
        }
     else
            {
                     for(i=0;i<7;i++)
                    {
                    P2OUT = LED;  //  flow
                  _delay_cycles(1000000);
                    }
            }
   }file:///D:\QQPCMgr(1)\Documents\Tencent Files\951141617\Image\C2C\4988214294C2C471C82887ED5247C7CF.jpg
}file:///D:\QQPCMgr(1)\Documents\Tencent Files\951141617\Image\C2C\4988214294C2C471C82887ED5247C7CF.jpg

最新回复

楼主好好学学c语音基础吧。随便找个程序, 看看别人是如何判断按键动作的。把每个灯单独点亮,在循环显示,就行了。  详情 回复 发表于 2016-12-22 20:50
点赞 关注
个人签名

More information,please add the weibo ID :_Tang辉,chat number :951141617


回复
举报

1158

帖子

2

TA的资源

版主

沙发
 
  P2OUT = LED;  ??
你的if当中else分支中上面这个语句是不是错了。
建议:
1.拆分调试,先测试好按键没有问题,然后测试两种不同模式的流水灯
2.综合调试,结合正确的按键程序和流水灯程序进行调试
 
 

回复

6040

帖子

205

TA的资源

版主

板凳
 
我建议你好好学学C语言吧,从昨天的代码到今天的代码,完全没有长进。
 
 
 

回复

4

帖子

1

TA的资源

一粒金砂(初级)

4
 
不错不错  继续努力
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(中级)

5
 
if((P6IN|=BIT0)!=(P6IN|=BIT2))            // push keybord
感觉别扭
 
 
 

回复

1万

帖子

142

TA的资源

版主

6
 
建议楼主先规划好程序流程,编程时应大量使用注释,注释要体现出流程。别怕麻烦,从一开始养成好习惯,以后的路就会越走越顺,前面费力后面才能省事。
 
个人签名上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
 
 

回复

69

帖子

0

TA的资源

一粒金砂(中级)

7
 
lcofjp 发表于 2016-12-22 12:16
我建议你好好学学C语言吧,从昨天的代码到今天的代码,完全没有长进。

if(P1IN&BIT1)这个是高低平,那如果我想低电平应该怎么写呢?

点评

if ((P1IN&BIT1) == 0)  详情 回复 发表于 2016-12-22 17:16
 
个人签名

More information,please add the weibo ID :_Tang辉,chat number :951141617

 
 

回复

6040

帖子

205

TA的资源

版主

8
 
HI唐辉 发表于 2016-12-22 15:49
if(P1IN&BIT1)这个是高低平,那如果我想低电平应该怎么写呢?

if ((P1IN&BIT1) == 0)
 
 
 

回复

3471

帖子

11

TA的资源

五彩晶圆(高级)

9
 
楼主好好学学c语音基础吧。随便找个程序, 看看别人是如何判断按键动作的。把每个灯单独点亮,在循环显示,就行了。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表