收藏 分享(赏)

pic单片机电子音乐发生器报告北邮.doc

上传人:幼儿教育老师 文档编号:21737030 上传时间:2024-04-15 格式:DOC 页数:36 大小:5.39MB
下载 相关 举报
pic单片机电子音乐发生器报告北邮.doc_第1页
第1页 / 共36页
pic单片机电子音乐发生器报告北邮.doc_第2页
第2页 / 共36页
pic单片机电子音乐发生器报告北邮.doc_第3页
第3页 / 共36页
pic单片机电子音乐发生器报告北邮.doc_第4页
第4页 / 共36页
pic单片机电子音乐发生器报告北邮.doc_第5页
第5页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 单片机设计实验报告2013年小学期单片机设计实验报告题目:电子音乐发生器班 级: 班内序号: 实验组号: 学生姓名: 指导教师: 期中检查教师评语指导教师签字: 年 月 日电子音乐发生器2011211*班 实验摘要 此次本组制作的基于pic单片机的电子音乐发生器是具有液晶显示屏提示的音乐简单演奏、播放等功能的演示作品。在目前很多简单音乐播放器件(如贺卡、礼品中的简单音乐单元)中,这样的简单电路和rom编程原理都是可以通用的,而且电路搭接、布局简单,十分适合电路原理学习、汇编语言编程零基础训练以及简单礼品核心部分制作参考。整个系统中,微控制器采用了Microchip公司的PIC16F877,软

2、件设计中涉及PORTBPORTCPORTDPORTE用作普通数字I/O脚功能。本实验用单片机PORTBD接收来自键盘输入的指令信息,由此确定lcd液晶屏幕显示以及喇叭播放内容,再通过PORTCDE输出声音或字幕信息。AbstractIn this experiment,our group made this pic microcontroller based electronic music generator is a simple LCD prompts music playing, playback and other functions to the presentation. In

3、the current lot of simple music playback devices (such as greeting cards, gift of simple musical elements), such a simple circuit and rom programming principles can all be generic, and the circuit lap, the layout is simple, very suitable circuit schematic learn assembly language zero-based training

4、program and a simple gift core part of the production reference.Throughout the system, the microcontroller uses Microchips PIC16F877, software design involves PORTB PORTC PORTD PORTE used as a normal digital I / O pin functions. The experiment with the microcontroller PORTB D receives commands from

5、the keyboard input information, thereby determining the LCD screen display and speakers to play the content, and then through PORTC D E output sound or subtitle information.关键字单片机microcontroller 芯片CMOS chip lcd液晶显示屏LCD screen 输入输出端口I / O pin一.实验论证与比较 电子音乐发生器采用以Microchip公司的PIC16F877芯片为核心的简单控制系统,外部电路连

6、接有喇叭、键盘、lcd液晶显示屏以及其他必要系统调节元件。 在将所要实现的功能用汇编语言加以实现并烧入rom中,作为实验进行过程中的硬件部分实现人员,我在本次实验中的主要工作是相关资料搜集、软件的入手使用、相关乐谱搜集及乐理知识简单介绍、实验记录与图形绘制和最终的硬件设计与焊接实现。 其中,困难的部分在于,理论上认为电子音乐发生器模拟真正乐器的仿真实现方法,与现实电路实现起来有着一定的差别,在长音、乐谱存储播放上,编程的同组搭档也费了不少脑筋和时间。二.系统总体设计系统模块总体框图程序流程图三.硬件连接单片机与输出元件连接音乐发生器的声音输出单元十分简单,即pic16f877单片机的RC0端口

7、与喇叭单元信号输入端以导线连接即可。而单片机与lcd液晶显示则需要相应管脚与单片机RE01和RD0-7管脚(10个)以导线连接。单片机与输入元件连接输入元件中,键盘输入需单片机RD7-4和RB3-0端口(8个)相连。 硬件连接为我的最主要分工部分,其中,各部分的外围支持电路(如4M有源晶振、重置电路、喇叭的放大电路、电源供应电路等的详细情况请见下图,具体硬件原理图) 具体硬件原理图(设计、手绘,12组硬件部分负责学生:刘冰宇)四. 调试过程软件程序部分 虽然软件部分是由本组队友完成的,但是基本原理上在平时的合作中我也学到了很多容易些的原理,而且在理解了程序控制和输出原理的基础上完成硬件设计和实

