




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计 说 明 书课程名称: 单片机技术 设计题目: 按键控制电子琴 院(部): 电子信息与电气工程学院 学生姓名: 赫富强 学 号: 201002010087 专业班级: 10级自动化(2)班 指导教师: 丁莹亮 年 月 日27课 程 设 计 任 务 书设计题目按键控制电子琴学生姓名赫富强所在院部电子信息与电气工程学院专业、年级、班10级自动化2班设计要求:1、具有电源开关及指示灯,有复位按键; 2、按下按键有按键指示灯亮; 3、按下按键有对应的音符发出声音,并且有八个led灯能根据不同的音符有不同的闪亮; 4、单片机能够存储50个按键音符,且有播放和清除这些存储的按键音符的按键; 4、单片机中存储一首音乐,有按键可以播放它。学生应完成的工作:1、查找资料并绘制电路草图,寻找可行性方案(顾堃主要负责); 2、在专业软件上绘制精细电路图(赫富强主要负责); 3、依据设计要求画出流程图并编写出程序(赫富强主要负责); 4、在软件上进行可行性调试,并找出不足(李可主要负责); 5、将最合适的方案教给老师审核并领取元器件(李可主要负责); 6、在印刷版上焊接电路(朱金鹏主要负责); 7、将程序拷进单片机中并接入电源调试(朱金鹏主要负责); 8、写出课程设计说明书(顾堃主要负责)。参考文献阅读:1 杜尚丰.CAN总线测控技术及其应用.北京:电子工业出版社,2007.12 王毅.单片机器件应用手册.北京:人民邮电出版社,1994.43 张毅刚.单片机原理及应用.北京:高等教育出版社,2003.124 阎石.数字电子技术基础(第五版).北京:高等教育出版社,2005 5 文涛.PROTEUS仿真软件应用.武汉:华中科技大学出版社,2010.2工作计划:5月06 日-5月07日:硬件电路设计。5月08 日-5月10日:软件流程图绘制及程序的编写。5月13 日-5月14日:焊接制板。5月15 日-5月15日:烧制程序。5月16 日:电路调试。任务下达日期:2013 年5月 6 日 任务完成日期:2013 年5月 17 日指导教师(签名): 学生(签名): 按键控制电子琴摘 要:本设计以AT89C52单片机为主芯片,在外围扩展和涉及有关的芯片及电路,用了AT89C52,晶振,发光二极管,7805,桥堆2W10,电容,电阻,按键等元件设计了一个具有电源开关及指示灯,复位键,并且由按键控制,能够发出对应音符的声音,能够由不同的音符发出不同对应的led灯不同组合的闪亮,而且还可以存储、播放、清除最多50个按键对应的音符,还自带了一首音乐可以有按键控制播放。程序的设计可主要分为按键判别、发声及显示、存储及清除三部分。关键词:电子琴 存储 复位 播放音乐.目录1. 设计背景51.1时代背景51.2社会背景52.设计方案52.1硬件设计方案52.2软件设计方案63. 方案实施83.1硬件方案实施83.1.1 复位电路设计:83.1.2 时钟电路设计83.1.3 电源电路设计:93.1.4 LED闪亮电路设计:93.1.5 按键电路设计:103.1.6 蜂鸣器电路设计:113.2软件方案实施123.2.1 主程序123.2.2 调用程序124. 结果与结论134.1结果134.2结论135. 收获与致谢146. 参考文献157. 附件16附件1: 总电路图16附件2: 程序17附件3:实物图24附件4:元器件清单251. 设计背景1.1时代背景单片机作为最典型的嵌入式系统,它的成功应用推动了嵌入式系统的发展。近年来,除了各种类型的工控机,各种以通用微处理器构成的计算机方板模块、以通用微处理器为核,片内扩展一些外围功能电路单元构成的嵌入式微处理器,甚至单片形态的PC机等,都实现了嵌入式应用,成为嵌入式系统的庞大家族。在当今社会,随着单片机档次的不断提高,功能的不断完善,其应用日趋成熟、应用领域日趋扩大,特别是工业测控、尖端武器和日用家电等领域更是因为有了单片机而生辉增色。1.2社会背景电子琴在人们日常生活中相当普遍,在各种音乐会中,在我们所听歌曲中它无处不在,随着生活质量的提高,人们对美的追求日益提高,这样以来电子琴的需求大大提高。2.设计方案2.1硬件设计方案方案一:由中断方式响应按下的键,本方案的优点是:响应速度快,延时时间短;缺点是:按键的抖动容易引起误操作,要想解决这个问题需要防抖电路,电路复杂,不容易焊接。方案二:由查询方式响应按下的键,本方案的优点是:思路简单,可以利用软件消抖,可靠行好;缺点是:按键的响应速度慢。综上所述及本次课程设计的要求主要是锻炼我们利用单片机知识进行简单设计的能力,故选择方案二。2.2软件设计方案电子琴设计的系统这些要求编写出程序主流程图如图2.1:开始主程序初始化按键初始化按键扫描按键按下?调用程序否是图2.1主程序流程图电子琴设计的编写主程序中调用程序的流程图如图2.2:程序入口确定按键值按键值小于19?按键值是19?按键值是20?按键值是21?音符播放led灯闪烁存储音符按键播放自带音乐播放存储清除存储存储空间没满?是是是是是否否否否程序出口否图2.2调用程序流程图3. 方案实施3.1硬件方案实施3.1.1 复位电路设计:AT89C52的复位是由外部的复位电路来实现的。复位引脚RST通过一个施密特触发器与复位电路相连,施密特触发器用来抑制噪声,在每个周期的S5P2,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。按键手动电平复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经电阻与电源vccrst接通而实现的,本次实验采用的是电平复位电路如图3.1:图3.1电平复位电路3.1.2 时钟电路设计:单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为单片机的XTAL1,输出端为引脚XTAL2。这两个引脚外部跨接石英振荡器X1和微调电容C3和C4,构成了稳定的自激振荡器。而电容的大小会影响振荡的频率的高低、振荡器的稳定性和起振的快速性,因此对于电容选择是很关键的,我们这次设计的时钟电路采用了所提供的33pF电容可以构成稳定的自激振荡器电路。并且选取的是振荡频率11.0925MHz。如图3.2:图3.2时钟电路3.1.3 电源电路设计:电源电路主要用用于为整个系统提供电源。我们日常用电都是220V的交流电,所以在设计电源时要先把交流电整成直流,然后再经过稳压管输出整个系统所需的稳定的直流电压。整流主要采用2W10桥堆和电容滤波以得到基本稳定的输出电压。稳压部分是采用常用的稳压管W7805得到稳定的输出正5V电压。电源电路图如图3.3: 图3.3 电源电路图3.1.4 LED闪亮电路设计:LED主要是显示单片机的按键音符,单片机的P0.0-P0.7接发光二极管LED灯,采用的是阳极接5V电源的接法,发光二极管采用高亮led能耐大电流所以不用限流电阻。LED闪亮电路图见图3.4:图3.4 LED闪亮电路图3.1.5 按键电路设计:按键电路是矩阵电路,S1S18按键用于音符;S19按键用于播放音乐;S20按键用于播放存储的音乐;S21按键用于清除存储。按键电路图3.5所示;图3.5 按键电路图3.1.6 蜂鸣器电路设计: 由于蜂鸣器需要大电流才能驱动,所以电路采用npn驱动。蜂鸣器电路如图3.6所示:图3.6 蜂鸣器电路图3.2软件方案实施3.2.1 主程序主程序流程图如图2.1。主程序中包含定时器、蜂鸣器、按键的初始化,以开总中断,然后调用按键扫描程序。程序如下:main() TMOD=0x10; /t1方式1 16 t0 ,0 13 ET0=1;TH0=0x4C; /定时器初始值 TL0=0x00; EA=1; /开总中断sound=0; P2=0xFF; /置P2口 P1=0X00|0XF0 ; /将p1.0 p1.1 p1.2清零p1.3 delay(10); /延时 while(1) keydown(); /调用按键判断检测程序 3.2.2 调用程序调用程序的流程图如图2.2。函数 keydown(void)完成判断是否按下按键,以及按下的键值并确定转向那个子程序;函数anjian_zhuanhuan(uchar fy) 完成按下键的对应音符的转换为按键的处理准备;函数anjian_chuli( uchar conv1_ma ) 将转换的音符播放出来;函数_anjian_cunchu(uchar _key) 将按键存储起来;函数_cunchu_bofang(void) 将存储起来的按键播放;函数_bofang_yinyue(void)将自带的音乐播放出来。清除存储是在程序中定义了一个全局变量,存储大于50时程序认为存储器满,清除时只需将其清零。定时器的值是由音符频率决定的,在音乐播放中、音符播放、存储播放中作为决定音调。详细程序见附件2。4. 结果与结论4.1结果两周忙碌后,我们基本完成了设计的要求:画出电路图,流程图,焊接电路板等一系列学生该完成的工作,最终实现了电源电路,其指示灯亮;复位电路,按下复位后正唱复位;按下S1S18能发出相应的音符并且led能响应闪亮,按下S19后可以播放自带音乐led能闪亮,按下S20后可以播放存储音乐led能闪亮,按下S21后可以清空存储。总之,能够实现目标任务!4.2结论在设计过程中要紧扣主题也就是设计要求,根据要求构思硬件电路,并一步步列出程序框图并按照程序框图严格的进行编程,整个过程需连接的天衣无缝,方能得出最后的结果。当然这个过程肯定不会很顺利,我们应该做好迎接一切困难准备并知难而进,只要按计划坚持下去,一定可以达到预期的结果。其中有非常重要的一个环节就是最后的故障排查与调试,同时耐性是极其重要的。带定时功能的闹铃时钟设计是单片机设计里很典型的一个课题,通过本次设计扩展了我们的知识面,增强了我们的实践能力,不论是在焊接电路,硬件设计还是编程,和对软件的掌握都大大的提高了。5. 收获与致谢通过本次课程设计,我初步掌握了单片机设计的思路和方法,就是根据设计要求,先按模块进行硬件电路的设计和组合分配;列出主程序流程图,按顺序一步步编程,最后将软件程序与硬件电路结合,经过调试,最终实现所要求的功能。虽然已经实习过好几次了,但自我感觉本次实习的意义深刻又重大,因为它将我们以前所学过的模电和电路知识与单片机天衣无缝的结合起来,真正的达到了理论与实践的结合,使我们受益匪浅。还有就是和同学的合作是非常重要的,在焊接电路板时如果不是两个人合作,没有人监督,难免会出错,当我一人焊接的电路板不能工作又难检查错误时,我们果断决定了重新焊接,最终在我们的合作下焊接出了一个能够完全达到要求的板子同时让我们增进了友谊,锻炼了动手能力。在此感谢丁莹亮老师对我们的严格要求和指导,还有学校给我们提供了这次宝贵的实习机会,这将对我们即将毕业进入工作产生很大的帮助,让我们对自己的专业有了更深的了解,为毕业设计点明了主题。还要感谢我身边的同学对我的帮助和解惑。经过实习设计,在合作方面,我学会了要合作,一个人做东西总要出错的,为以后的工作打下坚实的基础;在学习方面,我更深的理解了单片机,一些单片机引脚已经知道怎么用了,至于程序这块还是不太熟练,以后要努力弥补。最后感谢安阳工学院电子信息与电气工程系给我们这次机会,感谢老师们不辞辛劳的为我们购买元器件,感谢丁莹亮老师对我们的细心指导,谢谢您们。6. 参考文献1.杜尚丰.CAN总线测控技术及其应用.北京:电子工业出版社,2007.12.杜树春.单片机C语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.63.张毅刚.单片机原理及应用.北京:高等教育出版社,2003.124 阎石, 数字电子技术基础(第五版)高等教育出版社 20055.张文涛.PROTEUS仿真软件应用.武汉:华中科技大学出版社,2010.26.王毅.单片机器件应用手册.北京:人民邮电出版社,1994.47. 附件附件1: 总电路图附件2: 程序 #include /以下是C调低音的音频宏定义#define L1 262 /将L1宏定义为低音1的频率262Hz时间是1/262=3826/2 us 取半周期#define L2 286 /将L2宏定义为低音2的频率286Hz#define L3 311 /将L3宏定义为低音3的频率311Hz#define L4 349 /将L4宏定义为低音4的频率349Hz#define L5 392 /将L5宏定义为低音5的频率392Hz#define L6 440 /将l_a宏定义为低音6的频率440Hz#define L7 494 /将L7宏定义为低音7的频率494Hz#define Z1 523 /将Z1宏定义为中音1的频率523Hz#define Z2 587 /将Z2宏定义为中音2的频率587Hz#define Z3 659 /将Z3宏定义为中音3的频率659Hz#define Z4 698 /将Z4宏定义为中音4的频率698Hz#define Z5 784 /将Z5宏定义为中音5的频率784Hz#define Z6 880 /将Z6宏定义为中音6的频率880Hz#define Z7 987 /将Z7宏定义为中音7的频率523H #define H1 1046 /将H1宏定义为高音1的频率1046Hz#define H2 1174 /将H2宏定义为高音2的频率1174Hz#define H3 1318 /将H3宏定义为高音3的频率1318Hz#define H4 1396 /将H4宏定义为高音4的频率1396Hz#define H5 1567 /将H5宏定义为高音5的频率1567Hz#define H6 1760 /将H6宏定义为高音6的频率1760Hz#define H7 1975 /将H7宏定义为高音7的频率1975Hz#define ZR 0 /将ZR宏定义为无音/以下是天空之城简谱 /每行对应一小节音符 extern unsigned int code f= Z6,Z7,/*/H1,Z7,H1,H3,/*/Z7,Z3,Z3, /*/Z6,Z5,Z6,H1,/*/Z5,Z3,Z3, /*/Z4,Z3,Z4,H1, Z3,H1,H1,H1,/*/Z7,Z4,Z4,Z7,/*/Z7,Z6,Z7, /*/H1,Z7,H1,H3,/*/Z7,Z3,Z3, /*/Z6,Z5,Z6,H1, Z5, Z3,/*/Z4,H1,Z7,H1,/*/H2,H2,H2,H1,/*/H1,Z6,Z7,Z5,/*/Z6,H1,H2, /*/H3,H2,H3,H5, H2,Z5,Z5, /*/H1,Z7,H1,H3,/*/H3, /*/Z6,H1,Z7,H2,/*/H1,Z5,Z5, /*/H4,H3,H2,H1, H3, /*/Z3,H3, /*/H6,H5,H5, /*/H3,H2,H1,H1,/*/H2,H1,H2,H5,/*/H3,H3, H6,H5, /*/H3,H2,H1,H1,/*/H2,H1,H2,Z7,/*/Z6,Z6,Z7, /*/Z6, 0xff; /以0xff作为音符的结束标志/4对应4个延时单位,2对应2个延时单位,1对应1个延时单位 extern unsigned char code JP = 4,4, /*/12,4,8,8, /*/20,4,4, /*/12,4,8,8, /*/20,4,4, /*/12,4,4,12, 20,4,4,4, /*/12,4,8,8, /*/20,4,4, /*/12,4,8,8, /*/20,4,4, /*/12,4,8,8,32, 4, /*/8,4,6,8, /*/4,4,4,16, /*/8,4,6,8, /*/24,4,4, /*/12,4,8,8,24,4,4, /*/4,4,8,8, /*/32,/*/4,8,8,6, /*/12,4,16, /*/8,8,8,8,30, /*/20,8, /*/16,8,8, /*/4,4,16,8, /*/8,4,4,8, /*/20,8,16,16, /*/4,20,8, /*/8,4,4,8, /*/20,4,4, /*/32,;#define uchar unsigned char /宏的定义变量类型 uchar 代替 unsigned char#define uint unsigned int /宏的定义变量类型 uint 代替 unsigned intsbit sound=P13;sbit led_l=P14;uchar anjian_chuchu50=0;uchar key; /键顺序码uchar count; /存储计数uchar count50; /存储满uint play_ma; /音符/* 延时 */void delay(uchar x) uchar j; while(x-)!=0) /CPU执行x*100次 for(j=0;j100;j+) ; /*按键转换音符*/uint _anjian_zhuanhuan(uchar fy) uint ffy;if(fy!=0) switch(fy) case 1: ffy=L1; break; case 2: ffy=L2; break; case 3: ffy=L3; break; case 4: ffy=L4; break; case 5: ffy=L5; break; case 6: ffy=L6; break; case 7: ffy=L7; break; case 8: ffy=Z1; break; case 9: ffy=Z2; break; case 10: ffy=Z3; break; case 11: ffy=Z4; break; case 12: ffy=Z5; break; case 13: ffy=Z6; break; case 14: ffy=Z7; break; case 15: ffy=H1; break; case 16: ffy=H2; break; case 17: ffy=H3; break; case 18: ffy=H4; break; case 19: ffy=H5; break; case 20: ffy=H6; break; case 21: ffy=H7; break; default : ffy=0; break; return ffy; /*按键存储*/void _anjian_cunchu(uchar _key) if(count50) anjian_chuchucount=_key; count=count+1; else count50=1; /* 按键播放处理 */ void anjian_chuli( uchar conv1_ma ) uchar j; EA=1; /开总中断 ET0=1; /定时器T0中断允许 play_ma=_anjian_zhuanhuan( conv1_ma); if(play_ma!=0) P0=(uchar)play_ma; /亮灯TH0=(8192-play_ma)/32; /可证明这是13位计数器TH0高8位的赋初值方法 TL0=(8192-play_ma)%32; /可证明这是13位计数器TL0低5位的赋初值方法 TR0=1; /启动定时器T0 for(j=0;j4;j+) /控制节拍数 delay(100); /延时1个节拍单位 TR0=0; /关闭定时器T0 P0=0xff; sound=0; /* 键扫描子程序 (3*4 的矩阵) P2为列 */ void keyscan(void) uchar temp; temp = 0; lab: P2=0xFF; /高四位输入 列为高电平 P1=0X00|0XF0; /P1.0 P1.1 P1.2为行p1.3 行为低电平 delay(1); /延时 temp=P2|0X80; /读P2口 delay(1); /延时 if(temp=P2|0X80) delay(1); if(temp=P2|0X80) temp=temp; switch(temp) case 1: key=1; break; case 2: key=2; break; case 4: key=3; break; case 8: key=4; break; case 16: key=5; break; case 32: key=6; break; case 64: key=7; break; default : key=40; break; P1=0XF7; /行为高电平 P2=0x00; /列为低电平 delay(1); /延时temp=P1; /读P1口 temp=temp&0x03; temp=(temp|0xF8); if(temp=1) /第一行 p1.0 被拉低 key=key+0; else if(temp=2) /第二行 p1.1 被拉低 key=key+7; else if(temp=4) /第三行 p1.2 被拉低 key=key+14;else key = 40; elsegoto lab; elsegoto lab; /* 存储播放*/void _cunchu_bofang(void) uchar _key,ii; for(ii=0;iicount;ii+) _key=anjian_chuchuii; anjian_chuli(_key); /*播放音乐*/void _bofang_yinyue(void) unsigned char i,j; EA=1; /开总中断 ET0=1; /定时器T0中断允许 TMOD=0x00; / 使用定时器T0的模式1(13位计数器) i=0; /从第1个音符f0开始播放 while(fi!=0xff) /只要没有读到结束标志就继续播放 play_ma=fi; P0=(uchar)play_ma; /亮灯 if(fi=0x00) TR0=0; else TH0=(8192- play_ma)/32; /13位计数器TH0高8位的赋初 TL0=(8192- play_ma)%32; /13位计数器TL0低5位的赋初 TR0=1; /启动定时器T0 for(j=0;jJPi;j+) /控制节拍数 delay(80); /延时1个节拍单位 TR0=0; /关闭定时器T0 i+; /播放下一个音符P0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 克拉玛依职业技术学院《数据库实训》2023-2024学年第二学期期末试卷
- 2025河南长期劳动合同范本
- 2025至2031年中国普通绿豆行业投资前景及策略咨询研究报告
- 2025至2031年中国收卡机行业投资前景及策略咨询研究报告
- 益阳医学高等专科学校《基础生态学》2023-2024学年第二学期期末试卷
- 2025至2031年中国打印机外壳行业投资前景及策略咨询研究报告
- 2025至2031年中国仓贮用低温除湿装置行业投资前景及策略咨询研究报告
- 致敬劳动筑梦成长主题队会教案
- 造型模板护岸施工方案
- 2025年合同法务人员合同管理实训题
- 烟草公司办公楼物业服务方案
- 2024年大亚湾城投人居科技集团招聘笔试冲刺题(带答案解析)
- DZ∕T 0270-2014 地下水监测井建设规范
- 【更新版】深信服资格认证考试题库大汇总(含答案)
- 庆阳市北部城区控制性详细规划—说明书
- (完整版)螺丝分类命名及编码
- 外墙憎水岩棉保温板施工方案doc
- 水利水电工程毕业设计---水闸设计
- CSCO 乳腺癌指南骨转移、脑转移等指南
- 双碱法脱硫设计计算
- 架空管道施工方案架空管道工方案
评论
0/150
提交评论