电子琴课程设计.docx
- 文档编号:11963016
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:22
- 大小:411.32KB
电子琴课程设计.docx
《电子琴课程设计.docx》由会员分享,可在线阅读,更多相关《电子琴课程设计.docx(22页珍藏版)》请在冰点文库上搜索。
电子琴课程设计
九江职业技术学院
电气工程学院
课程设计
题目:
电子琴
专业:
供用电技术
班级:
自控0901班
姓名:
何诚
学号:
20093948
实验地点:
工程中心322实验室
指导老师:
倪志莲老师
成绩:
目录
摘要3
1引言3
1.1目的和意义3
1.2本系统主要研究内容3
1.3主要芯片简介4
2系统分析4
2.1系统组成4
2.2系统工作原理5
3系统硬件设计6
3.1系统硬件总体设计6
3.2子系统(模块)一7
3.3子系统(模块)二7
4系统软件设计8
4.1系统软件总体设计8
4.2子系统一9
4.3子系统二10
5系统使用说明11
5.1系统安装及配置说明11
5.1.1系统运行环境11
5.1.2系统安装及配置12
5.2系统操作说明12
6结论12
参考文献13
附录14
电子琴
摘要:
随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。
我们都会抽空欣赏世界名曲,作为对精神的洗礼。
本论文设计一个基于单片机的简易电子琴。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本系统是以51系列单片机AT89S51为主控制器,附有矩阵键盘、LED显示管、扬声器组成。
系统完成显示输入信息、播放相应音符等基本功能。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键词:
AT89C51,矩阵键盘,LED显示管,扬声器。
1引言
1.1目的和意义
单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
它的应用必定导致传统的控制技术从根本上发生变革。
因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89S51单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。
本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。
利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。
并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。
本系统是简易电子琴的设计,按下键盘矩阵中的按键会使数码管显示当前按键,扬声器播放器对应的音符。
通过设计本系统可了解单片机的基本功能。
对单片机的了解有一个小的飞跃。
1.2本系统主要研究内容
本系统设计制作一个可演奏的电子琴。
综合应用了两项设计。
(1)键盘矩阵识别。
即矩阵扫描,显示当前按键。
(2)不同频率音符播放。
可以通过按键控制16种发音。
1.3主要芯片简介
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:
40个引脚(引脚图如图1-2所示),4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
2系统分析
2.1系统组成
本系统只要以51单片机为主控核心,与矩阵键盘、扬声器、LED显示管模块一起组合而成。
具体如下:
2.2系统工作原理
本系统扫描键盘矩阵、显示按键、扬声器发出对应音符。
4X4行列式键盘识别及显示原理如下:
组成键盘的按键有机械式、电容式、导电橡胶式、薄膜式多种,但不管什么形式,其作用都是一个使电路接通与断开的开关。
目前微机系统中使用的键盘按其功能不同,通常可分为编码键盘和非编码键盘两种基本类型。
编码键盘:
键盘本身带有实现接口主要功能所需的硬件电路。
不仅能自动检测被按下的键,并完成去抖动、防串键等功能,而且能提供与被按键功能对应的键码(如ASCII码)送往CPU。
所以,编码键盘接口简单、使用方便。
但由于硬件电路较复杂,因而价格较贵。
非编码键盘:
键盘只简单地提供按键开关的行列矩阵。
有关按键的识别、键码的确定与输入、去抖动等功能均由软件完成。
目前微机系统中,一般为了降低成本大多数采用非编码键盘。
键盘接口必须具有去抖动、防串键、按键识别和键码产生4个基本功能。
(1)去抖动:
每个按键在按下或松开时,都会产生短时间的抖动。
抖动的持续时间与键的质量相关,一般为5—20mm。
所谓抖动是指在识别被按键是必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。
去抖问
题可通过软件延时或硬件电路解决。
(2)防串键:
防串键是为了解决多个键同时按下或者前一按键没有释放又有新的按键按下时产生的问题。
常用的方法有双键锁定和N键轮回两种方法。
双键锁定,是当有两个或两个以上的按键按下时,只把最后释放的键当作有效键并产生相应的键码。
N键轮回,是当检测到有多个键被按下时,能根据发现它们的顺序依次产生相应键的键码。
(3)被按键识别:
如何识别被按键是接口解决的主要问题,一般可通过软硬结合的方法完成。
常用的方法有行扫描法和线反转法两种。
行扫描法的基本思想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭合键,为此,需要设置入口、输出口一个,该方法在微机系统中被广泛使用。
线反转法的基本思想是通过行列颠倒两次扫描来识别闭合键,为此需要提供两个可编程的双向输入/输出端口。
(4)键码产生:
为了从键的行列坐标编码得到反映键功能的键码,一般在内存区中建立一个键盘编码表,通过查表获得被按键的键码。
用AT89S51的并行口P1接4×4矩阵键盘,以P1.0-P1.3作输入线,以P1.4-P1.7作输出线;在数码管上显示每个按键的“0-F”序号。
总体电路具体原理如下:
3系统硬件设计
3.1系统硬件总体设计
本系统由键盘矩阵、LED显示管、扬声器这几个部分组成,LED显示管显示当前按键,扬声器发出对应音符。
硬件总体设计图如下:
3.2子系统(模块)一
LED显示模块如图2-2所示,利用AT89S51单片机的P0端口的P0.0-P0.7连接到一个七段数码管的a-g的笔段上,数码管的公共端接电源。
矩阵扫描显示当前按键模块如下:
3.3子系统(模块)二
矩阵扫描扬声器发出对应音符模块如下:
3.4子系统(模块)三
矩阵键盘模块图如下:
4系统软件设计
4.1系统软件总体设计
本系统的软件流程图如下:
4.2子系统一
七段LED显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的极管的接线形式,可分成共阴极型和共阳极型。
LED数码管的g-a七个发光二极管因加正电压而发亮,因加零电压而不以发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码。
本系统按键显示模块软件流程图如下:
4.3子系统二
利用AT89C51的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。
计数脉冲值与频率的关系式(如式2-1所示)是:
N=fi÷2÷fr 2-1
式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。
其计数初值T的求法如下:
T=65536-N=65536-fi÷2÷fr
例如:
设K=65536,fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。
T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr
低音DO的T=65536-500000/262=63628
中音DO的T=65536-500000/523=64580
高音DO的T=65536-500000/1046=65059
现在以单片机12MHZ晶振为例,例出高中低音符与单片机计数T0相关的计数值如下表所示:
音符
频率(HZ)
简谱码(T值)
音符
频率(HZ)
简谱码(T值)
低1 DO
262
63628
中3Mi
660
64777
低2 RE
294
63835
中4FA
698
64820
低3Mi
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
高2RE
1175
65110
中1DO
523
64580
高3M
1318
65157
中2RE
588
64684
高4FA
1397
65178
本系统按键发出对应音符模块软件流程图如下:
5系统使用说明
5.1系统安装及配置说明
5.1.1系统运行环境
WINDOWSXPPROTEUSwave
5.1.2系统安装及配置
安装Protues和Wave。
5.2系统操作说明
(1)Wave下编译,产生目标.HEX文件,Proteus下ProgrammeFiles选择产生的.HEX文件,点击运行开始模拟。
(2)开启本系统,数码管显示“-”。
(3)按任意键盘,数码管显示所按下的键盘数,扬声器发出相应的音符。
6结论
这次的单片机应用系统设计对我们来说真的好难哦,也知道了“书到用时方恨少”,从未接触任何实践,程序也还没完全得心应手,甚至可以说一些小的程序编写可能还要花费我们很多时间。
突然说要自己亲手设计一个应用系统,一下子感觉实在难啊,根本不知道从何下手。
后来实在没办法,只有去网上查找相关的设计或者到书上去找例子,从而来让自己有个如何去做的思路。
通过在网上和书上很多例子的参考,基本了解了设计报告的结构和写法,同时也让我知道了单片机的功能真的是如此的大,几乎应用于我们身边的每时每刻。
程序也实在很长,对于现在的我来说肯定编不出来,所以主要的还是以看懂为主。
根据每个程序的功能各不相同来使程序简化。
最后,通过这次的自主完成单片机的应用系统设计,虽说不完全是自己完成,但是至少有一点,让我们学会了如何去完成一个设计报告,相信对以后的毕业设计也会有很大的帮助。
参考文献
[1]李光飞.单片机课程设计指导.北京航空航天大学出版社.2007年
[2]阎石.数字电子技术基础.北京:
高等教育出版社,1997年
[3]李建忠.单片机原理及应用.西安:
西安电子科技大学,2002年
[4]韩志军等.单片机应用系统设计[M].机械工业出版社,2004
附录
系统源程序如下:
ORG0000H
LJMPSTART
ORG001BH
MOVTH1,R1
MOVTL1,R0
CPLP0.0
RETI
ORG0100H
START:
MOVTMOD,#10H
MOVIE,#88H
MOVP1,#0FFH
MOVR4,#00H
MAIN:
ACALLBEGIN
MOVP1,R4
SJMPMAIN
BEGIN:
MOVP2,#0F0H
MOVA,P2
ANLA,#0F0H
CJNEA,#0F0H,DELAY
AJMPRETU
DELAY:
ACALLDEL10
MOVA,P2
ANLA,#0F0H
CJNEA,#0F0H,PROG
AJMPRETU
PROG:
MOVR2,#04H
MOVR3,#01H
SCAN:
MOVA,R3
CPLA
MOVP2,A
MOVA,P2
ANLA,#0F0H
CJNEA,#0F0H,FN
MOVA,R3
RLA
MOVR3,A
DJNZR2,SCAN
AJMPRETU
FN:
CPLA
ANLA,#0F0H
ADDA,R3
CJNEA,#11H,NUM0
MOVR4,#00H
MOVR1,#0F8H
MOVR0,#08CH
MOVTH1,R1
MOVTL1,R0
SETBTR1
JNBP2.4,$
CLRTR1
AJMPRETU
NUM0:
CJNEA,#21H,NUM1
MOVR4,#01H
MOVR1,#0F9H
MOVR0,#05BH
MOVTH1,R1
MOVTL1,R0
SETBTR1
JNBP2.5,$
CLRTR1
AJMPRETU
NUM1:
CJNEA,#41H,NUM2
MOVR4,#02H
MOVR1,#0FAH
MOVR0,#015H
MOVTH1,R1
MOVTL1,R0
SETBTR1
JNBP2.6,$
CLRTR1
AJMPRETU
NUM2:
CJNEA,#81H,NUM3
MOVR4,#03H
MOVR1,#0FAH
MOVR0,#067H
MOVTH1,R1
MOVTL1,R0
SETBTR1
JNBP2.7,$
CLRTR1
AJMPRETU
NUM3:
CJNEA,#12H,NUM4
MOVR4,#04H
MOVR1,#0FBH
MOVR0,#04H
MOVTH1,R1
MOVTL1,R0
SETBTR1
JNBP2.4,$
CLRTR1
AJMPRETU
NUM4:
CJNEA,#22H,NUM5
MOVR4,#05H
MOVR1,#0FBH
MOVR0,#090H
MOVTH1,R1
MOVTL1,R0
SETBTR1
JNBP2.5,$
CLRTR1
AJMPRETU
NUM5:
CJNEA,#42H,NUM6
MOVR4,#06H
MOVR1,#0FCH
MOVR0,#0CH
MOVTH1,R1
MOVTL1,R0
SETBTR1
JNBP2.6,$
CLRTR1
AJMPRETU
NUM6:
CJNEA,#82H,NUM7
MOVR4,#07H
MOVR1,#0FCH
MOVR0,#044H
MOVTH1,R1
MOVTL1,R0
SETBTR1
JNBP2.7,$
CLRTR1
AJMPRETU
NUM7:
CJNEA,#14H,NUM8
MOVR4,#08H
MOVR1,#0FCH
MOVR0,#0ACH
MOVTH1,R1
MOVTL1,R0
SETBTR1
JNBP2.4,$
CLRTR1
AJMPRETU
NUM8:
CJNEA,#24H,NUM9
MOVR4,#09H
MOVR1,#0FDH
MOVR0,#09H
MOVTH1,R1
MOVTL1,R0
SETBTR1
JNBP2.5,$
CLRTR1
AJMPRETU
NUM9:
CJNEA,#44H,NUM10
MOVR4,#10H
MOVR1,#0FDH
MOVR0,#034H
MOVTH1,R1
MOVTL1,R0
SETBTR1
JNBP2.6,$
CLRTR1
AJMPRETU
NUM10:
CJNEA,#84H,NUM11
MOVR4,#11H
MOVR1,#0FDH
MOVR0,#082H
MOVTH1,R1
MOVTL1,R0
SETBTR1
JNBP2.7,$
CLRTR1
AJMPRETU
NUM11:
CJNEA,#18H,NUM12
MOVR4,#12H
MOVR1,#0FDH
MOVR0,#0C8H
MOVTH1,R1
MOVTL1,R0
SETBTR1
JNBP2.4,$
CLRTR1
AJMPRETU
NUM12:
CJNEA,#28H,NUM13
MOVR4,#13H
MOVR1,#0FEH
MOVR0,#06H
MOVTH1,R1
MOVTL1,R0
SETBTR1
JNBP2.5,$
CLRTR1
AJMPRETU
NUM13:
CJNEA,#48H,NUM14
MOVR4,#14H
MOVR1,#0FEH
MOVR0,#022H
MOVTH1,R1
MOVTL1,R0
SETBTR1
JNBP2.6,$
CLRTR1
AJMPRETU
NUM14:
CJNEA,#88H,RETU
MOVR4,#15H
MOVR1,#0FEH
MOVR0,#056H
MOVTH1,R1
MOVTL1,R0
SETBTR1
JNBP2.7,$
CLRTR1
RETU:
RET
DEL10:
MOVR6,#20H
Q6:
MOVR5,#0BBH
Q5:
DJNZR5,Q5
DJNZR6,Q6
RET
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子琴 课程设计