《單片機原理及應(yīng)用》課程設(shè)計說明書設(shè)計并實現(xiàn)紅外遙控步進電機

上傳人:仙*** 文檔編號:27813537 上傳時間:2021-08-20 格式:DOC 頁數(shù):33 大小:367.50KB
收藏 版權(quán)申訴 舉報 下載
《單片機原理及應(yīng)用》課程設(shè)計說明書設(shè)計并實現(xiàn)紅外遙控步進電機_第1頁
第1頁 / 共33頁
《單片機原理及應(yīng)用》課程設(shè)計說明書設(shè)計并實現(xiàn)紅外遙控步進電機_第2頁
第2頁 / 共33頁
《單片機原理及應(yīng)用》課程設(shè)計說明書設(shè)計并實現(xiàn)紅外遙控步進電機_第3頁
第3頁 / 共33頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《單片機原理及應(yīng)用》課程設(shè)計說明書設(shè)計并實現(xiàn)紅外遙控步進電機》由會員分享,可在線閱讀,更多相關(guān)《《單片機原理及應(yīng)用》課程設(shè)計說明書設(shè)計并實現(xiàn)紅外遙控步進電機(33頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、武漢理工大學(xué)《單片機原理及應(yīng)用》課程設(shè)計說明書 課程設(shè)計任務(wù)書 學(xué)生姓名: 專業(yè)班級: 電信0804 指導(dǎo)教師: 工作單位: 題 目: 設(shè)計并實現(xiàn)紅外遙控步進電機 初始條件: 1. Protues軟件; 2. 課程設(shè)計輔導(dǎo)資料:“占空比可調(diào)的信號發(fā)生器設(shè)計與應(yīng)用”、“電路設(shè)計技術(shù)與應(yīng)用”等; 3. 先修課程:模擬電子技術(shù)、數(shù)字電子技術(shù)、Protues電路設(shè)計教程及單片機原理及應(yīng)用等課程 要求完成的主要任務(wù):(包括課程設(shè)計工作量及其技術(shù)要求,以及說明書

2、撰寫等具體要求) 1. 課程設(shè)計時間:1周; 課程設(shè)計內(nèi)容:利用紅外遙控器控制步進電機的動作,動作要有正、反方向轉(zhuǎn)動;單步;連續(xù);快慢等動作。 2. 本課程設(shè)計統(tǒng)一技術(shù)要求:研讀輔導(dǎo)資料對應(yīng)章節(jié),對選定的設(shè)計題目進行理論分析,針對具體設(shè)計部分的原理分析、建模、必要的推導(dǎo)和可行性分析,畫出程序設(shè)計框圖,編寫程序代碼(含注釋),上機調(diào)試運行程序,記錄實驗結(jié)果(含計算結(jié)果和圖表),并對實驗結(jié)果進行分析和總結(jié); 3. 課程設(shè)計說明書按學(xué)校“課程設(shè)計工作規(guī)范”中的“統(tǒng)一書寫格式”撰寫,具體包括: ① 目錄; ② 設(shè)計原理和方法; ③ 系統(tǒng)硬件線路設(shè)計圖; ④ 程序框圖; ⑤ 資源分配表

3、; ⑥ 源程序 ⑦ 性能分析 ⑧ 課程設(shè)計的心得體會(至少500字); ⑨ 參考文獻; 時間安排: 指導(dǎo)教師簽名: 年 月 日 系主任(或責(zé)任教師)簽名: 年 月 日 目錄 1總體設(shè)計原理.…………………………………………………..2 2系統(tǒng)硬件及主要模塊設(shè)計……………………………………...3 2.1紅外遙控模塊...……………………..........................................3 2.1.1紅外遙控編解碼原理...……

4、………….…..........................................3 2.2 步進脈沖模塊…………………………………..…...................6 2.2.1步進電機的工作原理與控制…………………………........................6 2.2.2步進機的驅(qū)動電路……………………...............................................8 2.3 主要接口電路……………………...………………….........9 2.3.1步進機的

5、驅(qū)動電路與8051的接口電路……………….....................9 2.3.3 模擬按鍵與8051的接口電路……………………...........................10 .2.4資源分配表和總圖.…………………………………….............11 3源程序設(shè)計……………………………………………...............13 3.1實物源程序.……………………………………………….........13 3.2 仿真源程序.……………………………………………............19 4 仿真結(jié)果與分析………

6、……………………………………......23 5 心得體會……………………………………………………......28 6 參考文獻……………………………………………………......29 7 本科生課程設(shè)計成績評定表………………………………......30 1 總體設(shè)計原理 利用紅外遙控器控制步進電機其實和用鍵盤控制步進電機原理類似,只不過按鍵是用導(dǎo)線傳遞鍵是否按下的信號,而紅外則是利用LED發(fā)射紅外線傳遞按鍵信息。由于紅外采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms 的組合表示二進制的“0”;以脈寬為0.565ms、

7、間隔1.685ms、周期為2.25ms 的組合表示二進制的“1”,在解碼時通過判斷高低電平持續(xù)時間的長短來識別發(fā)送的鍵值。 控制步進電機正、反方向轉(zhuǎn)動、單步、連續(xù)、快慢等動作,原理其實并不困難。步進電機將電脈沖信號轉(zhuǎn)換成角位移,即給一個脈沖,步進電機就轉(zhuǎn)動一個角度,轉(zhuǎn)動的角度大小與施加的脈沖數(shù)成正比,因此,單步和連續(xù)的動作區(qū)別只是單片機給步進電機脈沖個數(shù)不同而已。每按一次單步鍵就是給電機一個脈沖,而連續(xù)則是不斷的給電機脈沖,達(dá)到連續(xù)運轉(zhuǎn)的目的。 單片機的晶振為12MHz,單周期指令執(zhí)行時間為1MHz,由于機械動作需要一定時間來完成,如果以這么快的速度來給脈沖,電機是不會轉(zhuǎn)動的,因此,在兩個

8、脈沖之間必須要有一定時間差,電機才有時間來執(zhí)行動作。電機轉(zhuǎn)動的速度與脈沖頻率成正比,控制脈沖間隔時間就相當(dāng)于控制了步進電機的轉(zhuǎn)動角頻率即快慢。 步進電機的轉(zhuǎn)動需要向電機以一定的順序分配驅(qū)動脈沖。如四相單四拍,其脈沖分配的方式和順序為A-B-C-D-A,如此周而復(fù)始,即可轉(zhuǎn)動。轉(zhuǎn)動方向與脈沖順序有關(guān),如果給相反脈沖,那么電機就會反轉(zhuǎn)。 根據(jù)該系統(tǒng)設(shè)計要求,需要通過紅外遙控器按下按鍵和顯示器來改變步進電機的運動狀態(tài)以及顯示,只需要紅外遙控器中6個按鍵就可滿足需求,外加8位LED數(shù)碼顯示管即可。由于實驗箱上只有8個連體數(shù)碼管,因此需要動態(tài)掃描。通過從鍵盤上輸入正、反轉(zhuǎn)命令,按鍵數(shù)值顯示在數(shù)

9、碼管上,CPU再讀取正、反轉(zhuǎn)命令,加減速后執(zhí)行。經(jīng)鍵盤可完成啟動、停止、正轉(zhuǎn)、反轉(zhuǎn)、速度設(shè)置控制功能。 按下紅外遙控器上的相關(guān)按鈕電機執(zhí)行相關(guān)動作,同時數(shù)碼管上顯示按鍵的數(shù)值,系統(tǒng)大部分都是軟件實現(xiàn)的,整個設(shè)計框圖如下: LED顯示 單片機 步進電機 紅外遙控按鍵 紅外接收 圖1 總體設(shè)計框圖 2主要模塊設(shè)計 2.1紅外遙控模塊 本模塊應(yīng)完成對紅外遙控器有無鍵按下進行確認(rèn),當(dāng)有鍵按下時,確定按鍵值,并根據(jù)所得鍵值進行處理(包括所按鍵是不是停止鍵還是執(zhí)行鍵。如是停止鍵,不斷掃描鍵盤程序,等待執(zhí)行鍵按下;如是執(zhí)行鍵就啟動產(chǎn)生步進電機控制信號程序)。顯示

10、模塊主要是完成在進行鍵盤按下時,顯示輸入的數(shù)據(jù)值(轉(zhuǎn)矩數(shù)、轉(zhuǎn)動方向、轉(zhuǎn)動速率及運行方式)。 2.1.1紅外遙控編碼原理: 通用型紅外遙控系統(tǒng)由紅外發(fā)射和紅外接收兩大部分組成?,F(xiàn)在常應(yīng)用編/解碼專用集成電路芯片來進行控制操作,如圖2所示。發(fā)射部分包括鍵盤、編碼調(diào)制、LED紅外發(fā)送器;接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路等。 圖2 紅外線遙控系統(tǒng)框圖 紅外遙控器所產(chǎn)生的脈沖編碼的格式一般為:引導(dǎo)碼(頭)─地址碼(用戶碼)─數(shù)據(jù)碼─數(shù)據(jù)的反碼。其引導(dǎo)碼為寬度是10 ms左右的一個高脈沖和一個低脈沖的組合,用來標(biāo)識指令碼的開始。地址碼、數(shù)據(jù)碼、數(shù)據(jù)碼的反碼均為數(shù)據(jù)編碼

11、脈沖,用二進制數(shù)表示?!?”和“1”均由ms量級的高低脈沖的組合代表。地址碼(即用戶碼)是對每個遙控系統(tǒng)的標(biāo)識。通過對地址碼的檢驗,每個遙控器就只能控制一個設(shè)備動作,有效地防止了多個設(shè)備之間的串?dāng)_。當(dāng)指令鍵按下時,指令信號產(chǎn)生電路便產(chǎn)生脈沖編碼。數(shù)據(jù)碼后面一般還要有數(shù)據(jù)碼的反碼,用來檢驗數(shù)據(jù)碼接收的正確性,以防止誤動作,增強系統(tǒng)的可靠性。這些指令信號由調(diào)制電路調(diào)制成32~40 kHz的信號,經(jīng)調(diào)制后輸出,最后由驅(qū)動電路驅(qū)動紅外發(fā)射器件(LED)發(fā)出紅外遙控信號。 紅外遙控發(fā)射接收器及其編解碼 遙控發(fā)射器的專用芯片很多,根據(jù)編碼格式可以分成兩大類,即頻分制與碼分制。頻分制是按照載

