平凡单片机教学 实战二 单片机音乐程序的设计与实验

发布者:TranquilMind88最新更新时间:2016-03-25 来源: eefocus关键字:单片机教学  音乐程  设计与实验 手机看文章 扫描二维码
随时随地手机看文章
利用单片机(或单板机)奏乐大概是无线电爱好者感兴趣的问题之一。本文从单片机的基本发间实验出发,谈谈音乐程序的设计原理,并给出具体实例,以供参考。

 

1.单片机的基本发音实验

 

我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。

 

例如,要产生200HZ的音频信号,按图1接入喇叭(若属临时实验,也可将喇叭直接接在P1口线上),实验程序为:

 

其中子程序DEL为延时子程序,当R3为1时,延时时间约为20us,R3中存放延时常数,对200HZ音频,其周期为1/200秒,即5ms。这样,当P1.4的高电平或低电平的持续时间为2.5ms,即R3的时间常数取2500/20=125(7DH)时,就能发出200HZ的音调。将上述程序键入学习机,并不断修改R3的常数可以感到音调的变化。

 

乐曲中,每一音符对应着确定的频率,表1给出C调时各音符频率及其相应的时间常数。

 

读者可以根据表1所提供的常数,将其16进制代码送入R3,反复练习体会。根据表1可以奏出音符。仅这还不够,要准确奏出一首曲子,必须准确地控制乐曲节奏,即一音符的持续时间。

 

音符的节拍我们可以用定时器T0来控制,送入不同的初值,就可以产生不同的定时时间。便如某歌曲的节奏为每分钟94拍,即一拍为0.64秒。其它节拍与时间的对应关系见表2。

 

但时,由于T0的最大定时时间只能为131毫秒,因此不可能直接用改变T0的时间初值来实现不同节拍。我们可以用T0来产生10毫秒的时间基准,然后设置一个中断计数器,通过判别中断计数器的值来控制节拍时间的长短。表2中也给出了各种节拍所对应的时间常数。例如对1/4拍音符,定时时间为0.16秒,相应的时间常数为16(即10H);对3拍音符,定时时间为1.92秒,相应时间长数为192(即C0H)。

 

我们将每一音符的时间常数和其相应的节拍常数作为一组,按顺序将乐曲中的所有常数排列成一个表,然后由查表程序依次取出,产生音符并控制节奏,就可以实现演奏效果。

 

此外,结束符和体止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。

 

为了产生手弹的节奏感,在某些音符(例如两个相同音符)音插入一个时间单位的频率略有不同的音符。

 

程序框图如图2所示。

 

下面给出程序序请单,可直接在TD-III型学习机上演奏,对其它不同型号的学习机,只需相应地改变一下地址即可。本程序演奏的是民歌“八月桂花遍地开”,C调,节奏为94拍/分。读者也可以自行找出一首歌,按表1和表2给定的常数,将乐曲翻译成码表输入机器,而程序不变。本实验方法简便,即使不懂音乐的人,将一首陌生的曲子翻译成代码也是易事,和着机器的演奏学唱一首歌曲,其趣味无穷。

 

程序清单(略,请参看源程序的说明)。

 

 

硬件连接说明:

随便找一个仿真机或者什么单片机实验板,只要能工作的就行,将程序输入,运行,然后找个音箱(你计算机旁边应当就有一对吧)拨出插头,插头的前端接在P1。0上,后面部分找根线接单片机的地,就应当有声了,然后怎么改进硬件连接就是你的事了。。。。

关键字:单片机教学  音乐程  设计与实验 引用地址:平凡单片机教学 实战二 单片机音乐程序的设计与实验

上一篇:平凡单片机教学 实战一 流水灯
下一篇:单片机DS18B20水温控制系统设计程序源码

推荐阅读最新更新时间:2024-03-16 14:48

平凡单片机教学——准备工作
  一、硬件准备:计算机一台。编程器一只、89C51一片,实验板一块,再准备一只仿真机,其它常规工具。如果你想学单片机,而又不愿做这些投资,我劝你最好还是放弃,否则可能只会挫伤你学习的积极性和浪费你的时间。好在这些投资并不算多。   计算机:你能上网,计算机当然有了。   编程器:商品化的一般至少伍、六百以上。但现在网上有好多朋友都提供编程器的资料,如果你身边有高手,不妨请他们帮助你做一个吧!不过几十元的代价。如果没有这个条件,我推荐你用丁丁工作室的51串行烧写器,可读写WINBOND和ATMEL公司生产的40腿8位单片机,如w78e51, w78e52,w77e58,89c51, 89c52 ,80f51,80f52, 87
[单片机]
试论将μC/OS-II用于单片机教学
摘要:当前,大学中的“嵌入式系统与单片机应用”及类似课程的教学内容和实验正处在转型期,由单纯8位机转向8位、16位、32位并举;开发方式上,仿真器在逐步退出;嵌入式实时操作系统被引入教学。本文就相关课程内容与实验平台方案的设计提出一些看法,以引起同行的思考与讨论。 关键词:单片机 嵌入式 RTOS μC/OS 教学 培训 引 言 在2003年天津举行的“全国单片机及嵌入式系统学术年会”上,来自全国各地几十所大学的教师对单片机与嵌入式系统教学展开了热烈的讨论。这里,就我们的认识介绍如下,以达到抛砖引玉的目的。 1 单片机与嵌入式系统应用类课程的转型期   当前,单片机与嵌入式系统应用类课程正处在转型期。过去的20年中,
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved