51单片机led随多个开关位置亮灭
时间: 2024-03-19 15:44:31 浏览: 72
如果要实现多个开关控制多个LED灯亮灭,可以使用多个GPIO口来实现。下面是一个示例代码,其中使用P1.0~P1.3口控制四个LED灯,P2.0~P2.3口读取四个开关状态:
```c
#include <reg51.h>
sbit LED1 = P1^0; //LED1连接到P1.0口
sbit LED2 = P1^1; //LED2连接到P1.1口
sbit LED3 = P1^2; //LED3连接到P1.2口
sbit LED4 = P1^3; //LED4连接到P1.3口
sbit SWITCH1 = P2^0; //开关1连接到P2.0口
sbit SWITCH2 = P2^1; //开关2连接到P2.1口
sbit SWITCH3 = P2^2; //开关3连接到P2.2口
sbit SWITCH4 = P2^3; //开关4连接到P2.3口
void main()
{
while(1)
{
if(SWITCH1 == 0) //开关1按下
{
LED1 = 1; //LED1亮
}
else
{
LED1 = 0; //LED1灭
}
if(SWITCH2 == 0) //开关2按下
{
LED2 = 1; //LED2亮
}
else
{
LED2 = 0; //LED2灭
}
if(SWITCH3 == 0) //开关3按下
{
LED3 = 1; //LED3亮
}
else
{
LED3 = 0; //LED3灭
}
if(SWITCH4 == 0) //开关4按下
{
LED4 = 1; //LED4亮
}
else
{
LED4 = 0; //LED4灭
}
}
}
```
以上代码中,使用sbit定义四个LED和四个开关的引脚,然后在while循环中读取每个开关状态并控制对应的LED的亮灭。
阅读全文