基本信息
文件名称:Arduino 系列:Arduino Micro (基于 ATmega32U4)_(12).Arduino Micro的数字输入与输出.docx
文件大小:25.96 KB
总页数:30 页
更新时间:2025-06-27
总字数:约1.44万字
文档摘要

PAGE1

PAGE1

ArduinoMicro的数字输入与输出

数字输入与输出的基本概念

在ArduinoMicro中,数字输入和输出是最基本的功能之一。数字输入和输出是指通过Arduino的数字引脚来读取或发送高低电平信号。数字输入通常用于读取开关、按钮等二进制状态,而数字输出则用于控制LED、继电器等设备的开关状态。

数字输入

数字输入通过读取引脚的电平状态来获取信息。ArduinoMicro的数字引脚可以读取高电平(5V或3.3V,取决于供电电压)和低电平(0V)。这种二进制状态可以通过digitalRead()函数来读取。

数字输出

数字输出则是通过设置引脚的电平状态来控制外部设备。ArduinoMicro的数字引脚可以输出高电平(5V或3.3V)和低电平(0V)。这种控制可以通过digitalWrite()函数来实现。

数字引脚的模式设置

在使用数字输入和输出之前,需要通过pinMode()函数设置引脚的模式。pinMode()函数有两个参数:引脚编号和模式(输入或输出)。

输入模式

INPUT:引脚作为输入使用,高阻态,不提供内部上拉或下拉电阻。

INPUT_PULLUP:引脚作为输入使用,内部上拉电阻启用,引脚默认为高电平。

输出模式

OUTPUT:引脚作为输出使用。

代码示例

voidsetup(){

//设置引脚13为输出模式

pinMode(13,OUTPUT);

//设置引脚2为输入模式

pinMode(2,INPUT);

//设置引脚3为输入模式并启用内部上拉电阻

pinMode(3,INPUT_PULLUP);

}

voidloop(){

//读取引脚2的状态

intbuttonState=digitalRead(2);

//根据按钮状态控制引脚13的LED

if(buttonState==HIGH){

digitalWrite(13,HIGH);//点亮LED

}else{

digitalWrite(13,LOW);//熄灭LED

}

}

数字输入的使用

读取按钮状态

按钮是最常见的数字输入设备之一。通过连接按钮和一个上拉或下拉电阻,可以将按钮的状态读取到ArduinoMicro中。

硬件连接

按钮的一端连接到数字引脚(例如引脚2)。

按钮的另一端连接到GND。

如果使用内部上拉电阻,可以直接连接按钮到GND。

代码示例

constintbuttonPin=2;//按钮连接到引脚2

constintledPin=13;//LED连接到引脚13

voidsetup(){

//设置引脚模式

pinMode(buttonPin,INPUT_PULLUP);

pinMode(ledPin,OUTPUT);

}

voidloop(){

//读取按钮状态

intbuttonState=digitalRead(buttonPin);

//根据按钮状态控制LED

if(buttonState==LOW){

digitalWrite(ledPin,HIGH);//按钮按下时点亮LED

}else{

digitalWrite(ledPin,LOW);//按钮未按下时熄灭LED

}

}

延时去抖动

按钮在按下或释放时可能会产生抖动,导致读取到的状态不稳定。可以通过软件延时来去抖动。

代码示例

constintbuttonPin=2;//按钮连接到引脚2

constintledPin=13;//LED连接到引脚13

constintdebounceDelay=50;//去抖动延时50毫秒

voidsetup(){

//设置引脚模式

pinMode(buttonPin,INPUT_PULLUP);

pinMode(ledPin,OUTPUT);

}

voidloop(){

//读取按钮状态

intbuttonState=digitalRead(buttonPin);

//延时去抖动

delay(debounceDelay);

//再次读取按钮状态

intbuttonState2=digitalRead(buttonPin);

//如果两次读取状态一致,认为是稳定状态

if(buttonState==button