12、頻的不同來進行頻道劃分的,即它用不同的頻率信號來表示不同的控制信號;碼分制是用不同的脈沖數(shù)目或者寬度不同的脈沖組合來代表不同的控制指令的。這里我們以運用比較廣泛,解碼比較容易的碼分制來加以說明。現(xiàn)以日本NEC的PD6121G組成發(fā)射電路為例說明編碼原理。當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同則遙控編碼也不同。這種遙控碼具有以下特征:采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進制的“1”,其波形如圖2-4所示。

13、 解碼的關(guān)鍵是如何識別“0”和“1”,從位的定義我們可以發(fā)現(xiàn)“0”、“1”均以0.56ms的低電平開始,不同的是高電平的寬度不同,“0”為0.56ms,“1”為1.68ms,所以必須根據(jù)高電平的寬度區(qū)別“0”和“1”。如果從0.56ms低電平過后,開始延時,0.56ms以后,若讀到的電平為低,說明該位為“0”,反之則為“1”,為了可靠起見,延時必須比0.56ms長些,但又不能超過1.12ms,否則如果該位為“0”,讀到的已是下一位的高電平,因此?。?.12ms+0.56ms)/2=0.84ms最為可靠,一般取0.84ms左右均可。但根據(jù)碼的格式,應(yīng)該等待9ms的起始碼和4.

