




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1页外文文献资料AT89C51In-CircuitProgrammingThisapplicationnoteillustratesthein-circuitprogrammabilityoftheAtmelAT89C51Flash-basedmicrocontroller.Guidelinesfortheadditionofin-circuitprogrammabilitytoAT89C51applicationsarepresentedalongwithanapplicationexampleandthemodificationstoitrequiredtosupportin-circuitprogramming.AmethodisthenshownbywhichtheAT89C51microcontrollerintheapplicationcanbereprogrammedremotely,overacommercialtelephoneline.Thecircuitrydescribedinthisapplicationnotesupportsfivevoltprogrammingonly,requiringtheuseofanAT89C51-XX-5.ThestandardAT89C51requires12voltsforprogramming.ThesoftwareforthisapplicationmaybeobtainedbydownloadingfromAtmelsGeneralConsiderationsCircuitryaddedtosupportAT89C51incircuitprogrammingshouldappeartransparenttotheapplicationwhenprogrammingisnottakingplace.EA/VPPmustbeheldhighduringprogramming.Inapplicationswhichdonotutilizeexternalprogrammemory,thispinmaybepermanentlystrappedtoVCC.Applicationsutilizingexternalprogrammemoryrequirethatthispinbeheldlowduringnormaloperation.RSTmustbeheldactiveduringprogramming.Ameansmustbeprovidedforoverridingtheapplicationresetcircuit,whichtypicallyassertsRSTonlybrieflyafterpowerisapplied.PSENmustbeheldlowduringprogramming,butmustnotbedrivenduringnormaloperation.ALE/PROGispulsedlowduringprogramming,butmustnotbedrivenduringnormaloperation.Duringprogramming,AT89C51I/Oportsareusedfortheapplicationofmodeselect,addressesanddata,possiblyrequiringthatthecontrollerbeisolatedfromtheapplicationcircuitry.Howthisisdoneisapplication第2页dependentandwillbeaddressedhereonlyingeneralterms.PortUsedforInputDuringprogramming,thecontrollermustbeisolatedfromsignalssourcedbytheapplicationcircuitry.Abufferwiththreestateoutputsmightbeinsertedbetweentheapplicationcircuitryandthecontroller,withthebufferoutputsthree-statedwhenprogrammingisenabled.Alternately,amultiplexermightbeusedtoselectbetweensignalsources,withsignalsappliedtothecontrollerbyeithertheapplicationcircuitryortheprogrammercircuitry.PortUsedforOutputNocircuitchangesarerequirediftheapplicationcircuitrycantoleratethestatechangeswhichoccurattheportduringprogramming.Ifthepriorstateoftheapplicationcircuitrymustbemaintainedduringprogramming,alatchmightbeinsertedbetweenthecontrollerandtheapplicationcircuitry.Thelatchisenabledduringprogramming,preservingthestateoftheapplicationcircuitry.AnApplicationExampleTheAT89C51applicationshowninFigure1isanimplementationofamovingdisplay.Thisapplicationwasselectedforitssimplicityandabilitytoshowgraphicallytheresultsofin-circuitreprogramming.Thetexttobedisplayedisprogrammedintothecontrolleraspartofitsfirmware,andcannotbechangedwithoutreprogrammingthedevice.Thedisplayedtextispresentedinoneoftwomodesselectedbythefour-positionDIPswitch.Inthefirstmode,onecharacteratatimeentersthedisplayfromtherightandmovesquicklytotheleftthrougheachelementofthedisplaytoitsfinalpositionintheassembledmessage.Inthesecondmode,themessagemovesthroughthedisplay,fromrighttoleft,withthedisplayactingasawindowontothemessage.Thismodeisfamiliarasthemethodoftenusedindisplaysofstockprices.TheoutputconsistsoffourDL1414T,four-digit,17-segmentalphanumericdisplayswithintegraldecodersanddrivers.Thisyields16totaldisplayelements,eachcapableofdisplayingdigits0-9,theuppercasealphabet,andsomepunctuationcharacters.ThedisplayablecharactercodesareASCII20H-第3页5FH.Apower-onresetcircuitanda6-MHzcrystaloscillatorcompletetheapplication.Neitherexternalprogrammemorynorexternaldatamemoryisused.ModificationstotheApplicationtoSupportIn-CircuitProgrammingFigure2showstheapplicationmodifiedforin-circuitprogramming.Itisassumedthattheprogrammer,wheninactive,willneitherdrivenorexcessivelyloadtheapplication.Sincetheapplicationdoesnotuseexternalprogrammemory,EA/VPPonthecontrollerisconnectedtoVCC.Thismeetstherequirementforprogramming.Theresetcircuithasbeenmodifiedbytheadditionoftwotransistors,whichallowRSTonthecontrollertobeforcedhighbytheprogrammer.PSENandALE/PROG,unusedinthebasicapplication,areunderthedirectcontroloftheprogrammer.ProgrammingrequiresprogrammeraccesstoallofthefourAT89C51I/Oports,asdocumentedinthedatasheet.Theprogrammerisconnecteddirectlytothosecontrollerpinswhichareunusedbytheapplication,whileaccesstopinsusedbytheapplicationrequiresspecialtreatment,asexplainedinthefollowingparagraphs.TheleastsignificantfourbitsoftheaddressgeneratedbytheprogrammeraremultiplexedontoportoneofthecontrollerwiththedatafromtheDIPswitch.Notethatthefourresistorsaddedattheswitcharenotrequiredinthebasicapplication,sincetheAT89C51providesinternalpull-upsonportone.Duringthenormaloperationoftheapplication,controllerportszeroandtwoprovidedataandcontrolsignals(respectively)tothedisplays.Duringprogrammingandprogramverification,theprogrammerassertscontrolofportzeroandpartofporttwo.Theprogrammerisconnectedtoportszeroandtwowithoutbuffering,since,wheninactive,itspresencedoesnotaffectthenormaloperationoftheapplication.Atransparentlatchhasbeenaddedbetweenporttwoofthecontrollerandthedisplaycontrolinputs.Thelatchholdsthedisplaycontrolsignalsinactiveduringprogramming,whicheliminateserraticoperationofthe第4页displaysduetoprogrammeractivityonportszeroandtwo.Noisolationofthedisplaydatainputsisrequired,sincedataappliedtotheinputsisignoredwhenthecontrolsignalsareinactive.TheAT89C51resetcircuit,inputmultiplexerandoutputlatcharecontrolledbyasinglesignalgeneratedbytheprogrammer.Duringprogramming,resetisasserted,themultiplexerswitchesinputs,andthelatchfreezesthedisplaycontrollines.Toensurethatthedisplaycontrollinesareinaknownstatebeforetheyarelatched,anAT89C51externalinterruptisusedtoallowtheprogrammertosignaltheapplicationbeforeassertingreset.Theapplicationfirmwarerespondstotheinterruptbydisplayingamessageanddeactivatingthedisplaycontrollines.Afterprogramming,whenresetisdeasserted,thecontrollerportsarehighasthelatchbecomestransparent.Sincethedisplaycontrolinputsareinactivehigh,thedisplaycontentsarenotdisturbeduntilthenewprogramwritesthedisplay.Althoughnotessentialtothisapplication,itmightbeimperativeinsomeapplicationsthatthestateoftheperipheralcircuitrynotbedisturbedduringprogramming.TheProgrammerTheprogrammer(Figure3)generatestheaddresses,dataandcontrolsignalsnecessarytoprogramtheAT89C51embeddedintheapplication.TheprogrammercircuitryconsistsofanAT89C51andanRS-232leveltranslator.Thecontrollerrunsat11.0592MHz,whichallowstheserialporttooperateatanumberofstandardbaudrates.AMaximMAX232linedriver/receiverproducesRS-232levelsattheserialinterfacewhilerequiringonlyafivevoltsupply.Manyofthesignalsgeneratedbytheprogrammerareconnecteddirectly,withoutbuffering,totheAT89C51intheapplication.Thesesignals,wheninactive,arenotthreestated,butarepulledhigh.TheAT89C51hasinternalpull-upsofapproximatelythreeKohmsonportsone,twoandthree.Becauseportzerodoesnothaveinternalpull-ups,externalpull-upsoftenKohmshavebeenaddedtopermitproperoperationofprogramverificationmode.Thesampleapplicationoperatescorrectlyinthisenvironment.Ifrequiredfor第5页compatibilitywithanapplication,programmersignalsmaybebufferedwiththree-statebufferssimilartothe74xx125.TheAT89C51intheprogrammerdoesnotutilizeexternalprogramordatamemory,whichwouldrequiresacrificingneededI/Opins.ThisrequiresthatprogramcodeandI/Obuffersbekeptsmallenoughtofitinon-chipmemory.RemoteProgrammingOveraCommercialTelephoneLineTheprogrammeranddisplayapplicationdescribedpreviouslyareconnectedtoaphonelineviaamodemataremotesite.Usingapersonalcomputerwithamodem,ausercanuploadanewprogramcontaininganewmessage,whichisprogrammedintotheAT89C51embeddedintheapplication.Whenprogrammingiscomplete,theapplicationexecutesthenewprogram,whichdisplaysthenewmessage.LocalStationThelocalstationinthetestconfigurationconsistsofanIBMPCAT-classcomputerconnectedtoaHayes-compatible,Prometheus1200baudmodem.Themodemwasselectedbecauseitwasinexpensiveandavailable.Afastermodemmaybeusedifdesired,althoughoncethefiletransmissiontimeisreducedbelowoneminute,furtherreductionsintransmissiontimedonotfurtherreduceconnecttimecharges.Apossibleadvantagetohighertransmissionspeedsistheautomaticerrordetectionandcorrectionavailableinsomehighspeedmodems.ProcommPlusversion2.01,acommercialdatacommunicationspackage,isusedtoconfigurethemodem,setupcommunicationsparameters,andestablishalinkwiththeremotemodem.ProcommPlusincludesamacrolanguagecalledASPECT,whichallowstheusertowriteandcompilescriptswhichimplementcustomfiletransferprotocols.AsimpleASPECTscriptwaswrittentoreadthecontentsofaprogramfileanduploadittotheremoteprogrammer.Thefiletransferprotocol(FTP)implementedisasimplesend-and-wait,packet-orientedprotocol.ThetransmitandreceivemodesoftheFTPareillustratedbytheflowchartsinfigures4and5,respectively.Thetransmittersendseachpacketwithoutflowcontrolandwaitsforaresponse.Theprogrammer(thereceiver)readsanddissectsthepacketwhilecalculating第6页achecksum.Ifthecalculatedchecksumisvalid,theprogrammeracknowledgesthepacketbysendinganACK.Ifthechecksumisinerror,theprogrammernegativelyacknowledgesthepacketbysendingaNAK.UponreceiptofanACK,thetransmittersendsthenextpacket.IfthetransmitterreceivesaNAK,itresendsthesamepacket.Transmissionproceedsinthismanneruntiltheentirefilehasbeentransferred.TheprogrammermightrespondtoapacketbysendingaCAN,whichindicatesthatanon-recoverableerrorhasoccurredandthatthetransmittershouldimmediatelyabortthefiletransfer.Iftheprogrammerfailstorespondtoapacketwithinalimitedperiodoftime,thetransmitterwillresendthesamepacket.Thetransmitterwillcontinuetoresendthesamepacketuntilavalidresponseisreceivedoruntiltheallowednumberofattemptsisexceeded,atwhichtimethefiletransferisaborted.Aftereachpacketisreceivedandvalidatedbytheprogrammer,thedatacontainedinthepacketisprogrammedintotheAT89C51controllerintheapplication.Afterprogramming,thedataisreadbackfromthecontrollerandverifiedagainstthereceivedpacketdata.Successfulverificationindicatessuccessfulprogramming,causingtheprogrammertosendACKtothetransmitter.Ifprogrammingfails,theprogrammersendsCANtosignalthetransmittertoabortthefiletransfer.ThesimplicityoftheFTPreducestheamountofAT89C51programmemoryusedintheprogrammer.Thesend-andwaitnatureoftheFTPallowsinter-packetdelaysduetoAT89C51programanderasetimestobeeasilyabsorbed.Supportforprogramverificationistransparent,requiringnoexplicitcommandorresultcodes,oradditionaldatatransfers.ThefileswhichareuploadedtotheprogrammerarecreatedwiththetoolsintheIntelMCS-51SoftwareDevelopmentPackagefortheIBMPC.IncludedinthepackagearetheMCS-51MacroAssembler,MCS-51RelocatorandLinker,andausefulutility,OH.OHconvertsanabsolute8051objectfiletoanequivalentASCIIhexadecimalobjectfile.TherecordsinthehexfileproducedbytheOHutilityserve,unchanged,asthepacketsintheFTPdescribedabove;noservicefieldsneedtobeadded.Thecolonwhichbeginseachrecordservesasthepacketsignaturefield.The第7页loadaddressfieldservesasthepacketsequencenumber.Achecksumisprovidedasthelastfieldineachrecord.Sinceseven-bitASCIIcodingisutilized,theeighthbitofeachbyteisavailabletobeusedforparitychecking.BecausetheAT89C51intheprogrammerdoesnotutilizeexternaldatamemory,necessarypacketbufferingmustbedoneusinginternalRAM.LimitedmemoryprecludestheuseofconventionalFTPswhichutilizepacketsof128bytesandlarger.Thehexpacketformatusedinthisapplicationlimitspacketdatafieldsto16orfewerentries,requiringlittlememoryforbuffering.Thereadyavailabilityofautilityforcreatingthepacketizedprogramfile,combinedwithsmallpacketsizeandadequateerrorchecking,makesthehexpacketformatanearidealsolutionforthisapplication.AdisadvantageistheuseofASCII,whichrequireseachprogramdatabytetobeexpressedastwohexcharacters.Thisdemandsthatnearlytwiceasmanybytesbetransferredasmightotherwiseberequired.Thisisnotaseverelimitation,however,sincetypicalfiletransfertimesarelessthanoneminute.Overall,thesimplicityofthecustomFTP/hexpacketformatimplementationoutweighsthedrawbacks.RemoteStationTheremotestationinthetestconfigurationconsistsofthedisplayapplicationandprogrammercircuits,describedpreviously,connectedtoaHayes-compatible,Prometheus1200baudmodem.Duringnormaloperation,theapplicationexecutesitsinternalprogramwhilethemodemandprogrammermonitorthephonelineforincomingcalls.Afteracallhasbeendetectedandaconnectionestablished,theprogrammerforcestheapplicationtosuspendexecutionofitsprogram.ThenewprogramisthendownloadedandprogrammedintotheAT89C51embeddedintheapplication.Whenprogrammingiscomplete,theapplicationisallowedtobeginexecutionofitsnewprogram,andtheprogrammerreturnstomonitoringthephonelineforthenextcall.Theprogrammerpowersupwithitsprogrammingcontroloutputsinactive,allowingtheapplicationtorunnormally.Afterconfiguringthemodemto第8页answerincomingcalls,theprogrammerputsitselftosleep.Theprogrammerwillnotdisturbtheapplicationuntilanewprogramistobedownloaded.TheprogrammercontrolsthemodembysendingASCIIcommandstringsovertheserialinterface,towhichthemodemrespondswithHayes-styleASCIInumericcodes.ThesoftwareisdesignedforusewithHayes-compatiblemodems,whichincludesthePrometheusProModem1200usedhere.Theserialinterface,throughwhichtheprogrammerconnectstothemodem,supportstwohandshakingsignals,DTRandDSR.Onpowerup,theprogrammerassertsDTR,towhichthemodemrespondsbyassertingDSR.Ifthemodemshouldfailtorespondtoanycommand,includingthecommandtohangup,theprogrammerdeassertsDTR,whichforcesthemodemtodroptheline.Themodemmonitorsthephonelinewhiletheprogrammersleeps,waitingforanincomingcall.Whenacallisdetected,themodemanswersandattemptstoestablishcommunicationwiththecaller.Ifaconnectionisestablished,themodemsendsacodetotheprogrammer,wakingitup.Theprogrammerverifiestheconnectcodeandbeginspollingforavalidpacketheader.Incomingpacketsmustarrivefewerthanthirtysecondsapart,orthemodemdropstheline(hangsup)andtheprogrammerreturnstosleep,waitingforthenextcall.Ifthecallerhangsup,thethirtysecondperiodmustexpirebeforeanothercallwillbeanswered.Callsincomingduringtheresetdelayperiodareignored.Ifavalidpacketheaderisreceivedpriortotheexpirationoftheresetdelayperiod,theprogrammerwillattempttoreadandvalidatetheincomingpacket.Atanytimeduringpacketreception,aninvalidcharacter,parityerrorortimeoutduringcharacterreceptionwillcausethepartialpackettobedeclaredinvalidanddiscarded.Twopackettypesaredefined:dataandend-of-file.Adatapacketcontainsfivefieldsinadditiontothepacketheader,oneofwhichisavariablelengthdatafield.ThedatafieldcontainsprogramdatatobewrittenintotheAT89C51controllerintheapplication.Theloadaddressfieldcontainstheaddressatwhichthedataistobewritten.Theend-of-filepacketcontainsthesamefieldsasthedatapacket,exceptthatthedatafieldisempty.Thispackettypehasspecialmeaningtotheprogrammer,as第9页explainedbelow.Anypacketwhichcontainsaninvalidrecordtype,recordlengthorchecksumisinvalid.Programdataaccumulatedduringtheprocessingofaninvalidpacketisdiscarded.TheprogrammersendsaNAKtothetransmittertosignalreceptionofaninvalidpacketandresumespollingforavalidpacketheader.Receiptofthefirstvaliddatapacketcausestheprogrammertointerrupttheapplicationcontroller.Thecontrollerrespondstotheinterruptbyabandoningexecutionofitsusualprogramanddisplayingamessageindicatingthatprogrammingistakingplace.Ifthisisthefirstvaliddatapacketsincepowerwasappliedoranend-of-filepacketwasreceived,theprogrammerassertsthecontrolsignalsnecessarytoerasetheprogrammemoryintheapplicationcontroller.Theprogrammerthenplacesthecontrollerinprogrammingmode.Thefirstandsubsequentvaliddatapacketsaredissectedastheyarereceivedandthedatawhichtheycontainisprogrammedintotheapplicationcontrollerattheaddressindicatedinthepacketloadaddressfield.Afterprogramming,thedataisreadbackfromthecontrollerandverifiedagainstthereceivedpacketdata.Successfulverificationindicatesthatprogrammingwassuccessful,causingtheprogrammertosendACKtothetransmitter.Theprogrammerthenresumespollingforavalidpacketheader,subjecttothethirtysecondresetdelay.Ifprogrammingfails,theprogrammersendsCANtosignalthetransmittertoabortthefiletransfer.Themodemdropsthelineandtheprogrammerreturnstosleep,waitingforthenextcall.Theapplicationcontrollerisleftinprogrammingmode,preventingitfromexecutingtheincompleteorinvalidprogramwhichitcontains.ItisimportanttonotethatinvalidpacketsareNEVERprogrammedintotheapplicationcontroller.Todosowouldrequirethattheprogrammemoryinthecontrollerbecompletelyerasedbeforetheerrorcouldbecorrected,causingthenon-recoverablelossofallpreviousprogramdata.Uponreceiptofanend-of-filepacket,theprogrammerreturnsitscontroloutputstotheinactive,poweronstate,allowingtheapplicationcontroller第10页tobeginexecutionofthenewprogram.Theprogrammerthenresumespollingforavalidpacketheader,subjecttothethirtysecondresetdelay.Ifavalidpacketisreceivedpriortotheexpirationofthethirtyseconddelay,anotherprogrammingcyclebegins,whichcanonlybeterminatedbythereceptionofavalidend-of-filepacket.Iftheresetdelayexpirespriortothereceptionofavalidend-of-filepacket,themodemwilldropthelineandtheprogrammerwillreturntosleep,waitingforthenextcall.Inthiscase,theapplicationcontrollerisleftinprogrammingmode,preventingitfromexecutingitsprogram.Toreturntheapplicationtonormaloperation,anothercallmustbereceived,andavalidprogramfileuploaded,terminatedbyanend-of-filepacket.第11页中文翻译稿51单片机在编程电路中的应用本应用指南说明了AtmelAT89C51是可在线可编程的微控制器。它为电路编程提出了相应的例子,程序的修改需要在线编程的支持。这类显示方法在应用程序中的AT89C51单片机可通过电话线远程控制。该应用指南所描述的电路只支持5v电压下编程。此应用软件可以到Atmel进行下载。总论当不在进行程序设计的时候,在电路设计中的AT89C51设计将变得透明化。在编程期间必须重视EA/VPP这一脚。在不使用外部程序存储器的应用程序中,这脚可能会永久接到VCC。应用程序使用的外部程序存储器要求这一脚为低电平才能正常运行。RST在编程期间必须为高电平。应该提供一种方法使得电路通入电源以后,使RST代替主要的复位电路起到复位的作用。在编程过程中,PSEN必须保持低电平,在正常运行期间绝不能使用。ALE/PROG在编程过程中输出低电平,在正常运行期间绝不能使用。在编程过程中,AT89C51的I/O端口是用于模式应用程序,地址和数据选择的,可能需要该控制器从应用的电路隔离。如何做到这一点取决于应用程序。输入端口在编程过程中,控制器必须与应用电路的信号来源隔离。带有三个输出状态的缓冲区会在应用程序之间插入电路和控制器,同时在编程时缓冲区输出三种状态。一个多路复用器可用于信号源之间进行选择,适用于任何一方的应用电路或编程控制器电路的信号。输出端口如果应用的电路可以允许端口在编程过程中的状态变化,则不需要改变电路。如果应用电路的状态,必须事先在编程过程中的保持不变,可能在控制器和应用电路中插入锁存。锁存在编程期间是可用的,并保存应用程序的电路状态。应用实例应用是该AT89C51一个移动的显示情况。此应用程序有在电路重新编程时将结果以图表的形式显示的简单能力。文本显示被设计作为其硬件的一部分,不能在无改编情况第12页下变化。显示的文本可在4位DIP开关选择两种模式之一中进行。在第一种模式的时候,进入一个字符从右边显示和快速移动,通过每个元素显示其在最后的装配位置的左侧。在第二个模式,信息在信息窗口中右到左移动显示。这种模式与常常在股票价格的显示器所使用的方法类似。输出包括四个DL1414T,4位17段的积分解码器和驱动程序的字母数字显示器。这就产生了16名显示元素,每个数字有0-9的显示能力,是大写字母,标点符号和一些字符。可显示字符的ASCII码,范围为20H-5FH。上电复位电路和一个6MHz的晶体振荡器完成应用软件程序。无论外部程序存储器或外部数据存储器都时可用的。支持应用程序的修改据推测,编程器在休眠时,既不会驱动,也不会加载应用程序。由于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 63322:2025 EN-FR Security of ME equipment containing high-activity sealed radioactive sources
- 【正版授权】 IEC 62278-1:2025 EN Railway applications - Specification and demonstration of reliability,availability,maintainability and safety (RAMS) - Part 1: Generic RAMS process
- 校服安全知识培训内容课件
- 皮内注射试题及答案
- 公务员选拔面试题及答案
- 人流物流考试题及答案
- 曲靖护士面试题及答案
- 校园周边安全知识培训课件
- 生态补偿面试题及答案
- 入院评估考试题及答案
- 高一1学生情况调查表
- 涂料用常用树脂课件
- 医院类建筑室内装饰装修施工关键技术
- 滇中引水工程
- 准东-华东±1100kv特高压直流输电线路工程杆塔设计原则
- krones旋盖系统控制原理及参数设定
- GB/T 708-2019冷轧钢板和钢带的尺寸、外形、重量及允许偏差
- GB 15630-1995消防安全标志设置要求
- 实习协议模板(最新版)
- 《新视野大学英语预备级1》教案
- 车间拆除及场地土壤治理与地下水修复工程项目技术方案工程方案和设备方案
评论
0/150
提交评论