欢迎来到天天文库
浏览记录
ID:9368812
大小:703.00 KB
页数:15页
时间:2018-04-29
《example square wave - mechanical engineering例方波-机械工程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、EMCH367FundamentalsofMicrocontrollersExampleSQUAREWAVEEXAMPLESQUAREWAVEOBJECTIVEThisexamplehasthefollowingobjectives:·Reviewtheuseparallelports·IllustratethegenerationofasquarewaveusingPortBoutputandawaitingsequence·Demonstratetheuseofasubroutinetoshortenthelengthofaprog
2、ram·ExaminetherelationbetweendisplayedsimulationtimeandclockcyclesinTHRSim11simulatorFigure1Squarewaveschematicsshowingthehalf-waveduration,Dt,andthelow(L)andhigh(H)states.PROGRAMSThisexampleusestwoprogramsthatproducethesameoutput–thegenerationofasquarewaveofprogrammable
3、wavelength.ThewavelengthisprogrammedusingthevariableDELAY.Thesquare-waveelectricalsignalisoutputthroughsecondpinofPortB,i.e.,pinPB1.Thedifferencebetweenthefirstandsecondprogramconsistintheuseofasubroutine.Theuseofasubroutinecompressesthecodeandshortensthetotallengthofthe
4、program.Dr.VictorGiurgiutiuPage142021/6/21EMCH367FundamentalsofMicrocontrollersExampleSQUAREWAVEProgramsq_wav1InstructionsDefinevariableDELAYat$0000LoadREGBASinreg.XSendlowsignalLoad%00000000inaccAStoreaccAinPortBLoadDELAYintoaccBDecreaseaccBinaloopuntilzeroSendhighsigna
5、lLoad%00000010inaccAStoreaccAinPortBLoadDELAYintoaccBDecreaseaccBinaloopuntilzeroBranchbackto(iii)SWIFlowchartCodeDELAYRMB1*StartmainprogramORGPROGRAMSTARTLDX#REGBAS*Begintypingyourcode*SendlowsignalBEGINLDAA#%00000000STAAPORTB,XLDABDELAYLABEL1SUBB#1BHILABEL1*Sendhighsig
6、nalLDAA#%00000010STAAPORTB,XLDABDELAYLABEL2SUBB#1BHILABEL2BRABEGINSWIFLOWCHARTANDCODETheprogramflowchartisshowtotherightoftheprograminstructions.Notethe‘sendlowsignal’and‘sendhighsignal’blocks.Alsonotethetwowaitblocks,onesendingthelowsignal,theotheraftersendingthehighsig
7、nal.Thewaitblocksarenotdetailed,sincetheyhavebeencoveredinapreviousexampleandcanbedirectlyclonedfromthere(the‘codereuse’concept).Theessentialcodeforthisprogramisshowntotheleftoftheflowchart.ThefileSq_wav1.asmistheresultofincorporatingthiscodeinthestandardtemplate.EXECUTI
8、ONOpenTHRSim11.ClosetheCommandswindow.Openmemorylist,portregisters,andTHRSim11IObox.OpenandassembleSq_w
此文档下载收益归作者所有