14、5ms的結(jié)果碼完成后才能讀碼。 紅外線解碼框圖如下: 圖4 解碼框圖 本次設(shè)計我借用了實驗室的試驗箱,試驗箱配備了標(biāo)準(zhǔn)的HT6121編碼紅外遙控器,這也就是紅外發(fā)射部分,紅外接收部分在試驗箱上面。這樣就省略了對紅外發(fā)射部分的電路設(shè)計。 2.2步進脈沖模塊: 2.2.1步進電機工作原理與控制: 步進電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)。當(dāng)步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(稱為“步距角”),它的旋轉(zhuǎn)是以固定的角度一步一步運行的??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達(dá)到

15、準(zhǔn)確定位的目的;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。步進電機可以作為一種控制用的特種電機,利用其沒有積累誤差(精度為100%)的特點,廣泛應(yīng)用于各種開環(huán)控制。 在圖1的a圖中B相被勵磁,轉(zhuǎn)子與B相對準(zhǔn)。在這個位置上,再對A相進行勵磁,則轉(zhuǎn)子在磁場作用下順時針轉(zhuǎn)過15,如圖1的b圖所示,這樣步進電機就轉(zhuǎn)過了一個步距角。繼續(xù)對C相進行勵磁,轉(zhuǎn)子在磁場的作用下進一步順時針轉(zhuǎn)過15,到達(dá)c圖所示的位置,又轉(zhuǎn)過了一個步距角。再對D相進行勵磁,又產(chǎn)生了一個新的磁場,在磁力的作用下轉(zhuǎn)子又轉(zhuǎn)過一個步距角15。這樣步進電機的四相完成一個通電循環(huán),若要繼續(xù)轉(zhuǎn)動,就繼續(xù)順

