pc向单片机发送指令点亮8个LED灯代码
时间: 2023-12-29 13:02:31 浏览: 30
以下是一个简单的示例代码,使用串口通信方式将指令发送给单片机,控制8个LED灯的点亮和熄灭:
```
// 定义串口通信引脚
#define RX_PIN 2
#define TX_PIN 3
// 定义LED灯引脚
#define LED1_PIN 4
#define LED2_PIN 5
#define LED3_PIN 6
#define LED4_PIN 7
#define LED5_PIN 8
#define LED6_PIN 9
#define LED7_PIN 10
#define LED8_PIN 11
void setup() {
// 初始化串口通信
Serial.begin(9600);
// 初始化LED灯引脚为输出模式
pinMode(LED1_PIN, OUTPUT);
pinMode(LED2_PIN, OUTPUT);
pinMode(LED3_PIN, OUTPUT);
pinMode(LED4_PIN, OUTPUT);
pinMode(LED5_PIN, OUTPUT);
pinMode(LED6_PIN, OUTPUT);
pinMode(LED7_PIN, OUTPUT);
pinMode(LED8_PIN, OUTPUT);
}
void loop() {
// 等待接收指令
while (Serial.available() <= 0);
// 读取指令
char command = Serial.read();
// 根据指令控制LED灯
switch (command) {
case '1':
digitalWrite(LED1_PIN, HIGH);
break;
case '2':
digitalWrite(LED2_PIN, HIGH);
break;
case '3':
digitalWrite(LED3_PIN, HIGH);
break;
case '4':
digitalWrite(LED4_PIN, HIGH);
break;
case '5':
digitalWrite(LED5_PIN, HIGH);
break;
case '6':
digitalWrite(LED6_PIN, HIGH);
break;
case '7':
digitalWrite(LED7_PIN, HIGH);
break;
case '8':
digitalWrite(LED8_PIN, HIGH);
break;
case '0':
digitalWrite(LED1_PIN, LOW);
digitalWrite(LED2_PIN, LOW);
digitalWrite(LED3_PIN, LOW);
digitalWrite(LED4_PIN, LOW);
digitalWrite(LED5_PIN, LOW);
digitalWrite(LED6_PIN, LOW);
digitalWrite(LED7_PIN, LOW);
digitalWrite(LED8_PIN, LOW);
break;
}
}
```
在 Arduino IDE 中将以上代码上传到单片机上,然后使用串口助手或其他串口通信工具向单片机发送指令,例如发送字符 `1` 将点亮第一个LED灯,发送字符 `0` 将熄灭全部LED灯。