




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
沈陽理工大學(xué)學(xué)士學(xué)位論文PAGEPAGE52摘要單片機(jī)亦稱微控制器,顧名思義,這種計(jì)算機(jī)的最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡單運(yùn)算和控制。單片機(jī)由于具有低成本、小體積、高可靠性、高附加值等優(yōu)點(diǎn),過去一個(gè)復(fù)雜電路才能實(shí)現(xiàn)的功能,現(xiàn)在用一個(gè)純單片機(jī)芯片就能實(shí)現(xiàn)。因此,單片機(jī)控制系統(tǒng)正以空前的速度取代著經(jīng)典電子控制系統(tǒng)。步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。當(dāng)步進(jìn)驅(qū)動器接收到一個(gè)脈沖信號,它就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個(gè)固定的角度(稱為“步距角”),它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的??梢酝ㄟ^控制脈沖個(gè)數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。步進(jìn)電機(jī)可以作為一種控制用的特種電機(jī),利用其沒有積累誤差(精度為100%)的特點(diǎn),廣泛應(yīng)用于各種開環(huán)控制。XL600試驗(yàn)儀配有一個(gè)標(biāo)準(zhǔn)的32位HT6121編碼紅外遙控器。通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,應(yīng)用編/解碼專用集成電路芯片來進(jìn)行控制操作。步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的控制元件,在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響?;贏T89S52單片機(jī),采用標(biāo)準(zhǔn)32位HT6121編碼紅外遙控器實(shí)現(xiàn)對步進(jìn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)。關(guān)鍵詞:單片機(jī);步進(jìn)電機(jī);紅外遙控器AbstructAlsoknownassingle-chipmicrocontroller,asitsnamesuggests,thiscomputersystemhasonlythesmallestpieceofintegratedcircuitsusedtomakeasimplecalculationandcontrol.DuetoSCM’slow-cost,smallsize,highreliabilityandhighvalue-addedadvantages,Thefunctionswhichachievedwithacomplexcircuitofthepastwillbeabletoachievewithapuremicrocontrollerchiptoday.Therefore,theMCUcontrolsystemisatanunprecedentedratetoreplacetheclassicelectroniccontrolsystem.Steppermotorisanelectricalpulsewillbeconvertedintoangulardisplacementoftheimplementingagencies.Whenthestepperdrivepulsesignaltoareceiver,itdrivessteppermotordirectionbysettingafixedangleofrotation(referredtoas"stepangle"),itsangleofrotationisbasedonafixedstep-by-stepoperation.Cancontrolthepulsenumbertocontroltheamountofangulardisplacement,soastoachievethepurposeofaccuratepositioning;andatthesametimebycontrollingthepulsefrequencytocontrolthemotorrotationspeedandacceleration,soastoachievethepurposeofspeed.Steppermotorcontrolcanbeusedasaspecialmotor,donotusetheiraccumulatederror(accuracyof100%)thecharacteristicsofawiderangeofopen-loopcontrol.XL2000testerequippedwithastandard32-bitcodeinfraredremotecontrolHT6121.Universalinfraredremotecontrolsystembytransmittingandreceivingthetwomajorcomponents,theapplicationofencoder/decoderASICchipforcontroloperations.Steppermotoristheelectricalpulsesignalintoanangulardisplacementorlineardisplacementofthecontrolcomponents,inthecaseofnon-overloaded,themotorspeed,andstopdependingonthelocationofonlythefrequencyofpulsesandpulseafew,andnotsubjecttoloadchangesimpact.AT89S52-basedsingle-chip,usingstandard32-bitencodingHT6121Infraredremotecontrolforthesteppermotortoachieveapositiveturnandreverse.Keywords:MCU;SteppingMotor;Infraredremotecontrol目錄摘要 IAbstruct II1緒論 11.1課題研究的目的及意義 11.2課題的研究方法 11.3論文構(gòu)成及研究內(nèi)容 12AT89S52單片機(jī)簡介 22.1AT89S52介紹 22.2性能參數(shù)和引腳 22.2.1主要性能參數(shù) 22.2.1引腳功能及說明 22.3寄存器介紹 52.3.1特殊功能寄存器 52.3.2定時(shí)器2寄存器 52.3.3中斷寄存器 52.3.4雙數(shù)據(jù)指針寄存器 62.4存儲器結(jié)構(gòu) 72.4.1程序存儲器 72.4.2數(shù)據(jù)存儲器: 72.5中斷 82.6晶振特性 93步進(jìn)電機(jī)的控制原理及其單片機(jī)編程實(shí)現(xiàn) 113.1控制原理 113.2編程實(shí)例 134XLISP系列單片機(jī)綜合仿真實(shí)驗(yàn)儀 154.1系統(tǒng)簡介 164.2安裝 164.2.1軟件安裝 164.2.2硬件安裝 164.3ISP下載部分的應(yīng)用 174.4XLISP系列仿真操作指南 17532位HT6121編碼紅外遙控器 195.1紅外遙控器介紹 195.2HT6121編碼紅外遙控器結(jié)構(gòu) 195.3HT6121編碼紅外遙控器原理 206本課題的軟硬件設(shè)計(jì) 216.1硬件設(shè)計(jì) 216.1.1HT6121編碼紅外遙控器的設(shè)置 216.1.2HT6121編碼紅外遙控器的連接 216.1.3數(shù)碼管的連接 216.1.4步進(jìn)電機(jī)的連接 226.2軟件設(shè)計(jì) 226.3電路原理圖 30結(jié)論 31致謝 32參考文獻(xiàn) 33附錄A英文原文 34附錄B中文翻譯 411緒論1.1課題研究的目的及意義步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。通俗一點(diǎn)講:當(dāng)步進(jìn)驅(qū)動器接收到一個(gè)脈沖信號,它就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個(gè)固定的角度(及步進(jìn)角)。您可以通過控制脈沖個(gè)數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)您可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。1.2課題的研究方法采用紅外遙控器作為單片機(jī)實(shí)現(xiàn)步進(jìn)電機(jī)控制的輸入端,當(dāng)遙控器處于控制狀態(tài)時(shí),使用者每按下一個(gè)控制鍵,CPU從指定的存儲單元中讀取一系列的二進(jìn)制數(shù)據(jù),串行輸出(位和位之間的時(shí)間間隔等于采樣時(shí)的時(shí)間間隔)給信號保持電路,同時(shí)由調(diào)制電路進(jìn)行信號調(diào)制,將調(diào)制信號經(jīng)放大后,由紅外線發(fā)射二極管進(jìn)行發(fā)射,從而實(shí)現(xiàn)對該鍵對應(yīng)設(shè)備功能的控制,從而控制步進(jìn)電機(jī)一系列動作。1.3論文構(gòu)成及研究內(nèi)容本文主要講述對步進(jìn)電機(jī)的軟硬件設(shè)計(jì),硬件設(shè)計(jì)包括AT89S52單片機(jī)簡介、紅外線遙控器的原理、步進(jìn)電機(jī)的結(jié)構(gòu)、原理及應(yīng)用,并通過實(shí)例介紹了單片機(jī)在電機(jī)控制方面的應(yīng)用,詳細(xì)闡述了用單片機(jī)來實(shí)現(xiàn)步進(jìn)電機(jī)轉(zhuǎn)動控制的原理和方法。根據(jù)這一原理及硬件的設(shè)計(jì)通過KEIL軟件編寫程序,經(jīng)過反復(fù)運(yùn)行和調(diào)試,最終實(shí)現(xiàn)了基于紅外遙控用單片機(jī)控制步進(jìn)電機(jī)運(yùn)轉(zhuǎn)的目的。2AT89S52單片機(jī)簡介2.1AT89S52介紹AT89S52是美國ATMEI公司生產(chǎn)的低功耗,高性能CMOS8位單片機(jī),片內(nèi)含8Kbytes的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)80C51指令系統(tǒng)及引腳。它集Flash程序存儲器既可在線編程也可用傳統(tǒng)方法進(jìn)行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強(qiáng)大,低價(jià)位AT89S52單片機(jī)可為你提供許多高性價(jià)比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。2.2性能參數(shù)和引腳2.2.1主要性能參數(shù)·與MCS—51產(chǎn)品指令系統(tǒng)完全兼容·8K字節(jié)在系統(tǒng)編程Flash閃速存儲器·1000次擦寫周期·4.0—5.5V的工作電壓范圍·全靜態(tài)工作模式:0Hz—33MHz·三級程序加密鎖·128*8字節(jié)內(nèi)部RAM·32個(gè)可編程I/O口線·3個(gè)16位定時(shí)/計(jì)數(shù)器·8個(gè)中斷源·全雙工串行UART通道·低功耗空閑和掉電模式·中斷可從空閑模式喚醒系統(tǒng)·看門狗及雙數(shù)據(jù)指針·掉電標(biāo)識和快速編程特性·靈活的在系統(tǒng)編程2.2.1引腳功能及說明·VCC:供電電壓。
·GND:地。
·P0口是一組8位漏極開路型雙向I/O口,也即是地址/數(shù)據(jù)線復(fù)用口。作為輸出口用時(shí)每位能驅(qū)動8個(gè)TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端口。在訪問外部數(shù)據(jù)存儲器或程序存儲器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程時(shí),P0·P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個(gè)TTL門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。做輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流。Flash編程和程序校驗(yàn)期間,P1·P2口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個(gè)TTL門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。做輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器時(shí)候,P2口線上的內(nèi)容,在整個(gè)訪問期間不改變。Flash編程或校驗(yàn)時(shí),P2·P3口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P3的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個(gè)TTL門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。做輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流。P3口除了作為一般的I/O線外,更重要的用途是它的第二功能,P3口還接收一些用于FlashP3.0RXD(串行輸入口)
P3.1TXD(串行輸出口)
P3.2/INT0(外部中斷0)
P3.3/INT1(外部中斷1)P3.4T0(記時(shí)器0外部輸入)
P3.5T1(記時(shí)器1外部輸入)
P3.6/WR(外部數(shù)據(jù)存儲器寫選通)
P3.7/RD(外部數(shù)據(jù)存儲器讀選通)·RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。·ALE/PROG:當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效?!?PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)?!?EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。·XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入?!TAL2:來自反向振蕩器的輸出。AT89S52管腳圖見圖2.1所示。
圖2.1AT89S52管腳圖2.3寄存器介紹2.3.1特殊功能寄存器特殊功能寄存器(SFR)的地址空間映象如表2.1所示。并不是所有的地址都被定義了。片上沒有定義的地址是不能用的。讀這些地址,一般將得到一個(gè)隨機(jī)數(shù)據(jù),寫入的數(shù)據(jù)將會無效。用戶不應(yīng)該給這些未定義的地址寫入數(shù)據(jù)“1”。由于這些寄存器在將來可能被賦予新的功能,復(fù)位后,這些位都為“0”。2.3.2定時(shí)器2寄存器寄存器T2CON和T2MOD包含定時(shí)器2的控制位和狀態(tài)位(如表2.3所示),寄存器對RCAP2H和RCAP2L是定時(shí)器2的捕捉/自動重載寄存器。2.3.3中斷寄存器各中斷允許位在IE寄存器中,六個(gè)中斷源的兩個(gè)優(yōu)先級也可在IE中設(shè)置。表2.1AT89S52特殊功能寄存器映象及復(fù)位值2.3.4雙數(shù)據(jù)指針寄存器為了更有利于訪問內(nèi)部和外部數(shù)據(jù)存儲器,系統(tǒng)提供了兩路16位數(shù)據(jù)指針寄存器:位于SFR中82H~83H的DP0和位于84H~85。特殊寄存器AUXR1中DPS=0選擇DP0;DPS=1選擇DP1(如圖2.2所示)用戶應(yīng)該在訪問數(shù)據(jù)指針寄存器前先初始化DPS至合理的值表2.2AUXR1輔助寄存器1表2.3T2CON定時(shí)器/計(jì)數(shù)器2控制寄存器2.4存儲器結(jié)構(gòu)MCS-51器件有單獨(dú)的程序存儲器和數(shù)據(jù)存儲器。外部程序存儲器和數(shù)據(jù)存儲器都可以64K尋址。2.4.1程序存儲器如果EA引腳接地,程序讀取只從外部存儲器開始。對于89S52,如果EA接VCC,程序讀寫先從內(nèi)部存儲器(地址為0000H~1FFFH)開始,接著從外部尋址,尋址地址為:2000H~FFFFH。2.4.2數(shù)據(jù)存儲器:AT89S52有256字節(jié)片內(nèi)數(shù)據(jù)存儲器。高128字節(jié)與特殊功能寄存器重疊。也就是說高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。當(dāng)一條指令訪問高于7FH的地址時(shí),尋址方式?jīng)Q定CPU訪問高128字節(jié)RAM還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(SFR)。例如,下面的直接尋址指令訪問0A0H(P2口)存儲單元MOV0A0H,#data使用間接尋址方式訪問高128字節(jié)RAM。例如下面的間接尋址方式中,R0內(nèi)容為0A0H,訪問的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。MOV@R0,#data堆棧操作也是簡介尋址方式。因此,高128字節(jié)數(shù)據(jù)RAM也可用于堆棧空間。2.5中斷AT89S52有6個(gè)中斷源:兩個(gè)外部中斷(INT0和INT1),三個(gè)定時(shí)中斷(定時(shí)器0、1、2)和一個(gè)串行中斷。這些中斷如圖2.2所示每個(gè)中斷源都可以通過置位或清除特殊寄存器IE中的相關(guān)中斷允許控制位分別使得中斷源有效或無效。IE還包括一個(gè)中斷允許總控制位EA,它能一次禁止所有中斷。如表2.4所示,IE.6位是不可用的。對于AT89S52,IE.5位也是不能用的。用戶軟件不應(yīng)給這些位寫1。它們?yōu)锳T89系列新產(chǎn)品預(yù)留。定時(shí)器2可以被寄存器T2CON中的TF2和EXF2的或邏輯觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清0。實(shí)際上,中斷服務(wù)程序必須判定是否是TF2或EXF2激活中斷,標(biāo)志位也必須由軟件清0。定時(shí)器0和定時(shí)器1標(biāo)志位TF0和TF1在計(jì)數(shù)溢出的那個(gè)周期的S5P2被置位。它們的值一直到下一個(gè)周期被電路捕捉下來。然而,定時(shí)器2的標(biāo)志位TF2在計(jì)數(shù)溢出的那個(gè)周期的S2P2被置位,在同一個(gè)周期被電路捕捉下來。表2.4中斷允許控制寄存器(IE)圖2.2中斷源2.6晶振特性如圖2.7所示,AT89S52單片機(jī)有一個(gè)用于構(gòu)成內(nèi)部振蕩器的反相放大器,XTAL1和XTAL2分別是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來一起構(gòu)成自激振蕩器。從外部時(shí)鐘源驅(qū)動器件的話,XTAL2可以不接,而從XTAL1接入,如圖2.4所示。由于外部時(shí)鐘信號經(jīng)過二分頻觸發(fā)后作為外部時(shí)鐘電路輸入的,所以對外部時(shí)鐘信號的占空比沒有其它要求,最長低電平持續(xù)時(shí)間和最少高電平持續(xù)時(shí)間等還是要符合要求的。圖2.3內(nèi)部振蕩電路連接圖圖2.4外部振蕩電路連接圖3步進(jìn)電機(jī)的控制原理及其單片機(jī)編程實(shí)現(xiàn)控制原理步進(jìn)電機(jī)可以對旋轉(zhuǎn)角度和轉(zhuǎn)動速度進(jìn)行高精度控制。步進(jìn)電機(jī)作為控制執(zhí)行元件,是機(jī)電一體化的關(guān)鍵產(chǎn)品之一,廣泛應(yīng)用在各種自動化控制系統(tǒng)和精密機(jī)械等領(lǐng)域。例如,在儀器儀表,機(jī)床設(shè)備以及計(jì)算機(jī)的外圍設(shè)備中(如打印機(jī)和繪圖儀等),凡需要對轉(zhuǎn)角進(jìn)行精確控制的情況下,使用步進(jìn)電機(jī)最為理想。隨著微電子和計(jì)算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求量與日俱增,在各個(gè)國民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用。
步進(jìn)電機(jī)和普通電動機(jī)不同之處是步進(jìn)電機(jī)接受脈沖信號的控制。步進(jìn)電機(jī)靠一種叫環(huán)形分配器的電子開關(guān)器件,通過功率放大器使勵(lì)磁繞組按照順序輪流接通直流電源。由于勵(lì)磁繞組在空間中按一定的規(guī)律排列,輪流和直流電源接通后,就會在空間形成一種階躍變化的旋轉(zhuǎn)磁場,使轉(zhuǎn)子步進(jìn)式的轉(zhuǎn)動,隨著脈沖頻率的增高,轉(zhuǎn)速就會增大。步進(jìn)電機(jī)的旋轉(zhuǎn)同時(shí)與相數(shù)、分配數(shù)、轉(zhuǎn)子齒輪數(shù)有關(guān)。
現(xiàn)在比較常用的步進(jìn)電機(jī)包括反應(yīng)式步進(jìn)電機(jī)、永磁式步進(jìn)電機(jī)、混合式步進(jìn)電機(jī)和單相式步進(jìn)電機(jī)等。其中反應(yīng)式步進(jìn)電機(jī)的轉(zhuǎn)子磁路由軟磁材料制成,定子上有多相勵(lì)磁繞組,利用磁導(dǎo)的變化產(chǎn)生轉(zhuǎn)矩?,F(xiàn)階段,反應(yīng)式步進(jìn)電機(jī)獲得最多的應(yīng)用。
步進(jìn)電機(jī)和普通電機(jī)的區(qū)別主要就在于其脈沖驅(qū)動的形式,正是這個(gè)特點(diǎn),步進(jìn)電機(jī)可以和現(xiàn)代的數(shù)字控制技術(shù)相結(jié)合。不過步進(jìn)電機(jī)在控制的精度、速度變化范圍、低速性能方面都不如傳統(tǒng)的閉環(huán)控制的直流伺服電動機(jī)。在精度不是需要特別高的場合就可以使用步進(jìn)電機(jī),步進(jìn)電機(jī)可以發(fā)揮其結(jié)構(gòu)簡單、可靠性高和成本低的特點(diǎn)。使用恰當(dāng)?shù)臅r(shí)候,甚至可以和直流伺服電動機(jī)性能相媲美。
步進(jìn)電動機(jī)以其顯著的特點(diǎn),在數(shù)字化制造時(shí)代發(fā)揮著重大的用途。伴隨著不同的數(shù)字化技術(shù)的發(fā)展以及步進(jìn)電機(jī)本身技術(shù)的提高,步進(jìn)電機(jī)將會在更多的領(lǐng)域得到應(yīng)用。步進(jìn)電機(jī)兩個(gè)相鄰磁極之間的夾角為60。。線圈繞過相對的兩個(gè)磁極,構(gòu)成一相(A-A’,B-B’,C-C’)。磁極上有5個(gè)均勻分布的矩形小齒,轉(zhuǎn)子上沒有繞組,而有40個(gè)小齒均勻分布在其圓周上,且相鄰兩個(gè)齒之間的夾角為9。。當(dāng)某繞組通電時(shí),相應(yīng)的兩個(gè)磁極就分別形成N-S極,產(chǎn)生磁場,并與轉(zhuǎn)子形成磁路。如果這時(shí)定子的小齒與轉(zhuǎn)子沒有對齊,則在磁場的作用下轉(zhuǎn)子將轉(zhuǎn)動一定的角度,使轉(zhuǎn)子齒與定子齒對齊,從而使步進(jìn)電機(jī)向前“走”一步。步進(jìn)電機(jī)的控制方式如果通過單片機(jī)按順序給繞組施加有序的脈沖電流,就可以控制電機(jī)的轉(zhuǎn)動,從而實(shí)現(xiàn)數(shù)字角度的轉(zhuǎn)換。轉(zhuǎn)動的角度大小與施加的脈沖數(shù)成正比,轉(zhuǎn)動的速度與脈沖頻率成正比,而轉(zhuǎn)動方向則與脈沖的順序有關(guān)。以三相步進(jìn)電機(jī)為例,電流脈沖的施加共有三種方式。單相三拍方式——按單相繞組施加電流脈沖雙向三拍方式——按雙相繞組施加電流脈沖三相六拍方式——單相繞組和雙相繞組交替施加電流脈沖單相三拍方式的每一拍步進(jìn)角為3。,三相六拍的步進(jìn)角則為1.5。因此,在三相六拍下,步進(jìn)電機(jī)的運(yùn)行反轉(zhuǎn)平穩(wěn)柔和,但在同樣的運(yùn)行角度與速度下,三相六拍驅(qū)動脈沖的頻率需提高一倍,對驅(qū)動開關(guān)管的開關(guān)特性要求較高。步進(jìn)電機(jī)的驅(qū)動方式步進(jìn)電機(jī)常用的驅(qū)動方式是全電壓驅(qū)動,即在電機(jī)步移與鎖步時(shí)都加載額定電壓。為了防止電機(jī)過流及改善驅(qū)動特性,需要限流電阻。由于步進(jìn)電機(jī)鎖步時(shí),限流電阻要消耗掉大量的功率,故限流電阻要有較大的功率容量,并且開關(guān)管也要有較高的負(fù)載能力。步進(jìn)電機(jī)的另一種驅(qū)動方式是高低壓驅(qū)動,即在電機(jī)移動時(shí),加額定或超過額定值的電壓,以便在較大的電流驅(qū)動下,使電機(jī)快速移步;而在鎖步時(shí),則加低于額定電壓,只讓電機(jī)繞組流過鎖步所需的電流值。這樣,既可以減少限流電阻的功率消耗,又可以挺高電機(jī)的運(yùn)行速度,但這種驅(qū)動方式的電路要復(fù)雜一些。驅(qū)動脈沖的分配可以使用硬件方法,即用脈沖分配器實(shí)現(xiàn)?,F(xiàn)在,脈沖分配器已經(jīng)標(biāo)準(zhǔn)化、芯片化、市場上可以買到。但硬件方法結(jié)構(gòu)復(fù)雜,成本也較高。步進(jìn)電機(jī)控制(包括控制脈沖的產(chǎn)生和分配)也可以使用軟件方法,即用單片機(jī)實(shí)現(xiàn),這樣既簡化了電路,也降低了成本。使用單片機(jī)以軟件方式驅(qū)動步進(jìn)電機(jī),不但可以通過編程方法,在一定范圍內(nèi)自由設(shè)定步進(jìn)電機(jī)的轉(zhuǎn)速、往返轉(zhuǎn)動的角度以及轉(zhuǎn)動次數(shù)等,而且還可以方便靈活地控制步進(jìn)電機(jī)的運(yùn)行狀態(tài),一滿足不同用戶的要求。因此,常把單片機(jī)步進(jìn)電機(jī)控制電路稱之為可編程步進(jìn)電機(jī)控制驅(qū)動器。3.2編程實(shí)例進(jìn)電機(jī)必須有驅(qū)動才可以運(yùn)轉(zhuǎn),驅(qū)動信號必須是脈沖信號,沒有脈沖信號的時(shí)候,步進(jìn)電機(jī)停止,如果加入的脈沖信號,就會以一定的角度(成為步進(jìn)角)轉(zhuǎn)動。轉(zhuǎn)動的速度與脈沖的頻率成正比。步進(jìn)電機(jī)有瞬間啟動的急速停止的優(yōu)越性。改變脈沖的順序,可以改變轉(zhuǎn)動的方向。XLISP系列套件采用的是12V步進(jìn)電機(jī),為了演示的方便,我們?yōu)樗峁┝?V的電源,此時(shí)轉(zhuǎn)動力矩較小,我們也可以吧他應(yīng)用為12V。該步進(jìn)電機(jī)的耗電流為200ma左右,采用uln2003驅(qū)動,驅(qū)動端口為P1.0,P1.1,P1.2,P1.3.由于uln2003本身是一個(gè)反向器,因此在實(shí)際應(yīng)用中我們在他前面設(shè)計(jì)了一個(gè)74ls14的反向器。使他最終的結(jié)果還是相同的。反轉(zhuǎn)正轉(zhuǎn)步數(shù)P1.0P1.1P1.2P1.303h1110006h201100ch3001109h41001步數(shù)P1.0P1.1P1.2P1.303h1110009h210010ch3001106h40110步進(jìn)電機(jī)的正轉(zhuǎn)程序:接線方式,用一根4PIN排線一端插入P1.0—P1.3,另一端插入步進(jìn)電機(jī)JP31口。
loop:movR3,#0FFh
;30h送ff即-1
main:INCR3
mova,R3
tt:
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP1,A
;送顯示
movr7,#5
decr7
lcalldelay
;延時(shí)一段時(shí)間
cjnea,#06H,main
;如果是最后一個(gè)數(shù)據(jù)重新開始
ljmploop
;
否則R3清除
ret
TAB:DB03H,09H,0CH,06H;步進(jìn)電機(jī)正轉(zhuǎn)表DELAY:;延時(shí)程序MOV
R5,#255
D3:MOVR2,#25
D4:DJNZR2,D4
DJNZR5,D3
RETEnd4XLISP系列單片機(jī)綜合仿真試驗(yàn)儀4.1系統(tǒng)簡介XLISP系列單片機(jī)綜合仿真試驗(yàn)儀(以下簡稱XLISP系列)是深圳學(xué)林電子有限公司(51測試網(wǎng))綜合多年經(jīng)驗(yàn)開發(fā)出的多功能8051單片機(jī)平臺(兼容AVR/PIC單片機(jī)的部分燒寫功能)。本系列目前包含XL600單片機(jī)試驗(yàn)儀和XL1000USB型單片機(jī)試驗(yàn)儀,集成常用的單片機(jī)外圍硬件,ISP下載線,單片機(jī)仿真器,單片機(jī)試驗(yàn)板,編程器功能于一身,特別適合新手學(xué)習(xí)使用!XL600系統(tǒng)的特點(diǎn):1全開放的模塊化設(shè)計(jì):所有硬件資源對用戶開放,搭配隨心所欲,不會出現(xiàn)硬件束縛軟件的情況。既可學(xué)習(xí)軟件,更可深入的了解硬件。2高品質(zhì)的工藝:本機(jī)采用高檔透明雅克力面板,鋁合金外箱,全貼片機(jī)器生產(chǎn),工藝精美絕倫!XL600的外包裝,專業(yè)定做包裝盒,盡顯大家風(fēng)范。包裝尺寸:270*190*65毫米包裝重量:1.2公斤XL600的外觀采用鋁合金包裝,黑色雙面PCB,全SMT工藝可能是您見到最為精美的單片機(jī)實(shí)驗(yàn)儀,豪華高貴,一見傾心。3超強(qiáng)的電路資源配備:集成了基本上所有單片機(jī)應(yīng)用中可能遇到的功能模塊部份,你再也不必要去找其他零件,即可輕松完成您所需要的開發(fā)任務(wù)。XL600實(shí)驗(yàn)儀硬件組成列表:基本試驗(yàn)資源數(shù)字硬件電路試驗(yàn)資源擴(kuò)展試驗(yàn)資源高級應(yīng)用試驗(yàn)8位按鍵開關(guān)(端口直接)74LS14反向器1602字符液晶屏(標(biāo)配)步進(jìn)電機(jī)(標(biāo)配)8位發(fā)光管(端口指示)74LS164串入并出Dac0832數(shù)字-模擬89C2051核心監(jiān)控(穩(wěn)定高速)8位撥動開關(guān)(端口直接)74LS47數(shù)碼管譯碼ADC0804模擬-數(shù)字18B20數(shù)字溫度采集(可選)8位數(shù)碼管顯示(動態(tài)或者靜態(tài))74LS165并入串出24C02串行EPROM12864中文液晶0802(可選)小喇叭警報(bào)器(唱歌)74LS138譯碼器93C46EPROM紅外線遙控(標(biāo)配遙控器)16*16矩陣按鍵開關(guān)(行列式)MAX232串行通信單片機(jī)仿真(標(biāo)配仿真頭)ISP下載(單片機(jī)在線編程)。4完美的例子程序:集合本公司多年的經(jīng)驗(yàn),每個(gè)模塊都有完整的帶中文注釋例子程序,原理圖,接線方法,很多都可以直接拿來應(yīng)用??焖偬岣吣挠布?,軟件編程水平。(以下是部分程序的截圖,更多程序見光盤)。5所有端口全部采用防插反設(shè)計(jì),均配有連接照片和中文注解,即便您是初學(xué)者,也能輕松掌握。7ISP下載CPU控制編程,不受電腦配置及操作系統(tǒng)影響,穩(wěn)定性一流。可以作為一臺獨(dú)立的ISP下載線使用,支持芯片包括51/AVR/PIC各系列!同時(shí)在板上可以直接對89S51/52等等芯片編程,當(dāng)作獨(dú)立編程器使用。6配有40P外接仿真頭,可以作為一臺獨(dú)立的51單片機(jī)硬件仿真器使用,通過KEILSOFT軟件配合,即可對外部硬件以及板上資源實(shí)現(xiàn)單步調(diào)試,斷點(diǎn),全速等等全部功能。7全中文軟件操作導(dǎo)航,獨(dú)有智能一鍵通設(shè)計(jì),擦除,寫入,校驗(yàn),運(yùn)行自動完成,軟件中英文自動選擇,適合港臺地區(qū)用戶使用。特別設(shè)計(jì)的燒寫實(shí)驗(yàn)仿真3IN1的公用卡座,CPU插上后即不需要插拔,燒寫仿真等公用串口,使用極其方便簡潔。4.2安裝4.2.1軟件安裝(1)插入隨機(jī)的驅(qū)動關(guān)盤,打開驅(qū)動程序\XLISP系列試驗(yàn)儀目錄。(2)雙擊其中的setup.exe,按照提示,點(diǎn)下一步直接完成安裝:如果提醒您系統(tǒng)文件過舊則需要重新啟動計(jì)算機(jī),重啟后繼續(xù)安裝。(3)備份的免安裝的全部文件,如果您確實(shí)沒有辦法安裝,可以直接COPY該目錄到您的硬盤,運(yùn)行XLISP.EXE。另外不要忘記把所有的文件的只讀屬性去掉。4.2.2硬件安裝(1)打開XLISP系列的包裝。插入隨機(jī)的串口線(9針對9針),然后插上隨機(jī)的USB電纜(用于提供5V電源)。(2)按下電源開關(guān),此時(shí)電源指示燈亮。同時(shí)注意XL600燒寫指示燈亮大約1秒種后熄滅,此時(shí)表示系統(tǒng)自檢正常!。4.3ISP下載部分的應(yīng)用ISP(In-SystemProgramming)在系統(tǒng)可編程,指電路板上的空白器件可以編程寫入最終用戶代碼,而不需要從電路板上取下器件,已經(jīng)編程的器件也可以用ISP方式擦除或再編程,ISP技術(shù)是未來發(fā)展方向。XLISP系列的ISP部分是業(yè)界首創(chuàng)的具備傳統(tǒng)編程器的可靠性與下載線的方便性于一身的前衛(wèi)產(chǎn)品。通過單片機(jī)控制時(shí)序,232串行通信,徹底解決并口ISP兼容性、可靠性問題。將下載頭的相關(guān)引腳引入目標(biāo)板,即可方便快速的對目標(biāo)板在系統(tǒng)編程。ISP下載部分支持的芯片列表:51系列單片機(jī):AT89S51,AT89S52,AT89S53,AT89S8252,AT89LS51,AT89LS52,AT89LS53,AT89LS8252AVR系列單片機(jī):AT90S2323,AT90S2343AT90S4433,AT90S8535ATmega16,ATmega16L,ATmega161,ATmega161L,ATmega163,ATmega32,ATmega32LATmega323,ATmega323L,ATmega64,ATmega64LATmega8,ATmega8L,ATmega8515,ATmega8515LATmega8535,ATmega8535LATtiny12,ATtiny12L,ATtiny13,ATtiny13LATtiny15,ATtiny15L,ATtiny22,ATtiny22L,ATtiny26,ATtiny26LPIC系列單片機(jī):PIC16F870,PIC16F871,PIC16F872,PIC16F873,PIC16F874,PIC16F876,PIC16F877,PIC16F873A,PIC16F874A,PIC16F876A,PIC16F877AAT24CXX:AT24C01,AT24C02,AT24C04,AT24C08,AT24C16,AT24C32,AT24C64,AT24C128,AT24C4.4XLISP系列仿真操作指南概述:XLISP系列的仿真部份通過隨機(jī)的SST89E564仿真監(jiān)控芯片實(shí)現(xiàn)。通過和KEIL軟件配合使用,不僅可以實(shí)現(xiàn)對板上資源的仿真,更可通過隨機(jī)的40PIN仿真頭對外接的目標(biāo)板進(jìn)行仿真。.可仿真89C51、89C52、89S51、89S52、89C58等等51內(nèi)核的單片機(jī)。.直接支持KEILC51的IDE開發(fā)仿真環(huán)境。.USB/RS-232通訊接口,波特率4.8Kbps-57.6Kbps自適應(yīng)。特別適合無串口的筆記本電腦用戶。
.監(jiān)控程序占用用戶的資源少,全速運(yùn)行不占用資源。
.片內(nèi)63K程序空間可以隨時(shí)進(jìn)行在線程序更新。
.可單步、斷點(diǎn)、全速、可參考變量、RAM變量。
.支持匯編、C語言,混合調(diào)試。.板載仿真頭接口可以和任何的試驗(yàn)板、目標(biāo)板進(jìn)行連接,從而達(dá)到硬件仿真的無限擴(kuò)展。硬件安裝:首先將9針串口插頭接到PC的串口上,比如COM1。然后連接好直流電源,將仿真芯片(不是at89s51)插入試驗(yàn)卡座并鎖緊。(注意:此處是串口方式運(yùn)行,如果是USB方式運(yùn)行,那么插入U(xiǎn)SB線)如果直接仿真板上的資源,那么首先用隨機(jī)的排線根據(jù)實(shí)驗(yàn)?zāi)康陌严嚓P(guān)IO端口連接到相關(guān)的硬件上,仿真結(jié)果直接體現(xiàn)到XL1000的試驗(yàn)板上。如果您需要仿真自己的目標(biāo)板,把仿真頭插入目標(biāo)板,仿真結(jié)果將體現(xiàn)到您自己的目標(biāo)板上。軟件安裝:直接拷貝光盤\開發(fā)工具\(yùn)keil\到c盤的根目錄,去掉所有文件的只讀屬性.(注意必須是c盤根目錄,不要安裝在其他目錄)執(zhí)行keil\uv2\uv2.exe即可(可將文件發(fā)送到桌面快捷方式)KEIL軟件就是他的驅(qū)動軟件。532位HT6121編碼紅外遙控器5.1紅外遙控器介紹遙控器由紅外接收及發(fā)射電路、信號調(diào)理電路、中央控制器、程序及數(shù)據(jù)存儲器、鍵盤及狀態(tài)指示電路組成。遙控器有兩種狀態(tài):學(xué)習(xí)狀態(tài)和控制狀態(tài)。當(dāng)遙控器處于學(xué)習(xí)狀態(tài)時(shí),使用者每按一個(gè)控制鍵,紅外線接收電路就開始接收外來紅外信號,同時(shí)將其轉(zhuǎn)換成電信號,然后經(jīng)過檢波、整形、放大,再由CPU定時(shí)對其采樣,將每個(gè)采樣點(diǎn)的二進(jìn)制數(shù)據(jù)以8位為一個(gè)單位,分別存放到指定的存儲單元中去,供以后對該設(shè)備控制使用。當(dāng)遙控器處于控制狀態(tài)時(shí),使用者每按下一個(gè)控制鍵,CPU從指定的存儲單元中讀取一系列的二進(jìn)制數(shù)據(jù),串行輸出(位和位之間的時(shí)間間隔等于采樣時(shí)的時(shí)間間隔)給信號保持電路,同時(shí)由調(diào)制電路進(jìn)行信號調(diào)制,將調(diào)制信號經(jīng)放大后,由紅外線發(fā)射二極管進(jìn)行發(fā)射,從而實(shí)現(xiàn)對該鍵對應(yīng)設(shè)備功能的控制。紅外線遙控是目前使用最廣泛的一種通信和遙控手段。由于紅外線遙控裝置具有體積小、功耗低、功能強(qiáng)、成本低等特點(diǎn),因而,繼彩電、錄像機(jī)之后,在錄音機(jī)、音響設(shè)備、空凋機(jī)以及玩具等其它小型電器裝置上也紛紛采用紅外線遙控。工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅完全可靠而且能有效地隔離電氣干擾。5.2HT6121編碼紅外遙控器結(jié)構(gòu)XLISP系列試驗(yàn)儀配有一個(gè)標(biāo)準(zhǔn)的32位HT6121編碼紅外遙控器。通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,應(yīng)用編/解碼專用集成電路芯片來進(jìn)行控制操作,如圖1所示。發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、LED紅外發(fā)送器;接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路。5.3HT6121編碼紅外遙控器原理當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征:采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進(jìn)制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進(jìn)制的“1”,其波形如圖2所示解碼的關(guān)鍵是如何識別“0”和“1”,從位的定義我們可以發(fā)現(xiàn)“0”、“1”均以0.56ms的低電平開始,不同的是高電平的寬度不同,“0”為0.56ms,“1”為1.68ms,所以必須根據(jù)高電平的寬度區(qū)別“0”和“1”。如果從0.56ms低電平過后,開始延時(shí),0.56ms以后,若讀到的電平為低,說明該位為“0”,反之則為“1”,為了可靠起見,延時(shí)必須比0.56ms長些,但又不能超過1.12ms,否則如果該位為“0”,讀到的已是下一位的高電平,因此?。?.12ms+0.56ms)/2=0.84ms最為可靠,一般取0.84ms左右均可。
6本課題的軟硬件設(shè)計(jì)6.1硬件設(shè)計(jì)6.1.1HT6121編碼紅外遙控器的設(shè)置因?yàn)楸緦?shí)驗(yàn)的XLISP單片機(jī)仿真試驗(yàn)儀已經(jīng)內(nèi)配置一個(gè)HT6121的遙控器,所以只需對其進(jìn)行按鍵編程設(shè)置即可。通過匯編程序,使得按遙控器0—9,步進(jìn)電機(jī)正轉(zhuǎn),按遙控器11—19步進(jìn)電機(jī)反轉(zhuǎn)。HT6121編碼紅外遙控器的連接用一根IPIN數(shù)據(jù)線一端插入CPU部分JP53(P3口)的P3.7,另外一端插入紅外遙控器部分的輸出端JP45。6.1.3數(shù)碼管的設(shè)置數(shù)碼管動態(tài)掃描數(shù)據(jù)JP5口接P0口,數(shù)碼管顯示控制JP8口接P2口步進(jìn)電機(jī)的連接步進(jìn)電機(jī)采用的是ULN2003驅(qū)動,驅(qū)動端口為P1.0,P1.1,P1.2,P1.3。由于ULN2003本身就是一個(gè)反向器,因此在實(shí)際應(yīng)用中我們在他們前面設(shè)計(jì)了一個(gè)74ls14的反向器,使他最終的結(jié)果還是同相。6.2軟件設(shè)計(jì)應(yīng)用KeilC51編程軟件進(jìn)行程序的編寫,本程序設(shè)計(jì)要實(shí)現(xiàn)基于單片機(jī)通過紅外遙控器來控制步進(jìn)電機(jī)的轉(zhuǎn)動狀態(tài)。org00hJMPMAIN
ORG30HMAIN:
MOVP1,#0FFH
MOVP2,#0FFH
MOVP3,#0FFHSTART:
JBP3.7,$;等待遙控信號出現(xiàn)SB:
MOVR4,#8;8毫秒為高電平錯(cuò)誤SBA:
MOVR5,#250SBB:
JBP3.7,SXB1
DJNZR5,SBB
DJNZR4,SBA
MOVR4,#2
JMPSBCSXB1:MOVR5,#5SXB2:;去掉20US的尖峰干擾信號
JNBP3.7,SBB
DJNZR5,SXB2
JMPSTARTSBC:
MOVR5,#250SB1:
JBP3.7,SB2;2MS內(nèi)不為高電平錯(cuò)誤DJNZR5,SB1
DJNZR5,SB1DJNZR4,SBC
JMPSTARTSB2:;去掉20US的尖峰干擾信號
MOVR5,#5SB2_A:
JNBP3.7,SB1
DJNZR5,SB2_A
MOVR4,#3SB2_1:
MOVR5,#250SB3:;監(jiān)測4.5MS高電平,如3MS內(nèi)出現(xiàn)低電平錯(cuò)誤
JNBP3.7,SXC
DJNZR5,SB3
DJNZR4,SB2_1
MOVR4,#2
JMPSB3_1SXC:;去掉20US的尖峰干擾信號
MOVR5,#5SXC1:
JBP3.7,SB3
DJNZR5,SXC1
JMPSTARTSB3_1:;監(jiān)測4.5MS高電平,如5MS內(nèi)不為低錯(cuò)誤
MOVR5,#250SB3_2:
JNBP3.7,SB4
DJNZR5,SB3_2
DJNZR4,SB3_1
JMPSTARTSB4:;去掉20US的尖峰干擾信號
MOVR5,#5SB4_1:
JBP3.7,SB3_2
DJNZR5,SB4_1
MOVR1,#1AH;設(shè)定1AH為起始RAM區(qū)
MOVR2,#4PP:MOVR3,#8JJJJ:
MOVR5,#250JJJJ2:;1MS內(nèi)不為低電平錯(cuò)誤
JBP3.7,JJJJ3
DJNZR5,JJJJ2
JMPSTARTJJJJ3:
LCALLYS1;高電平開始后用882微秒的時(shí)間尺去判斷信號此時(shí)的高低電平狀態(tài)
MOVC,P3.7;將P3.7狀態(tài)0或1存入C中
JNCUUU;如果為0就跳轉(zhuǎn)到UUU
MOVR5,#250JJJJ4:
JNBP3.7,UUU
NOP
DJNZR5,JJJJ4
JMPSTARTUUU:MOVA,@R1;將R1中地址的給A
RRCA;將C中的值移入A中的最低位
MOV@R1,A;將A中的數(shù)暫存在R1中
DJNZR3,JJJJ;接收地址碼的高8位
INCR1;對R1加1,換成下一個(gè)RAM
DJNZR2,PP;接受完16位地址碼和8位數(shù)據(jù)碼和8位數(shù)據(jù)反碼,存放在1AH/1BH/1CH/1DH的RAM中
;以下對代碼是否正確和定義進(jìn)行識別
MOVA,1AH;比較高8位地址碼
XRLA,#00000000B;判斷1AH的值是否等于00000000,相等的話A為0
JNZEXIT;如果不等解碼失敗退出
MOVA,1BH;比較低8位地址
XRLA,#11111111B;再判高8位地址是否正確
JNZEXIT;如果不相等說明解碼失敗退出LCALLYS3
MOVA,1CH;比較數(shù)據(jù)碼和數(shù)據(jù)反碼是否正確?
CPLA
XRLA,1DH;將1CH的值取反后和1DH比較不同則無效丟棄,核對數(shù)據(jù)是否準(zhǔn)確
JNZEXIT;如果不相等說明解碼失敗退出LCALLYS3
CLRP2.6;選中數(shù)碼管
CLRP3.3;解碼成功喇叭響?
AJMPBIJIAO
;判斷在118毫秒內(nèi)是否有連發(fā)碼AA:MOVR1,#25
XX:ACALLYS2
JNBP3.7,HH;跳轉(zhuǎn)到HH
DJNZR1,XX
EXIT:;對所有端口清零
AJMPSTART
;連發(fā)碼判斷程序段
HH:MOVR6,#4
S:ACALLYS1;調(diào)用882微秒延時(shí)子程序
JBP3.7,EXIT;延時(shí)882微秒后判斷P3.7腳是否出現(xiàn)高電平如果有就退出解碼程序
DJNZR6,S;重復(fù)4次,目的是確認(rèn)JNBP3.7,$;等待高電?
LCALLYS3
AJMPAABIJIAO:
MOVR0,#18;一共18個(gè)按鍵
MOVDPTR,#TAB_REM;遙控鍵值查表
LOOKUP_1:
MOVA,R0
;查表偏移量
MOVCA,@A+DPTR
XRLA,1cH
;比較鍵值
JZREM_BAK0
;相等轉(zhuǎn)移
DJNZR0,LOOKUP_1
;直到18個(gè)健比較完畢
JMPEXIT
;都不對退出
REM_BAK0:
;鍵值處理
MOVA,R0
;R0
MOVR1,A
;
SUBBA,#9
;如果大于9則反轉(zhuǎn)并將值減去9
JCREM_BAK1
;小余或等于9到正轉(zhuǎn)
INCA
;加1
MOVR1,A
;查顯示碼表
MOVDPTR,#TABLE1
;
MOVCA,@A+DPTR
MOVP0,A
;送顯示
CLRP2.6
;開顯示REM_REV:
;反轉(zhuǎn)程序
CALLREV
CALLdelay
;轉(zhuǎn)速
DJNZR1,REM_REV
;轉(zhuǎn)動的步數(shù)到了停止
JMPAA
REM_BAK1:
;正轉(zhuǎn)程序
NOP
MOVA,R1
;按鍵數(shù)值判斷執(zhí)
MOVDPTR,#TABLE1
;查顯示碼表
MOVCA,@A+DPTR
MOVP0,A
;送顯示
CLRP2.6
;開顯示REM_FOR:
;正轉(zhuǎn)
CALLFOR
CALLDELAY
DJNZR1,REM_FOR
JMPAA
for:movr0,#00h
;正轉(zhuǎn)到tab取碼指針初值
for1:mova,r0
;取碼
movdptr,#table
;
movca,@a+dptr
jzFOREXT
;是否到了結(jié)束碼00h
cpla
;把a(bǔ)cc反向
movp1,a
;輸出到p1開始正轉(zhuǎn)
calldelay
;轉(zhuǎn)動的速度
incr0
;取下一個(gè)碼
jmpfor1
;繼續(xù)正轉(zhuǎn)
rev:movr0,#05h
;反轉(zhuǎn)到tab取碼指針初值
rev1:mova,r0
movdptr,#table
;取碼
movca,@a+table
jzFOREXT
;是否到了結(jié)束碼00h
cpla
;把a(bǔ)cc反向
movp1,a
;輸出到p1開始反轉(zhuǎn)
calldelay
;轉(zhuǎn)動的速度
incr0
;取下一個(gè)碼
jmprev1
;繼續(xù)反轉(zhuǎn)
FOREXT:
RET
YS1:
MOVR4,#20
;延時(shí)子程序1,精確延時(shí)882微秒
D1:MOVR5,#20
DJNZR5,$
DJNZR4,D1
RET
YS2:MOVR4,#10
;延時(shí)子程序2,精確延時(shí)4740微秒
D2:MOVR5,#235
DJNZR5,$
DJNZR4,D2
RET
YS3:MOVR4,#2;延時(shí)程序3,精確延時(shí)1000微秒
D3:MOVR5,#248
DJNZR5,$
DJNZR4,D3
RET
TAB_REM:
;遙控的鍵值
DB00H
DB10H,03H,01H,06H,09H,1DH,1FH,0DH,19H
DB11H,15H,17H,12H,16H,4CH,40H,48H,04H
delay:
movr3,#40
;步進(jìn)電機(jī)的轉(zhuǎn)速20ms
m3:
movr2,#248
djnzr2,$
djnzr3,m3
ret
TABLE1:db28h,7eh,0a2h,62h,74h,61h,21h,7ah,20h,60h;數(shù)碼管的碼表
;0123456789
table:
db03h,09h,0ch,06h
;正轉(zhuǎn)表
db00
;正轉(zhuǎn)結(jié)束
db03h,06h,0ch,09h
;反轉(zhuǎn)
db00
;反轉(zhuǎn)結(jié)束
end電路原理圖結(jié)論在本課題的硬件設(shè)計(jì)系統(tǒng)中,采用HT6121紅外遙控器作為單片機(jī)的輸入端,用于控制步進(jìn)電機(jī)。單片機(jī)P0,P1,P2口作為設(shè)計(jì)的輸出端口。AT89S52單片機(jī)的P0口作為數(shù)據(jù)輸出口接到數(shù)碼管的數(shù)據(jù)口,對其進(jìn)行段選。P2口接到用來顯示的數(shù)碼管的顯示位口,用作位選。P1口接步進(jìn)電機(jī)。管腳P3.7接紅外遙控部分的輸出端JP45,用于實(shí)現(xiàn)HT6121遙控器對步進(jìn)電機(jī)的控制。軟件設(shè)計(jì)中,對遙控器的按鍵、步進(jìn)電機(jī)通過匯編編程的設(shè)置進(jìn)而控制步進(jìn)電機(jī)不同的動作,如正轉(zhuǎn),反轉(zhuǎn)等,使其按下不同的按鍵后,步進(jìn)電機(jī)有相應(yīng)的正反轉(zhuǎn)和相應(yīng)的正反轉(zhuǎn)數(shù)。通過試驗(yàn)結(jié)果可以看出,用紅外遙控器通過單片機(jī)來控制步進(jìn)電機(jī)運(yùn)動的方案是可行的,且軟硬件設(shè)計(jì)原理及方案并不是十分復(fù)雜。由此可見,單片機(jī)在步進(jìn)電機(jī)控制方面將會有更加廣泛的應(yīng)用。致謝本論文是在導(dǎo)師趙延?xùn)|的悉心指導(dǎo)下完成的,在整個(gè)課題的過程中趙老師投入了大量的精力,給予我很多有益的指導(dǎo)和幫助,使得論文能夠順利完成。在此向趙老師表示忠心的感謝。由衷感謝我的父母。他們在二十多年中不吝對我的疼愛,給我自始至終的支持,給我包容、寬容,給我成長的勇氣。正是他們二十多年無私的疼愛和關(guān)懷,才使得我能夠不斷進(jìn)步成長。沒有我親愛的父母,就沒有我的今天。最后,感謝所有關(guān)心我的老師、同學(xué)和朋友們。有太多一直關(guān)心我和幫助我的人,限于篇幅,這兒不能一一寫下他們的名字。感謝這么多年以來一直關(guān)心我的成長的老師們,感謝這么多年以來一直關(guān)心我的奮斗的同學(xué)、朋友們。他們對我的所有關(guān)心和幫助,我都一一銘記于心。參考文獻(xiàn)[1]張毅剛,澎喜源等.MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2004[2]李朝青.單片機(jī)原理及接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,1999[3]蔡朝陽.單片機(jī)控制實(shí)習(xí)與專題制作[M].北京:北京航空航天大學(xué)出版社,2006[4]劉文濤.MCS-51單片機(jī)培訓(xùn)教程[M].北京:電子工業(yè)出版社,2005:141~145[5]孫育才,.王榮興,孫華芳.新型AT89S52系列單片機(jī)及其應(yīng)用[M].北京:清華大學(xué)出版社,2005:5~127[6]邵貝貝,龔光華.單片機(jī)認(rèn)識與實(shí)踐[M].北京:北京航空航天大學(xué)出版社.2006:45~89[7]嚴(yán)天峰.單片機(jī)應(yīng)用系統(tǒng)與仿真調(diào)試[M].北京:北京航空航天大學(xué)出版社.2005:36~58[8]陳雪麗,單片機(jī)原理及接口技術(shù)[M].北京:化學(xué)工業(yè)出版社,2005:98~145[9]南建輝,熊鳴,王軍茹.MCS—51單片機(jī)原理及應(yīng)用實(shí)例[M].北京:清華大學(xué)出版社.2004:136~171附錄A英文原文DesignofInfraredSignalEmissionBasedonMCS-51MicroprocessorZHANGHongnan,JIANGChao,HUANGYayou,andHUSaichunAbstract-Applicationspecificintegratedemissionchipsareincompatiblewithoneanotherintermsofthetelecontrol-codeformats,anobstaclefortheuniversalapplicationofremotecontrollers.InthispaperMCS-51microprocessorisusedtosimulatetheemissionofremotecodesbelongingtoPT2248chips,programsaredesignedtoproducespecifictelecontrol-codes,assistedbyperipheralcircuitstotransmittheinfraredsignal.Thewholesystemissimple,low-costandcanbeuniversallyused.KeyWord:MCU,infraredsignal,remotecodeI.INTRODUCTIONNOWADAYSapplicationspecificintegratedemissionchipsarewidelyusedtotransmitinfraredsignalofremotecontrol,suchasToshibaTC9012andPhilipsSAA3010T.Butthesevariousremotecontrollerscanonlyworkfortheircorrespondentcontrolobjects,becausetheformatofremotecodesbetweenthesechipsisalwaysincompatible.Souniversalitypresentsanissue[1]*InthisdesignweusealowcostMCS-51microprocessortosimulatetheemissionofremotecodesofPT2248(BT5048)chips.Wealsowriteappropriateprogramstoproducespecificremotecodesanddesignauxiliaryperipherycircuitstotransmittheinfraredsignal.Thewholesystemissimple,low-costandcanbeuniversallyused.[2].II.DESIGNPRINCIPLESOurdesignisconsistedofhardwaredesignandsoftwaredesign.A.DesignofHardwareThehardwarepartcanbedividedintotwoparts:localoscillatorandfrequencymixer.Itsfunctionistomodulatethe38ksquare-wavewithcodesproducedbythemicroprocessor.ThelocaloscillatorpartgeneratesaTTLsquare-waveof38k,whichemploysalowcostcapacitypositive-feedbackmultivibrator,asisshowninFig.1Thefrequencymixerpartmodulatesthethe38ksquare-wavewithtelecontrol-codesproducedbymicroprocessor.AccordingtotheformatofPT2248,whenthesignalofbasefrequencyis"0",outputwillbehighlevel.Whenthesignalofbasefrequencyis"1",the38kTTLsquare-wavewillbeproduced,asFig.2shows.thecircuitmeetrequirementswithNANDgatesalone,whichshareonechipwiththeoscillator,hencechipcostisreduced.TheentirecircuitofhardwarepartisshowninFig.3.theNANDgateisSN74HCTOONQUAD4-INPUTNANDgate.WeusethewavegeneratortoproduceTTLsquare-wave(f-36.5KHz)inordertosimulatetheoutputofmicroprocessor[3].Theoutputoflocaloscillatorandfrequencymixerischeckedwithanoscilloscope,andtheresultshowsthattheNANDgatecanrealizefrequencymixing.B.DesignofSoftwareTheeighteenbuttonsofPT2248inputunitformsa6X3matrixwhichconsistsofthebuttoninputsKI1K6andTI1T3,asFig.4shows.Thebuttons1-6areformedbyrespectivecombinationsofKI1K6andTI,theycanoutputcontinuoussignals,andtheinputcanbecarriedonwithatmost6buttons.Similarly,thebuttons718areindividualcombinationsofKI1K6andT2-T3.Theyareone-timetriggerbuttons,oneinputcorrespondtooneoutput.TheemissioninstructionofPT2248isa12-bitcode,includingCl1,C2,C3,H,51,S2,Dl,D2,D3,D4,D5andD6.CIC3arecodebitswhichcorrespondstodifferentcodesbydifferentdecoders.H,SIandS2correspondtoTi1,T2andT3,correspondingtocontinualsignalsorone-timetriggersignals.An
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 編織銀包項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 2025年太陽能橡膠配件項(xiàng)目投資可行性研究分析報(bào)告
- 2025年度電梯門套節(jié)能改造與優(yōu)化合同
- 陶瓷藝術(shù)創(chuàng)意中心建設(shè)項(xiàng)目可行性研究報(bào)告
- 2025年度環(huán)保磚廠設(shè)備采購合同范文
- 2025年中國智能巡檢機(jī)器人行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略規(guī)劃報(bào)告
- 《第8課 碰撞運(yùn)動-碰撞傳感器和機(jī)器人的避碰行走》教學(xué)設(shè)計(jì)教學(xué)反思-2023-2024學(xué)年初中信息技術(shù)清華大學(xué)版2012九年級下冊
- 2025年鉀長石原礦項(xiàng)目投資可行性研究分析報(bào)告
- 2025年自行車車輪廣告封閉盤行業(yè)深度研究分析報(bào)告
- Unit 4 What can you do Part B Read and write大單元整體教學(xué)設(shè)計(jì)表格式-2024-2025學(xué)年人教PEP版英語五年級上冊
- 2025年02月黃石市殘聯(lián)專門協(xié)會公開招聘工作人員5人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2024-2025學(xué)年第二學(xué)期開學(xué)典禮-開學(xué)典禮校長致辭
- 《汽車專業(yè)英語》2024年課程標(biāo)準(zhǔn)(含課程思政設(shè)計(jì))
- 部編四年級道德與法治下冊全冊教案(含反思)
- 八年級下冊道德與法治第一單元教案(4篇)
- 練字常用的稿紙-紅色單線稿紙-書寫紙張打印即可
- 中國傳統(tǒng)二十四節(jié)氣立春節(jié)氣介紹PPT模板課件
- Q∕GDW 11612.1-2018 低壓電力線高速載波通信互聯(lián)互通技術(shù)規(guī)范 第1部分:總則
- ASM鑄造缺陷的國際分類7大類(學(xué)習(xí)版0228)
- 天津?yàn)I海新區(qū)發(fā)展情況匯報(bào)
- 最新AS9120B質(zhì)量手冊
評論
0/150
提交評論