51单片机蜂鸣器发出1KHz的信号的c语言程序
1、无源蜂鸣器,需要外部提供脉冲信号才会发声,且声音会随脉冲频率变化而变化。而有源蜂鸣器内部有振荡器,所以只需要提供电压(高电平)就能发声,它们的原理不同。例如定义 一个IO连接蜂鸣器。
2、. 实验任务 用P0输出1KHz和500Hz的音频信号驱动扬声器,作报警信号,要求1KHz信号响100ms,500Hz信号响200ms,交替进行,P7接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停止,编出程序。
3、要按不同频率发声,应该用无源蜂鸣器,或小功率的扬声器,即小喇叭。利用定时器定时,输出一定频率的方波信号即可。
4、// 停止播放声音 delay(500); // 等待500毫秒} 这个程序会使蜂鸣器发出中央C的音符,然后停止。然后,它会等待另一半秒(500毫秒),然后重复这个过程。
5、TR0 = 1; IE = 0x82; while(1) { if(P 9 && !UP) {while(!UP); p++;} if(p 0 && !DN) {while(!DN); p–;} }}你编译一下,汇编程序,就出来了。
6、频率决定于delay()的延时量,这个又与单片机的时钟有关,所以看你的程序是确这不了的。另外:=== (1)SIN[ ]数组的值 可以用EXCEL简单地算出。
51单片机蜂鸣器程序是什么?
直流蜂鸣器是给一定的驱动直流电压就会响。而交流蜂鸣器是需要给蜂鸣器一个脉冲才会响。常见的有PWM波控制蜂鸣器的频率。
单片机驱动蜂鸣器(蜂鸣器分有源与无源两种,有源指加电压就会响的,无源需要以一定频率的交变脉冲电压驱动),如果只响0.5S,只要用一个定时0.5S开关信号驱动、或者用0.5S的一定频率的脉动信号驱动就可以了。
让蜂鸣器发出两种不同的声调很容易,只要给蜂鸣器的控制信号发送不同频率的脉冲就可以实现了,以下以延时方式来做。
蜂鸣器设置到所求频率单片机
如果使用有源蜂鸣器(用万用表可以发声的),因为频率是固定的,无法调整。若是无源的,改变你的输出频率。
用定时器来产生频率,如产生100Hz的声音。思路:100Hz即每秒变换200次,每次的时间就是1/200秒=0.005秒=5毫秒。
c1:262Hz–thtl=0xf8b3 d1:294Hz–0xf972 e1:330Hz–0xfa14 f1:349Hz–0xfa66 g1:392Hz–0xfb03 a1:440Hz–0xfb8f b1:494Hz–0xfc0b 前面是HZ,后面是我用硬件定时得到的TH和TL的值。