ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:743.91KB ,
资源ID:10751616      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10751616.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机电子琴课程设计报告.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机电子琴课程设计报告.docx

1、单片机电子琴课程设计报告1 课程设计的意义单片机自20世纪70年代问世以来,已对人类社会产生了巨大的影响。尤其是美国Intel公司生产的MCS-51系列单片机,由于其具有集成度高、处理功能强、可靠性高、系统结构简单、价格低廉、易于使用等优点,在工业控制、智能仪器仪表、办公室自动化、家用电器等诸多领域得到广泛的应用。20世纪80年代中期以后,Intel公司已把精力集中在CPU芯片的开发、研制上,并逐渐放弃了单片机芯片的生产,但是以MCS-51内核技术为主导的单片机已经成为许多厂家及公司竞相选用的对象。因此,Intel公司以专利转让或技术交换的形式把MCS-51的内核技术转让给了许多国际上著名的半

2、导体芯片生产厂家,如ATMEL、PHILIPS、Cygnal等公司。这些厂家生产的与MCS-51系列单片机兼容的各种增强型、扩展型单片机,已成为世界上8位单片机市场的主流产品。估计在今后若干年内,它们仍是我国8位单片机应用领域的主流机型。音乐已经成为现代人们生活所不可缺少的艺术,美妙的音乐可以让人放松,使人愉悦,电子琴作为一种乐器已经得到很多音乐人的重视和应用,一个质量好的电子琴可以做出让人欣赏的美好音乐,所以作为从事电子技术领域的我们来说,能做出质量优越的电子琴是我们的义务和责任,虽然今天我们做的是简易电子琴,但其已经具有电子琴的基本功能,为以后的进一步开发研究奠定一个良好的基础。本课程设计

3、的目的是为了深入了解MCS-51系列单片机的功能以及应用,学会制作简单的电子琴。会使用LCD显示屏,对其有进一步的了解。2 方案论证2.1 设计的任务本课程设计的任务是应用单片机制作一个简易的电子琴,能够准确发出基本的音符,并且同时能将音符在显示屏上现实出来。2.2 设计的要求利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出8个不同的音调,并且要求按下键发声,松开延时一段时间停止,中间再按别的键则发另外一音调的声音。当系统扫描到有按键被按下,则快速检测出是哪一个键被按下,然后单片机的定时器被启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就回发出相应的音调。如果在前

4、一个按下的键发声的同时有另一个键被按下,则启用中断系统,前面键的发音停止,转到后按的键发音程序,发出后按的键的音调。2.3创新部分1用一个诺基亚5110显示屏来显示当前所发出的音符,便于使用者对音符的识别,还可以编辑一首歌并同时显示歌词和时间。2.可播放音乐。2.4各部分元器件选用方案论证2.4.1 单片机的选用STC单片机是一款增强型5l单片机,完全兼容MCS-51。STC89C52可以代替AT89C51,而且功能更强,速度更快,寿命更长,价格更低。该单片机具有40个引脚,采用双列直插DIP-40封装。STC89C52可以完成ISP在线编程功能,而AT89C51则不能。因此,将AT89C51

5、中的程序直接烧录到STC89C52中后,STC89C52就可以代替AT89C51直接工作。STC推出的系列51单片机芯片全面兼容其它51单片机。STC89C52内部有E2PROM,可以在程序中修改,而且断电不丢失数据。此外,还增加了两级中断优先级等等。2.4.2 显示元件的选用液晶显示模块采用的是NOKIA公司生产的LCD5110液晶显示模块。该液晶屏为48*84点阵的格式,每个英文字符占用6*8个点阵,一行可以显示14个字符,可以显示六行。汉字可以采用两种点阵方式显示,一种是12*12点阵,一种是16*16点阵,一共可以显示3行汉字。LCD5110有10个引脚,原理图如图1所示:图1 LCD

6、5110模块引脚图引脚1为LCD5110的复位键,由软件控制即可。引脚2为片选端,引脚3用于控制输入的数据是命令还是普通数据。引脚5为液晶显示器的时钟输入,引脚6为电源输入端,引脚8为电源地。引脚7为背光控制开关,低电平打开背光。引脚9、10用于扩展。2.4.3 键盘的选用常用键盘分为独立式键盘接口和行列式键盘接口。本次课题设计使用的是独立式键盘接口。独立式键盘接口就是各键是相互独立的,每个按键各接一条输入线,检验输入线电平的高低可以很容易判断哪个按键被按下。这种键盘适用于按键较少后操作速度较高的场合。我们共用了9个按键,其中8个按键控制1、2、3、4、5、6、7、i的发音。还有一个按键控制L

