微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 按键开关控制 流水灯(定时器)

按键开关控制 流水灯(定时器)

时间:10-02 整理:3721RD 点击:
各路高手老师~~请指正不足之处~~谢谢!
    按键开关控制 流水灯(定时器)
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit key=P3^4;//定义自个的键
//void keyscan();
void init();
uchar aa,cc;
void yanshi(uint z)
{
uchar a,b;
for(a=z;a>0;a--)
  for(b=110;b>0;b--);
}
void main()
{
init();
cc=0xfe;
P1=cc;
P0=0xff;
while(1)
{
if(key==0)
  {
  yanshi(10);
if(key==0);
    while(!key);
    TR0=~TR0;     
        
       }
}
}
void init()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;  

}
void tims()interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++;   
  if(aa==10)   
   {
   aa=0;     
    P1=cc;     
   cc=_crol_(cc,1);
      }

}

不错,如果能用一个按键实现切换多种功能就更好了,比如:按一次就可以使流水灯流向发生变换,长按可以关闭/打开定时器之类的

考虑到了去抖动,还有松手检测,挺好的

顶。。

顶。。

有一个建议,就是最好加上一些注释,还有的话就是代码的格式规范一下,这样在代码量代码大的情况下对自己很有帮助。个人觉得

正解

可以设置按键次数,来切换不同效果显示

好的,谢谢大家~~ 提的宝贵意见

我的意见同上

管住嘴,迈开腿,打开百度搜一搜,点开论坛问一问,问题统统都解决

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top