标题:
STC15F104无源蜂鸣器替代有源蜂鸣的单片机源码
[打印本页]
作者:
ssk7793
时间:
2018-12-6 08:50
标题:
STC15F104无源蜂鸣器替代有源蜂鸣的单片机源码
JD20181206084811.png
(67.12 KB, 下载次数: 44)
下载附件
2018-12-6 08:48 上传
//为节约成本,所以使用m宝上卖的0.2元左右的无源蜂鸣器,16R 3-12V通用的那种
//经测试,接不接三极管声音大小都一样
sbit beep = P3^3; //P3^3接无源蜂鸣器负极,无源蜂鸣器正极接VCC
//烧录时可选12.000MHZ
/*
1 IRC_CLKO/INT2/CLKOUT1/T0/RST/P3^4 8 RSTOUT_LOW/INT1/P3^3
2 VCC(5V) 7 INT0/P3^2
3 INT3/CLKOUT0/T1/P3^5 6 P3^1/TXD
4 GND 5 INT4/P3^0/RXD
烧录时,烧录器的VCC接2脚,TXD接5脚,RXD接6脚,GND接4脚
*/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
//为节约成本,所以使用淘宝上卖的0.2元左右的无源蜂鸣器,16R 3-12V通用的那种
//经测试,接不接三极管声音大小都一样
sbit beep = P3^3; //P3^3接无源蜂鸣器负极,无源蜂鸣器正极接VCC
//烧录时可选12.000MHZ
void Delay(uint time)//延时函数,有参函数
{
uint i,j;
for(i=time; i>0; i--)
for(j=110; j>0; j--);
}
void Buzzer(uint Number,uint Time) //可以选择鸣响次数和音频
{
uint i=0,j=0,k=0;
for(i = 0; i < Number; i ++)
{
for(j=0; j<Time; j++)
{
beep = !beep; //beep取反
for (k=0; k<100; k++); //需要产生方波,调节音频
}
Delay(100); //间隔时间
}
beep = 1; //注意PNP=0;NPN=1关闭蜂鸣器,否则三极管电流会很大。
}
void main()
{
Buzzer(1,1000); //任意调节参数,选择自己喜欢的鸣叫次数和音频(1代表只响一声)
while(1) //看你需要不要它循环响,需要循环响就把代码放到while里面
{
}
}
复制代码
全部资料51hei下载地址:
STC15F104无源蜂鸣器.zip
(23.18 KB, 下载次数: 42)
2018-12-6 08:46 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1