16、次勵磁,即步進電機按照A→B→C→D→A……順序順次勵磁,那么電機就不停地轉(zhuǎn)動。 一般對步進電機采用半步驅(qū)動,即四相八拍工作方式,使步進電機每次勵磁轉(zhuǎn)過1/2的步距角,即每次改變勵磁方式步進電機轉(zhuǎn)過7.5,它的勵磁方式是A→AB→B→BC→C→CD→D→DA→A……,若要反轉(zhuǎn)也是只需改變勵磁方式即可,即按照A→AD→D→DC→C→CB→B→BA→A……,采用八拍工作方式使得電機的轉(zhuǎn)動更加穩(wěn)定,也進一步增強了步進電機的控制精度。 實驗箱中使用的是四相步進電動機,步進電機的控制有三個問題需要解決,下面分別闡述: (1) 控制其轉(zhuǎn)動 按照一定的順序向步進電動機的

17、各相分配驅(qū)動脈沖。就四相步進電機而言,如果采用但四拍方式,其脈沖分配的方式和順序是A-B-C-D-A ,如果采用單雙八拍的方式,其脈沖分配的方式和順序為:A-AB-B-BC-C-CD-D-DA-A.四相步進電動機的勵磁工作方式如下表所示: 編碼結(jié)果(十六進制) A B C D 07 0 1 1 1 03 0 0 1 1 0B 1 0 1 1 09 1 0 0 1 0D 1 1 0 1 0C 1 1 0 0 0E 1 1 1 0 06 0 1 1 0 表1 四相步進電動機勵磁工作方式示例

18、 (2)控制其轉(zhuǎn)動方向 控制其轉(zhuǎn)動方向,其實只需考慮在脈沖分配的過程中注意一定得順序即可解決。就四相步進電機而言,如果采用單四拍方式,其脈沖分配的方式和順序是A-B-C-D-A,為正轉(zhuǎn);則其反轉(zhuǎn)的脈沖分配方式和順序是D-C-B-A-D。如果采用單雙八拍方式,其反轉(zhuǎn)的脈沖分配方式和順序是D-DC-C-CB-B-BA-A-AD-D。 (3)控制其轉(zhuǎn)動速度 在脈沖分配的過程中,控制在每兩個相鄰脈沖輸出中的間隔時間即可解決速度問題。 圖5 單片機與步進電機的連接 步進電機的控制 步進電機的速度由單片機發(fā)送的脈沖頻率決定,

19、而脈沖頻率可以通過軟件延時和硬件定時兩種方式實現(xiàn)。通過調(diào)用標(biāo)準(zhǔn)延時子程序產(chǎn)生脈沖的方法稱軟件延時。 通過使用單片機的定時/計數(shù)器T0或T1,定時產(chǎn)生脈沖的方法稱為硬件定時,該法首先根據(jù)定時的時間長短設(shè)定定時器的工作模式,然后輸入定時器的定時常數(shù),則定時器就會定時溢出,單片機就會每溢出一次就產(chǎn)生一個脈沖信號控制步進電機轉(zhuǎn)動。 用定時中斷方式來控制電動機變速時,實際上是不斷改變定時器裝載值的大小。在程序中,每按一次加減速鍵,程序中speed都會加減1,最后通過查表的方法改變定時計數(shù)器初值,達(dá)到加減速的目的。 至于步進電機的正反轉(zhuǎn)則是公用一個鍵,按下轉(zhuǎn)動方向就相反,正反轉(zhuǎn)的實現(xiàn)是通過判斷20號

20、單元的第2位即20H.1是0還是1,若是0則去查反轉(zhuǎn)的表否則去查正轉(zhuǎn)的表,實行起來比較方便。 2.2.2.步進機的驅(qū)動電路 本系統(tǒng)采用額定電壓為5V,相數(shù)為4相的步進電機,驅(qū)動方式為4相8拍。一共有5跟線連接,其中紅色的為電源線。采用單極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機步進轉(zhuǎn)動。由于單片機P口輸出的電流比較弱不能驅(qū)動步進電機,所以要加一個ULN2003芯片來放大電流使之能驅(qū)動步進電機工作。步進電機驅(qū)動電路如下圖 圖6 步進機驅(qū)動電電路 由于驅(qū)動芯片ULN2003A本身就具有反相

