单片机两个按键的怎么弄的呀,加急,对于小白来说有点困难,求大佬指点
#include <reg51.h>
// 定义引脚连接的发光二极管
sbit LED1 = P1^0;
sbit LED2 = P1^1;
sbit LED3 = P1^2;
sbit LED4 = P1^3;
sbit LED5 = P1^4;
sbit LED6 = P1^5;
sbit LED7 = P1^6;
sbit LED8 = P1^7;
// 定义按钮引脚
sbit S1 = P3^0;
sbit S2 = P3^1;
// 延时函数,参数为毫秒
void delay(unsigned int milliseconds) {
unsigned int i, j;
for (i = 0; i < milliseconds; i++) {
for (j = 0; j < 5000; j++);
}
}
void main() {
while (1) {
// 检测按钮 S1 是否按下
if (S1 == 0) {
// 按下 S1,点亮 LED
for (int i = 0; i < 8; i++) {
// 依次点亮 LED1 到 LED8
switch (i) {
case 0: LED1 = 1; break;
case 1: LED2 = 1; break;
case 2: LED3 = 1; break;
case 3: LED4 = 1; break;
case 4: LED5 = 1; break;
case 5: LED6 = 1; break;
case 6: LED7 = 1; break;
case 7: LED8 = 1; break;
}
delay(500);
}
}
// 检测按钮 S2 是否按下
if (S2 == 0) {
// 按下 S2,熄灭 LED
for (int i = 7; i >= 0; i--) {
// 依次熄灭 LED8 到 LED1
switch (i) {
case 7: LED8 = 0; break;
case 6: LED7 = 0; break;
case 5: LED6 = 0; break;
case 4: LED5 = 0; break;
case 3: LED4 = 0; break;
case 2: LED3 = 0; break;
case 1: LED2 = 0; break;
case 0: LED1 = 0; break;
}
delay(500);
}
}
}
}
以上代码,是否满足你的需求?