ZKX's LAB

51单片机蜂鸣器 报警声音 51单片机蜂鸣器程序是什么?

2020-07-20知识6

求教,怎样控制51单片机的蜂鸣器发出不同频率的声音 两种不同频率交替响,每一种响5次。蜂鸣器是P3^6引脚。软件延时就好了。最好有注释。两种不同频率交替响,每一种响5次。51单片机蜂鸣器响程序怎么写?最简单的。 如果是有源蜂鸣器的2113话很简单,只需要按照5261对应的电路给出4102电平(比如PNP驱动的只要给出低电平即可)1653,无源的麻烦一点,需要给一定频率的方波才能发声,增强型51可以直接使用PWM,普通51可以使用定时器模拟PWM进行驱动,网上的例子很多,多看看就行了51单片机如何控制蜂鸣器发出不同声调 我这里有现成的程序,把分给我,留下信箱,我就给你发过去,呵呵。我利用软件定时和中断方式都有,可以演奏音乐,不过蜂鸣器演奏的实在够难听。看来楼主对程序不感兴趣,我还是告诉你吧,你定时必须知道准确的定时时间,音乐中DO RE MI-SI都是有一定的频率也就是Hz,都如下:c1:262Hz-thtl=0xf8b3d1:294Hz-0xf972e1:330Hz-0xfa14f1:349Hz-0xfa66g1:392Hz-0xfb03a1:440Hz-0xfb8fb1:494Hz-0xfc0b前面是HZ,后面是我用硬件定时得到的TH和TL的值。比如你想发C1的音,先用软件定一个262*2Hz的延时反复调用,在一个周期内使buzzer响,再接着一个周期使buzzer不响,如此反复就得到了262Hz的声音,也就类似发出了C1的声音。反正是够难听的。用51单片机控制蜂鸣器,如何使蜂鸣器输出最高声音 1、可以通过控制蜂鸣器的发生频率来改变音调,频率高时,感觉声音就像变大了。2、蜂鸣器是一种一体化结构的电子讯响器,。求教,怎样控制51单片机的蜂鸣器发出不同频率的声音 用定时器来产生频率,如产生100Hz的声音。思路:100Hz即每秒变换200次,每次的时间就是1/200秒=0.005秒=5毫秒。计算定时器的初值:TH0=0x0EE;TL0=0x00;includesbit BEEP=P0^0;蜂鸣器引脚void main(void){初始化定时器(晶振:11.0592MHz,12T)TMOD=0x01;TH0=0x0EE;5毫秒中断一次TL0=0x00;EA=1;开总中断ET0=1;开中断TR0=1;启动定时器while(1);死循环等蜂鸣器响。}void Timer0Interrupt(void)interrupt 1{TH0=0x0EE;TL0=0x00;BEEP=。BEEP;变换一次蜂鸣器}51单片机蜂鸣器程序是什么? 51单片机 蜂鸣器 程序为: include\"reg52.h typedef unsigned char u8;typedef unsigned int u16;sbit beep=P1^5;void delay(u16 i) { while(i-);} void main() 。请问51用单片机和蜂鸣器如何实现六音报警器的声音??? 单片机只要能输出六种频率的方波信号就可以了。(电路连接如下:)在单片机最小系统的电路上,假如P2.0口接NPN型三极管的基极,三极管的发射极接地,三极管的集电极接蜂鸣器的负极,蜂鸣器的正极(串联一个300欧姆电阻)接电源正极;假如单片机的P2.1口作为触发信号的输入端,接按键或传感器。(此时单片机中的程序应该是:)通过检测P2.0口按键输入值,然后用P2.1口输出,没有按键按下时原值不变includedefine IN=P2^0;define fengmingqi=P2^1;void main(void){while(IN){for(char k=32000;k>;=0;k-){ for(char i=800;i>;=0;i-){ fengmingqi=0;for(char j=70;j>;=0;j-);fengmingqi=1;}for(char i=800;i>;=0;i-){ fengmingqi=0;for(char j=140;j>;=0;j-);fengmingqi=1;}for(char i=800;i>;=0;i-){ fengmingqi=0;for(char j=210;j>;=0;j-);fengmingqi=1;}for(char i=800;i>;=0;i-){ fengmingqi=0;for(char j=280;j>;=0;j-);fengmingqi=1;}for(char i=800;i>;=0;i-){ fengmingqi=0;for(char j=350;j>;=0;j-);fengmingqi=1;}for(char i=800;i>;=0;i-){ fengmingqi=0;for(char j=420;j>;=0;j-);fengmingqi=1;}}}}经过仔细研究后,以上程序可以简缩为:。51单片机如何让蜂鸣器发出110的声音 #include<;reg52.h>;/包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义sbit SPK=P1^2;定义喇叭端口unsigned char frq;void DelayUs2x(unsigned char t);函数声明void DelayMs(unsigned char t);定时器初始化子程序void Init_Timer0(void){TMOD|=0x01;使用模式1,16位定时器,使用\"|\"符号可以在使用多个定时器时不受影响TH0=0x00;给定初值TL0=0x00;EA=1;总中断打开ET0=1;定时器中断打开TR0=1;定时器开关打开}主函数main(){Init_Timer0();初始化定时器while(1){DelayMs(1);延时1ms,累加频率值frq+;}}uS延时函数,含有输入参数 unsigned char t,无返回值unsigned char 是定义无符号字符变量,其值的范围是0~255 这里使用晶振12M,精确延时请使用汇编,大致延时长度如下 T=tx2+5 uSvoid DelayUs2x(unsigned char t){while(-t);}mS延时函数,含有输入参数 unsigned char t,无返回值unsigned char 是定义无符号字符变量,其值的范围是0~255 这里使用晶振12M,精确延时请使用汇编void DelayMs(unsigned char t){while(t-){大致延时1mSDelayUs2x(245);DelayUs2x(245);}}定时器中断子程序void Timer0_isr(void)。这段模拟警车报警声51单片机程序,在运行过程中蜂鸣器声音很轻,要怎样改能使声音变重 蜂鸣器的上面有一张贴纸,撕掉就响了。51的IO口的电流是足以驱动一个有源蜂鸣器了。用51单片机控制蜂鸣器,如何使蜂鸣器输出最高声音 蜂鸣器有两种,一种是无源的,另一种为有源的,确认的方法为:1)看封装,如果引脚端为PCB板的,一般为无源的,引脚端为树脂灌封的,一般为有源的。2)加电实验,用5V电压点击接触引脚时,只有“哒哒”声的为无源的,发出一个单音响的为有源的。两种蜂鸣器用单片机的控制方法是一样的,对于无源的,要求单片机送出一组断续的音频信号,使蜂鸣器按要求发声,对于有源蜂鸣器,要求单片机送出一组断续的电脉冲信号,用于分断蜂鸣器的通断状态,而使有源蜂鸣器发出“嘀.嘀”,“嘀.嘀.嘀”等希望的声音。无源蜂鸣器举例:声响驱动程序 BELL-整点报时(闹钟音两短一长)void Beep(void){uint a;定义变量用于发声的长度设置uchar b;for(b=2;b>;0;b-){for(a=200;a>;0;a-){/第一个声音的长度beep=~beep;取反扬声器驱动口,以产生音频Delay_1us(500);音调设置延时}DelayM(1000);}for(a=1000;a>;0;a-){/第一个声音的长度beep=~beep;取反扬声器驱动口,以产生音频Delay_1us(500);音调设置延时}beep=1;音乐结束后扬声器关闭}有源蜂鸣器举例:void main(void){NB=0;有源蜂鸣器初始不送电while(1){NB=0;有源蜂鸣器断电delay(300);停一段时间NB=1;有源蜂鸣器。

#单片机最小系统#蜂鸣器#char#单片机#定时器

随机阅读

qrcode
访问手机版