《微机原理 音乐播放程序设计.docx》由会员分享,可在线阅读,更多相关《微机原理 音乐播放程序设计.docx(17页珍藏版)》请在课桌文档上搜索。
1、实验报告(2016/2017学年第二学期)课程名称微机原理与接口技术试验名称音乐播放程序设计试验时间2017年6月13日学院电子信息学院指导老师产军学生姓名学号学院(系)电子信息学庞专业光电信息科学与工程1、试验目的通过编写程序限制8253和8255A芯片,实现一个筒洁的音乐播放程序。2、试验原理我们在这次课设选择了音乐程序设计,音乐程序设计可以实现至少两首歌的可选择播放.对于歌IIIJ的播放我们采纳的是计数器/定时器8253芯片,而对于选择哪首歌播放则是利用可编程并行接口8255芯片来实现的。基于8253定时计数接口芯片的工作原理,本次课设实现了音乐演奏系统程序设计。当运行程序时,扬声器便发
2、出美丽的音乐。首先要解决发声并发出相应音符声音的问我,由8253计数器。在初始化时用来产生肯定频率的方波来使扬声器发声,再依据不同音符对应的频率写入计数初值发出相应的音符声。对8255芯片PAO和PA1.口的置0和1来限制扬声器的开关。其次实现唱歌功能即实现歌曲的节拍通过调用延时子程序限制音符发音的长短,实现连续发声把S1是否为0作为循环的条件在每一次扬声器发出一个相应音符之后做无条件转移,从而使扬声器连续发声.3、试验内容A.试验环境搭建图1WMHWUb”MEZZZS,JISIMC*三r1*i9aHEO-I1.O;曲Kf1.X!g*k*三00?W9enrMIt2mcB-,地始阴士H于*8与4
3、口沿owm”SZg3d23“,*用用元?JO-ZOOf血2节gCBXOaHtfW10S*-zoo?MUWm俘豺OW8OWIP11OSitooy总务gyt,、EO-ITOC勃XjNO)WOT曲二O7TXpx11a“NOB,冲若,YfuTHnr牌BBTP守雌。3-44SAr$a.x11opfg八okoq9FP2Aimb/*户=FJnrW5t5CWtvwewiBU三HB1*三1由YBFrr/WzocrFO1.WW.gt2SFWtw碗加BerpciVrxMftwI*-19mr,WBWtR“2WK_F!WziartrrjAwoc1.Tn0NvnfTMtmOJrt*xT3X1.;IUMiU4MSM0Wai
4、*始图旧/内牌寒组ZmS咨H谢昭D旅顺力牌”即M错KftH1王SsB32ff-V?1ti百-rsSst*SsSS80.SRwSBtSoa-IM?WSaS58fS3ruQV*S5O1JUUU3S1.300-WtxN13*s-EB幺3aWWM.St良ff1.9955asfisMwa?需点,mWSK一SssRfts*UKssSW34支OfWC耳50Rs5-ss%0RMZ-WE久二WR爸2Rkue次幺9cit11Cw-Wr4主HAZUZS955K113RCWIS3.i3REN!三EMt5WJ.SMKSS图6如图6所示tc的集成开发环境由以下四个区域组成II菜单M(1)、焉我J).MWU(3).(4).
5、J!包括Fi1.e.Edit.Run.Compi1.e.ProJecI.Options.Debug.BreakZvatch编用来编辑文件,输入程序的.f:,g窗口,在调试和率详程序的时候会出现相关的信息.状:为用户梃供坛本的帮助信息以及当前键盘的状态.注意,在TC集成开发环埴中.只能使用逛fit.鼠标用不TC中的常用快捷健ESC:退网到主菜单A1.tX:退出TC集成开发环境Fn+F10(不同的电脑可能有一些差别):回到主菜单区5.由过路径选项Saveoptionsii项.保存目录埴为CTCTCC0NF6TC敲I可车如图8所示(2)弹出对话框如图9所示输入Y如图9所示图97 .打开源程序,进行编
6、译(1)进入Fi1.e菜单F.选界1.Oadi1.攻.如图10所示.(2)敲网乍.编辑区会区示TC目录下的所有后缀名为.C的文件,如图11所示.选择要我入的C源程序文件(对应力要3.图4),我要编译MUSiCC就选杼MUSIC.C.(3)进入COmMe菜单.选界MakeEXEFiIe选项,生成可执行文件.如图12所示.(4)如果编译成功,会显示SUCCeSs,如图13所示.p8o7H1.eUitCovpi1.ctoOBJC:MUSC.OBJMakeEXEfi1.eCXiSICEXE1.inkEXEfi1.eBuiMa1.1.rimaryCfi1.e:GetinfoC:MJS1.CCctip.t
7、ihund1.3000,FramnAip0.ProgramTCFrojcxtOptionsDCbUgBreakzuatch1.ine3Co1.f1.(NttIme0Ime1gcttirac(tiMcp);tiatiH11p.ti.dotic1.=tIMcp.ti.hour36tincpif(tiae1.6tiMcp.ti.scctiap.ti.hund)utHe(tiMe1.-tiMeecIarattonsyntaxerror119:Dec1.aration1Z6:Dec1.aration136:Dec1.arationWArningC:TCMtBIC.C3:CodeImsnoeffectsy
8、ntaxerror3nntaerrorsyntaxerrorinfunctionu.de1.ayErrorC:TCrtJSIC.C3:StateMEntmissing;infunctionu.d1.ayF1.-He1.PF5-io5-SwitchIV-TreceFB-SUp-tfakcF1.tMfcrni图12DOSBox0.72.CPUCWeQ竹?sr4p_TCIoCoMP1.1.ero,_OPttont呢ugBreakzwatCh|1.ine3Co1.1InsertIndEtTabFi1.1.UnindentC:NJS1C.Cf1.oattir,fieri:gettia(AtiMrp):t
9、iatip.ti-hour366*tiaep.ti.Min*6*tianp.ti_sec*tinp.ti_hund1.do(gcttine(Attimc1.-tiI(t1.n1.uhi1.e(t1.-t1.IIIKII1.yEXEfi1.e:rtJSIC.EXE1.inking:1.IBS.1.IBTota1.1.ink1.inesCOai1.cd:S53PASS2Uarnings:Fwma*oOA1_sectiMep.ti-hundCoMpiIingC:TC21ErrorC:TC1NC1.UErrorC:TOIIK1.UErrorC:TC1NCUJIAri1.abIcacoru:316KMj
10、11gI23ErrorC:STC1NC1.UDESTDIO.H136:Dec1.arationsyntaxerrorWarningC:TCrt1.SIC.C3:Codehasnoeffectinfunctionu.dcUyErrorC:TCMJSIC.C3:StdteMentmissing:infunctionu_d匕IdV图138 .执行编译成功的可执行程序(D进入RUn菜堆.选择RI1.n选项,如图14所示.M*-1MIMrEMMTa.IMQ(XMcrwcA_FiamcDATmmVB3oat1*三sMAO_1X1g*1.XEJ7K-*O4mwwMM,wurrfmvim力a、5。CgJUt*
11、5S0tRW2”日asstoixiom1.WW1.2MOOfRRWWVV1ss“OCKGVt.,“rcjgIfMMJsJ*26201VkH227U.KBmccIWWIIMAGTCJ01.IIMI;OJIMMiC,tCMf1.P.rCWnm9JE加CINSTOtn(wTt1Jm则一*xIKBCfHt1.FXOMS8以FMB图15B.编程由于选取的乐曲音符音调幅度较大,故利用表格,算出其初(11计数初值=1193180(8253输入频率)/音符频率低音自符11234567顿案2622W33039392440494Wffi4554405836163419304427122415中自昌符1O34567
12、城车523587659698784880988W2281203318111709152213561208高官昌符顿率110472117531319413975156861760i1976初(B11401015905854761678604以下为程序代码#indudc*inchdc*dcHncINiTjn0xb6definePORT_T?”一、#kftneCTR1._T(H43*dcAcPORT_PB0x61*dcHncDDO4554VdcGncDRU1.405XMeftneDM1.36!6*knurDFA5419MCfiMDSOMH4MdinCD1.A2712*defineDXI2415*ik
13、(ineDO2281MCfinCRUI2033MdcHneMI1811#dcfincFAITW*dc11cSO1522机Hrh1.e1.A1356*dcfincXI1208MCnMGDO1140AdcfincGRUI1015“defineGMI905*kAeGhAX54*knneGSO761#dCfinCG1.A678“改fineGXI604voidHiiigfuiuiKnedMtrq.usigdu1.ms)(unsignedcharva1.ue:union(UfvtignedIMdvM)r:unsignedcard2;)to;if(frq!=)(toe.diviwr=frq;ouiponb(
14、CTR1._T.INrr_T2);outportbPRT_T2joDc.d0D;uu1.por1.bRT2,1.uw.dIJ):vu1.uc=tnpo11bPORT.PB);outpo11bPORT.PB.(vahc0x03):)dehy(ns):ouo11bPORT-PB.(sing!DSO,4(X;Sing(D1.A.400);丽MDO4);sig(RU!.40():sing(M1.600):Stng1.RVUOO);xing(R1.400);而KDo.400):sing(D1.A.I60():sing(0.!600):Sing(DSo.400j;xing(DI.400);sig(1X4(
15、IO);smg(RUI.400):sing!M1.400);sing(S0.8ff1.);SiEg(RIJUoooXXiIIS(0,2000):sigRUISOO):Sing(DSo.400):sing(RU1.40();sug(RUI.4):Sing1.M1.400):sing(RUI.400);sing!DO,1600);xing(0,2:sing(RUI.400):sing(R.400);而一DSOI400);Hug;si11g1.S0.400);sing(S0.400);sj(SO,400);xuS(1.A,4(K);sing(GDO.400):si11g1.1.A.2000);Sin
16、g(QsoQi;Sin期SOdO仍;Singi1.AJOOj;singGR1.400);SingtGM1.28001;SinmGRU1.32WI);而S(0,1600):sing(S0.400);Sing1.1.A1-WJOj:sinsGD0.400);Sinb(GR1.141X%SinsfGA”400):sng1.GR1.!,200;SinW(GRU1.4期;si11g(Gr),400);sS(1.A,32OO):sing(S0.400);Sing(1.A.MOj;SinE(GDOWOO);SinEGRC1.40(%而S(GM1.600):sing!GS0.600j.Sing(GR1./1.
17、3600):XinKa400);SinS(GRU1.400);sing(GRCI.400):sing(SO.4(M);sing(GR1.,1.4001:smg1.GRCI.400:Sing(GM1.400):sing(GRUI,4001;si11g(GDO320():Nig(0.4);Sing(GRIn.400):sing(GRUI.400);sing(GR11.4(X);sig(S0.4:而鼠1.A400):singiGD0.400):singH1.A.3600):sing(O,I6OO);疝塔(1.A.32OO):sing(0,4(X);StngiGFA.W0);si11g(GF,4X0;
18、si11g(GFA,44X0;sing(GMI.40():sing:sing(GD0.400);xing(GM1.400);smg(GR1.IvIt100hsingO,I(K)O):sing0,4(X);sing);si11gGF,4X0;SintG1.A.400):singGS0.4CO);sing!GFA.4C0);sing(GMI,400);sug(GR1.I.2(XK);smgfO.KXMJ);smg(GRUI.400);Sing(GRUU(W;M11g(S0.40();疝IMGR1.1.J必;singGR1.1.4(X;singsing(GX160();sing1.O.KXX):si
19、ng:stng(GRUI.400);sing(GRUI.4(X);sug(S0.4(X);sing1.A.4(K);singGD0.400):si11g(1.J600);运行结果如FIo1.三JDoSB。冥StafU=WindCw4、试验中遇到的问题起先程序中的#defineDDO4554语句为#defineIDO4554,程序运行时显示编译出错,我意识到IDO有可能不符合宏名定义要求,通过查阅有关资料后发觉,标识符只能是字母(AZ,az)、数字(0-9)、下划线()组成的字符串,并且其第一个字符必需是字母或卜划线,随后修改了程序。5、总结体会通过本试哙的学习,我对8253和8255A芯片有了
20、进一步的相识和理解,并能编写程序限制这两种芯片,实现简洁的音乐播放程序。在这次试验中,发觉了拥有扎实基础功的重要性,以及在试验过程中发觉了自己的不足之处,深刻理解了实践与理论相结合的重要性。附件(乐曲简谱)1=E蓝莲花许姨词曲编分HahEyrte3?(许巍演唱)5612*221I-OOI5_65fT-OO三没有什么能够阻挡你对自由的向往02522-2I1-00022561fTe-OO|天马行空的生涯你的心了无牵挂043212-0006542T2-00|穿过做暗的岁月也W盛到彷徨025222|1-00022256166-00当你低头的瞬间才发觉脚下的路05555551.6000666i6T-00|心中那自由的世界如此的涧漱高远0555566|6-056I233|2|盛开密永不凋零黄莲花00Ihz(5612*221|6|562*55H三a-2I022522210225616|rTI6|年00:|6I1.6一as.|:owUi2-oo1.o4541-00I啦啦啜啦啦啦啜啦啦啦啦啦啦啦啦0225222I1-000222561:|啦啦城啦啜啦啦哦哦啦啦啦啦啦