一个按键实现三个LED的亮灭延时控制

发布者:大伊山人最新更新时间:2017-12-29 来源: eefocus关键字:按键实现  LED  延时控制 手机看文章 扫描二维码
随时随地手机看文章

/***********************
* 编译器:Keil C uVision4
* 芯片:STC89C52,12M晶振
********************http://www.wang1jin.com**********************/
实现功能:按下按键三个全亮,在按下LED2灭,再按下三个LED全灭,如此循环,相当于三档,第三档是停止。第一档和第二档定时5S,5S终了,停止运行,如果此时再按1次则回到第一档。如果5S之内按下,则切换到下一档。


实现功能:按下按键三个全亮,在按下LED2灭,再按下三个LED全灭,如此循环,相当于三档,第三档是停止。第一档和第二档定时5S,5S终了,停止运行,如果此时再按1次则回到第一档。如果5S之内按下,则切换到下一档。


#include
#define uint  unsigned int
#define uchar unsigned char

sbit Key = P3^3;
sbit LED0 = P0^0;
sbit LED1 = P0^1;
sbit LED2 = P0^2;
uchar KEY_Data = 0; //按键值
bit Time_Data = 0; //定时标志位
uchar Time = 0;  //定时计时
uchar Time_ms=0;  //MS计时
uchar Time_s =0;  //S计时
void Delay(uint i);
void READ_KEY(void);
void LED1_ON(void);
void LED2_ON(void);
void LED_OFF(void);
void main(void)
{
  TMOD=0x01;
        TH0=(65536-50000)/256;//50ms的初值
        TL0=(65536-50000)%256;
        ET0=1;
        TR0=1;
  EA=1;  
  while(1)
   {
   READ_KEY();//执行按键程序
   LED1_ON();//第1次按下执行
   LED2_ON();//第2次按下执行
   LED_OFF();//第3次按下执行
   }
}

void READ_KEY(void)
{
uchar Value =0;
uchar Value1 = 0;
if(Key == 0)//按键扫描
  {
   Delay(2000);
   if(Key ==0)
    {
     while(Key ==0 && Value1<100)//判断按键松开并执行
      {
       Value1++;
       Delay(1000);
      }
     KEY_Data++;
     Time_s = 0; //清空之前计时时间
     Time_Data = 1;//开启定时
     if(KEY_Data >2)
      {
       KEY_Data =0;
      }
    }
  }
}

void LED1_ON(void)//第一次按下点亮所有LED
{
if(Time_Data ==1 && KEY_Data ==1)
  {
   LED0 =0;
   LED1 =0;
   LED2 =0;
  }
}
void LED2_ON(void)//第二次按下关闭LED2
{
if(Time_Data ==1 && KEY_Data == 2)
  {
   LED1 = 1;
  }
}
void LED_OFF(void)//第三次按下或定时时间到关闭所有LED
{
if(KEY_Data == 0 ||Time_Data==0)
  {
   LED0 = 1;
   LED1 = 1;
   LED2 = 1;
  }
}

void timer0() interrupt 1 //定时器计时50MS
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
  if(Time_Data == 1)
   {
           Time++;
           if(Time>100)
                   {
                           Time=0;
                           Time_Data =0;
                   }
   }
}

void Delay(uint i)//延时函数
{
for(;i>0;--i);
}


关键字:按键实现  LED  延时控制 引用地址:一个按键实现三个LED的亮灭延时控制

上一篇:普通51单片机驱动3.5寸TFT的应用实例与源代码!
下一篇:8*8点阵流水显示程序与原理

推荐阅读最新更新时间:2024-03-16 15:50

意法半导体(ST)突破LED相机闪光灯极限
中国,2012年2月13日 —— 横跨多重电子应用领域的全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)将让尺寸紧凑的数码相机和智能手机能够满足用户提高内置闪光灯输出功率的要求,同时支持更先进的用户控制功能。 意法半导体的新芯片 STCF04是一个内置的闪光灯/手电筒双模式相机闪光灯控制器,能够把LED闪光灯模块的最大功率从今天一般的几瓦功率设计提高到40W以上,发出户外安全泛光灯级别的亮度。新产品还可提供更多的闪光灯和手电筒亮度控制功能,闪光灯模式有8个用户可选亮度,手电筒模式有12个用户可选亮度,并提供一个光线传感器输入。控制器芯片内置闪光灯和手电筒安全计时器、温
[电源管理]
ARM学习笔记13——LED驱动程序设计
首先我们要根据开发板原理图得到控制LED灯的引脚是哪个,我们现在以LED1为例,我们已经知道LED1由S5PV210的GPC1_3控制,因此我们按如下步骤进行: 第一步是配制S5PV210的GPC1_3为输出口; 第二步我们禁止GPC1_3的上、下拉电阻功能; 第三步就是控制GPC1_3输出高电平或低电平。 要想对GPC1进行配置,那我们需要知道其配置寄存器的地址,根据S5PV210的编程手册我们可以知道: GPC1的配置寄存器地址是:0xE0200080 GPC1数据寄存器地址是:0xE0200084 GPC1上、下拉控制寄存器地址是:0xE0200088 同样由S5PV210的编程手册得知
[单片机]
2018年全球电视面板LED背光需求疲软
  据业内人士透露,尽管预计即将在俄罗斯举行的世界杯能推动液晶电视的销量,但是2018年第二季度全球电视用 LED 背光的需求并没有回升。下面就随嵌入式小编一起来了解一下相关内容吧。   该消息来源称,今年5月和6月, LED 背光订单仍然不透明。与此同时,随着中国 LED 全新封装能力的上线,可能会出现供过于求的情况,导致第二季度价格的下跌。   尽管如此,但是LED封装商们纷纷表示,智能手机相机闪存领域和AlGaInP LED领域对照明和精细像素间距显示器的需求依旧强劲。   中国台湾LED外延片和芯片制造商晶元光电计划在2018年第三季度开始生产用于智能手机屏幕背光的Mini LED芯片。然而,5.5英寸全高清智能手机
