例程7 抢答器

2023-10-12 14:59
文章标签 例程 抢答器

本文主要是介绍例程7 抢答器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 准备

      完成上面的实验以后相信已经有很多朋友可以独立完成这个实验了,本实验就是将上面的按键控制小灯的实验扩展成3 个按键对应3 个小灯,占用6 个数字I/O 接口。完成本实验要用到的元件如下:

按键开关*3 

直插LED*3

220Ω电阻*3

10KΩ电阻*3 

面包板*1

面包板跳线*1 扎

     原理这里就不多说了同上面实验,下面附上参考原理图和实物连接图。R1为220Ω电阻 ,R2为10KΩ电阻。

 

      按照右图链接好电路后,就可以开始编写程序了。此程序与前面程序除接口增多以外并无异处,因此不做程序注解分析。 

2. 代码

int redled=10;    //set IO 10 to red LED
int yellowled=9;//set IO 10 to yellow LED
int greenled=8;//set IO 10 to green LED
int redpin=7;    //red key pin  IO 7
int yellowpin=6;//yellow key pin  IO 6
int greenpin=5;//green key pin  IO 5
int red;    //变量声明
int yellow;//变量声明
int green;//变量声明
void setup()
{
  pinMode(redled,OUTPUT);    //set as output
  pinMode(yellowled,OUTPUT);  //set as output
  pinMode(greenled,OUTPUT);  //set as output
  pinMode(redpin,INPUT);     //set as input
  pinMode(yellowpin,INPUT);  //set as input
  pinMode(greenpin,INPUT);  //set as input
}
void loop()
{
  red=digitalRead(redpin);//读取按键状态
  if(red==LOW)            //按键状态为低
  { digitalWrite(redled,LOW);}//LED熄灭
  else                //按键状态为高
  { digitalWrite(redled,HIGH);}//LED点亮
  
  yellow=digitalRead(yellowpin);
  if(yellow==LOW)
  { digitalWrite(yellowled,LOW);}
  else
  { digitalWrite(yellowled,HIGH);}
  
  green=digitalRead(greenpin);
  if(green==LOW)
  { digitalWrite(greenled,LOW);}
  else
  { digitalWrite(greenled,HIGH);}
}

这篇关于例程7 抢答器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/196607

相关文章

Java的ArrayDeque使用例程

题目要求为: 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对n=5、8、4、2进行验证的时候,就可以直接

gcc make cmake例程

main.cpp文件: #include <iostream>#include "utils.h"int main(void) {int a = 1;int b = 2;int c = AddFunc(a, b);std::cout<< c <<std::endl;return 0;} utils.h文件: #pragma onceint AddFunc(int a, int b);

用手机做抢答器 低预算知识竞赛活动的选择

使用手机作为抢答器是低预算竞赛活动的一个理想选择。随着智能手机的普及,传统抢答器已经被手机抢答器所替代,这种转变不仅降低了成本,而且提供了更大的灵活性和便利性。通过手机扫码登录竞赛软件,参赛者可以直接在手机上进行抢答和答题,这种方式无需购买软件,只需要一台能上网的电脑连接大屏即可。知识竞赛在线租用系统通常包括后台管理、大屏展示、选手客户端三部分,通过租用方式使用系统,用户无需准备服务器硬件、相

【PSINS】SINS与航位推算的EKF例程讲解|三维轨迹

文章目录 SINS与航位推算例程构造滤波前滤波主体滤波后处理 运行结果源代码 SINS与航位推算 SINS是捷联惯导,略。 航位推算: 本文讲解的程序是PSINS工具箱(相关文章:PSINS初学指导,https://blog.csdn.net/callmeup/article/details/136459824)的一个函数,在此基础上进行优化。如果要运行,需要先安装工具箱

3-KYLIN订单例程

转:http://blog.itpub.net/30089851/viewspace-2122586/ 一.Hive订单数据仓库构建 1. 创建事实表并插入数据 DROP TABLE IF EXISTS default.fact_order ; create table default.fact_order (   time_key string,   product_key stri

“Flash闪存”介绍 及 “SD NAND Flash”产品的测试含例程

“Flash闪存”介绍 及 “SD NAND Flash”产品的测试含例程 文章目录 一、“FLASH闪存”是什么?1. 简介2. 特点3. 未来发展 二、SD NAND Flash1. 概述2. 特点3. 引脚分配4. 数据传输模式5. SD NAND寄存器6. 通电图7. 参考设计 三、STM32测试例程 三、STM32测试例程 本篇除了对flash闪存进行简单介绍外,另给读

【保姆级教程】“Flash闪存”介绍 及 “SD NAND Flash”产品的测试含例程

文章目录 一、“FLASH闪存”是什么?1. 简介2. 特点2.1 性能2.2 可靠性2.3 耐用性2.4 易于使用 3. 未来发展 二、SD NAND Flash1. 概述2. 特点3. 引脚分配4. 数据传输模式5. SD NAND寄存器6. 通电图7. 参考设计 三、STM32测试例程1. 初始化2. 单数据块测试3. 多数据块测试4. 状态缓冲 本篇除了对flash闪存

MATLAB代码|中心差分卡尔曼滤波(CDKF)的滤波例程,无需下载,直接复制到MATLAB上面就能运行

文章目录 CDKF介绍代码运行结果各模块解析初始化系统模型设置CDKF循环绘图 另有关于EKF和CDKF的对比程序:EKF+CDKF两个滤波的MATLAB程序,估计三轴位置,带中文注释—— https://blog.csdn.net/callmeup/article/details/136610153。 CDKF介绍 中心差分卡尔曼滤波(Central Differe

【逐行注释】容积卡尔曼滤波的MATLAB例程(三维CKF),无需下载,可直接复制代码到MATLAB上运行

文章目录 CKF完整源代码与注释程序运行结果绘图部分误差的统计特性计算与输出部分 CKF CKF全称为容积卡尔曼滤波,相比于UKF(无迹卡尔曼滤波),拥有更合理的理论推导和鲁棒性,且在理论上比UKF的精度更高。 另有: 与EKF的对比程序:https://blog.csdn.net/callmeup/article/details/136147833 完整源代码与注释

【GD32】从零开始学GD32单片机 | USB通用串行总线接口+HID键盘例程(GD32F470ZGT6)

1. 简介         USB,全称通用串行总线,相信大家都非常熟悉了,日常生活只要用到手机电脑都离不开这个接口,像鼠标键盘U盘都需要使用这个接口进行数据传输,下面简单介绍一下。 1.1 版本标准         USB的标准总体可以分为低速、全速和高速,分别对应USB 1.0、USB 1.1和USB 2.0版本;当然后面推出了USB 3.0、USB 3.1和目前最新的USB4标准,下面