buzzer

更新时间:2023-01-01 03:35:26 阅读: 评论:0


2023年1月1日发(作者:冬天的四字词语)

51单片机驱动无源蜂鸣器

在学习过程中遇到如下例题:8个发光管由上至下间隔1s流动,其中每个

管亮500ms,灭500ms,亮时蜂鸣器响,灭时关闭蜂鸣器,一直重复下去。流水灯

的程序相对我个人来说比较简单,但是蜂鸣器有些难度,正常给I/0口一个信

号,蜂鸣器既然不响,后经查证是无源蜂鸣器;无源的蜂鸣器,就要通过IO

口输出振荡信号来驱动蜂鸣器

蜂鸣器简介:蜂鸣器根据结构不同分为压电式蜂鸣器和电磁式蜂鸣器;而两

种蜂鸣器又分为有源蜂鸣器和无源蜂鸣器,这里的源特指振荡源;有源蜂鸣器

直接加电就可以响起,无源蜂鸣器需要我们给提供振荡源。理想的振荡源为一

定频率的方波。由于系统采用了无源蜂鸣器,所以需要我们通过编程来控制I/0

口的翻转来产生一定频率的方波信号。本文采用默认频率0.5KHZ的标准方波。

可以算出周期T=2ms脉宽t=1ms,因此我们可以通过简单的延时函数延时

1ms。然后控制P3.7口的电平高低产生0.5KHZ的方波信号;本程序只是通过

简单延时达到驱动蜂鸣器的效果。#includesbitbuzzer=P1;void

delayms(unsignedintxms)//延时函数,延时xms{unsignedinti,j;for(i=0;i

#include#defineuintunsignedint#defineucharunsignedcharsbitbuzzer=P1;sbit

D1=P1;voiddelay(uintz)//延时1ms{uintx,y;for(x=z;x>0;x--){for(y=0;y<114;y++){}}}

fasheng()//发声子程序{unsignedinta,x;for(a=0;a<456;a++){buzzer=!buzzer;for

(x=0;x<45;x++);//45为蜂鸣器发声频率}}voidmain(){while(1){D1=0;fasheng();

D1=1;delay(200);}}tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

本文发布于:2023-01-01 03:35:26,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/69713.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:rural
标签:buzzer
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图