21、器的作用,所以控制步進機的信號都經(jīng)過了反相器反相處理再接入ULN2003A。 2.3 主要接口電路 將設(shè)計的幾個模塊和8051單片機結(jié)合起來。 2.3.1步進機的驅(qū)動電路與8051的接口電路 圖7 步進機的驅(qū)動電路與8051的接口電路 2.3.2 模擬按鍵與8051的接口電路 在proteus軟件上對電路進行仿真,由于沒有適合的作為紅外發(fā)射和接收的芯片或元件,所以在仿真的時候?qū)⒓t外發(fā)射以及模塊等效為模擬按鍵模塊,其與8051芯片的接口電路如下: 圖8 模擬按鍵與8051的接口電路

22、 2.4 資源分配表和總圖 1. P3.0-P3.7輸出字形碼到LED數(shù)碼管,用于顯示對應(yīng)按下的鍵值。 2. P1.0-P1.4用于掃描模擬鍵盤所按下的按鍵。 3. :P2.0-P2.3是步進機控制脈沖輸出口,用于控制步進機的運動,實現(xiàn)正反轉(zhuǎn),加減速,單步,停止的目的。 4:對仿真總圖語言設(shè)計進行的標(biāo)注: 1) 步進機正轉(zhuǎn)表:07H,03h,0BH,09h,0DH,0ch,0EH,06h 2 )步進機反轉(zhuǎn)表:06H,0Eh,0CH,0Dh,09H,0Bh,03H,07h 3 )減速中斷計數(shù)初值表: TABLE1:DB 0C5H,8AH,3CH,15h

23、 TABLE2:DB 68H,0D0H,0B0H,0A0H 4)加速中斷計數(shù)初值表: TABLE3:DB 15H,3CH,8AH,0C5H TABLE4:DB 0A0H,0B0H,0D0H,68H 詳細(xì)接線見下面的總體硬件系統(tǒng)連接圖: 圖9 PROTEUS仿真總圖 3源程序設(shè)計 由于實物和仿真由于條件限制造成了源程序不同,所以下面給出了兩種源程序,仿真的源程序省略了紅外發(fā)射與接收并處理的程序,改成了對模擬鍵盤的掃描。 3.1實物源程序 ORG 0000H AJMP START

24、 ORG 0003H AJMP JIAN ORG 000BH AJMP loop4 ORG 001BH AJMP loop5 START: WAIT:JB P3.7, $ ;等待遙控信號出現(xiàn) SB:MOV R4,#8 ;8毫秒為高電平錯誤 SBA:MOV R5,#250 SBB:JB P3.7,SXB1 DJNZ R5,SBB DJNZ R4,SBA MOV R4,#2 JMP Q1 SXB1:MOV R5,#5 SXB2: ;去掉20US的尖峰干擾信號 JNB P3.7,SBB DJ

25、NZ R5,SXB2 JMP START SBC:MOV R5,#250 SB1:JB P3.7,SB2 ;2MS內(nèi)不為高電平錯誤 DJNZ R5,SB1 DJNZ R4,SBC JMP START SB2: ;去掉20US的尖峰干擾信號 MOV R5,#5 SB2_A:JNB P3.7,SB1 DJNZ R5,SB2_A MOV R4,#3 SB2_1:MOV R5,#250 SB3: ;監(jiān)測4.5MS高電平,如3MS內(nèi)出現(xiàn)低電平錯誤 JNB P3.7,SXC DJNZ R

26、5,SB3 DJNZ R4,SB2_1 MOV R4,#2 JMP SB3_1 SXC: ;去掉20US的尖峰干擾信號 MOV R5,#5 SXC1:JB P3.7,SB3 DJNZ R5,SXC1 JMP START SB3_1: ;監(jiān)測4.5MS高電平,如5MS內(nèi)不為低錯誤 MOV R5,#250 SB3_2:JNB P3.7,SB4 DJNZ R5,SB3_2 DJNZ R4,SB3_1 JMP START SB4: ;去掉20US的尖峰干

27、擾信號 MOV R5,#5 SB4_1:JB P3.7,SB3_2 DJNZ R5,SB4_1 MOV R1,#1AH ;設(shè)定1AH為起始RAM區(qū) MOV R2,#4 PP: MOV R3,#8 JJJJ:MOV R5,#250 JJJJ2: ;1MS內(nèi)不為低電平錯誤 JB P3.7,JJJJ3 DJNZ R5,JJJJ2 JMP START JJJJ3:LCALL YS1;高電平開始后用882微秒的時間尺去判斷信號此時的高低電平狀態(tài) MOV C,P3.7 ;將P3.7狀態(tài)0或1存入C中

