标题: 发个用于单片机开发板的检测代码 蜂鸣器LED按键 [打印本页]

作者: SXiaoXi    时间: 2024-11-5 22:03
标题: 发个用于单片机开发板的检测代码 蜂鸣器LED按键
#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
        }
    }
}






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1