




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-.z(课程设计模板)电气工程及其自动化专业单片机原理及应用课程设计报告姓名:续开轩_____学号:20121847____专业班级:电气工程及其自动化5班题目:基于单片机的电子琴设计电气与电子工程学院二0一四年12月25日目录1.概述22.设计任务和要求23.设计原理分析24.硬件资源及其分配25.硬件图36.程序框图67.程序78.调试运行89.仿真截图1310.设计心得体会15一.设计目的1.通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑动手能力2,通过基于单片机的电子琴设计,掌握其使用方法,和简单的程序编写,最终提高我们的逻辑抽象能力二.设计任务和要求设计一个电子琴。利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出8个不同的声调,并且要求摁下键盘发声,松开延时一段时间停顿,中间再别按别的键则发另一音调的声音三.设计原理分析本设计主要研究基于AT89C52单片机的简易电子琴设计。它是以单片机作为主控核心,设置键盘、蜂鸣器等外围器件;另外还用到一些简单器件如:两位数码管,和NPN型三极管及电阻等。利用按键实现音符和音调的输入;两位的数码管进展被操作的按键显示;用NPN型三极管8550实现低音频功率放大;最后用蜂鸣器进展播放“送别〞。本设计硬件局部主要由最小系统,按键系统模块、数码管显示模块和蜂鸣器模块组成。其软件局部主要有主程序模块、定时中断程序、定时计数程序、显示程序。〔1〕最小系统:它是单片机应用系统的设计根底。它包括单片机的选择、时钟系统设计、复位电路设计、简单的I/O口扩展、掉电保护等。〔2〕按键系统模块:本设计采用10个按键,其中7个按键用来显示7个音调,其它3个按键可以进展上下中音的切换,并自动播放已存歌曲。〔3〕数码管显示模块:SM420562段选端接在单片机的P0口,两个位选端分别接在P2^0和P2^1。〔4〕蜂鸣器模块:此电子琴发音电路是通过三极管驱动蜂鸣器发音,经过上拉电阻提高驱动能力。本次设计首先对单片机设计简易电子琴仔细分析,接着制作硬件电路和编写软件的程序,最后进展软硬件的调试运行。并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。利用单片机产生不同频率来获得我们要求的音阶,实现高、中、低共21个音符的发音和显示和音乐播放时的控制显示,并且能自动播放程序中编排的音乐。系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比高等,具有一定的使用和参考价值四.硬件资源极其分配单片机选型硬件电路要以单片机作为主控芯片,实现按键输入音符和音调,两位数码管的显示以及低音频功率放大和蜂鸣器发音。针对本设计的功能和用途,采用AT89S51单片机更好,实现功能完全,性价比拟高,更适合本设计。2.3单片机的最小工作系统单片机加上适当的外围器件和应用程序,构成的应用系统称为最小系统。时钟电路单片机内部具有一个高增益反相放大器,用于构成振荡器。通常在引脚*TALl和*TAL2跨接石英晶体和两个补偿电容构成自激振荡器,构造图2中*1、C1、C2。可以根据情况选择6MHz、12MHz或24MHz等频率的石英晶体,补偿电容通常选择30pF左右的瓷片电容。图2、时钟电路复位电路单片机小系统常采用上电自动复位和手动按键复位两种方式实现系统的复位操作。上电复位要求接通电源后,自动实现复位操作。手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。其构造如下列图。上电自动复位通过电容C3充电来实现。手动按键复位是通过按键将电阻R1与VCC接通来实现。图3、复位电路原理框图本系统有主控芯片89S52、发音单元、显示模块、按键模块组成。图4、原理框图显示局部设计数码显示方式数码显示有静态显示方式与动态显示方式两种。工作在静态显示方式时,数码管的位线与电源一直相连,数码管中的二极管均处于通电状态,即在静态工作方式下,显示电路中数码管的位选线是同时选通,而数码管的段选线是独立输入。工作在动态显示方式时,数码管的位线在扫描控制电路的控制下按设定顺序导通,即电路中的数码管是逐个接通电源,数码管的段选线以并联方式与译码电路联接,即在动态工作方式下,数码管不是同时导通显示而是按照设定顺序分时导通显示。八位数码管的构造本次课程设计的显示电路采用两位数码管进展显示,由于此设计采用的是共阴极的,使用时不加限流电阻。为了显示字符,要为LED显示器段码,除了组成8字形的字符的7段,另加上1个小数点位,共计8段,因此提供应LED显示器的显示段码为1个字节。图5、数码管电路按键局部设计操作键设计常用的按键有三种:机械触点式按键、导电橡胶式和柔性按键〔又称触摸式键盘〕。
机械触点式按键是利用机械弹性使键复位,手感明显,连线清晰,工艺简单,适合单件制造。但是触点处易侵入灰尘而导致接触不良,体积相对较大。
导电橡胶按键是利用橡胶的弹性来复位,通过压制的方法把面板上所有的按键制成一块,体积小,装配方便,适合批量生产。但是时间长了,橡胶老化而使弹力下降,同时易侵入灰尘。
柔性按键是近年来迅速开展的一种新型按键,可以分为凸球型和平面型两种。柔性按键最大特点是防尘、防潮、耐蚀,外形美观,装嵌方便。而且外形和面板的布局、色彩、键距可按照整机的要求来设计。但是由于客观条件与经济能力有限,本系统采用机械触点式按键。键盘设计键盘在单片机应用系统中是一个关键的部件,它能实现向计算机输入数据,传送命令等功能,是人工干预计算机的主要手段。键盘可以分为2类:独立连接式键盘和矩阵式键盘。(1)矩阵式键盘单片机系统中,假设按键较多时,通常采用矩阵式〔也称行列式〕键盘。矩阵式键盘由行线和列线组成,按键位于行、列线的穿插点上。显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V上.当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。(2)独立连接式键盘独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键电路配置灵活,软件构造简单,但每个按键必须占用一根I/O口线,然而,在按键较多时,I/O口线浪费较大,不宜采用。独立式按键软件常采用查询式构造。先逐位查询每根I/O口线的输入状态,如*一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。由于本程序较为简单,为了使用方便及节省资源,选择独立式键盘。下列图为独立式键盘电路图:图6、独立式键盘电路图去抖动键盘编程中主要考虑去抖动的问题。当测试说明有键被按下之后,紧接着就进展去抖动处理。因为键是机械开关构造,由于机械触点的弹性及电压突跳等原因,在触点闭合或断开的瞬间会出现电压抖动。为保证键识别的准确,在电压信号抖动的情况下不能进展行状态输入。为此需进展去抖动处理。去抖动有硬件和软件两种方法。硬件方法就是加去抖动电路,从根本上防止抖动的产生。软件消抖,在第一次检测到有键按下时,执行一段延时程序之后,再检测此按键,如果第二次检测结果仍为按下状态,CPU便确认此按键己按下,消除了抖动。发音局部设计如下列图所示,发音电路是由蜂鸣器、三极管、上拉电阻构成。由三极管来驱动扬声器发音的,同时加上拉电阻增强驱动电流,提高驱动能力。图7、独立式键盘电路图五.硬件图六.程序框图七.程序*include<reg52.h>*definekeyportP1*defineucharunsignedchar*defineuintunsignedintucharhigh,low; //定时器预装值的高8位和低8位sbitspeak=P3^0;sbitgao=P3^5;sbitdi=P3^6;sbitzdbf=P3^7;ucharyinjie=1;uchartime;ucharn=0;ucharbo=0;ucharcodefre[][2]={ 0*8c,0*f8, 0*5b,0*f9, 0*15,0*fa, 0*67,0*fa, 0*90,0*fb, 0*ae,0*fb, 0*0c,0*fc,//低音 0*44,0*fc, 0*ac,0*fc, 0*09,0*fd, 0*34,0*fd, 0*82,0*fd, 0*c2,0*fd, 0*06,0*fe,//中音 0*22,0*fe, 0*56,0*fe, 0*85,0*fe, 0*9a,0*fe, 0*c1,0*fe, 0*e4,0*fe, 0*03,0*ff, //高音 };voiddelay(uint);voidITimer0(void);//定时器初始化voidkey(void);voiddt*s(int,int);voidsong(){TH0=high;TL0=low;TR0=1;delay(time*240);}voidyinyue(){ucharcodehls[]={5,2,2,3,2,1,5,2,1,1,3,4,6,2,2,1,3,2,5,2,4,5,2,2,1,2,1,2,2,1,3,2,2,2,2,1, 1,2,1,2,2,6,5,2,2,3,2,1,5,2,1,1,3,3,7,2,1,6,2,2,1,3,2,5,2,4,5,2,2,2,2,1,3,2,1,4,2,3,7,1,1,1,2,6,6,2,2,1,3,2,1,3,4,7,2,2,6,2,1,7,2,1,1,3,4,6,2,1, 7,2,1,1,3,1,6,2,1,6,2,1,5,2,1,3,2,1,1,2,1,2,2,6,5,2,2,3,2,1, 1,2,1,1,3,3,7,2,1,6,2,2,1,3,2,5,2,4,5,2,2,2,2,1,3,2,1,4,2,3,7,1,1,1,2,6 }; ucharm; n=0;while(n<174) { m=hls[n]+7*(hls[n+1]-1)-1; high=fre[m][1]; low=fre[m][0]; time=hls[n+2]; n=n+3; song(); }} voidmain(void){ ucharnum; ITimer0(); speak=0; while(1) { key(); switch(keyport) { case0*fe:num=1;break; case0*fd:num=2;break; case0*fb:num=3;break;case0*f7:num=4;break;case0*ef:num=5;break;case0*df:num=6;break;case0*bf:num=7;break;case0*7f:num=8;break;default:num=0;break; } if(num==0) { TR0=0; speak=0; } else { high=fre[7*yinjie+num-1][1]; low=fre[7*yinjie+num-1][0]; TR0=1; } dt*s(yinjie,num); }}voidITimer0(void){TMOD|=0*01;//使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响EA=1;//总中断翻开ET0=1;//定时器中断翻开TR0=1;//定时器开关翻开}voidTimer0_isr(void)interrupt1{TH0=high;TL0=low;speak=!speak;if(zdbf==0){ delay(100); if(zdbf==0) { bo++; if(bo/2==1) { delay(100); if(n<174)n=500; //n赋值大于174,跳出while,停顿音乐 elsen=0; dt*s(3,0); } if(bo%2==0) { delay(100); n=500; //n赋值大于174,跳出while,停顿音乐 } } }/**/}voidkey(){ if(zdbf==0) {delay(100); if(zdbf==0) yinyue(); } if(gao==0) { delay(100); if(gao==0) { delay(100); if(yinjie==2) yinjie=1; elseyinjie=2; } }if(di==0) { delay(100); if(di==0) { delay(100); if(yinjie==0) yinjie=1; elseyinjie=0; } }}voiddelay(unsignedint*){ inta,b; for(a=*;a>0;a--) for(b=110;b>0;b--);}voiddt*s(k,l)//k是按键号,l是工作方式{charseg[14]={0*6f,0*0a,0*e3,0*cb,0*8e,0*cd, 0*ed,0*0b,0*ef,0*cf,0*af,0*ec,0*65,0*ea};P2=0*01;//选择第一个数码管P0=seg[l];//显示按键号delay(4);P2=0*02;//选择第二个数码管P0=seg[k+10];//显示工作方式delay(4);八.调试运行硬件调试硬件调试主要是针对单片机局部进展的调试。在上电之前,先确保电路中不存在断路或短路情况,这一工作是整个调试工作的第一步,也是非常重要的一个步骤。在这局部调试中主要使用的工具是万用表,用来完成检测电路中是否存在断路或者短路情况的任务。注意焊点之间,确保焊点没有短接在一起,同时注意焊点的美观,确保没有开路以及短路的现象出现。在确保硬件电路正常且无异常情况(断路或短路)的情况下方可上电调试,上电调试的目的是检验电路是否接错,同时还要检验原理是否正确,在本次设计中,上电调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030婴幼儿储雾罐行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030女士内衣市场前景分析及投资策略与风险管理研究报告
- 2025-2030国卷烟行业供需现状与竞争前景分析研究报告
- 2025-2030国内薄膜行业市场发展现状及发展前景与投资机会研究报告
- 上海抵押合同标准文本
- 2025-2030医疗IT行业市场深度调研及发展趋势与投资前景预测研究报告
- 2025-2030化工燃料产业行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030动物性饲料市场现状供需分析及投资评估规划分析研究报告
- 2025-2030出境游行业竞争格局分析及投资前景与战略规划研究报告
- 2025-2030农药塑料瓶市场发展分析及行业投资战略研究报告
- 2025年主管护师中级考试题库及答案参考
- 2025年洛阳职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 重大版小学英语六年级下册期中试卷(含答案含听力原文无听力音频)
- 奶厅安全培训
- Module 7 Unit 2 She couldn't see or hear.(说课稿)-2023-2024学年外研版(三起)英语六年级下册
- 《氢气输送管道工程设计规范》
- 管网工程施工重难点分析及对应措施
- 八项规定试题及答案
- 警察执法记录仪使用培训
- DB51T 2943-2022 四川省一体化政务服务平台系统接入规范
- 2024年10月自考00015英语二试卷及答案解释
评论
0/150
提交评论