7、CD屏的显示。2.4.4 电源的选用要想使单片机正常运行,可靠、稳定的电源必不可少,在以往的电子设计中,我们一般制作5V电源,这样做的目的是通过变压器变压,将民用220V电直接转为5V电供单片机使用,在没有电脑USB时可以直接找一个插座接上便可使用。但缺点是制作成本较高,且体积较大,烧录程序时还需要另配烧录器。由于我们在课程设计过程中时刻都要使用笔记本电脑,且程序需要在线烧写,故我们选择使用了USB烧录器,既可以在线烧写程序也可以当作电源使用,方便快捷。2.4.5 其他元器件的选用在确定了单片机芯片、诺基亚5110显示屏、电源模块和按键后,我们还确定选用排针、排阻、导线若干以及用于单片机最小系

8、统的电容、晶振、电阻等。3 系统硬件设计3.1 总体设计本设计采用STC89C50032RC单片机作为系统控制芯片,单片机对P0口的按键进行查询,如果有按键按下,则产生相应频率的脉冲通过P2.0口输出,再经过放大电路驱动扬声器,发出相应的音调。在显示系统中对当前的音符进行显示。系统的总体框图如图2所示:3.2 单片机最小系统最小系统包括晶振电路、复位电路和电源部分。最小系统电路图如图3所示:图3 最小系统电路图3.3 按键的连接一共有八个按键,分别和单片机的P1口相连,并分别连接一个上拉电阻。电路图如图4所示:图4 按键连接电路图3.4 蜂鸣器的连接蜂鸣器经过一个放大电路和单片机的P2.0口相

9、连,选用无源蜂鸣器。电路图如图5所示:3.5 显示屏的连接显示屏总共有八个引脚,其中VCC和GND分别接3.3V电源和接地,其他引脚与单片机的P0口相连。电路图如图6所示:图6 显示屏连接电路图3.6 整体电路综合上面所介绍的各个模块的电路图的连接情况,最后总结出整体的电路图。整体电路图如图7所示:图7 整体连接电路图4 系统软件设计4.1主程序的设计设计软件应从设计主程序着手开始,而设计程序应从流程图开始,经过考察论证,查阅资料,再根据所学的单片机编程的知识,最后总结出主程序的流程图如图8所示:初始化设置开始判断是否有按键按下延时10ms判断是否仍然有按键按下查看是哪个按键按下,并跳转到相应

10、的程序段设置相应的指针偏移量调用显示子程序,调用定时子程序,开始定时进入定时服务子程序结束NYYN图8 主程序流程图4.2 显示子程序的设计指令格式分为两种模式:如果D/C(模式选择)置为低,当前字节解释为命令字节(见表1)。如果D/C置为高,接下来的字节将存储到显示数据RAM。每一个数据字节存入之后,地址计数自动递增。在数据字节最后一位期间会读取D/C信号的电平。每一条指令可用任意次序发送到PCD8544。首先传送的是字节的MSB(高位)。当SCE为高时,串行接口被初始化。在这个状态,SCLK时钟脉冲不起作用,串行接口不消耗电力。SCE上的负边缘使能串行接口并指示开始数据传输。4.3 定时子

11、程序的设计定时子程序只需将TAB中对应的数值送给定时器的初值寄存器,然后开始定时。5 软硬件联调5.1 调试步骤第一:按照整体电路图焊接硬件,硬件实物图如图9所示:第二:编辑软件程序,用Uv4对程序进行编译,编译无误后保存,再用protuse对软件进行仿真。图10 硬件运行结果图第三:将硬件通过USB与RS-232串口转换线与电脑连接,用STC下载软件将编译完成后的程序下载烧录到硬件中,观察硬件的运行结果。硬件运行结果如图10所示:5.2 软硬件联调过程中出现的问题和解决办法问题1:将USB烧写器尾部的短路帽子摘掉后插上电脑,程序无法烧写进芯片。解决措施:将STC中单片机的设置更改为STC89

12、C52型号的,再将波特率改小一点,端口设置正确即可。问题2:程序烧录进去后显示屏不显示任何数字。解决措施:将USB口从电脑上拔下然后再插入即可。问题3:按键按下之后扬声器的声音抖动。解决措施:将放大电路检查一遍再将每个焊点焊实即可。6 课设计总结6.1 收获通过一个多星期的课程设计,从选题到查资料,从完善原理图到写报告文档,让我明白了课程设计是名副其实的综合性训练,不仅要运用学过的单片机技术及应用,数字电路、模拟电路以及电子技术实验等知识,还要学会查阅各种图书资料和工具书,并将新知识和所学的结合起来为自己所用。在做整个课程设计的过程中,我进一步熟悉使用了protuse仿真软件和Uv4软件编辑软