28、 JNC UUU ;如果為0就跳轉(zhuǎn)到UUU MOV R5,#250 JJJJ4:JNB P3.7,UUU NOP DJNZ R5,JJJJ4 JMP START UUU: MOV A,@R1 ;將R1中地址的給A RRC A ;將C中的值移入A中的最低位 MOV @R1,A ;將A中的數(shù)暫存在R1中 DJNZ R3,JJJJ ;接收地址碼的高8位 INC R1 ;對R1加1,換成下一個RAM DJNZ R2,PP ;以下對代碼是否正確和定義進行識別 MOV A,1AH ;比較高

29、8位地址碼 XRL A,#00000000B ;判斷1AH的值是否等于00000000,相等的話A為0 JNZ EXIT ;如果不等解碼失敗退出 MOV A,1BH ;比較低8位地址 XRL A,#11111111B ;再判高8位地址是否正確 JNZ EXIT ;如果不相等說明解碼失敗退出 LCALL YS3 MOV A,1CH ;比較數(shù)據(jù)碼和數(shù)據(jù)反碼是否正確? CPL A XRL A,1DH ;將1CH的值取反后和1DH比較 不同則無效丟棄,核對數(shù)據(jù)是否準(zhǔn)確 JNZ EXIT ;如果不相等說明解碼失敗退出 LCALL YS3

30、 CLR P2.6 ;選中數(shù)碼管 CLR P3.3 ;解碼成功喇叭響? AJMP BIJIAO ;判斷在118毫秒內(nèi)是否有連發(fā)碼 AA: MOV R1,#25 XX: ACALL YS2 JNB P3.7,HH ;跳轉(zhuǎn)到HH DJNZ R1,XX EXIT: ;對所有端口清零 AJMP START ;連發(fā)碼判斷程序段----------- HH: MOV R6,#4 S: ACALL YS1 ;調(diào)用882微秒延時子程序 JB P3.7,EXIT ;延時882微秒后判斷P3.7腳是否出現(xiàn)高

31、電平如果有就退出解碼程序 DJNZ R6, S ;重復(fù)4次,目的是確認(rèn) JNB P3.7, $ ;等待高電? LCALL YS3 AJMP AA BIJIAO: MOV A,1CH ;紅外鍵值 ;-------------------------------------------- Q1: CJNE A,#10H,Q2 LOOP1:mov r3,#0ffh main1:inc r3 mov a,r3 mov dptr,#tab1 movc

32、a,@a+dptr mov p2,a lcall delay cjne a,#06h,main1 tab1:db 07H,03h,0BH,09h,0DH,0ch,0EH,06h Q2: CJNE A,#03H,Q3 ZHENGZHUAN: LOOP2:mov r3,#0ffh main2:inc r3 mov a,r3 mov dptr,#tab2 movc a,@a+dptr

33、 mov p2,a lcall delay cjne a,#06h,main2 ljmp LOOP2 tab2:db 07H,03h,0BH,09h,0DH,0ch,0EH,06h Q3: CJNE A, #01H,Q4 FANZHUAN: LOOP3:mov r3,#0ffh main3:inc r3 mov a,r3 mov dptr,#tab3 movc a,@a+dptr mov p2,a l

34、call delay cjne a,#06h,main3 ljmp LOOP3 ret tab3:db 07H,03h,0BH,09h,0DH,0ch,0EH,06h Q4: CJNE A, #06H,Q5 ZHONGSU1: CLR A MOV R7,#0 MAIN4:MOV TMOD,#01H MOV A,R7 MOV DPTR ,#TABLE1 MOVC A,@A+DPTR

35、 MOV R4,A MOV A,R7 MOV DPTR ,#TABLE2 MOVC A,@A+DPTR MOV R5,A MOV TH0,R4 MOV TL0,R5 SETB TR0 SETB EA SETB ET0 mov r3,#0ffh deng: CJNE R3,#08H,jiansu

36、 mov r3,#0ffh jiansu: MOV A,R7 MOV DPTR ,#TABLE1 MOVC A,@A+DPTR MOV R4,A MOV A,R7 MOV DPTR ,#TABLE2 MOVC A,@A+DPTR MOV R5,A sjmp deng loop4: MOV T

37、H0,R4 MOV TL0,R5 push acc main5:inc r3 mov a,r3 mov dptr,#tab4 movc a,@a+dptr mov p2,a pop a reti tab4:db 07H,03h,0BH,09h,0DH,0ch,0EH,06h Q5: CJNE A,#09H,Q6 ZHON

38、GSU2: CLR A MOV R7,#0 MAIN6:MOV TMOD,#10H MOV A,R7 MOV DPTR ,#TABLE3 MOVC A,@A+DPTR MOV R4,A MOV A,R7 MOV DPTR ,#TABLE4 MOVC A,@A+DPTR MOV R5,A MOV