[嵌入式]
如何应用陶瓷电容控制LED球泡灯的噪声并实现平滑功能?
近来,对电子设备除了早前的小且薄,节能,低噪等要求外,更有望以防止全球气候变暖为视点达到生态所需。在这样的市场需求下,从2009年开始普及的LED球泡灯在达到了小且薄的同时还因使用寿命长而实现了高生态性,对于其搭载的电子元器件同样也被要求小型薄型化,使用寿命长。 LED球泡灯因配备了功率为10W左右的小功率电源,主要是使用电解电容和薄膜电容器达到了平滑功能,但使用小型且更长寿命的陶瓷电容器的事例也在增加。 比传统的陶瓷材料能获得更高静电容量的陶瓷电容器,本文将对其特性进行介绍,并介绍以LED球泡灯为主的其他电子设备的电源推荐使用电路。 新材料陶瓷电容器的性能 新材料陶瓷的特性与传统材料相比,居里点转移至低温侧,使其在常温下(25
[电源管理]
如何应用陶瓷电容<font color='red'>控制</font><font color='red'>LED</font>球泡灯的噪声并<font color='red'>实现</font>平滑功能?
美力时照明推出售价低于12美元的4.5瓦新LED射灯系列
      “LED照明产品的价格不再高不可攀和遥不可及。大众能消费得起的VIRIBRIGHT品牌让一切成为可能。美力时照明推出了”建议零售价”低于12美元的4.5瓦新LED射灯系列。       VIRIBRIGHT新射灯比卤素射灯节能90%,它大大降低了能耗,并帮助实现全球性的节能目标。其在热管理方面的提高,及美力时照明拥有专利权的LED驱动器使该射灯只产生很少的热量,大部分能量直接转化为光,消除了过多的热量积聚对能源成本造成的不利影响。这款VIRIBRIGHT新射灯可以持续20000小时以上,而且对环境很安全。此产品已通过CE认证,并将于四月底通过UL认证。       VIRIBRIGHT环保系列还包括5W LE
[电源管理]
消费类电子产品多彩背光LED灯的设计方法
  消费类电子产品面向的主要是年轻的消费群体,为了吸引消费者,工程人员总是想方设法让产品的功能变得更加的完善,外表变得更加的绚丽。然而,在产品成本高透明度以及研发周期短的情况下,如何提升产品的竞争力,这已经成为研发人员所面临的一个事实。当前流行的MP3/MP4、手机等消费类电子产品添加七色或者多色背光的功能就是一个非常典型的例子,其所付出的仅仅只是几个LED(发光二极管)的成本,却达到了让产品的操作界面更加绚丽和个性化。   应用范围   彩色背光应用最典型的是应用在MP3产品的LCD背光,手机键盘灯背光,以及一些其他需要背光显示的产品。   传统7色背光设计方法,7色背光的实现方法,硬件如下。只利用了主控制器的3条
[电源管理]
消费类电子产品多彩背光<font color='red'>LED</font>灯的设计方法
LED隧道灯透镜全偏光设计技术解析
随着国内的环境污染问题日益突出,节能减排受到了前所未有的重视。 LED 作为第四代 照明 光源,具有节能、环保、寿命长等优点,已被广泛应用在室内、户外以及特殊照明上。   目前大多数的 LED 属于 (近) 朗伯型光源,为了使 LED 的发光分布符合实际应用,需要对LED进行二次配光。现有的 LED 配光有反射式 (反光杯) 和折射式 (透镜) 等方式,其中折射式配光对光的控制性强,被广泛应用于道路和隧道照明中。为了使 LED 照明灯具有更高的能量利用率,目前道路灯具的配光多数采用偏光形式。这里的偏光指的是灯具的配光沿着车辆行进方向为对称分布,而垂直于车辆行进方向为非对称分布,如图 1 所示。   随着道路照明设计的不断发展,道
[电源管理]
<font color='red'>LED</font>隧道灯透镜全偏光设计技术解析
一面板厂Micro LED屏,将进入车厂供应链
据Digitime报道,友达光电的M ic ro LED 显示屏 或进入车厂供应链。标志着Micro LED车载商用化进入新阶段。 其实面板厂推进Micro LED车载的商业化已有伏线,可从3个表现来看: 1、近期Micro LED车载产品进度 2、2023年面板厂积极布局Micro LED以及车载项目 3、面板企业Micro LED投产加速 近期车载Micro LED产品进度 近期,多家企业发布Micro LED车载产品。如在近期的CES 2024中,就有多个车载Micro LED产品展示: 友达发布〝交互式透明智慧车窗(Interactive Transparent Window)〞将高透明Micr
[汽车电子]
一面板厂Micro <font color='red'>LED</font>屏,将进入车厂供应链
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved