// 定义IO口连接的引脚
#define SWITCH_PIN P0_0
#define P30_PIN P0_1
#define P31_PIN P0_2
void delay(int msec) {
// 根据单片机的具体型号和时钟频率来实现延时
// 这里使用示例代码,仅供参考
int i, j;
for (i = 0; i < msec; i++)
for (j = 0; j < 1000; j++);
}
int main() {
// 配置引脚模式为输入和输出
SWITCH_PIN = 1; // 将开关引脚设置为输入
P30_PIN = 0; // 将P30引脚设置为输出
P31_PIN = 0; // 将P31引脚设置为输出
while (1) {
if (SWITCH_PIN == 0) {
// 检测到开关接通
delay(100); // 防止抖动,延时一定时间
if (SWITCH_PIN == 0) {
// 第一次接通
P30_PIN = 1; // 导通P30引脚
P31_PIN = 1; // 导通P31引脚
delay(5000); // 第一次延时5s
} else {
// 第二次及以后接通
P30_PIN = 1; // 导通P30引脚
P31_PIN = 1; // 导通P31引脚
delay(3000); // 第二次及以后延时3s
}
// 关闭P30和P31引脚
P30_PIN = 0;
P31_PIN = 0;
}
}
return 0;
} |