ZKX's LAB

超声波报警无源蜂鸣器C语言 51单片机控制喇叭的程序(c语言)

2020-07-22知识11

单片机 按一下按键蜂鸣器响一下的代码 c语言 市场上买到的蜂鸣器都是施加直流电压就响,不需要什么频率!你的课题应该是:按住key1,蜂鸣器响;放开key1,蜂鸣器停。是这样的吧?求用stc89c52单片机控制蜂鸣器发出音乐的c语言程序。最好有详解。谢谢。 #includeinclude本例采用89C52,晶振为11.0592MHZ关于如何编制音乐代码,其实十分简单,各位可以看以下代码.频率常数即音乐术语中的音调,而节拍常数即音乐术语中的多少拍;所以拿出谱子,试探编吧。sbit Beep=P1^5;unsigned char n=0;n为节拍常数变量unsigned char code music_tab[]={0x18,0x30,0x1C,0x10,/格式为:频率常数,节拍常数,频率常数,节拍常数,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0xFF,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,0x1C,0x10,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x15,0x1F,0x05,0。主程序中 if(beep == 1) send_wave(); 为什么蜂鸣器为高电平时发送超声波, if(beep == 1) 去掉后报警出错 很显然你的这个程序执行速度很快,大量逻辑都是在while循环中的。那么你在报警函数里面if(value>;=2){beep=~beep;蜂鸣器报警}beep都还没初始化呢,你就使用了,当然就出错了。你对beep安位取反,beep这个都没内存呢,你怎么取反。电磁式蜂鸣器和压电式蜂鸣器有什么区别?驱动方法一样吗? 蜂鸣器有电磁式和压电式两种蜂鸣器是一种常见的发声元器件,广泛应用于各种电子产品,用于警报或者提醒,家里的洗衣机、微波炉、搅拌机、闹钟、遥控车、计算器等等都会用到蜂鸣器。蜂鸣器有压电式和电磁式两种。压电式蜂鸣器压电式蜂鸣器由压电蜂鸣片发声,压电蜂鸣片由压电陶瓷制成,需要在压电蜂鸣片的两面镀上电极用于通电,给压电蜂鸣片施加交流的驱动信号后,因为压电效应,压电蜂鸣片会产生机械变形的伸展和收缩,可以推动和压电陶瓷片贴在一起的金属片振动发出声音。压电式蜂鸣器发声需要压电蜂鸣片来回振动,所以需要用方波信号驱动,驱动压电式蜂鸣器需要较高的驱动电压以获取较大的声音。我们可以用NPN或者PNP三极管来驱动压电蜂鸣器。需要根据压电蜂鸣片的谐振频率用1/2 Duty的PWM信号来驱动,同时需要给压电式蜂鸣器并联一个阻抗匹配电阻。电磁式蜂鸣器电磁式蜂鸣器利用电磁线圈带动金属振动膜发出声音。所以电磁式蜂鸣器内部有线圈和磁铁。通电时吸住振动膜,断电时金属振动膜弹回。电磁式蜂鸣器最好用1/2方波(1/4 duty)驱动以获得较好的效果。电磁式蜂鸣器驱动电压较低,但需要较多的电流。同样,我们可以用NPN或者PNP三极管来驱动电磁式蜂鸣器,由于电磁式。51单片机控制喇叭的程序(c语言) [文件名]C51音乐程序(八月桂花)[功能]通过单片机演奏音乐 注意:通过了74HC14控制ULN2003 驱动芯片驱动蜂鸣器*/*/include<;REG52.H>;#include<;INTRINS.H>;/本.

随机阅读

qrcode
访问手机版