电子琴论文 - 图文
更新时间:2023-10-10 18:43:01 阅读量: 综合文库 文档下载
- 电子琴论文参考文献推荐度:
- 相关推荐
中文摘要
微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。就因为它的应用非常广泛,因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。而音乐现在也成了人们生活的一部分,生活的压力,学习的压力,工作的压力,一切的不顺利可以在音乐声中放松下来,让人们心情舒畅,听着音乐放松心情,让我们提高生活质量。本论文设计一个基于单片机的简易电子琴。电子琴是现代电子科技与音乐结合的产物,是一种键盘乐器。本系统是以51系列单片机AT89S52为主芯片,附有矩阵键盘、LED显示管、扬声器组成。系统完成显示输入信息、播放相应音符等基本功能。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键词:AT89S52,矩阵键盘,LED显示管,扬声器。
ABSTRACT
Microcomputers are large scale integrated circuit technology development of the fourth generation of the product, electronic computers, it has high performance, high speed, small volume, low prices, stable and reliable, widely characteristics. Just because it's very extensive, therefore, SCM for the development and application of high-tech and engineering field has become a major issue. But music now also become a part of life, life pressure, the pressure of learning, working pressure, all is not well in music can relax and let people in a relaxed mood, listen to music to relax, let us improve the quality of life. This paper is based on single chip design a simple keyboard. Modern electronic technology and keyboard is the combination of music, is a kind of keyboard instrument. SCM has strong control function and flexible programmable achieve properties, it has into modern people's life, become part of the entertainment and leisure. This system is mainly 51 series
microcontroller AT89S52, accompanied by matrix keyboard, chip, speaker ,LED. System completes display input information, the basic function such as broadcast corresponding notes. This system stable operation, its advantage is hardware circuit is simple, software function consummation, the control system is reliable, cost-effective higher, has certain practical and reference value.
Keywords: AT89S52, matrix, LED, speaker
目录
中文摘要 ABSTRACT
第一章 引言 ......................................................... 1 1.1课题设计的背景和意义 .......................................... 1 1.2课题主要研究的内容 ............................................ 2 第二章 系统设计 ..................................................... 3 2.1系统设计要求 ................................................. 3 2.2系统框图 ..................................................... 3 第三章 系统硬件设计 ................................................. 4 3.1系统硬件总体设计 .............................................. 4 3.2 系统的工作原理 ................................................ 4 3.2.1 矩阵键盘模块 .............................................. 6 3.2.2 数码管模块 ................................................ 7 3.2.3 扬声器模块 ................................................ 8 第四章 软件设计 ..................................................... 9 4.1 整体程序处理流程图 ............................................ 9 4.2 LED数码管的显示 ............................................. 10 4.3 音乐播放设计 ................................................. 10 第五章 系统调试 .................................................... 12 5.1 程序调试 ..................................................... 12 5.2仿真调试 ..................................................... 14 结论 ............................................................. 17 致谢 ............................................................. 18 参考文献 ......................................................... 19 附录 ............................................................. 20
第一章 引言
1.1课题设计的背景和意义
随着生活水平的提高,人们的需求不再仅仅是物质上的满足,更多的是要求精神上的放松。在放松自己的同时又能提高各个方面的能力。学习和欣赏音乐可以在人们疲劳的时候得到放松,同时提高人们的精神品质和素养。如今爱好音乐的人越来越多,有不少人自己练习乐器作为业余爱好来陶冶情操,可鉴于一些乐器学习难度大,需要太多的时间,并且价格又太过于高昂,使得一部分有这种想法的人不得不放弃。而一些简易的电子乐器价格相对便宜,学习简单,价格相对便宜,能够了满足一般爱好者的需求。因此简易电子乐器的研制具有一定的社会意义。
单片机是在一块芯片内集成了计算机的各个功能部件,构成一种单片式的微型计算机。单片机的发展迅速,应用不断深入,新技术层出不穷。并已广泛应用到人类生活的各个领域,如家电、通讯设备、玩具、智能卡、汽车及防盗、医用保健、仪表、工业过程控制等,成为当今科学技术现代化不可缺的重要工具。
之所以以单片机电子琴选题,目的在于从日常生活能接触到的细微处着手,通过理论与实践的结合,更明确自己的所学所用,也在实践中发现理论上的不足,对目前日益广泛应用的单片机有了更加理性化和感性化的认识,使理论和实践相得益彰。当前市场上的玩具市场需求量大,其中电子产品占有重要的位置,然而电子琴也是一个很好的应用方面。单片机技术使我们可以利用软硬件实现电子琴的功能,从而实现电子琴的微型化,可以用于玩具琴、音乐盒中、儿童车里等等。
设计主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶。并且分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。系统是简易电子琴的设计,按下键盘矩阵中的按键会使数码管显示当前按键,扬声器播放器对应的音符。通过设计本系统可了解单片机的基本功能。对单片机的了解有一个小的飞跃。
1.2课题主要研究的内容
本课题主要研究基于单片机的电子琴设计,以AT89S52芯片作为主要核心部件,4*4的矩阵键盘作为输入部分,数码管显示字符,扬声器作为主要输出设备,结合KEIL和PROTUES等软件的功能,通过编译程序结合仿真,实现电子琴内置音乐的播放和弹奏音乐的功能,同时通过两个LED灯的亮灭表示当时弹奏或播放的状态,数码管显示按键的16个字符“0—9,A—F”来表示当前所按下的键。
第二章 系统设计
2.1系统设计要求
本系统分为两个部分,音乐播放和音乐的弹奏。
1、 要求达到电子琴的基本功能,可以用弹奏出简单的乐曲。 2、 用键盘作出电子琴的按键,每个键代表一个音符。
3、 各音符按一定的顺序排列,必须符合电子琴的按键排列顺序。 4、 固定音乐播放有按键控制:“播放”、“弹奏/停止”。
5、 弹奏电子琴时能播放出准确的声音,不弹奏时可以播放内置音乐。
2.2系统框图
单片机因体积小、功能强、价格低而得到诪泛应用。本系统只要以51单片机为主控核心,扩展一组矩阵键盘、扬声器、LED显示管模块和一组发光二极管来指示电子琴的工作状态一起组合而成。 具体如下图2-1:
4*4矩阵键 AT89S52 单片机 数码管显示 发光二极管 喇叭
图2-1 电子琴的框图
用P0口的高四位和P0口的低四位作4*4矩阵式按键的接口,用P2口作数码管的接口,用P3.7
作信号输出口。
第三章 系统硬件设计
3.1系统硬件总体设计
本系统由键盘矩阵、LED显示管、扬声器这几个部分组成,LED显示管显示当前按键,扬声器发出对应音符。
硬件总体设计图如图3-1:
图3-1利用PROTEUS仿真设计的硬件电路图
3.2 系统的工作原理
本系统扫描键盘矩阵、显示按键、扬声器发出对应音符。
用AT89S52的并行口P0接4×4矩阵键盘,以P0.0-P0.3作输入线,以P0.4-P0.7作输出线;在数码管上显示每个按键的“0-F”序号。 总体电路具体原理如下:
开始 模块初始化 发送扫描码 否
有键按下 是
扫描键盘矩阵
显示按键
启动定时器
延时
结束
图3-2 系统工作原理图
停止播放
3.2.1 矩阵键盘模块
R2PULLUPR3PULLUPR4PULLUPR5PULLUPa3R6R7PULLUPPULLUPa2a0a1a2a3a4a5a6a7a1R8R9a7a6a5a4PULLUPa0PULLUP 图3-3 矩阵键盘模块图
如图3-3:在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P0口)就可以构成4*4=16个按键,比直接将端口线用于键盘多出一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一个键。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。
矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,没有键按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。 矩阵式键盘的按键识别方法
确定矩阵式键盘上何键被按下,介绍一种“行扫描法”。 行扫描法又称逐行扫描查询法,是一种最常用的按键识别方法。
判断键盘中有无键按下,,将全部行线a0-a3置低电平,然后检测列线的状态,只要有一列
的电平为低,就表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。再判断闭合键所在的位置,依次将行线置为低电平时,再逐行检测各列线的电平状态,若某列为低电平,则该列线与置为低电平的行线交叉处的按键为闭合。若所有的列线均为高电平,则无按键按下。
键盘接口必须具有的4个基本功能
(1)去抖动:每个按键在按下或松开时,都会产生短时间的抖动。抖动的持续时间与键的质量相关。所谓抖动是指在识别被按键是必顺避开抖动状态,只有处在稳定接通或稳定断开的状态才能保证识别正确无误。去抖问题可通过软件延时或硬件电路解决。
(2)防串键:防串键是为了解决多个键同时按下或者前一按键没有释放又有新的按键按下时产生的问题。常用的方法有双键锁定和N键轮回两种方法。双键锁定,是当有两个或两个以上的按键按下时,只把最后释放的键当作有效键并产生相应的键码。N键轮回,是当检测到有多个键被按下时,能根据发现它们的顺序依次产生相应键的键码。
(3)被按键识别:如何识别被按键是接口解决的主要问题,一般可能过软硬结合的方法完成。常用的方法有行扫描法和线反转法两种。行扫描法的基本回想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭全键,为此,需要设置入口、输出口一个,该方法在微机系统中被广泛使用。线反转法的基本思想是通过行列颠倒两次扫描来识别闭合键,为些需要提供两个可编程的双向输入/输出端口。
(4)键码产生:为了从键的行列坐标编码得到反映键功能的键码,一般在内在区中建立一个键盘编码表,通过查表获得被按键的键码。
3.2.2 数码管模块
共阴极数码管在应用时将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮,这样来显示字符。
LED显示模块如图3-4所示,利用AT89S52单片机的P2端口的P2.0-P2.6连接到一个七段数码管上,数码管的公共端接地。
矩阵扫描显示当前按键模块如下:
图3-4 数码管模块图
3.2.3 扬声器模块
音乐播放和弹奏是在P3.7引脚上输出方波周期信号,产生音乐。 矩阵扫描扬声器发出对应音符模块如下:
图3-5 扬声器模块图
第四章 软件设计
4.1 整体程序处理流程图
图4-1 程序流程图
在电子琴开始工作时,系统默认电子琴处于弹奏状态,歌曲选择功能键的目的是赋予矩阵键盘第
二功能,即对系统内置的歌曲进行选择,在放歌时能通过弹奏/停止键来结束放歌,选歌时必顺先按下歌曲选择功能键,在通过矩阵键盘来选择和切换曲目。
4.2 LED数码管的显示
把主芯片中P2.0/A8-P2.7/A15 端口用8芯排线连接到一位数码管的a-h端口上。
表1 字形码表 0 1 2 3 4 5 6 7 0x71 0x3f 0x06 0x5b 0x4f 0x66 0x6d 0x7d 8 9 A B C D E F 0x07 0x7f 0x6f 0x77 0x7c 0x39 0x5e 0x79 4.3 音乐播放设计
一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样就可以利用不同的频率的组合来构成想要的音乐。我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号。
若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P3.7反相,然后重复计时再反相。就可在P3.7引脚上得到此频率的脉冲。
利用AT89S52的内部定时器使其工作计数模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523HZ,其周期T=1/523=1912US,因此只要令计数器计时956US/1US=956,每计数956次时将I/O反相,就可得到中音DO(523HZ)。
计数脉冲值与频率的关系式是:N=FI/2/FR
式中,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=65058
表2 音符频率表 音频 休止 低音1 低音2 低音3 低音4 低音5 低音6 低音7 中音1 中音2 中音3
对于不同的曲调我们要用单片机的另外一个定时/计数器来完成。在这个程序中用到了两个定时/计数器来完成的。其中T0用来产生音符频率,T1用来产生音拍。
频率(HZ) 0 262 294 330 349 393 440 494 523 587 659 简谱码(T值) 0 63628 63835 64021 64103 64260 64400 64524 64580 64684 64777 音频 中音4 中音5 中音6 中音7 高音1 高音2 高音3 高音4 高音5 高音6 高音7 频率(HZ) 698 784 880 988 1046 1175 1318 1397 1568 1760 1967 简谱码(T值) 64820 64898 64968 65030 65058 65110 65157 65178 65217 65252 65283
第五章 系统调试
5.1 程序调试
1、打开KEIL,创建工程My project ,输入程序。 2、保存程序为“电子琴.c”编译运行,如图:
图5-1 程序调试图
3、设置Options for Target “target 1”,生成.hex文件。
图5-2 设置 Target
图5-3 设置 Output
5.2仿真调试
1、用Proteus设计硬件电路图
图5-4 仿真设计图
2、在U1中导入电子琴.hex.
将鼠标放置AT89S52元件上,双击弹出对话框,在program file 中选择电子琴.hex,单击确定键。
图5-5 编辑元件
3、运行仿真 点击图中运行按钮
,运行仿真。
将程序导入AT89S52芯片后,运行成功。
如图5-6
图5-6 运行仿真图
return((~scancode)+(~tmpcode)); }
else scancode=(scancode<<1)|0x01; //行扫描码左移一位 } }
/*外部中断0,这里是弹唱按键*/ void EXO_IXT() interrupt 0 {
FY=0;LED1=1;LED2=0; }
/*外部中断线,这里是播放按键*/ void EX1_INT() interrupt 2 {
FY=1;LED1=0;LED2=1; }
/*定时器0中断服务子程序*/
void time0_int(void) interrupt 1 using 0 {
/*设置计数初值*/ TH0 = STH0; TL0 = STL0;
SPK=!SPK; //反相,产生输出脉冲*/ P2=DSY_CODE[k]; }
void main(void) { LED1=1; LED2=0; P2=0x3f; IE=0x87; TMOD=0x01; IT0=1; IT1=1; while(1) {
P0=0xf0; //发全0列扫描码 if((P0&0xf0)!=0xf0) //若有键按下 {
delay(); //延时去抖动
if((P0&0xf0)!=0xf0) //延时后再判断一次,去除抖动影响 {
key=getkey(); //调用键盘扫描函数
switch(key) //根据获取的按键位置得到K值 {
case 0x88:
k = 0;
break; case 0x48: k = 1;
break; case 0x28: k = 2 ; break; case 0x18: k = 3 ; break; case 0x84: k = 4 ; break; case 0x44: k = 5 ; break; case 0x24: k = 6 ; break; case 0x14: k = 7 ; break; case 0x82: k = 8 ; break; case 0x42: k = 9 ; break; case 0x22: k = 10 ; break; case 0x12: k = 11 ; break; case 0x81: k = 12 ; break; case 0x41: k = 13 ; break; case 0x21: k = 14 ; break;
case 0x11: k = 15 ; break; default : break; } if(FY==0) {
/*根据所得的K值设定计数器1的计数初值*/ 音符
} } } }
STH0 = tab[k]/256; STL0 = tab[k]%6;
TR0 = 1; //开始计数
while ((P0&0xf0)!=0xf0); //若没有松开按键,则等待,等待期间弹奏该 TR0=0; //若按键松开,则停止计数,不产生脉冲输出 }
else {
while (FY==1) {
if(Song[k][Tone_Index]==-1) Tone_Index=0;
STH0=(tab[Song[k][Tone_Index]])/256; STL0=(tab[Song[k][Tone_Index]])%6; P2=DSY_CODE[Song[k][Tone_Index]]; TR0 = 1;
delay1(300*Len[k][Tone_Index]); Tone_Index++; TR0=0; } }
正在阅读:
电子琴论文 - 图文10-10
九年级化学上学期期中考试试题03-09
兰州大学章程07-11
柴油机曲轴毕业设计说明书-405-25
试着做一个坚强的人作文800字06-29
交通银行供应链金融研究07-29
梦幻西游手游新版地煞星3星通关打法攻略03-24
计算机网络第五版谢希仁习题答案修改版06-01
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 电子琴
- 图文
- 论文
- 用DAC0808设计的直流电动机调速器
- 潮州市2012学年度高二级第一学期期末统测语文试卷
- 微机原理与接口技术试题四套卷版+答案 - 图文
- 通信原理各章习题集总结
- DNA测序常见问题及其分析 - 图文
- 初级会计实务考前押题3(巅峰)
- 西北农林科技大学 - 数字电路实验 - 实验三 译码器和数据选择器
- 2017新版煤矿安全生产质量标准化--安全风险分级管控
- 200-华东师范大学学前教育复试真题
- 设立基金管理公司项目可行性研究报告
- 《论语故事》下村湖人的作品
- 高二数学选修2-1第三章空间向量与立体几 - 知识点+习题+答案
- 新视野大学英语4第三版读写教程课文翻译
- 毕业设计 耐克运动鞋的制造
- 第四章 利率为何会变动(英文习题及答案)
- 概率统计-理-14-15上-A卷
- 电气工程与其自动化本科毕业论文选题(1355个)
- 高等教育学考试试题及答案
- 2017-2018学年七下福田区期末试卷(带答案)
- 土的强度综合性实验指导书