| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4752 人关注过本帖
标题:51 单片机消斗问题
取消只看楼主 加入收藏
小代帅帅
Rank: 1
来 自:北京昌平
等 级:新手上路
帖 子:92
专家分:7
注 册:2013-5-11
结帖率:89.66%
收藏
已结贴  问题点数:20 回复次数:1 
51 单片机消斗问题
请过往牛人帮帮忙!学习51单片机过程中看到这样一条语句delay(20),delay()函数是定义的延时函数,就是两个for语句执行循环空操作的那种。通过查找资料知道这是一条消斗语句,但是不知道这条语句有什么功效,把这条语句删除之后发现程序不能正常执行,这是怎么回事呢?还有就是if(s2==20)这条语句不明白是什么意思!请牛人指教一下我的这两个疑问!下边是那个代码,希望能得到牛人的帮助!非常感谢!!
#include<reg52.h>

#define uchar unsigned char
uchar num;

sbit beep=P2^3;
sbit led=P1^0;
sbit s2=P3^4;

void delay(uchar i)
{
    uchar j,k;
    for(j=i;j>0;j--)
    for(k=125;k>0;k--);
}

void main()
{
    while(1)
    {
        if(s2==0)
        {
            delay(20);         //消抖
            if(s2==20)
            {
                while(!s2);     //等待按键松开
                num++;
            }
            switch(num)
            {
                case 1: led=0;    beep=1; break;
                case 2: beep=0;    led=1;    num=0; break;
            }
        }
    }
}
搜索更多相关主题的帖子: include 单片机 资料 
2014-10-07 11:53
小代帅帅
Rank: 1
来 自:北京昌平
等 级:新手上路
帖 子:92
专家分:7
注 册:2013-5-11
收藏
得分:0 
回复 2 楼 tlliqi
图片附件: 游客没有浏览图片的权限,请 登录注册
你的帖子还有分数那么多,那你应该也是牛人吧!哈哈!说说意见呗

别用你的常规和常识来诋毁我卓越的创造力和另类的行为······
2014-10-09 21:11
快速回复:51 单片机消斗问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053726 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved