按键控制灯的亮灭

1 主要实现按键控制灯的亮灭,按键按下,灯亮,再次按下,灯灭,主要对实现的逻辑进行控制,逻辑清晰,很简单,实现的方法有两种,方法1:将按键按下的值赋值给一个变量,变量除以2的值的是基数或者偶数来确定灯亮还是灯灭,程序中设置的是变量的值除以2为0时,灯亮;变量的值除以2为1时,灯灭;程序如下:

int keypin=0;
int ledpin=4;
int val;
int i;void setup()
{pinMode(keypin,INPUT);pinMode(ledpin,OUTPUT);
}void loop()
{val=analogRead(keypin);if(val==LOW){delay(1000);if(val==LOW){i++;if(i%2==0){digitalWrite(ledpin,HIGH);delay(1000);}if(i%2==1){digitalWrite(ledpin,LOW);delay(1000);}}}
}

方法2:赋初值0给i;读取按键的值,并且赋值给变量val,只要按键按下就将i的值加1,当i的值大于等于2时,将i的值强制设置为1,这样i的值只有0和1两种情况,当i为0时,灯亮;i为1时,灯灭;程序如下:

int keypin=0;
int ledpin=3;
int val;
int i=0;

void setup()
{
pinMode(ledpin,OUTPUT);
pinMode(keypin,INPUT);
}

void loop()
{
val=analogRead(keypin);
if(val==LOW)
{
i++;
if(i>=2)
{
i=0;
}
if(i=0)
{
digitalWrite(ledpin,HIGH);
delay(200);
}
if(i=1)
{
digitalWrite(ledpin,LOW);
delay(200);
}
}
}
以上两种方法就是这几天摸索的方法,希望对学习者有所帮助。

