首页 单片机电子琴课程设计报告

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

举报
开通vip

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

单片机电子琴课程设计报告
.1课程设计的意义单片机自20世纪70年代问世以来,已对人类社会产生了巨大的影响。尤其是美国Intel公司生产的MCS-51系列单片机,由于其具有集成度高、处理功能强、可靠性高、系统结构简单、价格低廉、易于使用等优点,在工业控制、智能仪器仪表、办公室自动化、家用电器等诸多领域得到广泛的应用。20世纪80年代中期以后,Intel公司已把精力集中在CPU芯片的开发、研制上,并逐渐放弃了单片机芯片的生产,但是以MCS-51内核技术为主导的单片机已经成为许多厂家及公司竞相选用的对象。因此,Intel公司以专利转让或技术交换的形式把MCS-51的内核技术转让给了许多国际上著名的半导体芯片生产厂家,如ATMEL、PHILIPS、Cygnal等公司。这些厂家生产的与MCS-51系列单片机兼容的各种增强型、扩展型单片机,已成为世界上8位单片机市场的主流产品。估计在今后若干年内,它们仍是我国8位单片机应用领域的主流机型。音乐已经成为现代人们生活所不可缺少的艺术,美妙的音乐可以让人放松,使人愉悦,电子琴作为一种乐器已经得到很多音乐人的重视和应用,一个质量好的电子琴可以做出让人欣赏的美好音乐,所以作为从事电子技术领域的我们来说,能做出质量优越的电子琴是我们的义务和责任,虽然今天我们做的是简易电子琴,但其已经具有电子琴的基本功能,为以后的进一步开发研究奠定一个良好的基础。本课程设计的目的是为了深入了解MCS-51系列单片机的功能以及应用,学会制作简单的电子琴。会使用LCD显示屏,对其有进一步的了解。2 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 论证2.1设计的任务本课程设计的任务是应用单片机制作一个简易的电子琴,能够准确发出基本的音符,并且同时能将音符在显示屏上现实出来。2.2设计的要求利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出8个不同的音调,并且要求按下键发声,松开延时一段时间停止,中间再按别的键则发另外一音调的声音。当系统扫描到有按键被按下,则快速检测出是哪一个键被按下,然后单片机的定时器被启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就回发出相应的音调。如果在前一个按下的键发声的同时有另一个键被按下,则启用中断系统,前面键的发音停止,转到后按的键发音程序,发出后按的键的音调。2.3创新部分1.用一个诺基亚5110显示屏来显示当前所发出的音符,便于使用者对音符的识别,还可以编辑一首歌并同时显示歌词和时间。2.可播放音乐。2.4各部分元器件选用方案论证2.4.1单片机的选用 STC单片机是一款增强型5l单片机,完全兼容MCS-51。STC89C52可以代替AT89C51,而且功能更强,速度更快,寿命更长,价格更低。该单片机具有40个引脚,采用双列直插DIP-40封装。STC89C52可以完成ISP在线编程功能,而AT89C51则不能。因此,将AT89C51中的程序直接烧录到STC89C52中后,STC89C52就可以代替AT89C51直接工作。STC推出的系列51单片机芯片全面兼容其它51单片机。STC89C52内部有E2PROM,可以在程序中修改,而且断电不丢失数据。此外,还增加了两级中断优先级等等。2.4.2显示元件的选用液晶显示模块采用的是NOKIA公司生产的LCD5110液晶显示模块。该液晶屏为48*84点阵的 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 ,每个英文字符占用6*8个点阵,一行可以显示14个字符,可以显示六行。汉字可以采用两种点阵方式显示,一种是12*12点阵,一种是16*16点阵,一共可以显示3行汉字。LCD5110有10个引脚,原理图如图1所示:引脚1为LCD5110的复位键,由软件控制即可。引脚2为片选端,引脚3用于控制输入的数据是命令还是普通数据。引脚5为液晶显示器的时钟输入,引脚6为电源输入端,引脚8为电源地。引脚7为背光控制开关,低电平打开背光。引脚9、10用于扩展。2.4.3键盘的选用常用键盘分为独立式键盘接口和行列式键盘接口。本次课 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 设计使用的是独立式键盘接口。独立式键盘接口就是各键是相互独立的,每个按键各接一条输入线,检验输入线电平的高低可以很容易判断哪个按键被按下。这种键盘适用于按键较少后操作速度较高的场合。我们共用了9个按键,其中8个按键控制1、2、3、4、5、6、7、i的发音。还有一个按键控制LCD屏的显示。2.4.4电源的选用要想使单片机正常运行,可靠、稳定的电源必不可少,在以往的电子设计中,我们一般制作5V电源,这样做的目的是通过变压器变压,将民用220V电直接转为5V电供单片机使用,在没有电脑USB时可以直接找一个插座接上便可使用。但缺点是制作成本较高,且体积较大,烧录程序时还需要另配烧录器。由于我们在课程设计过程中时刻都要使用笔记本电脑,且程序需要在线烧写,故我们选择使用了USB烧录器,既可以在线烧写程序也可以当作电源使用,方便快捷。2.4.5其他元器件的选用在确定了单片机芯片、诺基亚5110显示屏、电源模块和按键后,我们还确定选用排针、排阻、导线若干以及用于单片机最小系统的电容、晶振、电阻等。3系统硬件设计3.1总体设计本设计采用STC89C50032RC单片机作为系统控制芯片,单片机对P0口的按键进行查询,如果有按键按下,则产生相应频率的脉冲通过P2.0口输出,再经过放大电路驱动扬声器,发出相应的音调。在显示系统中对当前的音符进行显示。系统的总体框图如图2所示:3.2单片机最小系统最小系统包括晶振电路、复位电路和电源部分。最小系统电路图如图3所示:3.3按键的连接一共有八个按键,分别和单片机的P1口相连,并分别连接一个上拉电阻。电路图如图4所示:3.4蜂鸣器的连接蜂鸣器经过一个放大电路和单片机的P2.0口相连,选用无源蜂鸣器。电路图如图5所示:3.5显示屏的连接显示屏总共有八个引脚,其中VCC和GND分别接3.3V电源和接地,其他引脚与单片机的P0口相连。电路图如图6所示:3.6整体电路综合上面所介绍的各个模块的电路图的连接情况,最后总结出整体的电路图。整体电路图如图7所示:4系统软件设计4.1主程序的设计设计软件应从设计主程序着手开始,而设计程序应从流程图开始,经过考察论证,查阅资料,再根据所学的单片机编程的知识,最后总结出主程序的流程图如图8所示:4.2显示子程序的设计指令格式分为两种模式:如果D/C(模式选择)置为低,当前字节解释为命令字节(见表1)。如果D/C置为高,接下来的字节将存储到显示数据RAM。每一个数据字节存入之后,地址计数自动递增。在数据字节最后一位期间会读取D/C信号的电平。每一条指令可用任意次序发送到PCD8544。首先传送的是字节的MSB(高位)。当SCE为高时,串行接口被初始化。在这个状态,SCLK时钟脉冲不起作用,串行接口不消耗电力。SCE上的负边缘使能串行接口并指示开始数据传输。4.3定时子程序的设计定时子程序只需将TAB中对应的数值送给定时器的初值寄存器,然后开始定时。5软硬件联调5.1调试步骤第一:按照整体电路图焊接硬件,硬件实物图如图9所示:第二:编辑软件程序,用Uv4对程序进行编译,编译无误后保存,再用protuse对软件进行仿真。第三:将硬件通过USB与RS-232串口转换线与电脑连接,用STC下载软件将编译完成后的程序下载烧录到硬件中,观察硬件的运行结果。硬件运行结果如图10所示:5.2软硬件联调过程中出现的问题和解决办法◎问题1:将USB烧写器尾部的短路帽子摘掉后插上电脑,程序无法烧写进芯片。解决措施:将STC中单片机的设置更改为STC89C52型号的,再将波特率改小一点,端口设置正确即可。◎问题2:程序烧录进去后显示屏不显示任何数字。解决措施:将USB口从电脑上拔下然后再插入即可。◎问题3:按键按下之后扬声器的声音抖动。解决措施:将放大电路检查一遍再将每个焊点焊实即可。6课设计总结6.1收获通过一个多星期的课程设计,从选题到查资料,从完善原理图到写报告文档,让我明白了课程设计是名副其实的综合性训练,不仅要运用学过的单片机技术及应用,数字电路、模拟电路以及电子技术实验等知识,还要学会查阅各种图书资料和工具书,并将新知识和所学的结合起来为自己所用。在做整个课程设计的过程中,我进一步熟悉使用了protuse仿真软件和Uv4软件编辑软件,能较好的应用这些软件,不管是文本程序的编写还是在顶层原理图的设计都有所提高,还增强了动手能力。应用软件的时候,要注意积累每次的体会和错误,下次碰到该注意的地方就要小心点,碰到出过错误的地方就要格外注意不要再犯同样的错误,这种方法应该适用做任何一件事吧。在设计中遇到一些困难和问题,在向老师请教和与同学的讨论中,解决了问题,觉得很有收获。6.2心得体会一个星期很快就过去了,这一周我收获了很多。在过去的一周里,我和耿勇杰、张兴旺、张扬组成的小组,经过大家一起坚持不懈的努力,最终完成了我们选择的单片机课题设计——电子琴设计。在原设计的基础上,我们还加入了显示模块。用诺基亚5110的液晶显示屏,完成弹奏音符的显示,使设计更加完美。在这一个星期里,我们先把以前收集的资料进行了整理。在做课设之前,我们已经通过学校的图书馆和网络,进行了资料的收集,对基于单片机的电子琴设计有了大体的了解和认识。并且在这学期得课余时间,我们经过研究和讨论,制定了设计的基本思路,并焊接完成了硬件电路。这个星期我们的任务安排主要是完成电子琴的程序和5110液晶显示的程序,进行程序调试,使之在硬件上实现,最后完成任务书。在最初的两天里,先进行的是电子琴的程序设计,了解的音乐产生的原理。音乐的产生是通过单片机的I\O端口输出高低不同的脉冲信号来控制蜂鸣器发声。不同的音频信号的周期不同,通过单片机的定时器,给定时器设置不同的初值,通过定时器中断,中断过程中对I\O端口取反,就得到了音频信号的脉冲。通过这次课设,我掌握了单片机设计单子琴的工作原理,又复习了单片机定时器的工作原理,熟练了计数初值的计算。把自己感兴趣的电子琴和学习的单片机知识联系到了一起,设计过程中,既再次学习了单片机的知识,对学习的知识有了更深刻的认识和理解;又获得了快乐,自己设计了简易的电子琴。用自己的设计弹奏出简单的音乐,还挺有成就感的。兴趣是最好的老师,把自己的兴趣和所学的知识结合起来,学以致用,理论应用于实践,这是我最大的收获。完成电子琴的发音程序后,我们开始编写5110液晶显示屏的程序。5110液晶屏与一般课本上介绍的液晶显示屏不太一样。我们用的5110液晶显示屏,只有8个引脚,引脚越少,电路的连接越简单。可是看着越简单的东西,实际上要弄明白它的工作和使用就越难。由于5110液晶显示屏的资料比较少,我们又没有接触过。一开始我们先从其它的液晶显示屏资料开始研究,希望可以通过类比,了解5110液晶显示屏。再弄明白了其它液晶显示屏以后,我们开始编写5110的显示程序,编写完成后,与硬件进行调试却失败了。改程序,与硬件连接调试,失败;再改程序,再与硬件连接调试,再失败……这样的过程重复了不知多少遍。调试了两天以后,我们又把5110液晶显示屏的资料拿出来认真的研究,把指令集看了又看,这次我们注重 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 了5110液晶屏与其它液晶屏的区别。放弃了通过其它液晶屏来认识5110,而是直接分析5110液晶屏。因为通过学习我们发现,两样东西即使它是类似的,可是在汇编的过程中,一点微小的区别也是不同的。后来在网上我们找到了5110液晶显示驱动PCD8544的使用手册,经过讨论和研究,我们再次编写了程序,结果和硬件连接了几次,还是失败了。最后我们只得求助于柳老师,刘老师编写完程序后,一开始也没有显示,老师把硬件断电再接电后,显示成功。于是我们也把自己写的程序下载到硬件中,断电再接电,显示也成功了。再郁闷了这么长时间后,发现只是因为这个小动作,所以一直没有显示,我们在显示成功高兴的同时,也有点小无奈。真是细节决定成败啊。通过对5110液晶显示屏的使用,锻炼了我的自学能力。对一个从来没有接触过的器件,通过自己的学习,分析和研究,最终完成任务。这对我来说还是第一次,在这第一次的过程中,我走了很多弯路。一开始不知道如何下手,先是研究错了方向,学习和研究了许多其他的液晶显示屏。而后又拿着5110的资料不知道从哪看起,不知道那是编程要用的重点,只好把资料都看了。再后来又对5110的资料有不少不理解的地方,对引脚的控制和它的工作有许多模糊的地方,只好在编程时,一次次的实验,验证那种理解是正确的。虽然这个过程曲折,而又让我觉得无奈。但是,在最后显示成功后,通过自己的努力而获得的喜悦,是无以言表的。并且,通过这次学习,我初步学会了看器件的使用手册,看指令表。学会了要想使用一个你不了解的器件,应该看什么,应该注意什么。你要看器件的参数,看各个引脚的连接和作用,看指令表。在编程的过程中,要严格按照指令表编写程序,不能自己想当然。大学教育和课题设计的目的,就是教会我们如何自学,锻炼我们独立思考的能力,在这次课设中,我有了切身的体会。老师在编写5110显示程序时,本身老师也没有接触过5110的汇编。老师根据资料,通过简单的阅读,就把C语言的5110的显示程序,改成了汇编,并且显示成功。我们的资料和老师看的差不多,却折腾了两三天才把程序编写出来。我们一定会通过努力向老师看齐。最后,我们还发现了蜂鸣器的问题,一开始我们用的蜂鸣器是有源的,声音小,把分压电阻短路后,声音大了,可是一直“滴滴”响个不停。上网查证后,发现蜂鸣器分为有源和无源的,电子琴设计要用无源的蜂鸣器。虽然是个小问题,但是也增加了一个小 知识点 高中化学知识点免费下载体育概论知识点下载名人传知识点免费下载线性代数知识点汇总下载高中化学知识点免费下载 。通过这次课题设计,我的收获很大。我们获得了知识,完成了设计,锻炼了独立思考能力,和动手能力。我也体会到无论是硬件设计还是软件编程,细节决定成败,一定要认真对待每一个小步骤。最后,谢谢柳延领老师的指导和帮助。参考文献1.《基于Proteus的8051单片机实例教程》李学礼主编电子工业出版社2.《Proteus教程——电子线路设计、制版与仿真》朱清慧张凤蕊翟天嵩王志奎编著清华大学出版社3.《单片机原理及应用技术》陈益飞主编国防工业出版社4.《单片机控制实训指导及综合应用实例》张大明主编机械工业出版社附录电子琴课程设计程序源代码SCEEQUP2.1RESEQUP2.2DCEQUP2.3SDINEQUP3.0SCLKEQUP3.1RXDATA55HRYDATA56H;单片机初始化ORG0000HLJMPMAINORG0003HLJMPPNT0ORG000BHLJMPINT_T0ORG001BHLJMPTIME1;设置定时器0\1工作方式0,开中断MAIN:MOVSP,#70HMOVTMOD,#11HSETBEASETBET0SETBET1SETBF0;LCD5110复位,清屏,初始化功能SRART:SETBRESSETBSCESETBSCLKCALLCLEARCLRRESNOPSETBRESNOPLCALLLCDRSTLCALLLCD;判断是否有键按下KEY:MOVP1,#0FFHMOVA,P1XRLA,#0FFHJZKEY2LCALLDE10MSMOVA,P1MOVR5,AXRLA,#0FFHJNZTKEYSJMPKEYKEY2:MOVA,P2JNBACC.5,L1L2:SJMPKEYL1:LCALLDE10MSMOVA,P2JBACC.5,L2LJMPFLCD;判断那个键按下了TKEY:MOVA,R5JNBACC.0,K1SJMPK2K1:MOVR2,#0MOVDPTR,#TLCD1;设置LCD5110显示字的表格位置MOV51H,DPHMOV50H,DPLLCALLSLCDLJMPMUSICK2:JNBACC.1,KK2SJMPK3KK2:MOVR2,#2MOVDPTR,#TLCD2MOV51H,DPHMOV50H,DPLLCALLSLCDLJMPMUSICK3:JNBACC.2,KK3SJMPK4KK3:MOVR2,#4MOVDPTR,#TLCD3MOV51H,DPHMOV50H,DPLLCALLSLCDLJMPMUSICK4:JNBACC.3,KK4SJMPK5KK4:MOVR2,#6MOVDPTR,#TLCD4MOV51H,DPHMOV50H,DPLLCALLSLCDLJMPMUSICK5:JNBACC.4,KK5SJMPK6KK5:MOVR2,#8MOVDPTR,#TLCD5MOV51H,DPHMOV50H,DPLLCALLSLCDLJMPMUSICK6:JNBACC.5,KK6SJMPK7KK6:MOVR2,#10MOVDPTR,#TLCD6MOV51H,DPHMOV50H,DPLLCALLSLCDLJMPMUSICK7:JNBACC.6,KK7SJMPK8KK7:MOVR2,#12MOVDPTR,#TLCD7MOV51H,DPHMOV50H,DPLLCALLSLCDLJMPMUSICK8:JNBACC.7,KK8LJMPKEYKK8:MOVR2,#14MOVDPTR,#TLCD8MOV51H,DPHMOV50H,DPLLCALLSLCD;取按键对应音符,设置定时器0的初值MUSIC:MOVA,R2MOVDPTR,#TABMOVCA,@A+DPTRMOVR7,AMOVTH0,R7INCR2MOVA,R2MOVCA,@A+DPTRMOVR6,AMOVTL0,R6SETBTR0;判断按键是否释放LOOP:MOVP1,#0FFHMOVA,P1XRLA,#0FFHJNZLOOP;按键释放后再响一段时间DETY:MOVR4,#200LP1:MOVR3,#126DJNZR3,$DJNZR4,LP1CLRTR0LJMPKEY;消除抖动延时10MSDE10MS:MOVR1,#10LP2:MOVR0,#248DJNZR0,$DJNZR1,LP2RET;片P2.0口取反,提供音乐脉冲INT_T0:PUSHPSWPUSHACCMOVTH0,R7MOVTL0,R6CPLP2.0POPACCPOPPSWRETIPNT0:PUSHPSWPUSHACCJNBTR0,RE2KEY1:CLRTR0MOVP1,#0FFHMOVA,P1XRLA,#0FFHJZKEY1LCALLDE10MSMOVP1,#0FFHMOVA,P1MOVR5,AXRLA,#0FFHJNZRE3RE3:POPPSWPOPACCLJMPTKEYRE2:POPPSWPOPACCRETI;LCD5110清屏CLEAR:MOV52H,#6CLR1:MOV53H,#84CLR2:MOVA,#0CALLWR_DDJNZ53H,CLR2DJNZ52H,CLR1RET;LCD5110初始化LCDRST:MOVA,#21HLCALLWR_CMOVA,#0C8HLCALLWR_CMOVA,#20HLCALLWR_CMOVA,#0CHLCALLWR_CRET;LCD5110显示“电子琴设计”LCD:SETBF0MOVRY,#40HMOVRX,#80HLCALLSET_XYMOVDPTR,#LCD0LCALLWDATAMOVRY,#41HMOVRX,#80HLCALLSET_XYMOVDPTR,#LCD1LCALLWDATAMOVRY,#40HMOVRX,#90HLCALLSET_XYMOVDPTR,#LCD2LCALLWDATAMOVRY,#41HMOVRX,#90HLCALLSET_XYMOVDPTR,#LCD3LCALLWDATAMOVRY,#40HMOVRX,#0A0HLCALLSET_XYMOVDPTR,#LCD4LCALLWDATAMOVRY,#41HMOVRX,#0A0HLCALLSET_XYMOVDPTR,#LCD5LCALLWDATAMOVRY,#40HMOVRX,#0B0HLCALLSET_XYMOVDPTR,#LCD6LCALLWDATAMOVRY,#41HMOVRX,#0B0HLCALLSET_XYMOVDPTR,#LCD7LCALLWDATAMOVRY,#40HMOVRX,#0C0HLCALLSET_XYMOVDPTR,#LCD8LCALLWDATAMOVRY,#41HMOVRX,#0C0HLCALLSET_XYMOVDPTR,#LCD9LCALLWDATARET;LCD5110写指令子程序WR_C:CLRSCECLRDCCALLSENTSETBSCERET;LCD5110写数据子程序WR_D:CLRSCESETBDCCALLSENTSETBSCERET;LCD5110设置XY坐标SET_XY:MOVA,RYCALLWR_CMOVA,RXCALLWR_CRET;LCD5110串行输入8位数据SENT:MOV54H,#08HRS:RLCAMOVSDIN,CCLRSCLKNOPNOPSETBSCLKDJNZ54H,RSRET;写入汉字数据WDATA:MOV57H,#16STR0:MOVA,#00HMOVCA,@A+DPTRLCALLWR_DINCDPTRDJNZ57H,STR0RET//电LCD0:DB0x00,0x00,0xF8,0x88,0x88,0x88,0x88,0xFFDB0x88,0x88,0x88,0x88,0xF8,0x00,0x00,0x00LCD1:DB0x00,0x00,0x1F,0x08,0x08,0x08,0x08,0x7FDB0x88,0x88,0x88,0x88,0x9F,0x80,0xF0,0x00//子LCD2:DB0x80,0x82,0x82,0x82,0x82,0x82,0x82,0xE2DB0xA2,0x92,0x8A,0x86,0x82,0x80,0x80,0x00LCD3:DB0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7FDB0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00//琴LCD4:DB0x82,0x92,0x92,0xFE,0x92,0x92,0x82,0x00DB0x82,0x92,0x92,0xFE,0x92,0x92,0x82,0x00LCD5:DB0x08,0x08,0x08,0x14,0x14,0x12,0x16,0x99DB0x52,0x32,0x14,0x04,0x08,0x08,0x08,0x00//设LCD6:DB0x40,0x40,0x42,0xCC,0x00,0x40,0xA0,0x9EDB0x82,0x82,0x82,0x9E,0xA0,0x20,0x20,0x00LCD7:DB0x00,0x00,0x00,0x3F,0x90,0x88,0x40,0x43DB0x2C,0x10,0x28,0x46,0x41,0x80,0x80,0x00//计LCD8:DB0x40,0x40,0x42,0xCC,0x00,0x40,0x40,0x40DB0x40,0xFF,0x40,0x40,0x40,0x40,0x40,0x00LCD9:DB0x00,0x00,0x00,0x7F,0x20,0x10,0x00,0x00DB0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00;LCD5110音符显示SLCD:MOVRY,#43HMOVRX,#0A8HLCALLSET_XYLCALLWDATA1RET;写入音符数据WDATA1:MOV55H,#6STR:MOVA,#00HMOVCA,@A+DPTRLCALLWR_DINCDPTRDJNZ55H,STRRET;音符数据TLCD1:DB00H,84H,0FEH,0FEH,80H,00HTLCD2:DB86H,0C3H,0E3H,0B3H,9FH,8EHTLCD3:DB44H,83H,92H,92H,0FEH,6CHTLCD4:DB38H,2CH,26H,0FFH,20H,20HTLCD5:DB00H,0DEH,9EH,92H,0F2H,62HTLCD6:DB7CH,0FEH,92H,92H,0E2H,64HTLCD7:DB03H,01H,0E1H,0F1H,0FH,07HTLCD8:DB00H,84H,0fdH,0FDH,80H,00H;音符频率初值TAB:DW64580,64684,64777,64820DW64898,64968,65030,65058FLCD:JNBF0,CHEN;跳转到显示“谢谢”的子程序LJMPSTART2;跳转到播放音乐子程序CHEN:SETBF0MOVRY,#40HMOVRX,#80HLCALLSET_XYLCALLCLEARNOPNOPMOVRY,#40HMOVRX,#80HLCALLSET_XYMOVDPTR,#FLCD0LCALLWDATAMOVRY,#41HMOVRX,#80HLCALLSET_XYMOVDPTR,#FLCD1LCALLWDATAMOVRY,#40HMOVRX,#90HLCALLSET_XYMOVDPTR,#FLCD0LCALLWDATAMOVRY,#41HMOVRX,#90HLCALLSET_XYMOVDPTR,#FLCD1LCALLWDATAMOVRY,#40HMOVRX,#0A0HLCALLSET_XYMOVDPTR,#FLCD2LCALLWDATAMOVRY,#41HMOVRX,#0A0HLCALLSET_XYMOVDPTR,#FLCD3LCALLWDATAMOVRY,#40HMOVRX,#0B0HLCALLSET_XYMOVDPTR,#FLCD4LCALLWDATAMOVRY,#41HMOVRX,#0B0HLCALLSET_XYMOVDPTR,#FLCD5LCALLWDATAMOVRY,#40HMOVRX,#0C0HLCALLSET_XYMOVDPTR,#FLCD6LCALLWDATAMOVRY,#41HMOVRX,#0C0HLCALLSET_XYMOVDPTR,#FLCD7LCALLWDATASJMPKEY;跳转回键盘扫描子程序//谢FLCD0:DB0x40,0x42,0xCC,0x04,0x00,0xFC,0x56,0x55DB0xFC,0x50,0x90,0x10,0xFF,0x10,0x10,0x00FLCD1:DB0x00,0x00,0x3F,0x50,0x29,0x11,0x4D,0x83DB0x7F,0x00,0x41,0x80,0x7F,0x00,0x00,0x00//柳FLCD2:DB0x10,0x10,0xD0,0xFF,0x90,0x10,0xFC,0x04DB0x02,0xF8,0x00,0xFC,0x04,0x04,0xFC,0x00FLCD3:DB0x04,0x03,0x00,0xFF,0x00,0x01,0x8F,0x44DB0x32,0x0F,0x00,0xFF,0x04,0x08,0x07,0x00//老FLCD4:DB0x20,0x20,0x24,0x24,0x24,0x24,0xBF,0x64DB0x24,0x34,0x28,0x24,0x22,0x20,0x20,0x00FLCD5:DB0x10,0x08,0x04,0x02,0x3F,0x45,0x44,0x44DB0x42,0x42,0x42,0x41,0x78,0x00,0x00,0x00//师FLCD6:DB0x00,0xFC,0x00,0x00,0xFF,0x00,0x02,0xE2DB0x22,0x22,0xFE,0x22,0x22,0xE2,0x02,0x00FLCD7:DB0x00,0x87,0x40,0x30,0x0F,0x00,0x00,0x1FDB0x00,0x00,0xFF,0x08,0x10,0x0F,0x00,0x00START2:CLRF0;音乐播放子程序LCALLWORD2MAIN2:MOV60H,#00H;设置初始指针NEXT2:MOVA,60HMOVDPTR,#MTABMOVCA,@A+DPTRCJNEA,#00H,PLAYLJMPSTOPPLAY:MOV61H,AANLA,#0FHMOV62H,A;把节拍值存放在62H中MOVA,61HANLA,#0F0HCJNEA,#0,MUSIC2LJMPDEL2MUSIC2:SWAPADECAMOV63H,A;把音符值存放在63H中ADDA,63HMOV64H,AMOVDPTR,#MTAB1MOVCA,@A+DPTRMOVTH1,AMOV65H,AMOVA,64HINCAMOVCA,@A+DPTRMOVTL1,AMOV66H,ASETBTR1;打开定时器1DEL2:LCALLDETY2INC60H;指针加一,取下一个音符LJMPNEXT2TIME1:PUSHACCPUSHPSWCPLP2.0;播放音乐MOVTH1,65HMOVTL1,66HPOPPSWPOPACCRETI;音乐播放完毕,关闭定时器1,返回键盘扫描STOP:CLRTR1LJMPKEYDETY2:MOV67H,#2L0P2:MOV68H,#125L0P1:MOV69H,#248DJNZ69H,$DJNZ68H,L0P1DJNZ67H,L0P2DJNZ62H,DETY2RETWORD2:;显示播放音乐的名字MOVRY,#40HMOVRX,#80HLCALLSET_XYLCALLCLEARNOPNOPMOVRY,#42HMOVRX,#90HLCALLSET_XYMOVDPTR,#WLCD0LCALLWDATAMOVRY,#43HMOVRX,#90HLCALLSET_XYMOVDPTR,#WLCD1LCALLWDATAMOVRY,#42HMOVRX,#0A0HLCALLSET_XYMOVDPTR,#WLCD2LCALLWDATAMOVRY,#43HMOVRX,#0A0HLCALLSET_XYMOVDPTR,#WLCD3LCALLWDATAMOVRY,#42HMOVRX,#0B0HLCALLSET_XYMOVDPTR,#WLCD4LCALLWDATAMOVRY,#43HMOVRX,#0B0HLCALLSET_XYMOVDPTR,#WLCD5LCALLWDATARET;音乐的所有音符MTAB1:DW64524,64580,64684,64777,64820DW64898,64968,65030,65058;音乐对应的音符和节拍MTAB:DB64H,42H,62H,98H,74H,92H,72H,68HDB64H,22H,32H,44H,32H,22H,3CHDB64H,42H,62H,94H,04H,82H,74H,94HDB68H,64H,32H,42H,54H,04H,12H,2CHDB74H,94H,98H,84H,72H,82H,98H,72HDB82H,92H,72H,72H,62H,42H,22H,3CHDB64H,42H,62H,94H,04H,82H,74H,94HDB68H,64H,32H,42H,54H,04H,12H,2CHDB00H;音乐名//长WLCD0:DB0x80,0x80,0x80,0x80,0xFF,0x80,0x80,0xA0DB0x90,0x88,0x84,0x82,0x80,0x80,0x80,0x00WLCD1:DB0x00,0x00,0x00,0x00,0xFF,0x40,0x21,0x12DB0x04,0x08,0x10,0x20,0x20,0x40,0x40,0x00//亭WLCD2:DB0x00,0x04,0x04,0x74,0x54,0x54,0x55,0x56DB0x54,0x54,0x54,0x74,0x04,0x04,0x00,0x00WLCD3:DB0x04,0x03,0x01,0x05,0x05,0x45,0x85,0x7DDB0x05,0x05,0x05,0x05,0x01,0x05,0x03,0x00//外WLCD4:DB0x00,0xC0,0x30,0x1F,0x10,0x10,0xF0,0x00DB0x00,0xFF,0x20,0x40,0x80,0x00,0x00,0x00WLCD5:DB0x81,0x40,0x21,0x12,0x0C,0x03,0x00,0x00DB0x00,0xFF,0x00,0x00,0x00,0x03,0x00,0x00;结束END图1LCD5110模块引脚图STC89C528个按键P1口放大电路P2.0口5110显示屏P0口蜂鸣器(无图2系统总体框图图3最小系统电路图��图4按键连接电路图�图5蜂鸣器连接电路图�图6显示屏连接电路图�图7整体连接电路图初始化设置开始判断是否有按键按下延时10ms判断是否仍然有按键按下查看是哪个按键按下,并跳转到相应的程序段设置相应的指针偏移量调用显示子程序,调用定时子程序,开始定时进入定时服务子程序结束NYYN图8主程序流程图�表1命令字节�图9硬件实物图�图10硬件运行结果图精选范本
本文档为【单片机电子琴课程设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
爱赢
公司经营范围:网络软件设计、制作、图文设计、影视制作(编辑)
格式:doc
大小:677KB
软件:Word
页数:0
分类:工学
上传时间:2020-05-16
浏览量:8