基本信息
文件名称:Arduino 系列:Arduino Uno (基于 ATmega328P)_(6).数字输入输出.docx
文件大小:21.81 KB
总页数:17 页
更新时间:2025-06-27
总字数:约7.62千字
文档摘要

PAGE1

PAGE1

数字输入输出

概述

数字输入输出是ArduinoUno中最基本的功能之一。通过数字输入输出引脚,可以实现对各种数字信号的读取和控制。数字引脚可以设置为输入模式(INPUT)或输出模式(OUTPUT),并且可以读取高电平(HIGH)或低电平(LOW)信号,或者输出相应的电平信号。

数字引脚的配置

pinMode()函数

pinMode()函数用于设置引脚的模式,即引脚作为输入还是输出。此函数有两个参数:

pin:要设置的引脚编号。

mode:引脚模式,可以是INPUT、OUTPUT或INPUT_PULLUP。

代码示例

voidsetup(){

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

pinMode(13,OUTPUT);

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

pinMode(2,INPUT);

//设置引脚3为输入带上拉模式

pinMode(3,INPUT_PULLUP);

}

voidloop(){

//在主循环中,可以进行其他操作

}

INPUT_PULLUP模式

INPUT_PULLUP模式是数字引脚的一个特殊输入模式,它内部连接了一个上拉电阻。这意味着当引脚未连接任何外部设备时,它默认为高电平(HIGH)。当外部设备将引脚拉低时,引脚读取到的信号将为低电平(LOW)。

代码示例

voidsetup(){

//设置引脚2为输入带上拉模式

pinMode(2,INPUT_PULLUP);

}

voidloop(){

//读取引脚2的状态

intbuttonState=digitalRead(2);

//根据按钮状态控制LED

if(buttonState==LOW){

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

}else{

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

}

}

读取数字输入

digitalRead()函数

digitalRead()函数用于读取指定引脚的数字输入状态。此函数返回HIGH或LOW。此函数只有一个参数:

pin:要读取的引脚编号。

代码示例

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

voidsetup(){

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

pinMode(buttonPin,INPUT);

}

voidloop(){

//读取按钮状态

intbuttonState=digitalRead(buttonPin);

//根据按钮状态控制LED

if(buttonState==HIGH){

digitalWrite(13,HIGH);//按钮未按下时,LED亮

}else{

digitalWrite(13,LOW);//按钮按下时,LED灭

}

}

带有内部上拉电阻的按钮

使用带有内部上拉电阻的按钮可以简化电路设计。当按钮未按下时,引脚被上拉电阻拉高,读取到的信号为HIGH;当按钮按下时,引脚被拉低,读取到的信号为LOW。

代码示例

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

voidsetup(){

//设置引脚2为输入带上拉模式

pinMode(buttonPin,INPUT_PULLUP);

}

voidloop(){

//读取按钮状态

intbuttonState=digitalRead(buttonPin);

//根据按钮状态控制LED

if(buttonState==LOW){

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

}else{

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

}

}

控制数字输出

digitalWrite()函数

digitalWrite()函数用于设置指定引脚的数字输出状态。此函数有两个参数:

pin:要设置的引脚编号。

state:输出状态,可以是HIGH或LOW。

代码示例

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

voidsetup(){

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

pinMode(ledPin,OUTPUT)