单片机电子琴电路图及源程序代码-论文

单片机电子琴电路图及源程序代码-论文

ID:39554492

大小:29.13 KB

页数:14页

时间:2019-07-06

单片机电子琴电路图及源程序代码-论文_第1页
单片机电子琴电路图及源程序代码-论文_第2页
单片机电子琴电路图及源程序代码-论文_第3页
单片机电子琴电路图及源程序代码-论文_第4页
单片机电子琴电路图及源程序代码-论文_第5页
资源描述:

《单片机电子琴电路图及源程序代码-论文》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单片机电子琴电路图及源程序代码-论文单片机电子琴电路图及源程序代码电子琴的设计摘要:介绍了用单片机设计微型电子琴的方法。给出了硬件电路、程序及程序说明。关键词:电子琴,单片机,电路图,程序设计    单片机因其体积小、功能强、价格低廉而得到广泛应用。本文介绍用AT89S51单片机设计微型电子琴的方法,仅需AT89S51最小系统,可按需要扩展一组小键盘(本设计只要求发7个音,因此不需扩展),再加一片LM386做音频小功放,输出到扬声器。电源可由三节5号电池提供或者由7805稳压得到5V电压。1. 设计原理      因为每个乐音都是有固定的周期,我们可以利用单片机

2、的P1.0(任一个I/O口都可,本设计利用P1.0)来产生音频脉冲。这样就可以发一个乐音了,然后利用程序循环这样就可以发出想要的乐音,直到完成一首完整的歌曲。1.怎样在P1.0引脚上产生音频脉冲了?     首先知道某一音频的周期,然后将此周期除以2,即为半周期的时间了。利用定时器计时这半个周期的时间,每当半个周期的时间到了就将P1.0反向,就可以在P1.0脚上得到某一音频的脉冲了。2.T值的计算方法(T值就是给定时器的初值)T=65536—NN=Fi/2/Fr         Fi:内部计时一次的时间(这里为1us,晶振12M)                

3、       FR:要产生的频率C调各音符频率与计数值T的对照表音符 频率(Hz) 简谱码(T值) 音符 频率(Hz) 简谱码(T值)低1DO 262 63628 #4FA# 740 64860#1DO# 277 63731 中5SO 784 64898低2RE 294 63835 #5SO# 831 64934#2RE# 311 63928 中6 880 64968低3M 330 64021 #6# 932 64994低4FA 349 64103 中7SI 988 65030#4FA# 370 64185 高1DO 1046 65058低5SO 392 642

4、60 #1DO# 1109 65085#5SO# 415 64331 高2RE 1175 65110低6LA 440 64400 #2RE# 1245 65134#6# 466 64463 高3M 1318 65157低7SI 494 64524 高4FA 1397 65178中1DO 523 64580 #4FA# 1480 65198#1DO# 554 64633 高5SO 1568 65217中2RE 587 64684 #5SO# 1661 65235#2RE# 622 64732 高6LA 1760 65252中3M 659 64777 #6# 186

5、5 65268中4FA 698 64820 高7SI 1967 652833.音符码表和节拍码表的建立因为每个音符的T值如上表,可以将所有的T值按照顺序建一个表,歌曲中需要发任何一个音都可以查表得到。TABLE0:DW  63628,63731,63835,63928,64021,64103        DW  64185,64260,64331,64400,64463,64524    DW  64580,64633,64684,64732,64777,64820        DW  64860,64898,64934,64968,64994,65030 

6、       DW  65058,65085,65110,65134,65157,65178        DW  65198,65217,65235,65252,65268,65283节拍码的建立则根据歌曲本身来建立。4.延时程序的编写在这里我们先算出1/4拍时间DELAY,则2/4拍为2倍DELAB,1拍为4倍DELAB,以此类推。延时时间的设定;石英晶振为12MHz,1个机械周期为一微秒。               机械周期MOV  R4,#20   2个  2D1:MOV  R5,#248  2个  2      20*(498+2)+2=10002 

7、                                 2+2*248=498              机械周期DJNZ  R5,$     2个  2*248               DJNZ  R4,  D1   2个  2*20              故时间为10002*1微秒=10.002毫秒设1/4拍时间为125毫秒延时程序如下:DELAY:MOV R3,#02D0:   MOV R4,#125D1:   MOV R5,#248       DJNZ  R5, $       DJNZ  R4,  D1       DJNZ  R3

8、,  D0       

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

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

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