打印
[51单片机]

各位大神给挑挑毛病

[复制链接]
551|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小分子|  楼主 | 2016-8-1 21:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/****************************
独立按键,按一次按键,LED灯
左移一位
****************************/
#include <reg52.h>
#include <intrins.h>

#define uint unsigned int
#define uchar unsigned char
sbit Key=P1^0;

void delayms(uint z);

void main()
{
        P0=0xFE;
        Key=0x01;
        while(1)
        {
                if(!Key)
                {
                        delayms(10);                  //延时10MS前沿消抖
                        if(!Key)
                        {
                                P0=_crol_(P0,1);
                                //while(!Key);         //如果不加按键释放语句,LED灯会不断左移动直到释放按键,
                                                             //人为按键时间要大于10MS,所以导致Key的状态多次检测。
                                                                 //同时,这个语句是消耗CPU的,最好用定时中断解决。
                                //delayms(10);         //后沿没有必要消抖,因为按键都弹上去了,除非按键损坏。
                        }
                }
        }
}

void delayms(uint z)    //延时约1MS
{
        uint x,y;
        for(x=z;x>0;x--)
        {
                for(y=114;y>0;y--);
        }
}


相关帖子

沙发
ayb_ice| | 2016-8-2 08:22 | 只看该作者
有基本意识了,

使用特权

评论回复
板凳
火山LF| | 2016-8-2 15:48 | 只看该作者
楼上大神的意思是个褒义的,恭喜您啊

使用特权

评论回复
地板
小分子|  楼主 | 2016-8-2 21:55 | 只看该作者
火山LF 发表于 2016-8-2 15:48
楼上大神的意思是个褒义的,恭喜您啊

哈哈。我应该百尺芊头,更进一步啊。**长征第一步。

使用特权

评论回复
5
xgliyouquan| | 2016-8-2 22:42 | 只看该作者
希望继续努力

使用特权

评论回复
6
小分子|  楼主 | 2016-8-3 11:22 | 只看该作者

多谢支持,

使用特权

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

本版积分规则

18

主题

68

帖子

1

粉丝