单片机教程实战2 蜂鸣器唱歌

单片机教程实战2 蜂鸣器唱歌

ID:14414903

大小:50.50 KB

页数:15页

时间:2018-07-28

单片机教程实战2 蜂鸣器唱歌_第1页
单片机教程实战2 蜂鸣器唱歌_第2页
单片机教程实战2 蜂鸣器唱歌_第3页
单片机教程实战2 蜂鸣器唱歌_第4页
单片机教程实战2 蜂鸣器唱歌_第5页
资源描述:

《单片机教程实战2 蜂鸣器唱歌》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、单片机教程实战2蜂鸣器唱歌本文由难民009贡献doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。单片机教程实战2蜂鸣器唱歌发布:2009-11-0409:01

2、作者:平凡

3、来源:网络

4、查看:189次利用单片机单片机(或单板机)奏乐大概是无线电爱好者感兴趣的问题之一。本文从单片机的基本单片机发间实验出发,谈谈音乐程序设计原理程序的设计原理,并给出具体实例,以供参考。程序设计原理单片机的基本发音实验我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率频

5、率的矩形波,接上喇叭就能发出一定频频率率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。例如,要产生200HZ的音频信号,按图1接入喇叭(若属临时实验,也可将喇叭直接接在P1口线上),实验程序为:其中子程序DEL为延时子程序,当R3为1时,延时时间约为20us,R3中存放延时常数,对200HZ音频,其周期为1/200秒,即5ms。这样,当P1.4的高电平或低电平的持续时间为2.5ms,即R3的时间常数取2500/20=125(7DH)时,就能发出200HZ的音调。将上述程序键入学习机,并不断修改R3的常数可以感到音

6、调的变化。乐曲中,每一音符对应着确定的频率,表1给出C调时各音符频率及其相应的时间常数。读者可以根据表1所提供的常数,将其16进制代码送入R3,反复练习体会。根据表1可以奏出音符。仅这还不够,要准确奏出一首曲子,必须准确地控制乐曲节奏,即一音符的持续时间。音符的节拍我们可以用定时器T0来控制,送入不同的初值,就可以产生不同的定时时间。便如某歌曲的节奏为每分钟94拍,即一拍为0.64秒。其它节拍与时间的对应关系见表2。但时,由于T0的最大定时时间只能为131毫秒,因此不可能直接用改变T0的时间初值来实现不同节拍。我们可以用T0来产生10毫秒的时间基准,然后

7、设置一个中断计数器,通过判别中断计数器的值来控制节拍时间的长短。表2中也给出了各种节拍所对应的时间常数。例如对1/4拍音符,定时时间为0.16秒,相应的时间常数为16(即10H);对3拍音符,定时时间为1.92秒,相应时间长数为192(即C0H)。我们将每一音符的时间常数和其相应的节拍常数作为一组,按顺序将乐曲中的所有常数排列成一个表,然后由查表程序依次取出,产生音符并控制节奏,就可以实现演奏效果。此外,结束符和体止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。为了产生手弹的节奏感,在

8、某些音符(例如两个相同音符)音插入一个时间单位的频率略有不同的音符。程序框图如图2所示。下面给出程序序请单,可直接在TD-III型学习机上演奏,对其它不同型号的学习机,只需相应地改变一下地址即可。本程序演奏的是民歌“八月桂花遍地开”,C调,节奏为94拍/分。读者也可以自行找出一首歌,按表1和表2给定的常数,将乐曲翻译成码表输入机器,而程序不变。本实验方法简便,即使不懂音乐的人,将一首陌生的曲子翻译成代码也是易事,和着机器的演奏学唱一首歌曲,其趣味无穷。程序清单(略,请参看源程序的说明)。《无线电》1992年第3期。硬件连接说明:硬件连接说明随便找一个仿真

9、仿真机或者什么单片机实验板,只要能工作的就行,将程序输入,运行,然仿真后找个音箱(你计算机旁边应当就有一对吧)拨出插头,插头的前端接在P1。0上,后面部分找根线接单片机的地,就应当有声了,然后怎么改进硬件连接就是你的事了……你单片机教程实战3键盘扫描识别发布:2009-11-0409:02

10、作者:平凡

11、来源:网络

12、查看:150次键盘是由若干按键组成的开关矩阵,它是微型计算机最常用的输入设备,用户可以通过键盘键盘向计算机输入指令、地址和数据数据。一般单片机系统中采和非编码键盘,非编码键盘是由软件单片机系统数据单片机系统来识别键盘上的闭合键,它具有结构简单,

13、使用灵活等特点因此被广泛应用特点,应用于单片机系统。特点应用1、按键开关的抖动问题图1图2组成键盘的按键有触点式和非触点式两种,单片机中应用的一般是由机械触点构成的。在下图中,当开关S未被按下时,P1。0输入为高电平,S闭合后,P1。0输入为低电平。由于按键是机械触点,当机械触点断开、闭合时,会有抖动动,P1。0输入端的波形如图2所示。这种抖动对于人来说是感觉不到的,但对计算机来说,则是完全可以感应到的,因为计算机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级,对计算机而言,这已是一个“漫长”的时间了。前面我们讲到中断时曾有个问题,就是说按键有时灵,

14、有时不灵,其实就是这个原因,你只按了一次按键,可是计算机却已执行了多次中断的过程

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。