单片机驱动蜂鸣器的程序设计
- 格式:pdf
- 大小:1.59 MB
- 文档页数:1
时代农机
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
2.2程序
#include
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 for (j=0;j<60;j++); } void pulse_BZ (int count ,int TH ,int TL )//蜂鸣器发声函数{int i ;for (i=0;i 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