微机原理 音乐播放程序设计.docx
实验报告(2016/2017学年第二学期)课程名称微机原理与接口技术试验名称音乐播放程序设计试验时间2017年6月13日学院电子信息学院指导老师产军学生姓名学号学院(系)电子信息学庞专业光电信息科学与工程1、试验目的通过编写程序限制8253和8255A芯片,实现一个筒洁的音乐播放程序。2、试验原理我们在这次课设选择了音乐程序设计,音乐程序设计可以实现至少两首歌的可选择播放.对于歌IIIJ的播放我们采纳的是计数器/定时器8253芯片,而对于选择哪首歌播放则是利用可编程并行接口8255芯片来实现的。基于8253定时计数接口芯片的工作原理,本次课设实现了音乐演奏系统程序设计。当运行程序时,扬声器便发出美丽的音乐。首先要解决发声并发出相应音符声音的问我,由8253计数器。在初始化时用来产生肯定频率的方波来使扬声器发声,再依据不同音符对应的频率写入计数初值发出相应的音符声。对8255芯片PAO和PA1.口的置0和1来限制扬声器的开关。其次实现唱歌功能即实现歌曲的节拍通过调用延时子程序限制音符发音的长短,实现连续发声把S1是否为0作为循环的条件在每一次扬声器发出一个相应音符之后做无条件转移,从而使扬声器连续发声.3、试验内容A.试验环境搭建图1WMHWUb”MEZZZS,J<j113X>ISIMC*三r1*i'9aHEO-I1.O;曲Kf1.>X!g*k*三£00?W9enrMIt2mcB-,地始阴士H于*8与4口沿owm”SZg3d23“,*用用元?JO-ZOOf血2节gCBXOaHtf>W10S*>-zoo?MUWm俘豺OW8>OWIP11OSitooy总务gyt,、EO-ITOC勃XjNO)WOT曲二O7TX>p>x11a“NOB,冲若,YfuTHnr牌BBTP守雌。3-44SAr$a.<x11opfg八okoq9FP2Aimb/«»*户=FJnrW5t5CWtvwewiBU三HB1*三1由YBFrr/WzocrFO1.WW.gt2<S<FWtw碗加Berp<Mmf>ciVrxMftwI*-1<SOK1.B(3EtviZmceIFIOS«>9m<mmcr2WotMtr"ms2cWt>r,WBWtR“2WK_«F<!WziartrrjAwoc1.<WxwfTtvteIn4WruttMWerrnMw(11rme11SMWCZ或二33-M><>Tn0NvnfTMtmOJrt*><xT3X1.;IUMiU4MSM0Wai*始£图旧/内牌寒组ZmS咨H谢昭D旅顺力牌”即M错KftH»1王SsB"32ff-V?1<ti百-rs§Sst*SsSS80.SRwSBtSoa-IM?WSaS58fS3ru<3t1.ruSISQiS1.Ss£08s1.2St*4HQtOTC2§ssSaXsfSsfw*wHmO二MO1.MOYE38*Ja=Ir1X3AiSMSQ3a>QV*S5O1JUUU3S1.300-WtxN13*s-EB幺3aWWM.St<良ff1.9955asfis"Mwa?<s«、K¢P距忌£快Hy6&M父生«£»>需点,mW'SK一Sss§Rfts*UKs>sSW34支OfWC耳50Rs5-ss%0RMZ-WE久二WR爸2Rkue次幺9cit11Cw-Wr4主HAZUZS955K113RCWIS3.i3REN!三EMt5WJ.SM«KSS图6如图6所示tc的集成开发环境由以下四个区域组成II菜单M(1)、焉我J).MWU(3).(4).J!包括Fi1.e.Edit.Run.Compi1.e.ProJecI.Options.Debug.BreakZvatch编用来编辑文件,输入程序的.f:,g窗口,在调试和率详程序的时候会出现相关的信息.状':为用户梃供坛本的帮助信息以及当前键盘的状态.注意,在TC集成开发环埴中.只能使用逛fit.鼠标用不TC中的常用快捷健ESC:退网到主菜单A1.t÷X:退出TC集成开发环境Fn+F10(不同的电脑可能有一些差别):回到主菜单区5.由过路径选项<1)切换到Options子菜单.ii择Directories选项(2)进入DireetOrieS如图7所示(3)如图所示,有四个选项需要我们修改(散回年键后方可修改).如图7所示Inc1.udedirectories:TCINC1.UE1.ibrarydirectories:C:TC1.IBOitputdirectory;C:TCTurbocCdirectory:C:TC解杼:InCIUdedireCtorieS是买文件目录.1.ibrarydirCC1.oriCS是链接库目录tputdirectory是输出目录存放编译成功的可执行文件.TurbocCdirectory是安装turboc2的目录.JDoSBo,0.72.CpuCyc1.es0.Program:TC图Z.6保存选项也置进入Option>Saveoptionsii项.保存目录埴为CTCTCC0NF6TC敲I可车如图8所示(2)弹出对话框如图9所示输入Y如图9所示图97 .打开源程序,进行编译(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.tihund"1.3000,FramnAip0.ProgramTCFrojcxtOptionsDCbUgBreakzuatch1.ine3Co1.f1.(NttIme0Ime1gcttirac(tiMcp);tiatiH11p.ti.dotic1.=tIMcp.ti.hour36tincpif(tiae1.<tiae6)Min>>6tiMcp.ti.scctiap.ti.hund)utHe(tiMe1.-tiMe<ms1.1.);MessageCompi1.ingC:TCMUSIC.C:ErrorErrorErrorErrorC:TCMKCUJDEXSTDIO.HC:、TC、IMe1.UDESTDI0.HCz11XINC1.UDESTD!O.HC:TC1NC1.UDESTD1O.H19:t>ecIarattonsyntaxerror119:Dec1.aration1Z6:Dec1.aration136:Dec1.arationWArningC:TCMtBIC.C3:CodeImsnoeffectsyntaxerror3nnta×errorsyntaxerrorinfunctionu.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):tiatip.ti-hour366*tiaep.ti.Min*6*tianp.ti_sec*tinp.ti_hund«1.do(gcttine(Attimc1.-tiI(t1.n1.<<tiw1.)>uhi1.e(t1.-t1.IIIKII1.yEXEfi1.e:rtJSIC.EXE1.inking:1.IBS.1.IBTota1.1.ink1.inesCOa<>i1.cd:S53PASS2Uarnings:Fwma*oOA1_sec«tiMep.ti-hundCoMpiIingC:TC21ErrorC:TC1NC1.UErrorC:TOIIK1.UErrorC:TC1NCUJIAri1.abIcacoru:316KMj11gI23ErrorC:STC1NC1.UDESTDIO.H136:Dec1.arationsyntaxerrorWarningC:TCrt1.SIC.C3:Codehasnoeffectinfunctionu.dcUyErrorC:TCMJSIC.C3:StdteMentmissing:infunctionu_d匕IdV图138 .执行编译成功的可执行程序(D进入RUn菜堆.选择RI1.n选项,如图14所示.<2)如果PC机有喇叭.就会听到音乐声了.图149.将编译的可执行程序捣贝出来(这就是作业中要求打包提交的可执行程序,如图15所示Jj1.MtnaACi*I.rI99n卜e>M*-1MIMrEMM>Ta».IMQ(XMcrwcA_FiamcDATmmVB3oat1<»*三s»'MAO_1X1g*1.XEJ7K-*O4mwwM