// 定義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;
} |