13、件,能较好的应用这些软件,不管是文本程序的编写还是在顶层原理图的设计都有所提高,还增强了动手能力。应用软件的时候,要注意积累每次的体会和错误,下次碰到该注意的地方就要小心点,碰到出过错误的地方就要格外注意不要再犯同样的错误,这种方法应该适用做任何一件事吧。在设计中遇到一些困难和问题,在向老师请教和与同学的讨论中,解决了问题,觉得很有收获。6.2 心得体会一个星期很快就过去了,这一周我收获了很多。在过去的一周里,我和耿勇杰、张兴旺、张扬组成的小组,经过大家一起坚持不懈的努力,最终完成了我们选择的单片机课题设计电子琴设计。在原设计的基础上,我们还加入了显示模块。用诺基亚5110的液晶显示屏,完成弹

14、奏音符的显示,使设计更加完美。在这一个星期里,我们先把以前收集的资料进行了整理。在做课设之前,我们已经通过学校的图书馆和网络,进行了资料的收集,对基于单片机的电子琴设计有了大体的了解和认识。并且在这学期得课余时间,我们经过研究和讨论,制定了设计的基本思路,并焊接完成了硬件电路。这个星期我们的任务安排主要是完成电子琴的程序和5110液晶显示的程序,进行程序调试,使之在硬件上实现,最后完成任务书。在最初的两天里,先进行的是电子琴的程序设计,了解的音乐产生的原理。音乐的产生是通过单片机的IO端口输出高低不同的脉冲信号来控制蜂鸣器发声。不同的音频信号的周期不同,通过单片机的定时器,给定时器设置不同的初

15、值,通过定时器中断,中断过程中对IO端口取反,就得到了音频信号的脉冲。通过这次课设,我掌握了单片机设计单子琴的工作原理,又复习了单片机定时器的工作原理,熟练了计数初值的计算。把自己感兴趣的电子琴和学习的单片机知识联系到了一起,设计过程中,既再次学习了单片机的知识,对学习的知识有了更深刻的认识和理解;又获得了快乐,自己设计了简易的电子琴。用自己的设计弹奏出简单的音乐,还挺有成就感的。兴趣是最好的老师,把自己的兴趣和所学的知识结合起来,学以致用,理论应用于实践,这是我最大的收获。完成电子琴的发音程序后,我们开始编写5110液晶显示屏的程序。5110液晶屏与一般课本上介绍的液晶显示屏不太一样。我们用

16、的5110液晶显示屏,只有8个引脚,引脚越少,电路的连接越简单。可是看着越简单的东西,实际上要弄明白它的工作和使用就越难。由于5110液晶显示屏的资料比较少,我们又没有接触过。一开始我们先从其它的液晶显示屏资料开始研究,希望可以通过类比,了解5110液晶显示屏。再弄明白了其它液晶显示屏以后,我们开始编写5110的显示程序,编写完成后,与硬件进行调试却失败了。改程序,与硬件连接调试,失败;再改程序,再与硬件连接调试,再失败这样的过程重复了不知多少遍。调试了两天以后,我们又把5110液晶显示屏的资料拿出来认真的研究,把指令集看了又看,这次我们注重分析了5110液晶屏与其它液晶屏的区别。放弃了通过其

17、它液晶屏来认识5110,而是直接分析5110液晶屏。因为通过学习我们发现,两样东西即使它是类似的,可是在汇编的过程中,一点微小的区别也是不同的。后来在网上我们找到了5110液晶显示驱动PCD8544的使用手册,经过讨论和研究,我们再次编写了程序,结果和硬件连接了几次,还是失败了。最后我们只得求助于柳老师,刘老师编写完程序后,一开始也没有显示,老师把硬件断电再接电后,显示成功。于是我们也把自己写的程序下载到硬件中,断电再接电,显示也成功了。再郁闷了这么长时间后,发现只是因为这个小动作,所以一直没有显示,我们在显示成功高兴的同时,也有点小无奈。真是细节决定成败啊。通过对5110液晶显示屏的使用,锻