8、现也就更加有利了。 首先,曲目存储形式,在参考资料“两只老虎”简谱的简单乐理解释之后,存储过程中由于1/4音符(该曲为“4/4拍”歌曲,即“以四分音符为一拍、每小节有4拍”,该曲中有设置1/4拍的必要,详细见附件“简谱1”)的原因导致程序曾多次需要重新编写。硬件部分 硬件部分设计实现由我负责,硬件部分的完成分为:电路图的设计、面包板上的电路实现、万能板上的电路实现三部分。 绘制基本电路图并根据电路图搭接面包板上的电路,但是由于面包板搭接存在不稳定性,电路时常会有输出失常的情况发生,在最后一次电路终于正常工作、各项参数均正常之后,听取实验室老师的建议,直接进行焊接,在考虑了手中现有万能板的条件之

9、后,重新绘制适合于该万能板布局的电路图,并着手焊接和测试。 调试过程中的经验总结:1、市面上学生自行购买的万能板与教师下发的教学用万能板有着很大区别,其用法也有不同,教学用万能板有内置相连的焊点,这样的结构十分适合初次焊接整个电路的学生使用。2、焊接很多管脚与输出元件的部分时,强烈建议焊接之后立即使用万用表测量焊点是否真正焊上,否则在电路出现问题时再查找将有可能浪费不必要的时间。3、要在各种学习中贯彻“微积分”的思想,化整为零,分步击破,再将它们重新组合以求得整体效果的实现,同时,焊一部分就验一部分,焊接完成的部分及时检验,这样才能最大限度保证电路整体的正常工作。(详细请参考本实验报告第七部分

10、附录中的各部分分解硬件原理图)4、边分析边检查,猜想可能造成此现象的各种原因,逐个检验。5、仔细读图,避免管脚接错这样的低级错误。五.参考文献:PIC单片机实用教程基础篇 李学海北京航空航天大学出版社使用说明:的确是一本不可或缺的教材,本书列举了很多实用的具有实战意义的例子,单片机入门就是通过把这本书里的好例子一字一行敲进电脑去来实现的。PIC单片机实用教程提高篇李学海北京航空航天大学出版社使用说明:继承了前面基础篇的风格,例子也具有实战意义,主要讲RA、TMR2的使用和CCP模块的PWM脉宽调制功能。六.实验心得体会在本次小学期实验过程中,我们组(12组,A网)遇到的最严重的问题,但同时却并

11、非实验本身学习问题,时间存在着客观限制,由于实验时间在期末考试之后,实验结束即意味着组员订票返乡,由于暑假铁路客运订票高峰一票难求的原因,我们组不得不非常无奈而遗憾地选择了一个相对简单的题目(本组软件负责的队友同学其实本来是非常中意于“单片机智能车”这个题目的,但是未能如愿为之尝试、努力和钻研,实在是一大遗憾)并以相对紧凑的实验节奏完成了实验,实验完成功能:LCD显示的电子音乐发生器,用时:30个教学单元(第11天完成验收)。首先,总结实验中学到的知识与技能,本次实验中参考正规科研实验的模式编写并保存了“实验日记”和出于个人兴趣录制的实验中期检验的录像,虽然记录并不完整,但是还是有利于回忆经验

12、教训的(此部分参见附录和报告附带文件夹)。在硬件设计,尤其是万能板焊接前的具体电路设计阶段,由于不得不考虑手中现有材料的限制,曾经出现严重的元件错接在高电平上的事故,好在接通电源前及时发现并更正,否则该元件极有可能发生爆炸。由于焊接工作台与测试区分离,在焊接过程中时常有忘记携带图纸、镊子等状况,不仅让实验习惯不好的我吃到了苦头,更是让我理解了实践过程中对人各方面能力综合考验的道理。其次,总结实验中个人心得体会,实验中曾经遇到十分棘手的问题,如下实验日记:2013.6.29第一次理论课,实验介绍及题目引导2013.7.1进入实验室,试验箱介绍,尝试霹雳灯(下载成功未成功运行),尝试d盘中程序计数

