欢迎来到天天文库
浏览记录
ID:39554492
大小:29.13 KB
页数:14页
时间:2019-07-06
《单片机电子琴电路图及源程序代码-论文》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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
此文档下载收益归作者所有