#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++); // 适当的延时循环
}
}
void beep(unsigned int times, unsigned int duration) {
for (unsigned int i = 0; i < times; i++) {
BEEP = 1; // 蜂鸣器响
delay(duration); // 振动持续时间
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 次,每次持续 100 毫秒
} else {
LED = 0; // 如果按键未按下,熄灭 LED
}
}
}
|