13、器(led灯显示计数数值)(下载、运行均成功)2013.7.2第二次理论课(讲解硬件),继续实验,实验设计报告编写、实验报告试写、题目权衡确定、其他组成果观摩与教师交流硬件支持问题、总结实验箱使用经验教训(尤其关于下载和实验箱电源接触不良与程序下载运行之间的关系,总结理论与实际差距问题)2013.7.3实验进入胶着状态,虽然仍然在不懈研究代码和硬件之间的关系,但一无所获(上午),下午,电子音乐发生器程序输出端口暂定rc0。2013.7.4由于突发不可抗力原因,实验节奏被迫打乱,开始系统学习汇编语言且进度不可控,上午理论学习,下午理论学习同时查阅资料,同组同学发现编程中对于二进制常数填写中000

14、00000B不可用,需改用B00000000的形式,实现按键控制led发光二极管依照指令发光。晚上对程序进行重新修改后,基本实现按键控制指定led发光,同时控制喇叭发出c大调七个音阶的声音,实验取得阶段性胜利。面包板出现问题且查找原因整整2天无果,正是由于电子音乐发生器是一个并不困难的题目,才更加让人如鲠在喉、如芒在背。现在回想起实验当时的困扰和不解,有如只身一人前往一处人烟稀少的“一线天”景点,但是不幸在通过石缝时整个人被卡在正中间,一转头都会擦到鼻子的狭窄和精神上的窒息感,此时唯有解决当前的问题才能艰难蹭出石缝但是当终于从压迫身心的“石缝”中脱险时,才能发现天空是如此蔚蓝高远、回想起来心中

15、感慨万千。焊接过程中由于操作不当烫伤了手指,还目睹了旁边实验台烙铁使用不当导致的爆炸,这些都时刻提醒着我们实验过程中“规范使用、安全第一”,(旁边实验台爆炸时,一个火球从烙铁导线出喷出来,发出爆鸣声,随后发现烙铁导线完全炸断、插排断电保护)否则伤及自身、他人,造成安全隐患、财产损失、甚至伤亡都是有可能的。由于我们组从7月1日实验开始每天8:30-11:30、14:00-17:00和18:00-21:00的3个实验单元均按时签到进行实验,同时我们寻求老师关于元件基本使用方法的帮助、旁边13组同学也十分热心地介绍了他们自己购买的元件使用方法、网上资料也相对简单易懂,本组进度会较其它组稍微快一点,实

16、验第七天开始有很多其它组同学来询问关于元件基本使用方法、乐理知识(我稍有乐器学习的经历,对其他制作有音乐发生作品的同学能有些帮助吧)、焊接经验、电路工作中出现错误的问题等等,在尽力提供帮助时,我深刻地感受到帮助与我同样带着焦虑无奈眼神的人是一件多么有意义的事!实验中面包板会时不时出现故障的原因到最后也没有彻底明了,也许这就是实验的魅力所在,对我来说,与其说在实验中领悟了“通信工程的真谛”,到不如说参透了“人生不是考试题,不是所有的事情都能有答案”这样的禅理。最后,感谢实验中悉心教导我们的老师,对实验开始内心毛躁、急功近利的我耐心疏导,对一双双焦急无奈的眼睛安慰宽抚,对粗心大意有时浪费元件的同学

17、及时批评,老师们在实验中对我们的教育、树立的模范价值的不可估量。实验中,老师为及时监督、指导我们而早起晚睡,为了给同学演示焊接、修理损坏器件而不慎被烙铁烫伤,这些都让我们有了一份感动,同时更加激起我们学习的动力。老师在实验中教会了我们什么是自己能够独立完成的、什么应该查找相关资料,资料要沉住气来读才能理解、错误要一个点一个点测才能找到并纠正。我们也应该更多靠自己,在老师忙碌的时候不妨在一旁静心重新审视自己的电路,即是体谅他人又是给心灵以沉淀的机会,老师不会落下任何一个学生,在实验中老师总能在挤得水泄不通的教2-324一个个帮助前来求助的同学,在严厉的教导中我们感受到的是老师的认真负责、诲人不倦

