C51_蜂鸣器

蜂鸣器介绍

按照驱动方式可以分为有源蜂鸣器和无源蜂鸣器

蜂鸣器的工作原理

  • 当P1.0引脚为高电平时,电流无法通过蜂鸣器,此时蜂鸣器不工作
  • 当P11.0为低电平时,Q5工作在饱和区,电流从发射极流向集电极并通过蜂鸣器,此时蜂鸣器工作

实例与代码解析

  1. 包含头文件
#include <reg52.h>
  1. 位定义蜂鸣器
sbit BEEP = P1 ^ 0; // 定义蜂鸣器
  1. 宏定义蜂鸣器的开启和关闭
    宏定义是一种预处理命令,实际上是一个名称替换命令
#define BEEP_ON BEEP = 0; // 宏定义开启
#define BEEP_OFF  BEEP = 1;
  1. 编写延时函数
    在蜂鸣器打开和关闭之间需要留有一定的间隔时间
static void DelayNms(int nms); // 内部函数声明
static void DelayNms(int nms)
{
    unsigned int i, j;
    
    for (i = 0; i < nms; i++)
    {
        for (j = 0; j < 123; j++)
        {
            
        }
    }
}
  1. 编写主函数
void main ()
{
    BEEP_ON; // 打开蜂鸣器
    DelayNms(500); // 延时500ms
    BEEP_OFF; //关闭蜂鸣器
    
    while (1)
    {
        
    }
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值