版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
物理与信息工程系课程名称专业综合课题名称基于单片机的电子琴设计专业电子信息科学与技术年班级09级电科3班学号09417348姓名周志力指导教师谢莉2012年6月1日目录封面 1目录 2第一章设计要求及工作原理 31.1设计指标 31.2设计要求 31.3设计说明 31.4设计原理简介 3第二章硬件电路设计 52.1单片机最小系统 52.2键盘模块 72.3数码管模块 72.4发声模块 8第三章软件设计 93.1软件功能模块 93.2软件程序流程图 103.3软件源程序 11第四章实验焊接及调试 134.1元器件清单 134.2电路焊接 144.2软件烧写与调试 144.2 系统联调 14附录1:电子琴成品图 14心得体会 15第一章设计要求及工作原理1.1〕、设计指标:〔1〕设计一个〔4×4〕的键盘,并将16个键设计成16个音;〔2〕按下按键显示相应的键值〔2〕可弹奏想要表达的音乐;〔3〕该电子琴包含1首例如音乐,接通电源按下按键可播放例如音乐。1.2〕、设计要求:〔1〕按仿真图进行电路设计;〔2〕制作符合设计指标的硬件电路。1.3〕、设计说明:
电子琴是高科技在音乐领域的一个代表,它是古典文化与现代文明的一个浓缩体。它不但可以帮助我们的音乐教师进行传统音乐文化的教育教学工作,而且由于它又具备现代音乐,特别是电子音乐、电脑音乐的根本结构、特征,因而使我们的教师在进行现代音乐、电子音乐、电脑音乐的教学时,更直接、更简便。单片微型计算机是大规模集成电路技术开展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一局部。本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有15个弹奏按键、1个播放键和扬声器。1.4〕、设计简单原理介绍一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。假设要产生音频脉冲,只要算出某一音频的周期〔1/频率〕,再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。就可在P1.0引脚上得到此频率的脉冲。利用AT89S51的内部定时器使其工作计数器模式〔MODE1〕下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO〔523Hz〕。计数脉冲值与频率的关系式(如式3-1所示)是:N=fi÷2÷fr3-1式中,N是计数值;fi是机器频率〔晶体振荡器为12MHz时,其频率为1MHz〕;fr是想要产生的频率。其计数初值T的求法如下:T=65536-N=65536-fi÷2÷fr例如:设K=65536,fi=1MHz,DO〔523Hz〕的计数值。T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/f,DO的T=65536-500000/523=64580单片机12MHZ晶振,高中低音符与计数T0相关的计数值如表4-2所示表3-2音符频率表低音音符频率HZ中音音符频率HZ高音音符频率HZ1261.631523.2511045.52293.672587.3321174.663329.633659.4631318.514349.234698.4641396.925391.995738.9951567.986440.006880.0061760.007493.887987.7671975.52我们要为这个音符建立一个表格,单片机通过查表的方式来获得相应的数据
低音0-19之间,中音在20-39之间,高音在40-59之间在这个程序中,弹奏音乐的程序是和播放音乐都用定时/计数器T0来完成的第二章硬件电路设计2〕、硬件总体方案及说明:51单片机P2口通过连接4*4的矩阵键盘,各键盘的音调在程序中做解释,P1口接通过74LS247译码器连接两个数码管,按下相应的按键产生相应键值,P3.0连接一个蜂鸣器用于产生例如音乐,P3.7接一个扬声器,用于各按键的音调发声,通过执行相应的功能程序使电子琴发出不同音色的声音。2.1〕、芯片介绍:在本次电子琴设计中,我们组成员单片机芯片选用了STC89C52芯片,因为发下来的AT89S52我们无法下载程序所以改用了自己买的芯片,但是芯片无太大差异,89C51系列的兼容性比拟好。下列图为单片机AT89S52的引脚说明及其最小系统。复位电路:复位电路我们本来在方案选择的时候有两种选择的,上电复位和按扭复位,上电复位是利用电容充电来实现的,而按扭复位是电源对外节电容的充电使RST为高电平,复位松开后,电容通过下拉电阻放电,使RST恢复低电平。为了制作软件的方便我们还是选择用按扭复位,因为它比拟直观。时钟电路:用两个30pf的陶瓷电容与12M的晶振并联产生。其他引脚:31、40引脚接电源,20引脚接地。P3口特殊功能引脚说明:P3口引脚特殊功能P3.0RXD〔串行输入口〕P3.1TXD〔串行输出口〕P3.2〔外部中断0〕P3.3〔外部中断1〕P3.4T0〔定时器0外部输入〕P3.5T1〔定时器1外部输入〕P3.6WR(外部数据存储器写选通)P3.7RD〔外部数据存储器读先通〕2.2〕、矩阵模块:6.5.4.3.3217.7654B..3..2..1〔1〕利用P2口为按键接入口,形成4×4组成16个按键矩阵,设计成15个音,下列图所示:3210765411109815141312所对应的音调为:所对应的键码为:所对应的音调为:所对应的键码为:说明:按下按键显示键值,并发出相应的音调。2.3〕、数码管模块一位静态数码管管脚及封装说明74LS247引脚及其封装说明硬件连接说明:通过按键显示相应的键值,通过74LS247产生相应的二进制代码一次传送给数码管的各个引脚,使其显示相应的键值数,如图protues仿真所示,2.4〕、发声模块通过一个P3.7引脚,连接一个2N~3906然后与扬声器使其放大发声,P3.0也通过一个三极管接到蜂鸣器用于例如音乐播放输出。连线说明:具体参照protues仿真电路图〔4〕protues仿真设计图如下:第三章软件设计3.1〕、软件功能模块〔3.1.1检测是否有键按下,有键按下那么记录按下键的键值,并跳转至功能转移程序;无键按下,那么返回键盘扫描程序继续检测〔3.1.2对检测到得按键值进行判断,是琴键那么跳转至琴键处理程序,是功能键那么跳转至相应的功能程序,我们设计的功能程序有两种,即音色调节功能和自动播放乐曲功能〔3.1.3根据检测到得键值,查询音律表,给计时器赋值,使发出相应频率的声音〔〕数码管显示程序根据得到的键值,通过74LS247转换得到相应的八位二级制并传送给数码管显示相应的键值。〔〕自动播放歌曲程序:检测到按键按下的是自动播放歌曲功能键后执行该程序,电子琴会自动播放事先已经存放好的歌曲,歌曲播放完毕之后自动返回至键盘扫描程序,继续等待是否有键按下3.2〕、程序简易流程图开始开始T0初始化并开中断允许T0中断键盘扫描程序T0初始化并开中断允许T0中断键盘扫描程序有键按下否否有键按下否延时去抖动识别按键功能延时去抖动识别按键功能是是否弹奏键是否弹奏键播放键否播放键是跳入播放子程序根据按键功能装入相应音符值到T0跳入播放子程序根据按键功能装入相应音符值到T0启动T0启动T0启动T0启动T0按键释放成功否播放是否结束按键释放成功否播放是否结束停止T0工作停止T1工作停止T0工作停止T1工作 返回键盘扫描返回键盘扫描返回键盘扫描返回键盘扫描3.3〕、设计源程序#include<reg51.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharsbitSPK=P3^7;//P3.7外接扬声器sbitBEEP=P3^0;//生日快乐歌的音符频率表,不同频率由不同的延时来决定ucharcodeSONG_TONE[]={212,212,190,212,159,169,212,212,190,212,142,159,212,212,106,126,159,169,190,119,119,126,159,142,159,0};//生日快乐歌节拍表,节拍决定每个音符的演奏长短ucharcodeSONG_LONG[]={9,3,12,12,12,24,9,3,12,12,12,24,9,3,12,12,12,12,12,9,3,12,12,12,24,0};//延时voidDelayMS(uintx){uchart;while(x--)for(t=0;t<120;t++);}//播放函数voidPlayMusic(){unsignedinti=0,j,k;while(SONG_LONG[i]!=0||SONG_TONE[i]!=0){//播放各个音符,SONG_LONG为拍子长度for(j=0;j<SONG_LONG[i]*20;j++){BEEP=~BEEP;//SONG_TONE延时表决定了每个音符的频率for(k=0;k<SONG_TONE[i]/3;k++);}DelayMS(50);i++;}}uintFreqTemp;unsignedintcodeFreqtab[]={//定时半周期的初始值64021,64103,64260,64400,//低音345664524,64580,64684,64777,//低音7,中音12364820,64898,64968,65030,//中音456765058,65110,65157,65178};//高音1234ucharKeyscan(void){uchari,j,temp,Buffer[4]={0xfe,0xfd,0xfb,0xf7};for(j=0;j<4;j++){//循环四次,扫描四行P2=Buffer[j];//在低四位分别输出一个低电平_nop_();temp=0x10;//方案先读出P1.7位for(i=0;i<4;i++){//循环四次,检查四列if(!(P2&temp)){//从高四位,截取1位return(i+j*4);//返回取得的按键值}temp<<=1;//换右边一位}}return16;//没有键按下就返回16}voidDisplay(uchark){P1=((k/10)<<4)+(k%10);}voidMain(void){ucharKey_Value=16,Key_Temp1,Key_Temp2;//读出的键值TMOD=0x01;//T0定时方式1ET0=1;//允许T0中断EX0=1;//允许X0中断EA=1;while(1){TR0=0;//暂不发音Key_Temp1=Keyscan();//读入按键if(Key_Temp1!=16){//有键按下Display(Key_Value);//显示键值、延时消抖Key_Temp2=Keyscan();//再读一次if(Key_Temp1==Key_Temp2){//两次相等Key_Value=Key_Temp1;//就确认下来FreqTemp=Freqtab[Key_Value];//根据键值,取出定时半周期的初始值Display(Key_Value);//显示//启动定时器,发音if(FreqTemp==Freqtab[15]){BEEP=0;SPK=1;PlayMusic();//播放生日快乐DelayMS(500);//播放完后暂停一段时间}TR0=1;while(Keyscan()<16);//等待释放SPK=1;//停止发音}}}}//==============================================================voidT0_INT(void)interrupt1{TL0=FreqTemp;//载入定时半周期的初始值TH0=FreqTemp>>8;SPK=~SPK;//发音}//============================================================第四
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于客户反馈的处理结果函(5篇范文)
- 2026年装饰涂料行业管理系统创新报告
- 布置项目阶段性总结会议通知函6篇
- 论三个自信的作用分析研究 行政管理专业
- 2026年游戏AI深度学习技术报告
- 健康饮食健康成长-小学主题班会
- UNIT 5 WORKING THE LAND 高中英语选择性必修第一册
- 小学主题班会课件:团结与分享快乐与合作
- 新产品上市日期变更告知函8篇范本
- 物流公司运输调度员车辆调配效率绩效考核表
- 2026年企业上半年安全生产工作总结及计划
- 2026云南昆明官储粮经贸有限责任公司招聘3人笔试题库带答案详解(满分必刷)
- 2026年甘肃开放大学招聘事业编制工作人员笔试题库附完整答案详解(考点梳理)
- 2026年度新泰市市属国有企业公开招聘工作人员笔试参考题库及答案详解
- 2026年西安交通大学管理学院管理辅助人员招聘笔试参考题库及答案详解
- 2026年全国新高考1卷英语试卷(含答案及详解)
- 2026年留疆战士政策理解练习题及解析
- 《北京地区会计师事务所收费标准(试行)》文件
- 美容院消毒卫生工作制度
- 煤矿总工程师岗位职责及技术管理体系
- 少儿篮球教练员培训课件
评论
0/150
提交评论