#include <reg51.h> // 包含51單片機的寄存器定義
// 定義 LED、按鍵和蜂鳴器的連接引腳
sbit LED = P1^0; // LED 連接到 P1.0
sbit KEY = P1^1; // 按鍵連接到 P1.1
sbit BEEP = P1^2; // 蜂鳴器連接到 P1.2
void delay(unsigned int ms) {
unsigned int i, j;
for (i = 0; i < ms; i++) {
for (j = 0; j < 120; j++); // 適當?shù)难訒r循環(huán)
}
}
void beep(unsigned int times, unsigned int duration) {
for (unsigned int i = 0; i < times; i++) {
BEEP = 1; // 蜂鳴器響
delay(duration); // 振動持續(xù)時間
BEEP = 0; // 蜂鳴器停止
delay(duration); // 之間的間隔
}
}
void main() {
while (1) {
LED = 1; // 點亮 LED
delay(500); // 延時 500 毫秒
LED = 0; // 熄滅 LED
delay(500); // 延時 500 毫秒
if (KEY == 0) { // 檢測按鍵是否被按下
LED = 1; // 如果按鍵按下,點亮 LED
beep(3, 100); // 蜂鳴器鳴叫 3 次,每次持續(xù) 100 毫秒
} else {
LED = 0; // 如果按鍵未按下,熄滅 LED
}
}
}
|