单片机驱动蜂鸣器的程序设计

旋转衣柜时代农机
TIMES AGRICULTURAL MACHINERY
2019年第2期
第46卷第2期Vol.46No.2
2019年2月Feb.2019
摘要:驱动蜂鸣器是编程中的基本程序,从中能掌握单片机产生不同频率方波的编程方法。
关键词:编程;
蜂鸣器;程序设计作者简介:纪瀚涛(1997-),男,辽宁大连人,大学本科,主要
研究方向:机械电子工程。
单片机驱动蜂鸣器的程序设计
纪瀚涛,
王伟(沈阳工学院,
辽宁抚顺113122)
1可编程控制器
运用MCS-51单片机,
线切
使用I/O 输出音频脉冲,脉冲经放大滤波后,驱动扬声器发声。若要产生f 的频率,则需于T 时间内(其中T=
1/f ),进行吸、放各一次,
换言之,磁铁产生磁性、磁铁失去磁性的时间各为T /2,成为半周期。
2驱动蜂鸣器程序的编制
如图1所示,由单片机的P3.7口联接一个NPN 型的三极管,并于蜂鸣器BUZ1相连接。当P3.1口输出信号时,蜂鸣器会产生相应频率的奉命信号。
由单片机的P3.7口输出1kHz 的信号,持续0.1s ,停止0.5s ,则蜂鸣器发出0.1s 的“哔”的声音。要产生1kHz 的频率,则半周期为0.5ms ,P3.7所送出的信号中,0.5ms 为高电平,0.5ms 为低电平。若0.5ms 为高电平与0.5ms 为低电平为一组信号(总共1ms ),连续送出100组,即可得到1kHz 的声音约0.1s ;停止输出0.1s 后,再送出0.5s 的信号。2.1
电路图
1
ic自动烧录机2.2程序
#include<reg51.h>
sbit buzzer=P3^7;void delay (int );
void pulse_BZ (int ,int ,int );//声明蜂鸣器发声函数
main (){while (1)
{pulse_BZ (100,1,1);//蜂鸣器发声100×
(0.5ms+0.5ms )=0.1s
delay (1000);//延迟1000×0.5ms=0.5s
}
}
void delay (int x )
//0.5ms 延迟函数
{int i ,j ;for (i=0;i<x ;i++)硫醇甲基锡
for (j=0;j<60;j++);
}
void pulse_BZ (int count ,int TH ,int TL )//蜂鸣器发声函数{int i ;for (i=0;i<count ;i++)//计数count 次{
buzzer=1;
//输出高电平
delay (TH );//延迟TH ×0.5ms
buzzer=0;//输出低电平delay (TL );
//延迟TL×0.5ms
}}
3
水过滤芯结语
运用MCS-51单片机控制驱动信号使蜂鸣器发出不同音调的声音,声音的频率由延时程序控制,
频率越高,音调就越高;频率越低,音调越低。通过单片机仿真软件,该程序通过改变驱动频率,可以让蜂鸣器发出不同频率,不同长短的声音。
参考文献
[1]王晓娜,宋世德,王彦霞.单片机实验教学方法的研究[J ].
钛雷实验科学与技术,2012,10(1):69-70.
125

本文发布于:2024-09-25 07:17:19,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/126899.html

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

标签:蜂鸣器   频率   单片机   驱动   程序   产生   信号   输出
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议