‘壹’ 关于单片机驱动蜂鸣器发出滴滴的声音的程序怎么写
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit SPK=P1^0;
sbit K1=P1^7;
//发声函数,注意这里是用扬声器,不能用普通的蜂鸣器
void Alarm(uchar t)
{
uchari,j;
for(i=0;i<200;i++)
{
SPK=~SPK;
for(j=0;j<t;j++); //由参数t行成不同的频率产生不同的声音
}
}
voidmain()
{
SPK=0;
while(1)
{
if(K1==1)
{
Alarm(90);
Alarm(120);
}
}
}
‘贰’ 单片机与声音接收
使用普通的麦克风就可以捕捉声音了,然后如果你只要某一频率范围内的信号,就用数字滤波器或者效果很好的模拟滤波器进行信号滤波处理,就能得到你需要的了。
‘叁’ 怎样使单片机发出声音
...这恐怕有难度``
单单让他发出声音那很简单``
只要一个51片+一个喇叭就可以
发音原理就是利用声音的频率``就是说用51控制一个脚发出一个20~20KHZ的方波就可以让喇叭产生同样频率的震动``从而发出声音.(人耳能听到的频率范围是20~20KHZ).
但要发出两段录制好的声音,这就很有难度了.除非你能把这段声音转化成相应的机器码`让CPU直接处理.
‘肆’ 51单片机,怎么用汇编语言编程一个程序。实现4个按键控制4种报警声音(110、119、120、防空警报声)。
没有四种声音的频率库,其他的给你做个示范吧:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV SP,#5FH
MOV TMOD,#11H
SETB EA
SETB ET0
SETB ET1
LOOP:
LCALL KEYSCAN
MOV A,R2
JNZ LP1
MOV DPTR,#TAB110
SJMP LPRUN
LP1:
DEC A
JNZ LP2
MOV DPTR,#TAB119
SJMP LPRUN
LP2:
DEC A
JNZ LP3
MOV DPTR,#TAB120
SJMP LPRUN
LP3:
DEC A
JNZ LP4
MOV DPTR,#TABBOMB
SJMP LPRUN
LP4:
LJMP LOOP
LPRUN:
MOVX A,@DPTR
MOV TL0,A
INC DPTR
MOVX A,@DPTR
MOV TH0,A
............;时长控制也可以做到表里,计算后赋值给T1
LJMP LOOP
END
‘伍’ 单片机开始计时声音怎么调
单片机开始计时声音怎么调
八通道计时器抖蓝声音怎么调,开机状态,在所有定时单元均处于停止(待机状态)时,按住编程健不放,3秒钟以上,喇叭响罩孝衫一声,定时器进入编程(设定)状态,此时1数码显示屏的秒单元闪烁。
此时可按本组的数字键,选择调整分钟(此时分钟单元闪烁),再次按本组的数字键,又转为调整秒慎吵钟数值;通过使用加▲减▼键调整时间;此时每按一次键,喇叭响一声;把定时器调整到需要的时间后,再按一下编程键,即可进入2数码显示屏的时间设定;重复2至4步,完成全部8组数码显示的设定后,定时器退出编程状态,转为待机状态。
抖篮提醒设定开机状态,在所有定时单元均处于停止(待机状态)时,按住抖篮编程健不放,3秒钟以上,喇叭响一声,定时器进入抖篮编程(设定)状态,此时1﹟数码显示屏的秒单元闪烁。
此时可按本组的数字键,选择调整分钟(此时分钟单元闪烁),再次按本组的数字键,又转为调整秒钟数值;通过使用加▲减▼键调整时间;此时按键,喇叭不响,表示编程的是抖篮定时器。
把抖篮定时器调整到需要的时间后,再按一下抖篮编程键,即可进入2﹟数码显示屏的时间设定;重复2至4步,完成全部8组数码显示屏的设定后,抖篮定时器退出状态,转为待机状态。定时器的使物腔用和维护。
‘陆’ 请问下 怎么用单片机控制凤鸣器发出滴滴和滴答的声音 可以说下程序的主要思路吗
可以用定时器分别预置两个初值,以获得两个频率的声音对应“嘀”“嗒”声。再开一个定时器做节拍。
【1】做按键调整初值,频率输出接蜂鸣器,调试后记录两个频点值。
【2】另开一定时器,控制蜂鸣器开关以及两个频点的切换以产生相应的声音。