基于单片机的电子琴控制系统.docx
《基于单片机的电子琴控制系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子琴控制系统.docx(14页珍藏版)》请在冰豆网上搜索。
基于单片机的电子琴控制系统
单片机原理与应用技术
课程设计报告(论文)
基于单片机的电子琴设计
专业班级:
应用电子技术教育111班
姓 名:
张胜林
时间:
2014.6.3-2014.6.19
指导教师:
孔小红秦国庆宋长源
2014年6月17日
单片机课程设计任务书
1.设计目的与要求
设计出一个电子琴控制系统。
准确地理解有关要求,独立完成
系统设计,要求所设计的电路具有以下功能:
(1)实现基本的音符1-7的弹奏和数码显示。
(2)自动弹奏播放一首简单的歌曲。
2.设计内容
(1)画出电路原理图,正确使用逻辑关系;
(2)确定元器件及元件参数;
(3)进行电路模拟仿真;
(4)SCH文件生成与打印输出;
3.编写设计报告
写出设计的全过程,附上有关资料和图纸,有心得体会。
4.答辩
在规定时间内,完成叙述并回答问题。
论文结构清晰,层次分明,理论严谨
任务书要求单页打印。
1.5倍行间距,标准字间距。
目录
摘要…………………………………………………………………1
关键词………………………………………………………………1
1引言…………………………………………………………………1
2单片机简介…………………………………………………………1
3总体设计方案
3.1设计思路…………………………………………………………………3
3.2总体框图…………………………………………………………………3
4设计原理分析
4.1按键电路…………………………………………………………………3
4.2发声电路…………………………………………………………………4
4.3数码管显示电路…………………………………………………………4
4.4复位与振荡电路…………………………………………………………4
5结束语………………………………………………………………5
参考文献……………………………………………………………5
附录1………………………………………………………………6
附录2………………………………………………………………10
附录3………………………………………………………………11
附录4………………………………………………………………12
附录5………………………………………………………………13
基于单片机的电子琴控制系统
应教111张胜林
摘要:
本设计是一个基于STC89C52RC单片机的电子琴。
设计指标含2×4键盘(分别包括7个音符、1首示例音乐)、一个一位八段数码管显示、可以播放一首完整的音乐、还可以通过按下按键复位。
关键词:
STC89C52RC单片机;八段数码管;按键;音符;音乐;程序
1引言
电子琴是高科技在音乐领域的一个代表,它是古典文化与现代文明的一个浓缩体。
它不但可以帮助我们的音乐教师进行传统音乐文化的教育教学工作,而且由于它又具备现代音乐,特别是电子音乐、电脑音乐的基本结构、特征,因而使我们的教师在进行现代音乐、电子音乐、电脑音乐的教学时,更直接、更简便。
单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
它的应用必定导致传统的控制技术从根本上发生变革。
因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用STC89C52RC单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、蜂鸣器等模块组成核心主控制模块,在主控模块上设有7个弹奏按键、1个播放键、1个复位按键和蜂鸣器。
2STC89C52RC单片机简介
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
主要特性如下:
1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。
2.工作电压:
5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)。
3.工作频率范围:
0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz。
4.用户应用程序空间为8K字节。
5.片上集成512字节RAM。
6.通用I/O口(32个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片。
8.具有EEPROM功能。
9.具有看门狗功能。
10.共3个16位定时器/计数器。
即定时器T0、T1、T2。
11.外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒。
12.通用异步串行口(UART),还可用定时器软件实现多个UART。
13.工作温度范围:
-40~+85℃(工业级)/0~75℃(商业级)。
14.STC89C52RC单片机的工作模式
掉电模式:
典型功耗0.1μA(可由外部中断唤醒,中断返回后,继续执行原程序)。
空闲模式:
典型功耗2mA。
正常工作模式:
典型功耗4MA~7mA。
掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备。
15.管脚排列图:
图1
3总体设计方案
3.1设计思路
本设计利用单片机不同的频率组合,来构成我们想要的声音,也即音乐。
我利用单片机的定时/计数器T0、T1来产生这样的不同频率信号,控制好频率即可构成音乐。
本设计用硬件和软件结合来实现,主要表现在程序的编制上。
利用STC89C52的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0、TH1及TL0、TL1以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956(12MHZ晶振),每计数956次时将I/O反相,就可得到中音DO(523Hz)。
其余音符类似。
3.2总体框图
播放歌曲功能
四乘四矩阵STC89C52RC单片机音频
式键盘
LED显示
图2
4设计原理分析
4.1按键电路
图3
通过查询哪个按键按下可以控制数码管显示该按键代表的数字;前七个按键代表音符键,通过查询被按下的按键可以控制发出相应的音符,最后一个按键代表功能键,若按下则可以自动播放一首音乐。
4.2发声电路
图4
通过给蜂鸣器传送不同的频率使其发出不同的音调。
4.3数码管显示电路
图5
4.4复位与振荡电路
图6
5结束语
此次课程设计使得我们把平时课堂上学的理论知识运用到实际中,比如说在单片机课程、模电、数电和电路中学的知识,通过这次课程设计的完成,加深了我们这一些理论知识的理解,为以后下一步的学习打下了基础,在以后的学习过程中我们不应该只学习课本上的东西,还应该与实际多多地结合,这样才能学以致用。
而且只有与实际结合起来,也才能真正彻底地明白那一些理论知识。
参考文献
[1]李朝青.单片机原理及接口技术(第三版)[M].北京:
北京航空航天出版社,2006
[2]康华光.数字电子技术基础(第五版)[M].北京:
高等教育出版社,2006
[3]张庆双.全新实用电路集萃[M].北京:
北京机械工业出版社,2008
[4]阎石.数字电子技术基础(第三版)[M].北京:
高等教育出版社,1989
[5]付家才.电子实验与实践[M].北京:
高等教育出版社,2004
附录1
汇编程序
org000h
numtimequ20h
geweiequ21h
shiweiequ22h
scanledequ23h
ljmpmain
org00bh
jmptim0
org100h
orlp1,#0ffh
orlp0,#0ffh
main:
JNBP1.0,DO
JNBP1.1,RE
JNBP1.2,MI
JNBP1.3,FA
JNBP1.4,SO
JNBP1.5,LA
JNBP1.6,SI
JNBP1.7,start
ljmpmain
DO:
MOVR6,#126
MOVA,#0F9H
MOVP0,A
LJMPOUTPUT
RE:
MOVR6,#113
MOVA,#0A4H
MOVP0,A
LJMPOUTPUT
MI:
MOVR6,#100
MOVA,#0B0H
MOVP0,A
LJMPOUTPUT
FA:
MOVR6,#95
MOVA,#99H
MOVP0,A
LJMPOUTPUT
SO:
MOVR6,#85
MOVA,#92H
MOVP0,A
LJMPOUTPUT
LA:
MOVR6,#75
MOVA,#82H
MOVP0,A
LJMPOUTPUT
SI:
MOVR6,#67
MOVA,#0F8H
MOVP0,A
LJMPOUTPUT
OUTPUT:
CLRP3.7
ACALLDEL
SETBP3.7
ACALLDEL
AJMPmain
DEL:
MOVB,R6
DL:
MOVR7,#6
DJNZR7,$
DJNZR6,DL
MOVR6,B
RET
start:
MOVA,#80H
MOVP0,A
movtmod,#00000001b
movie,#10000010b
movnumtim,#01h
start0:
mov30h,#00h
next:
mova,30h
movdptr,#table
movca,@a+dptr
movr2,a
jzend0
anla,#0fh
movr5,a
mova,r2
swapa
anla,#0fh
jnzsing
clrtr0
jmpd1
sing:
deca
mov22h,a
rla
movdptr,#table1
movca,@a+dptr
movth0,a
mov21h,a
mova,22h
rla
inca
movca,@a+dptr
movtl0,a
mov20h,a
setbtr0
d1:
lcalldelay
inc30h
jmpnext
end0:
ljmpmain
tim0:
pushacc
pushpsw
movtl0,20h
movth0,21h
cplp3.7;由该口输出音频数据
poppsw
popacc
reti
delay:
movr7,#02h
d2:
movr4,#187
d3:
movr3,#248
djnzr3,$
djnzr4,d3
djnzr7,d2
djnzr5,delay
ret
table1:
;音乐码表
dw64260,64400,64524,64580
dw64684,64777,64820,64898
dw64968,65030,65058,65110
dw65157,65178,65217
table:
db82h,01h,81h,94h,84h
db0b4h,0a4h,04h
db82h,01h,81h,94h,84h
db0c4h,0b4h,04h
db82h,01h,81h,0f4h,0d4h
db0b4h,0a4h,94h
db0e2h,01h,0e1h,0d4h,0b4h
db0c4h,0b4h,04h
db00
END
附录2
仿真图
附录3
原理图
附录4
生成PCB图
附录5
元件清单