18、。实验虽然结束了,学习却不会结束,在今后的日子里,我相信我将更有信心克服困难,执着向前。 2013年8月4日七、 附录各部分分解硬件原理图:实验中期检验效果图:实验最后硬件实现图(请参考实验报告附带录像):焊接过程中管脚座布局图和背面焊点:简谱1(两只老虎):简谱2(情非得已):statusequ3hrp0equ5hportbequ6htrisbequ86hportcequ7htriscequ87hportdequ8htrisdequ 88hporteequ09htriseequ89hdate1equ20hdate2equ21hdate3equ23hADCON1 equ 9fhn1equd1n

19、4equd1n5equd95;5n6equd85;34n7equd75;2n8equd65;1n10equd105;6n11equd50;-5n12equd6n13equd120n2equ d230n3equd1option_reg equ81hoption_b equ22hintconequ0bhtmr0equ01hso0equd256-d160do equ d256-d120re equ d256-d106mi equ d256-d94fa equ d256-d90so equ d256-d80la equ d256-d72xi equ d256-d64do1 equ d256-d60re

20、1 equ d256-d53mi1 equ d256-d47;* org0000hmainnopbsf status,rp0movlw 00hmovwf triscmovlw b11111111movwf trisbmovlw 00hmovwf trisdmovlw b00000000movwftriseMOVLW6HMOVWFADCON1movlw b00000011movwf option_regbcf status,rp0movlw 00hmovwf portcmovlw b00000000movwfporte;*calldownmovlwb00000001movwfportdcall

21、downmovlwb00111000;set functionmovwfportdcalldownmovlwb00001000;close displaymovwfportdcalldownmovlwb00000110;clear screenmovwfportdcall downmovlwb00001100;clear screenmovwfportdcall downbcf porte,0movlwb00000001movwfportdcall downmovlwb00000001movwfportemovlwb01110111movwfportdcall downmovlwb011001

22、01movwfportdcall downmovlwb01101100movwfportdcall downmovlwb01100011movwfportdcall downmovlwb01101111movwfportdcall downmovlwb01101101movwfportd call downmovlwb01100101movwfportd call down ;welcomemovlwb10100000movwfportdcall downmovlwb01110100movwfportdcall down;tomovlwb01101111movwfportdcall downm

23、ovlwb10100000movwfportdcalldownmovlwb01110101;usemovwfportdcall downmovlwb01110011movwfportdcall downmovlwb01100101movwfportdcall downbcf porte,0;nextrowmovlwb11000000movwfportdcall downmovlwb00000001movwfportemovlwb01000011movwfportdcall downmovlwb00111010movwfportdcall downmovlwb01110011movwfportd

24、call downmovlwb01110100movwfportdcalldownmovlwb01100001movwfportdcall downmovlwb01110100movwfportdcall downmovlwb01100101movwfportdcall downmovlwb01101101movwfportdcall downmovlwb01100101movwfportdcalldownmovlwb01101110movwfportdcall downmovlwb01110100movwfportdcall down;*startmovlwb01111111movwfpor

25、tdbtfssportb,3 callonemovlwb00000000movwfportcbtfssportb,2 calltwomovlwb00000000movwfportc btfssportb,1callthreemovlwb00000000movwfportc btfssportb,0callfourmovlwb10111111movwfportdbtfssportb,3 callfivemovlwb00000000movwfportcbtfssportb,2 callsixmovlwb00000000movwfportc btfssportb,1callsevenmovlwb00

26、000000movwfportcbtfssportb,0 calleightmovlwb00000000movwfportcmovlwb11011111movwfportdbtfssportb,3 callninemovlwb00000000movwfportcbtfssportb,2 calltenmovlwb00000000movwfportc movlwb11011111movwfportdbtfssportb,1 callaabtfssportb,0 callbbmovlwb00000000movlwb11101111movwfportdbtfssportb,3 callccgotos

27、tartccbcf porte,0movlwb00000001movwfportdcall downmovlwb00000001movwfportemovlwb00110000movwfportdcall downmovlwb00101101movwfportdcall downmovlwb00111001movwfportdcall downmovlwb00111010movwfportdcalldownmovlwb11110000movwfportdcall downmovlwb01101100movwfportdcall downmovlwb01110101movwfportdcall

