单片机设计简易电子琴.docx
- 文档编号:4820305
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:14
- 大小:195.09KB
单片机设计简易电子琴.docx
《单片机设计简易电子琴.docx》由会员分享,可在线阅读,更多相关《单片机设计简易电子琴.docx(14页珍藏版)》请在冰点文库上搜索。
单片机设计简易电子琴
电子琴
单片机期末设计
一、作品简介:
漂亮的外观,清澈洪亮的声音,闪闪发亮的彩灯,相信早已吸引住你的眼球!
这是一款纯手工打造的电子琴,实为接近MM、生日礼物必备佳品。
二、作品功能:
★可以演奏出基本的16种音调:
Do、Re、Mi、Fa、SO、La、Si、高音;
三、基本原理:
设计原理:
1、要产生音频脉冲只需要算出某一音频的周期(1/频率),然后将此周期除以2,得到半周期的时间。
利用定时器计算这半个周期的时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。
2、利用8051的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。
3、例如频率为523HZ,其周期T=1/523=1912us,因此只要令计数器在每计数956次时将I/O反相,就可得到中音DO(523HZ)。
计数脉冲值与频率的关系公式如下:
N=Fi/2/FrN:
计数值;
Fi:
内部计时一次为1us,故其频率为1MHZ;
Fr:
要产生的频率;
4、其计数值的求法如下:
T=65536-N=65536-Fi/2/Fr
本次电子琴的单片机课程设计制作用到K=65536,F=1000000=Fi=1MHZ,则得到的琴键上C调各音频与计数值T的对照表如下表所示。
音符
频率(HZ)
简谱码(T值)
音符
频率(HZ)
简谱码(T值)
中1DO
523
64580
高2RE
1175
65110
中2RE
587
64684
高3M
1318
65157
中3M
659
64777
高4FA
1397
65178
中4FA
698
64820
低3M
330
64021
中5SO
784
64898
低4FA
349
64103
中6LA
880
64968
低5SO
392
64260
中7SI
988
65030
低6LA
440
64400
高1DO
1046
65058
低7SI
494
64524
四、实验目的:
(1)能够对电子电路、电子元器件、等方面的知识有进一步的认识,独立对其进行测试与检查。
(2)熟悉8051单片机的内部结构和功能,合理使用其内部寄存器,能够完成相关软件编程设计工作。
(3)为实现预期功能,能够对系统进行快速的调试,并能够对出现的功能故障进行分析,及时修改相关软硬件。
(4)对软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。
五、硬件电路:
1、由4X4组成16个按钮矩阵,设计成16个音。
P37P36P35P34
低3
低4
低5
低6
低7
中1
中2
中3
中4
中5
中6
中7
高1
高2
高3
高4
P33
P32
P31
P30
2.喇叭驱动电路,speaker接单片机的P1.0口,喇叭安装在箱体中:
六、软件设计
KEYBUFEQU30H
STH0EQU31H
STL0EQU32H
TEMPEQU33H
ORG00H
LJMPSTART
ORG0BH
LJMPINT_T0
START:
MOVTMOD,#01H
SETBET0
SETBEA
WAIT:
MOVP3,#0FFH
CLRP3.4
MOVA,P3
ANLA,#0FH
XRLA,#0FH
JZNOKEY1
LCALLDELY10MS
MOVA,P3
ANLA,#0FH
XRLA,#0FH
JZNOKEY1
MOVA,P3
ANLA,#0FH
CJNEA,#0EH,NK1
MOVKEYBUF,#0
LJMPDK1
NK1:
CJNEA,#0DH,NK2
MOVKEYBUF,#1
LJMPDK1
NK2:
CJNEA,#0BH,NK3
MOVKEYBUF,#2
LJMPDK1
1NK3:
CJNEA,#07H,NK4
MOVKEYBUF,#3
LJMPDK1
NK4:
NOP
DK1:
MOVA,KEYBUF
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
MOVA,KEYBUF
MOVB,#2
MULAB
MOVTEMP,A
MOVDPTR,#TABLE1
MOVCA,@A+DPTR
MOVSTH0,A
MOVTH0,A
INCTEMP
MOVA,TEMP
MOVCA,@A+DPTR
MOVSTL0,A
MOVTL0,A
SETBTR0
DK1A:
MOVA,P3
ANLA,#0FH
XRLA,#0FH
JNZDK1A
CLRTR0
NOKEY1:
MOVP3,#0FFH
CLRP3.5
MOVA,P3
ANLA,#0FH
XRLA,#0FH
JZNOKEY2
LCALLDELY10MS
MOVA,P3
ANLA,#0FH
XRLA,#0FH
JZNOKEY2
MOVA,P3
ANLA,#0FH
CJNEA,#0EH,NK5
MOVKEYBUF,#4
LJMPDK2
NK5:
CJNEA,#0DH,NK6
MOVKEYBUF,#5
LJMPDK2
NK6:
CJNEA,#0BH,NK7
MOVKEYBUF,#6
LJMPDK2
NK7:
CJNEA,#07H,NK8
MOVKEYBUF,#7
LJMPDK2
NK8:
NOP
DK2:
MOVA,KEYBUF
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
MOVA,KEYBUF
MOVB,#2
MULAB
MOVTEMP,A
MOVDPTR,#TABLE1
MOVCA,@A+DPTR
MOVSTH0,A
MOVTH0,A
INCTEMP
MOVA,TEMP
MOVCA,@A+DPTR
MOVSTL0,A
MOVTL0,A
SETBTR0
DK2A:
MOVA,P3
ANLA,#0FH
XRLA,#0FH
JNZDK2A
CLRTR0
NOKEY2:
MOVP3,#0FFH
CLRP3.6
MOVA,P3
ANLA,#0FH
XRLA,#0FH
JZNOKEY3
LCALLDELY10MS
MOVA,P3
ANLA,#0FH
XRLA,#0FH
JZNOKEY3
MOVA,P3
ANLA,#0FH
CJNEA,#0EH,NK9
MOVKEYBUF,#8
LJMPDK3
NK9:
CJNEA,#0DH,NK10
MOVKEYBUF,#9
LJMPDK3
NK10:
CJNEA,#0BH,NK11
MOVKEYBUF,#10
LJMPDK3
NK11:
CJNEA,#07H,NK12
MOVKEYBUF,#11
LJMPDK3
NK12:
NOP
DK3:
MOVA,KEYBUF
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
MOVA,KEYBUF
MOVB,#2
MULAB
MOVTEMP,A
MOVDPTR,#TABLE1
MOVCA,@A+DPTR
MOVSTH0,A
MOVTH0,A
INCTEMP
MOVA,TEMP
MOVCA,@A+DPTR
MOVSTL0,A
MOVTL0,A
SETBTR0
DK3A:
MOVA,P3
ANLA,#0FH
XRLA,#0FH
JNZDK3A
CLRTR0
NOKEY3:
MOVP3,#0FFH
CLRP3.7
MOVA,P3
ANLA,#0FH
XRLA,#0FH
JZNOKEY4
LCALLDELY10MS
MOVA,P3
ANLA,#0FH
XRLA,#0FH
JZNOKEY4
MOVA,P3
ANLA,#0FH
CJNEA,#0EH,NK13
MOVKEYBUF,#12
LJMPDK4
NK13:
CJNEA,#0DH,NK14
MOVKEYBUF,#13
LJMPDK4
NK14:
CJNEA,#0BH,NK15
MOVKEYBUF,#14
LJMPDK4
NK15:
CJNEA,#07H,NK16
MOVKEYBUF,#15
LJMPDK4
NK16:
NOP
DK4:
MOVA,KEYBUF
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
MOVA,KEYBUF
MOVB,#2
MULAB
MOVTEMP,A
MOVDPTR,#TABLE1
MOVCA,@A+DPTR
MOVSTH0,A
MOVTH0,A
INCTEMP
MOVA,TEMP
MOVCA,@A+DPTR
MOVSTL0,A
MOVTL0,A
SETBTR0
DK4A:
MOVA,P3
ANLA,#0FH
XRLA,#0FH
JNZDK4A
CLRTR0
NOKEY4:
LJMPWAIT
DELY10MS:
MOVR6,#10
D1:
MOVR7,#248
DJNZR7,$
DJNZR6,D1
RET
INT_T0:
MOVTH0,STH0
MOVTL0,STL0
CPLP1.0
RETI
TABLE:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H
TABLE1:
DW64021,64103,64260,64400
DW64524,64580,64684,64777
DW64820,64898,64968,65030
DW65058,65110,65157,65178
END
八、调制日志
。
2010年12月24日星期一
我们将程序考到了51单片机上,进行产品测试,但是没有成功。
喇叭不响……对电路检查没有发现错误,分析原因可能是电路的电压问题。
经过讨论决定放弃该电路,重新焊接功放电路。
2010年12月25日星期四
我们重新焊接了电路,测试后成功。
但是无法完成放音功能。
调试程序……
2010年12月26日星期五
进行最后调试,预期功能可以实现。
设计成功!
!
九、心得体会
在理论课上,我们学习了一些关于51单片机的知识。
这次实验,把课本上的知识拿到实际中去应用,其中还是遇到了很多之前想象不到的问题。
但是通过自学,我们完成了不少课堂上并没有掌握的内容。
不论是程序上的,还是硬件电路连接上的。
从自己亲自动手实践的过程中,我们团队成员都能尽自己的一份力,大家共同协作,共同发现问题,解决问题。
这次实验中,从知识上,对51单片机的应用有了更深入的了解,对汇编编软件(keil,wave6000)以及烧录软件progisp的应用有了基本的了解和实践;从个人,很大程度上锻炼了自己的动手能力,熟练焊接技术,布线技术以及对万用表,剥线钳等的使用;从团队,极大的锻炼了我们团队协作的能力,每个人的分工与协调,共同进步。
通过这次实验课,我们不仅有拿到作品的成就感,又增加了团队意识。
希望以后能有更多这样的机会,能充分的将知识转化为物质财富。
是一种很美妙的享受。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 设计 简易 电子琴
![提示](https://static.bingdoc.com/images/bang_tan.gif)