单片机一个开关控制八个灯的源代码
时间: 2024-09-24 22:23:24 浏览: 32
在单片机上,使用一个开关控制八个LED灯通常会涉及到IO口的配置和中断处理。这里我将以C语言示例,假设我们使用的是51系列单片机(如8051),并采用P0口作为数据线,P1口作为输入(开关)。请注意,实际操作可能会因单片机型号的不同而有所差异。
```c
#include <reg52.h> // 包含51单片机的寄存器头文件
#define LED_1 P0.0 // LED1连接到P0.0口
#define LED_2 P0.1
// ...直到LED_8 P0.7
#define SW P1.0 // 开关连接到P1.0口
void init() {
// 初始化IO口
TRIS_P0 = 0xFF; // 设置P0口为输出模式
TRIS_P1 = 0x00; // 设置P1口为输入模式
}
void main() {
init();
while(1) { // 无限循环
if(SW == 0) { // 开关按下,依次点亮LEDs
LED_1 = 1;
delay_ms(500); // 等待一段时间再熄灭
LED_1 = 0;
// ...重复以上步骤,点亮剩余LEDs
// LED_2, LED_3, ..., LED_8
}
}
}
void delay_ms(int ms) {
for(int i = 0; i < ms; i++);
}
```