扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
让蜂鸣器发出两种不同的声调很容易,只要给蜂鸣器的控制信号发送不同频率的脉冲就可以实现了,以下以延时方式来做。
成都创新互联专业为企业提供天全网站建设、天全做网站、天全网站设计、天全网站制作等企业网站建设、网页设计与制作、天全企业网站模板建站服务,10余年天全做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
下面用beep函数发音,按键 1,2,3,4,5,6,7,8 对应 多来米发少。。按换行键结束。0.3秒一个音,不要按得太快。
将51单片机的P2口连接到蜂鸣器的一个管脚上,另外一个管脚接地。
alarm()就能,如果你有拥有speaker和定时器的单片机的话,通过定时器的设置,输出PWM波就是声音。要使用有比较寄存器的定时器。
将上面的步骤优化下,一个DIY的音乐播放器就成功了。我上面说的只是控制了声音的频率和时间,其实还可以控制响度。对于一些特殊的设备,控制音色也不是不可能。这种程序我在大一的时候写过。现在想起来不难的。
sound 控制音调, delay 控制时间长短,不能控制音量。
1、打开Keil后选择【File】下的【new】新建一个空白文档。将编辑好的程序源码复制到该文件中。选择左上角的保存按钮进行保存,将弹出保存对话框。
2、用 Beep 函数,参数1是频率,参数2是时间长度。
3、无源蜂鸣器,需要外部提供脉冲信号才会发声,且声音会随脉冲频率变化而变化。而有源蜂鸣器内部有振荡器,所以只需要提供电压(高电平)就能发声,它们的原理不同。例如定义 一个IO连接蜂鸣器。
4、K的方波对51来说要求太高了,尽量不要用,这个程序如果频率不对,对 “TH0=0XF6;//初始值246”这句里的0xf6调整下,向上增加数值会提高精度。
5、昨天回答过这个问题了,当时只改了数据,这里说明一下,定时器初值是-50000时,定时时间是50毫秒,中断10次是500毫秒,产生一个脉冲需要需要2个10次,脉冲周期是1000毫秒,即1秒,所以频率为1Hz。
无源蜂鸣器,需要外部提供脉冲信号才会发声,且声音会随脉冲频率变化而变化。而有源蜂鸣器内部有振荡器,所以只需要提供电压(高电平)就能发声,它们的原理不同。例如定义 一个IO连接蜂鸣器。
让蜂鸣器发出两种不同的声调很容易,只要给蜂鸣器的控制信号发送不同频率的脉冲就可以实现了,以下以延时方式来做。
不同的音效,就是改变频率,改变频率,就是改变时间。输出脚,就用I/O口。程序内设计一个时间中断,如40us中断或更短。
1、include unistd.h // 头文件 int usleep(useconds_t usec); // 函数原型 usec -- 毫秒。整数。最大允许值:小于 1000000 返回 0 -- 表示调用执行成功,1 -- 失败。
2、Beep(698,500);Beep(784,500);} --- wintc 试验上两个。
3、使用pthread库执行多线程,这个是Linux下的线程库 Windows下应该有自己的API,不过这种东西一般还是以Linux为标准。pthread_create()创建一个线程,传入fun()的函数指针就行了。
下面用beep函数发音,按键 1,2,3,4,5,6,7,8 对应 多来米发少。。按换行键结束。0.3秒一个音,不要按得太快。
现在这里对计算机上的那个喇叭用Turbo C 0进行编程,使之发出动听的音乐《梁祝》。第一步:定义《梁祝》的每一个音符的频率和时间,将定义好的频率和时间写入文件或者保存在数组里面。
sound( )函数可以用指定频率打开PC机扬声器直到用nosound( )函数来关闭它; clock( )函数正好用来控制发声时间,而且它不受PC机主频高低的影响。下面这段程序可使微机发出c调1的声音。
1、程序就开始进入xian()中,也就是你的显示为9999的函数中,然后又循环到一开始的状态。就函数已经在你指定的地方调用了,如果有问题,就要检查你的显示函数和相应硬件连接了。
2、该中断标志位对应的中断使能位必须为使能状态,即开启该外部中断功能。.全局中断必须要打开,即_EINT();外部中断的中断入口要写对。
3、是跳到这个中断函数运行,运行完后跳回中断处继续主程序 。不是跳到寄存器组,是使用那个寄存器组。是可以写,但这是中断发生时,才调用这个函数。
4、中断是成功执行了,但是中断的时间一过,主程序还回到中断的下一条语句继续循环执行的。变慢了就是因主程序还会打断去执行中断的程序。
5、很多初学单片机者往往对C51的头文件感到很神秘,而为什么要那样写,甚至有的初学者喜欢问,P1口的P为什么要大写,不大写行不行呢?其实这样的问题,看过本文后,就会明白。
6、①这几个是中断服务函数的声明,仅仅表示当有对应向量的中断产生时、应跳转到对应的函数,并不代表开启了中断。②一塌糊涂。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流