39、 TH1,R4 MOV TL1,R5 SETB TR1 SETB EA SETB ET1 mov r3,#0ffh de:CJNE R3,#08H,jiasu mov r3,#0ffh jiasu: MOV A,R7 MOV DPTR ,#TABLE3 MOVC A,@A+DPTR MOV R4,A

40、 MOV A,R7 MOV DPTR ,#TABLE4 MOVC A,@A+DPTR MOV R5,A sjmp de loop5: MOV TH1,R4 MOV TL1,R5 push acc main7:inc r3 mov a,r3 mov dptr,#tab5 movc a,@a+dp

41、tr mov p2,a pop a reti tab5:db 07H,03h,0BH,09h,0DH,0ch,0EH,06h Q6:CJNE A,#1dh,Q7 CLR P3.2 Q7: ajmp start JIAN: INC R7 CJNE R7,#04H,CHONG MOV R7,#00h CHONG:RETI delay:mov r5,#255 d1:mov r2,#25 d2:djnz r2,d2

42、djnz r5,d1 ret YS1: MOV R4,#20 ;延時子程序1, 882微秒 D9: MOV R5,#20 DJNZ R5,$ DJNZ R4,D9 RET YS2: MOV R4,#10 ;延時子程序2, 4740微秒 D8: MOV R5,#235 DJNZ R5,$ DJNZ R4,D8 RET YS3: MOV R4,#2 ;延時程序3, 1000微秒 D7:MOV R5,#248 DJNZ R5,$

43、DJNZ R4,D7 RET TABLE1:DB 0C5H,8AH,3CH,15h TABLE2:DB 68H,0D0H,0B0H,0A0H TABLE3:DB 15H,3CH,8AH,0C5H TABLE4:DB 0A0H,0B0H,0D0H,68H end 3.2 仿真源程序 ORG 0000H AJMP START ORG 0003H AJMP JIAN ORG 000BH AJMP loop4 ORG 001BH AJMP loop5 START:MOV P1,#0FFH SETB IT0

44、 SETB EX0 SETB EA JIANCE:MOV A,P1 CJNE A,#0FFH,Q1 AJMP JIANCE Q1: cjne A,#0FEH,Q2 LOOP1:mov r3,#0ffh main1:inc r3 mov a,r3 mov dptr,#tab1 movc a,@a+dptr mov p2,a lcall delay

45、 cjne a,#06h,main1 tab1:db 07H,03h,0BH,09h,0DH,0ch,0EH,06h Q2: cjne a,#0FDH,Q3 ZHENGZHUAN: LOOP2:mov r3,#0ffh main2:inc r3 mov a,r3 mov dptr,#tab2 movc a,@a+dptr mov p2,a lcall delay cjne a,#06h,main2 ljmp LOOP2 tab2:03h

46、,09h,0ch,06h Q3: cjne a,#0FBH,Q4 FANZHUAN: LOOP3:mov r3,#0ffh main3:inc r3 mov a,r3 mov dptr,#tab3 movc a,@a+dptr mov p2,a lcall delay cjne a,#06h,main3 ljmp LOOP3 ret tab3:db 0ch,09h,03h,06h Q4: CJ

47、NE A,#0F7H,Q5 YUANSU1: CLR A MOV R7,#0 MAIN4:MOV TMOD,#01H MOV A,R7 MOV DPTR ,#TABLE1 MOVC A,@A+DPTR MOV R4,A MOV A,R7 MOV DPTR ,#TABLE2 MOVC A,@A+DPTR MOV R5,A

48、 MOV TH0,R4 MOV TL0,R5 SETB TR0 SETB EA SETB ET0 mov r3,#0ffh deng: CJNE R3,#08H,jiansu mov r3,#0ffh jiansu: MOV A,R7 MOV DPTR ,#TABLE1 MOVC A,@A+DPTR

49、 MOV R4,A MOV A,R7 MOV DPTR ,#TABLE2 MOVC A,@A+DPTR MOV R5,A sjmp deng loop4: MOV TH0,R4 MOV TL0,R5 push acc main5:inc r3 mov a,r3 mov dptr,#tab4

50、 movc a,@a+dptr mov p2,a pop a reti tab4:db 07H,03h,0BH,09h,0DH,0ch,0EH,06h Q5: CJNE A,#0EFH,Q6 YUANSU2: CLR A MOV R7,#0 MAIN6:MOV TMOD,#10H MOV A,R7 MOV DPTR ,#TABLE3 MOVC