18、炼了我的自学能力。对一个从来没有接触过的器件,通过自己的学习,分析和研究,最终完成任务。这对我来说还是第一次,在这第一次的过程中,我走了很多弯路。一开始不知道如何下手,先是研究错了方向,学习和研究了许多其他的液晶显示屏。而后又拿着5110的资料不知道从哪看起,不知道那是编程要用的重点,只好把资料都看了。再后来又对5110的资料有不少不理解的地方,对引脚的控制和它的工作有许多模糊的地方,只好在编程时,一次次的实验,验证那种理解是正确的。虽然这个过程曲折,而又让我觉得无奈。但是,在最后显示成功后,通过自己的努力而获得的喜悦,是无以言表的。并且,通过这次学习,我初步学会了看器件的使用手册,看指令表。

19、学会了要想使用一个你不了解的器件,应该看什么,应该注意什么。你要看器件的参数,看各个引脚的连接和作用,看指令表。在编程的过程中,要严格按照指令表编写程序,不能自己想当然。大学教育和课题设计的目的,就是教会我们如何自学,锻炼我们独立思考的能力,在这次课设中,我有了切身的体会。老师在编写5110显示程序时,本身老师也没有接触过5110的汇编。老师根据资料,通过简单的阅读,就把C语言的5110的显示程序,改成了汇编,并且显示成功。我们的资料和老师看的差不多,却折腾了两三天才把程序编写出来。我们一定会通过努力向老师看齐。最后,我们还发现了蜂鸣器的问题,一开始我们用的蜂鸣器是有源的,声音小,把分压电阻短

20、路后,声音大了,可是一直“滴滴”响个不停。上网查证后,发现蜂鸣器分为有源和无源的,电子琴设计要用无源的蜂鸣器。虽然是个小问题,但是也增加了一个小知识点。通过这次课题设计,我的收获很大。我们获得了知识,完成了设计,锻炼了独立思考能力,和动手能力。我也体会到无论是硬件设计还是软件编程,细节决定成败,一定要认真对待每一个小步骤。最后,谢谢柳延领老师的指导和帮助。参考文献1.基于Proteus的8051单片机实例教程 李学礼 主编 电子工业出版社 2.Proteus教程电子线路设计、制版与仿真 朱清慧 张凤蕊 翟天嵩 王志奎 编著 清华大学出版社 3.单片机原理及应用技术 陈益飞主编 国防工业出版社

21、4.单片机控制实训指导及综合应用实例 张大明 主编 机械工业出版社 附录电子琴课程设计程序源代码 SCE EQU P2.1 RES EQU P2.2 DC EQU P2.3 SDIN EQU P3.0 SCLK EQU P3.1 RX DATA 55H RY DATA 56H ;单片机初始化 ORG 0000H LJMP MAIN ORG 0003H LJMP PNT0 ORG 000BH LJMP INT_T0 ORG 001BH LJMP TIME1 ;设置定时器01工作方式0,开中断MAIN:MOV SP,#70H MOV TMOD,#11H SETB EA SETB ET0 SETB

22、ET1 SETB F0 ;LCD5110复位,清屏,初始化功能SRART: SETB RES SETB SCE SETB SCLK CALL CLEAR CLR RES NOP SETB RES NOP LCALL LCDRST LCALL LCD ;判断是否有键按下KEY: MOV P1,#0FFH MOV A,P1 XRL A,#0FFH JZ KEY2 LCALL DE10MS MOV A,P1 MOV R5,A XRL A,#0FFH JNZ TKEY SJMP KEYKEY2:MOV A,P2 JNB ACC.5,L1 L2:SJMP KEY L1:LCALL DE10MS MOV

23、A,P2 JB ACC.5,L2 LJMP FLCD ;判断那个键按下了TKEY:MOV A,R5 JNB ACC.0,K1 SJMP K2 K1: MOV R2,#0 MOV DPTR,#TLCD1 ;设置LCD5110显示字的表格位置 MOV 51H,DPH MOV 50H,DPL LCALL SLCD LJMP MUSIC K2: JNB ACC.1,KK2 SJMP K3 KK2:MOV R2,#2 MOV DPTR,#TLCD2 MOV 51H,DPH MOV 50H,DPL LCALL SLCD LJMP MUSIC K3: JNB ACC.2,KK3 SJMP K4 KK3:MO

