蜂鸣器原理

单片机控制蜂鸣器的工作原理

续流二极管  D9  电感元件在电流发生变化时 都会产生反向电动势 来尽力维持电流不变

三极管

  1. 开关
  2. 电流放大

输出 0 导通

输出 1 截止

有源蜂鸣器实现容易

无源蜂鸣器

1、周期的方波信号(把蜂鸣器的启停放在定时器里)定时器开始计时 到时间开,然后再关

2、延时程序

3、变量计数

Timer = 65536 - (11059200/12)/(pinlv*2)

  1. 发出对应音符的声音

(2)、顺序发出这21个声音

(3)、每个声音保持的时间

普中的51采用集成电路驱动

由于是无源蜂鸣器

所以需要一定的方波信号才能使用

可以采用T0计时器

#include <REGX52.H>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar num=10;
uint timer;
uint pinlv = 1200;
void Delay500ms()		//@11.0592MHz
{
	unsigned char i, j, k;

	_nop_();
	i = 4;
	j = 129;
	k = 119;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}

void timerinit0()
{
	TMOD = 0x01;
	TH0 =timer/256;
	TL0 =timer%256;
	EA=1;
	ET0=1;
}
void main()
{
	timer = 65536 - (11059200/12)/(pinlv * 2);
	timerinit0();
	if(P3_1 == 0)
	{
		while(P3_1==0);
		for(num =10 ;num > 0;num--)
		{
			TR0 = ~TR0;
			Delay500ms();
		}
		
	}
}
void timer0() interrupt 1
{
	TH0 =timer/256;
	TL0 =timer%256;
	P2_5 = ~P2_5;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值