C51 蜂鸣器编程

一、蜂鸣器的原理

蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。三极管的作用为驱动,通过三极管放大驱动电流,从而可以让蜂鸣器发出声音。

二、蜂鸣器声音的改变

改变单片机引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。
改变输出电平的高低电平占空比(改变高电平比上整个周期的时间),则可以控制蜂鸣器的声音大小

三、代码实现

#include "reg52.h"

typedef unsigned char u8;
typedef unsigned int u16;

sbit beep = P1^5;


void delay(u16 i)
{
     while(i--);
}

void main()
{

	while(1){
	
        beep = ~beep;    //高低电平来回变换
		delay(10);

		beep = 1;        //改变占空比,来控制声音大小
		delay(10);
		beep  = 0;
		delay(5);

	
	}

}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值