28、downmovlwb01100011movwfportdcall downmovlwb01101011movwfportdcalldownbcf porte,0movlwb11000000movwfportdcall downmovlwb00000001movwfportemovlwb01000001movwfportdcall downmovlwb00101100movwfportdcall downmovlwb01000010movwfportdcall downmovlwb00111010movwfportdcalldownmovlwb01101101movwfportdcall dow

29、nmovlwb01110101movwfportdcall downmovlwb01110011movwfportdcall downmovlwb01101001movwfportdcall downmovlwb01100011movwfportdcalldownreturmone movlw01hxorwfportcbcfintcon,2movlwdomovwftmr0testbtfssintcon,2gototestreturntwo movlw01hxorwfportcbcfintcon,2movlwremovwftmr0test2btfssintcon,2gototest2return

30、three movlw01hxorwfportcbcfintcon,2movlwmimovwftmr0test3btfssintcon,2gototest3returnfour movlw01hxorwfportcbcfintcon,2movlwfamovwftmr0test4btfssintcon,2gototest4returnfive movlw01hxorwfportcbcfintcon,2movlwsomovwftmr0test5btfssintcon,2gototest5returnsix movlw01hxorwfportcbcfintcon,2movlwlamovwftmr0t

31、est6btfssintcon,2gototest6returnseven movlw01hxorwfportcbcfintcon,2movlwximovwftmr0test7btfssintcon,2gototest7returneight movlw01hxorwfportcbcfintcon,2movlwdo1movwftmr0test8btfssintcon,2gototest8returnnine movlw01hxorwfportcbcfintcon,2movlwre1movwftmr0test9btfssintcon,2gototest9returnten movlw01hxor

32、wfportcbcfintcon,2movlwmi1movwftmr0test10btfssintcon,2gototest10returnjiangso movlw01hxorwfportcbcfintcon,2movlwso0movwftmr0test11btfssintcon,2gototest11returnaabcf porte,0movlwb00000001movwfportdcall downmovlwb00000001movwfportemovlwb01110100movwfportdcall downmovlwb01110111movwfportdcall downmovlw

33、b01101111movwfportdcall downmovlwb10100000movwfportdcalldownmovlwb01110100movwfportdcall downmovlwb01101001movwfportdcall downmovlwb01100111movwfportdcall downmovlwb01100101movwfportdcall downmovlwb01110010movwfportdcalldownmovlwb01110011movwfportdcalldowncalldelay1calldelay1calldelay1calldelay1call

34、delay2calldelay2calldelay2calldelay2calldelay3calldelay3calldelay3calldelay3calldelay1calldelay1calldelay1calldelay1calldelay0calldelay1calldelay1calldelay1calldelay1calldelay2calldelay2calldelay2calldelay2calldelay3calldelay3calldelay3calldelay3calldelay1calldelay1calldelay1calldelay1calldelay0call

35、delay3calldelay3calldelay3calldelay3calldelay4calldelay4calldelay4calldelay4calldelay5calldelay5calldelay5calldelay5calldelay5calldelay5calldelay5calldelay5calldelay0calldelay3calldelay3calldelay3calldelay3calldelay4calldelay4calldelay4calldelay4calldelay5calldelay5calldelay5calldelay5calldelay5call

36、delay5calldelay5calldelay5calldelay0calldelay5calldelay5calldelay5calldelay6calldelay5calldelay5calldelay5calldelay4calldelay3calldelay3calldelay3calldelay3calldelay1calldelay1calldelay1calldelay1calldelay0calldelay5calldelay5calldelay5calldelay6calldelay5calldelay5calldelay5calldelay4calldelay3call

37、delay3calldelay3calldelay3calldelay1calldelay1calldelay1calldelay1calldelay0calldelay1calldelay1calldelay1calldelay1calldelay7calldelay7calldelay7calldelay7calldelay1calldelay1calldelay1calldelay1calldelay1calldelay1calldelay1calldelay1calldelay0calldelay1calldelay1calldelay1calldelay1calldelay7call

38、delay7calldelay7calldelay7calldelay1calldelay1calldelay1calldelay1calldelay1calldelay1calldelay1calldelay1calldelay0returnbbcalldelay3calldelay3calldelay4calldelay4calldelaycalldelay5calldelay5calldelay3calldelay3calldelaycalldelay3calldelay3calldelay5calldelay5calldelaycalldelay5calldelay5calldelay4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高中资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报