学习总结——按下按键灯亮,再次按下按键,灯灭相关推荐

  1. c51按键控制灯亮汇编语言,用一个按键控制LED灯亮/暗的汇编程序

    今天又搞了一个小汇编,是用一个按键控制LED灯亮/暗的汇编程序.程序编好后,开始编译,发现又是通不过,找了好几遍也没找到原因,后来找枫雪大哥看了,才找出原因,原来编写程序时不能在中文环境下编写,不然就 ...

  2. 51单片机学习历程(三)点亮单片机的第一盏灯

    点亮流水灯共有三种方式 1.一盏一盏的操作:即先令第一盏灯亮,延时,再令它熄灭,延时,再让下一盏灯重复操作即可: 2.利用数组方法点亮:先定义一个数组,其中存入相应8盏灯亮的数字(即0xfe,0xfd ...

  3. 计算机打字键盘亮怎么设置,怎么解决电脑键盘灯亮不能打字 解决电脑键盘灯亮不能打字的方法...

    今天给大家带来怎么解决电脑键盘灯亮不能打字,解决电脑键盘灯亮不能打字的方法,让您轻松解决问题. 有时候电脑突然键盘坏了的时候,我们如果是急着要用电脑的话,我们可以先启动电脑的虚拟键盘进行打字.下面学习 ...

  4. 灯亮怎么办_发动机故障灯亮了怎么办?看了这些,也许根本不用去4S店

    [资讯-牛车网] 在之前的长测文章中,有细心的网友发现我们的第14代轩逸仪表盘亮起了发动机故障灯,纷纷前来询问是不是车辆刚刚提车就发生了故障.这里小编先开门见山,故障灯与第14代轩逸的质量没有关系,是 ...

  5. c语言一个按键控制1个灯的亮灭,51 单片机:按键控制灯亮灭和闪烁

    要求: 上电灯不亮,按一下按键灯亮,再按一下灯闪烁,再按一下灯闪烁更快, 再按一下灯灭.... 如此循环. 链接:http://zhidao.baidu.com/question/1639123949 ...

  6. keil流水灯c语言程序两个一起亮,我用keil c51编了一个流水灯程序,编译无误却只有第一和第二个灯亮了,最后停在第一个灯处不动...

    满意答案 zJ张俭 2014.02.09 采纳率:43%    等级:12 已帮助:10469人 你有几个错误: 1 你的定时器没有重装,导致第一次中断和后面的中断时间不一样,第一次时间短,后面的时间 ...

  7. 小车故障灯亮显示大全_车辆故障灯亮了,还能继续行驶吗?该怎么做?

    汽车仪表盘上的故障灯是为了方便我们判断车子哪里出现故障所设计的.车子开好好的突然亮起故障灯,怎么办?还能继续行驶吗?别慌,先看看是什么灯亮.红灯还是黄灯,是有讲究的,搞不好还是个假故障. >&g ...

  8. 基于51单片机的智能无线LED灯控制 蓝牙手机APP控制灯亮灭亮度方案原理图设计

    硬件电路的设计 (下方附文件) 系统的功能分析及体系结构设计 3.1.1系统功能分析 本设计由STC89C52单片机电路+8位LED灯电路+蓝牙模块电路+电源电路组成. 1.通过手机APP可以控制8路 ...

  9. 毕业设计 基于51单片机无线蓝牙APP控LED灯亮灭亮度设计

    基于51单片机无线蓝牙APP控LED灯亮灭亮度设计 1.项目简介 1.1 系统构成 1.2 系统功能 2.部分电路设计 2.1 LED信号指示灯电路设计 2.2 蓝牙模块 3.部分代码展示 3.1 串 ...

  10. arm嵌入式led灯闪烁实验报告_嵌入式led灯亮灭实验报告

    实验名称 Led 灯的亮灭 姓名 XXX 学号 XXX 一. 实验目的 通过在 ARM7TDI 实验机上,使 D7~D8 两个灯如下进行亮灭:开始时 D7 灯亮, D8 灯灭:而后 D7 灯灭, D8 ...

最新文章

  1. 打包tomcat没有xml文件_Spring Boot 项目打包 War 并部署到 Tomcat
  2. linux基础知识-链接列表
  3. 【Linux】3.dpkg、apt安装卸载软件
  4. manjaro 21.2.5安装deb包
  5. Asp.net几大内置对象
  6. 今天研究了一下关于Asp.net文件上传时的内存消耗问题
  7. 阿里云服务器重启后无法访问的解决
  8. 360解压电脑版安装包_鲁大师电脑版2020下载-鲁大师pc版安装包exe下载v6.1020.3005.1020 官方最新版...
  9. 微信企业号支付个人php实现
  10. 2022电商人必备的7大工具推荐
  11. 基于CNN网络的轴承故障诊断
  12. java前后端分离(增删查改)
  13. 如何用迅雷下载在网页中的Flash动画或课件
  14. 中粮营销致远A6应用探秘:高速审批执行,营销策略落地
  15. 苹果 iOS 15.5更新了哪些功能 苹果 iOS 15.5值得更新吗
  16. 微博营销的价值和优缺点
  17. 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机
  18. css【详解】steps()函数
  19. Linux环境下MySql卸载
  20. 具有生物启发训练方法的物理深度学习:物理硬件的无梯度方法

热门文章

  1. python - 算法 - 简单 - 罗马数字转换
  2. 渗透过程中日志信息分析示例
  3. 联想微型计算机b540,联想B540一体机升级CPU 加内存
  4. Https接口异常javax.net.ssl.SSLHandshakeException问题
  5. C语言编程联练习 烤烧饼
  6. MySQL-Parser
  7. 机器学习-28-Conditional Generation by RNNAttention(条件生成和注意力机制)
  8. 二值化最佳阈值选取方法以及matlab实现
  9. 《Windows办公指南》魔改C:\Windows\System32\drivers\etc\hosts实现一个数据中心
  10. 出走的门徒之三——小红书郄小虎:穿越人心的迷雾