24、V R2,#4 MOV DPTR,#TLCD3 MOV 51H,DPH MOV 50H,DPL LCALL SLCD LJMP MUSIC K4: JNB ACC.3,KK4 SJMP K5 KK4:MOV R2,#6 MOV DPTR,#TLCD4 MOV 51H,DPH MOV 50H,DPL LCALL SLCD LJMP MUSIC K5: JNB ACC.4,KK5 SJMP K6 KK5:MOV R2,#8 MOV DPTR,#TLCD5 MOV 51H,DPH MOV 50H,DPL LCALL SLCD LJMP MUSIC K6: JNB ACC.5,KK6 SJMP K7

25、KK6:MOV R2,#10 MOV DPTR,#TLCD6 MOV 51H,DPH MOV 50H,DPL LCALL SLCD LJMP MUSIC K7: JNB ACC.6,KK7 SJMP K8 KK7:MOV R2,#12 MOV DPTR,#TLCD7 MOV 51H,DPH MOV 50H,DPL LCALL SLCD LJMP MUSIC K8: JNB ACC.7,KK8 LJMP KEY KK8:MOV R2,#14 MOV DPTR,#TLCD8 MOV 51H,DPH MOV 50H,DPL LCALL SLCD ;取按键对应音符,设置定时器0的初值MUSIC:MOV

26、 A,R2 MOV DPTR,#TAB MOVC A,A+DPTR MOV R7,A MOV TH0,R7 INC R2 MOV A,R2 MOVC A,A+DPTR MOV R6,A MOV TL0,R6 SETB TR0 ;判断按键是否释放LOOP:MOV P1,#0FFH MOV A,P1 XRL A,#0FFH JNZ LOOP ;按键释放后再响一段时间DETY:MOV R4,#200 LP1:MOV R3,#126 DJNZ R3,$ DJNZ R4,LP1 CLR TR0 LJMP KEY ;消除抖动延时10MSDE10MS:MOV R1,#10 LP2:MOV R0,#248 D

27、JNZ R0,$ DJNZ R1,LP2 RET ;片P2.0口取反,提供音乐脉冲INT_T0:PUSH PSW PUSH ACC MOV TH0,R7 MOV TL0,R6 CPL P2.0 POP ACC POP PSW RETIPNT0:PUSH PSW PUSH ACC JNB TR0,RE2KEY1:CLR TR0 MOV P1,#0FFH MOV A,P1 XRL A,#0FFH JZ KEY1 LCALL DE10MS MOV P1,#0FFH MOV A,P1 MOV R5,A XRL A,#0FFH JNZ RE3 RE3:POP PSW POP ACC LJMP TKEY

28、RE2:POP PSW POP ACC RETI ;LCD5110清屏CLEAR:MOV 52H,#6 CLR1:MOV 53H,#84 CLR2:MOV A,#0 CALL WR_D DJNZ 53H,CLR2 DJNZ 52H,CLR1 RET ;LCD5110初始化LCDRST:MOV A,#21H LCALL WR_C MOV A,#0C8H LCALL WR_C MOV A,#20H LCALL WR_C MOV A,#0CH LCALL WR_C RET ;LCD5110显示“电子琴设计” LCD:SETB F0 MOV RY,#40H MOV RX,#80H LCALL SET_

29、XY MOV DPTR,#LCD0 LCALL WDATA MOV RY,#41H MOV RX,#80H LCALL SET_XY MOV DPTR,#LCD1 LCALL WDATA MOV RY,#40H MOV RX,#90H LCALL SET_XY MOV DPTR,#LCD2 LCALL WDATA MOV RY,#41H MOV RX,#90H LCALL SET_XY MOV DPTR,#LCD3 LCALL WDATA MOV RY,#40H MOV RX,#0A0H LCALL SET_XY MOV DPTR,#LCD4 LCALL WDATA MOV RY,#41H M

30、OV RX,#0A0H LCALL SET_XY MOV DPTR,#LCD5 LCALL WDATA MOV RY,#40H MOV RX,#0B0H LCALL SET_XY MOV DPTR,#LCD6 LCALL WDATA MOV RY,#41H MOV RX,#0B0H LCALL SET_XY MOV DPTR,#LCD7 LCALL WDATA MOV RY,#40H MOV RX,#0C0H LCALL SET_XY MOV DPTR,#LCD8 LCALL WDATA MOV RY,#41H MOV RX,#0C0H LCALL SET_XY MOV DPTR,#LCD9 LCALL WDATA RET ;LCD5110写指令子程序 WR_C:CLR SCE CLR DC CALL SENT SETB SCE RET ;LCD5110写数据子程序 WR_D:CLR SCE SETB DC CALL SENT SETB SCE RET;LCD5110

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1