首页 > 嵌入式硬件 > 嵌入式开发

嵌入式的基本发音实验

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

例如,要产生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,则产生对应的停顿效果。为了产生手弹的节奏感,在某些音符(例如两个相同音符)音插入一个时间单位的频率略有不一样的音符。

换一批

延伸阅读

[行业资讯] 物联网(IOT)技术如何用于基础设施

物联网(IOT)技术如何用于基础设施

物联网有望改变我们与世界互动的方式。通过利用数字世界的数据和连接性,并将其应用于物理对象,我们所做的几乎任何工作都将更快、更安全、更高效地完成。最近,这些概念甚至以智能基础设施的形式应用于世界。......

关键字:IOT 物联网 嵌入式

[行业资讯] 感知一切,这是传感器的时代

感知一切,这是传感器的时代

人类步入21世纪,全面进入信息时代,从一定意义上讲,也就进入了传感器时代。在现代控制系统中,传感器处于连接被测对象和测试系统的接口位置,可直接或间接接触被测对象,是信息输入的“窗口”,是万物互联的眼睛。......

关键字:传感器 嵌入式 产品创新

[行业资讯] 多重因素影响下,传感器市场逐渐降温

多重因素影响下,传感器市场逐渐降温

由于全球经济疲软,IC Insights报告指出,2020年传感器和执行器全球销售额增长恐将放缓至3%。而在2021年至2023年间会逐渐恢复增长势头,2023年预计将达到211亿美元。......

关键字:传感器 嵌入式 执行器

[行业资讯] RT-Thread启动嵌入式软件人才计划及开发者能力认证

RT-Thread启动嵌入式软件人才计划及开发者能力认证

睿赛德科技宣布全面启动嵌入式软件人才计划,并推出业内首个IoT OS工程师能力认证——RAC(RT-Thread开发者能力认证,RT-Thread Ability Certification),旨在推动嵌入式及物联网人才的培养和发展,为企业......

关键字:睿赛德科 嵌入式软件 物联网

[行业资讯] 开启嵌入式智能时代,亮点产品大盘点

开启嵌入式智能时代,亮点产品大盘点

嵌入式世界展(Embedded World)是全球领先的嵌入式技术国际展会,是工程师及创新人士汇聚一堂、新技术与新创意集体亮相的殿堂。 ......

关键字:嵌入式 智能时代 CYW20819
条评论

我 要 评 论

网友评论

大家都爱看