51单片机汇编语言教程:28课音乐程序设计.pdf

上传人:索**** 文档编号:76249280 上传时间:2023-03-08 格式:PDF 页数:16 大小:7.12MB
返回 下载 相关 举报
51单片机汇编语言教程:28课音乐程序设计.pdf_第1页
第1页 / 共16页
51单片机汇编语言教程:28课音乐程序设计.pdf_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《51单片机汇编语言教程:28课音乐程序设计.pdf》由会员分享,可在线阅读,更多相关《51单片机汇编语言教程:28课音乐程序设计.pdf(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、51 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐51 学习网 WWW.HJMCU.COM淘宝网:http:/ 28课-音乐程序设计(基于 HL-1、HJ-C52、HJ-3G 实验板)(图片HL-1 开发板)利用单片机(或单板机)奏乐大概是无线电爱好者感兴趣的问题之一。本文从单片机的基本发间实验出发,谈谈音乐程序的设计原理,并给出具体实例,以供参考。单片机的基本发音实验我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序

2、控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。例如,要产生 200HZ 的音频信号,按图 1接入喇叭(若属临时实验,也可将喇叭直接接在P1口线上),实验程序为:其中子程序DEL为延时子程序,当 R3 为1时,延时时间约为 20us,R3 中存放延时常数,对200HZ音频,其周期为 1/200秒,即 5ms。这样,当P1.4的高电平或低电平的持续时间为2.5ms,即R3 的时间常数取 2500/20=125(7DH)时,就能发出 200HZ的音调。将上述程序键入学习机,并51 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐51 学习网

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

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

5、奏感,在某些音符(例如两个相同音符)音插入一个时间单位的频率略有不一样的音符。下面给出程序序清单,可直接在TD-III型学习机上演奏,对其它不一样型号的学习机,只需对应地改变一下地址即可。本程序演奏的是民歌“八月桂花遍地开”,C调,节奏为 94拍/分。读者也能自行找出一首歌,按表1和表2给定的常数,将乐曲翻译成码表输入机器,而程序不变。本实验办法简便,即使不懂音乐的人,将一首陌生的曲子翻译成代码也是易事,和着机器的演奏学唱一首歌曲,其趣味无穷。程序清单(略,请参看源程序的说明)。程序框图如图 2所示。51 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐

6、51 学习网 WWW.HJMCU.COM淘宝网:http:/ 晶振,形成 10毫秒中断RETISTART:51 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐51 学习网 WWW.HJMCU.COM淘宝网:http:/ 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐51 学习网 WWW.HJMCU.COM淘宝网:http:/ 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐51 学习网 WWW.HJMCU.COM淘宝网:http:/ 26h,20h,20h,20h,20h

7、,20h,26h,10h,20h,10h,20h,80h,26h,20h,30h,20hdb 30h,20h,39h,10h,30h,10h,30h,80h,26h,20h,20h,20h,20h,20h,1ch,20hdb 20h,80h,2bh,20h,26h,20h,20h,20h,2bh,10h,26h,10h,2bh,80h,26h,20hdb 30h,20h,30h,20h,39h,10h,26h,10h,26h,60h,40h,10h,39h,10h,26h,20hdb 30h,20h,30h,20h,39h,10h,26h,10h,26h,80h,26h,20h,2bh,10h

8、,2bh,10hdb 2bh,20h,30h,10h,39h,10h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,20hdb 20h,10h,20h,10h,2bh,10h,26h,30h,30h,80h,18h,20h,18h,20h,26h,20hdb 20h,20h,20h,40h,26h,20h,2bh,20h,30h,20h,30h,20h,1ch,20h,20h,20hdb 20h,80h,1ch,20h,1ch,20h,1ch,20h,30h,20h,30h,60h,39h,10h,30h,10hdb 20h,20h,2bh,10h,26h,10h,2

9、bh,10h,26h,10h,26h,10h,2bh,10h,2bh,80hdb 18h,20h,18h,20h,26h,20h,20h,20h,20h,60h,26h,10h,2bh,20h,30h,20hdb 30h,20h,1ch,20h,20h,20h,20h,80h,26h,20h,30h,10h,30h,10h,30h,20hdb 39h,20h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,10h,40h,10h,20h,10hdb 20h,10h,2bh,10h,26h,30h,30h,80h,00HEND音乐程序汇编代码代码2-Voice1.asm-

10、;标题 八月桂花香 发声程序;摘要详见 无线电 92 年3期;作者周振安ORG0000HLJMPSTART51 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐51 学习网 WWW.HJMCU.COM淘宝网:http:/ 晶振,形成 10毫秒中断RETISTART:MOVSP,#50HMOVTH0,#0D8HMOVTL0,#0EFHMOVTMOD,#01HMOVIE,#82HMUSIC0:NOPMOVDPTR,#DAT;表头地址送DPTRMOV20H,#00H;中断计数器清0MOVB,#00H;表序号清0MUSIC1:NOPCLRAMOVCA,A+DPT

11、R;查表取代码JZEND0;是00H,则结束CJNEA,#0FFH,MUSIC5LJMPMUSIC3MUSIC5:NOPMOVR6,AINCDPTRMOVA,BMOVCA,A+DPTR;取节拍代码送R7MOVR7,A51 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐51 学习网 WWW.HJMCU.COM淘宝网:http:/ 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐51 学习网 WWW.HJMCU.COM淘宝网:http:/ 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实

12、验板。推荐51 学习网 WWW.HJMCU.COM淘宝网:http:/ 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐51 学习网 WWW.HJMCU.COM淘宝网:http:/ 51 学习板的朋友请QQ:3981150881、本教程是慧净电子网上收整理,版权归互联网,全部免费共享,为了支持 慧净免费助学 加上了慧净 51 实验板的链接。2、教程中的实验不保证100%正确,当你能认真学习时你会有能力修正实验中的小错误。3、请不要再问如何学单片机,如何写程序,为什么这样写程序的问题,慧净不提供源码分析,如果你有心学单片机的,全部由你自己自学完成,推荐你用

13、慧净电子的HJ-C5HJ-C52 2实验板配套学习。祝你学业有成,以后多点共享各种单片机资料,使中国电子技术更强51 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐51 学习网 WWW.HJMCU.COM淘宝网:http:/ HJ-C52学习板,想学单片机详细了解一下51 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐51 学习网 WWW.HJMCU.COM淘宝网:http:/ 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐51 学习网 WWW.HJMCU.COM淘宝网:http:/ 功能模块51 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐51 学习网 WWW.HJMCU.COM淘宝网:http:/ 单片机汇编语言教程-慧净电子会员收集整理(全部 28 课)推荐使用慧净51 实验板。推荐51 学习网 WWW.HJMCU.COM淘宝网:http:/ QQ:398115088慧净单片机学习网址:WWW.HJMCU.COM淘宝网址:http:/ 年 11 月 11 日

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 工程图纸

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