21ic电子技术开发论坛 单片机与嵌入式系统 侃单片机论坛 51单片机程序跑飞了,大家帮忙看看吧
发新帖我要提问
返回列表
打印
[51单片机]

51单片机程序跑飞了,大家帮忙看看吧

[复制链接]
2652|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
samsunghellome|  楼主 | 2013-8-28 16:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 samsunghellome 于 2013-8-28 17:44 编辑

k1先导通k2再导通,led亮,
k2先导通k1再导通,led灭。
#include<reg52.h>
bit a=0 ;
sbit   k1=P3^0;
sbit   k2=P3^1;
sbit   led=P1^0;
void DelayUs2x(unsigned char t);
void DelayMs(unsigned char t);
void main()
{      if(k1==0&&a==0)
       {DelayMs(10);
        if(k1==0&&a==0)
         {//a=1;//a是判断第一次按下的标志
          while(a==0||k2==0)
            {
              if(k2==0)
              {
                DelayMs(10);
                if(k2==0)
                {
                 led=0;
                 a=1;
                }
              }
            }
         }   
     }
      if(k2==0&&a==1)
      {DelayMs(10);
      if(k2==0&&a==1)
         {//a=1;
           while(a==1||k1==0)
               {if(k1==0)
                  {DelayMs(10);
                      if(k1==0)
                        {led=1;
                           a=0;                          
                        }
                  }
               }
         }   
     }
}
void DelayUs2x(unsigned char t)
{   
while(--t);
}

void DelayMs(unsigned char t)
{
     
while(t--)
{
     //大致延时1mS
     DelayUs2x(245);
  DelayUs2x(245);
}
}

相关帖子

沙发
ayb_ice| | 2013-8-28 17:01 | 只看该作者
while(1)都不知道

void main()
{      
        while(1)
        {
                ....
        }
}

使用特权

评论回复
板凳
NE5532| | 2013-8-28 17:08 | 只看该作者
又遇到不写主循环的孩纸,面壁2小时或者提菜刀去找自己的单片机老师退学费。

使用特权

评论回复
地板
创隆电子| | 2013-8-28 21:20 | 只看该作者
这是我给他的一个思路吗,诶想到就这样用了。徒弟呀要有自己的想法,

使用特权

评论回复
5
创隆电子| | 2013-8-28 21:26 | 只看该作者
写程序无非就是按着想法写,最后就完成了。比如想完成1+1=2,既然有思路就按想法写就行,1+1=K,  P0=K;就显示出K的值了,问题就这样按着想法一步一步写,没有写不出来的。开始时可以先不管什么多模块啦,算法好不好啦!等一些问题,主要是把功能实现。最终交到客户手里是产品,不是程序,客户只关注更能,不在乎你程序是怎么执行的。等到有基础后可以在改进呀‘

使用特权

评论回复
6
创隆电子| | 2013-8-28 21:28 | 只看该作者
看看,大循环没用让人家笑话了,大家不要笑,要看程序执行过程与结果

使用特权

评论回复
7
创隆电子| | 2013-8-28 21:29 | 只看该作者
NE5532 发表于 2013-8-28 17:08
又遇到不写主循环的孩纸,面壁2小时或者提菜刀去找自己的单片机老师退学费。 ...

我可没有收学费,只是共同探讨。

使用特权

评论回复
8
创隆电子| | 2013-8-28 21:41 | 只看该作者
不要想吃别人钓的鱼,要想办法知道人家钓鱼的技术

使用特权

评论回复
9
samsunghellome|  楼主 | 2013-8-29 08:16 | 只看该作者
创隆电子 发表于 2013-8-28 21:41
不要想吃别人钓的鱼,要想办法知道人家钓鱼的技术

鱼不是最重要的,渔具和技术才是最重要的。鱼或许能解决暂时的温饱,却解决不了一世的温饱,哈哈!

使用特权

评论回复
10
sunhq02| | 2013-8-29 10:56 | 只看该作者
呵呵,没错
真逗

使用特权

评论回复
11
杨爱林林| | 2013-8-29 13:05 | 只看该作者
唱双簧呢

使用特权

评论回复
12
q379479344| | 2013-8-29 14:49 | 只看该作者
飞啊飞

使用特权

评论回复
13
coody| | 2013-8-29 16:22 | 只看该作者
让MCU飞一会

使用特权

评论回复
14
samsunghellome|  楼主 | 2013-8-29 16:27 | 只看该作者
创隆电子 发表于 2013-8-28 21:28
看看,大循环没用让人家笑话了,大家不要笑,要看程序执行过程与结果

;P

使用特权

评论回复
15
限量_个性。| | 2013-8-29 16:29 | 只看该作者
呵呵了 ~~

使用特权

评论回复
16
fjzzfjzz| | 2013-9-4 15:24 | 只看该作者
  下次遇到这个问题就知道首先看while循环了:D

使用特权

评论回复
17
zhaotao108| | 2013-9-13 10:06 | 只看该作者
呵呵

使用特权

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

本版积分规则

43

主题

198

帖子

0

粉丝
关闭 热门推荐
快速回复 在线客服 返回列表 返回顶部