购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.8.2 数字IO口的应用

13号引脚的LED控制就属于数字I/O输出控制,本节介绍数字I/O输入的使用。

1.实验原理

本节实例是在2号引脚加一个按键开关,当按下按键时,13号引脚的LED点亮,同时通过串口发送合计的按键次数,当松开按键时,LED熄灭。

2.硬件连接

将按键的一端接2号引脚,另一端接地,同时为保持2号引脚输入状态的稳定,加1个5.1kΩ的上位电阻在2号引脚。另外不要忘了把 Arduino 连接在计算机上,实例电路如图1-58所示。

图1-58 数字I/O口实例电路

3.程序代码

/***********************************************

数字I/O口实例程序

按键在2号引脚

按下按键时,13号引脚的LED点亮,同时通过串口发送合计的按键次数,当松开按键时,LED熄灭。

This example code is in the public domain.

***************************************************/

int keysum=0; //按键次数

/***************************************************

初始化部分——Setup()函数

***************************************************/

void setup()

{

//设置串口波特率为9600bps;

serial.begin(9600);

//设置13号引脚为输出

pinmode(13,OUTPUT);

//设置2号引脚为输入

pinmode(2,INPUT);

}

/*************************************************

执行部分——loop()函数

****************************************************/

void loop()

{

//判断按键是否被按下

if(LOW==digitalRead(2))

{

//延时去抖

delay(50);

if(LOW==digitalRead(2))

{

//点亮LED

digitalwrite(13,HIGH)

keySum++;

//发送按键次数

serial.pront(keySum,DEC);

while(1)

{

//判断是否松开按键

if(HIGH==digitalRead(2))

{

//延时去抖

delay(50);

if(HIGH==digitalRead(2))

break;

}

//熄灭LED

digitalWrite(13,LOW);

}

}

} lYhrSEncjCnmJYHZly0Io/IYYyVoXclgjllNOXg2ah643VmlLigqTPMXvbcXOmDY

点击中间区域
呼出菜单
上一章
目录
下一章
×