51、A,@A+DPTR MOV R4,A MOV A,R7 MOV DPTR ,#TABLE4 MOVC A,@A+DPTR MOV R5,A MOV TH1,R4 MOV TL1,R5 SETB TR1 SETB EA SETB ET1 mov r3,#0ffh de:CJNE R3,#08

52、H,jiasu mov r3,#0ffh jiasu: MOV A,R7 MOV DPTR ,#TABLE3 MOVC A,@A+DPTR MOV R4,A MOV A,R7 MOV DPTR ,#TABLE4 MOVC A,@A+DPTR MOV R5,A sjmp de loop5:

53、 MOV TH1,R4 MOV TL1,R5 push acc main7:inc r3 mov a,r3 mov dptr,#tab5 movc a,@a+dptr mov p2,a pop a reti tab5:db 07H,03h,0BH,09h,0DH,0ch,0EH,06h Q6:ajmp start IAN: INC R7 CJ

54、NE R7,#04H,CHONG MOV R7,#00h CHONG:RETI delay:mov r5,#255 d1:mov r2,#25 d2:djnz r2,d2 djnz r5,d1 ret TABLE1:DB 0C5H,8AH,3CH,15h TABLE2:DB 68H,0D0H,0B0H,0A0H TABLE3:DB 15H,3CH,8AH,0C5H TABLE4:DB 0A0H,0B0H,0D0H,68H end 4 仿真結(jié)果與分析 仿真結(jié)果如下: 1

55、啟動狀態(tài),數(shù)碼管顯示0,8051無工作,示波器無波形: 圖10 啟動狀態(tài) 2 單步執(zhí)行,數(shù)碼管顯示1,系統(tǒng)開始工作,步進機轉(zhuǎn)動一定角度然后停止,示波器顯示波形如下: 圖11 單步狀態(tài) 3 正轉(zhuǎn)(連續(xù)),數(shù)碼管顯示2,步進機不停地以恒定的速度逆時針(以逆時針為正轉(zhuǎn))轉(zhuǎn)動,示波器波形如下: 圖12 正轉(zhuǎn)(連續(xù))狀態(tài) 4反轉(zhuǎn)(連續(xù)),數(shù)碼管顯示3,步進機不停地以恒定的速度順時針(以順時針

56、為反轉(zhuǎn))轉(zhuǎn)動,示波器波形如下: 圖13 反轉(zhuǎn)(連續(xù))狀態(tài) 做完了反轉(zhuǎn)然后就是加速控制,由于需要外部中斷0來控制加速的進程,所以必須利用僅剩的P3口,即必須省去數(shù)碼管顯示部分。 5減速(正轉(zhuǎn),連續(xù)),通過不斷的按下P3口接部中斷的按鍵來實現(xiàn)不斷的減速并循環(huán)。 圖14 減速狀態(tài)對照表 6 加速(正轉(zhuǎn),連續(xù))原理同加速,略。 仿真過程問題與分析 在仿真過程中,本人遇到了很多次困難,舉例如下: 1 端口資源分配,8051的四個P端口都被利用了,最后為了設(shè)置外

57、部中斷0,不得不取消了數(shù)碼管顯示功能。 2 步進機轉(zhuǎn)表問題,實現(xiàn)正轉(zhuǎn)和反轉(zhuǎn)對應(yīng)的轉(zhuǎn)表不是直接相反的。 3 加速與減速設(shè)計時候的定時中斷與中斷程序的銜接要好。 4 中斷表(計數(shù)初值表),步進機轉(zhuǎn)表兩概念不要混淆。 通過對上述截圖的觀察可以得到結(jié)論:仿真完全符合設(shè)計要求。 5 心得體會 6參考文獻 [1]李群芳。單片微型計算機與接口技術(shù)。北京:電子工業(yè)出版社,2008.5 [2]胡漢才。單片機原理及系統(tǒng)設(shè)計。北京:清

58、華大學(xué)出版社,2002 [3]王曉明。電動機的單片機控制。北京:北京航天航空大學(xué)出版社,2002 [4]汪道輝。單片機系統(tǒng)設(shè)計與實踐。 北京:電子工業(yè)出版社 ,2006 本科生課程設(shè)計成績評定表 姓 名 楊飛 性 別 男 專業(yè)、班級 電子信息工程0804班 課程設(shè)計題目: 設(shè)計并實現(xiàn)紅外遙控步進機 課程設(shè)計答辯或質(zhì)疑記錄: 成績評定依據(jù): 最終評定成績(以優(yōu)、良、中、及格、不及格評定) 指導(dǎo)教師簽字: 年 月 日 - 32 -

展開閱讀全文
溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