步進電機控制與轉(zhuǎn)速檢測系統(tǒng)設(shè)計
SHANDONG畢業(yè)設(shè)計說明書步進電機控制與轉(zhuǎn)速檢測系統(tǒng)設(shè)計學(xué) 院: 電氣與電子工程學(xué)院 專 業(yè): 自動化 學(xué)生姓名: 陳建建 學(xué) 號: 0812104019 指導(dǎo)教師: 解紅軍 2012 年 6月摘 要摘 要本設(shè)計主要介紹了步進電機控制與轉(zhuǎn)速檢測系統(tǒng)通過單片機來實現(xiàn)的方法。全文主要分為原理介紹,硬件設(shè)計,軟件設(shè)計。其中硬件電路包括:L298N驅(qū)動的步進電機的控制系統(tǒng)的設(shè)計、鍵盤按鈕電路的設(shè)計、顯示電路的設(shè)計、轉(zhuǎn)速檢測電路的設(shè)計、電源模塊的設(shè)計等。軟件包括:系統(tǒng)初始化及主程序的模塊設(shè)計 、顯示程序和鍵盤程序的模塊設(shè)計、中斷處理、定時器處理程序的模塊設(shè)計等控制模塊由鍵盤輸入啟動、正轉(zhuǎn)、反轉(zhuǎn)、加速、減速、停止等信號,經(jīng)過單片機處理再接L298N驅(qū)動步進電機實現(xiàn)相關(guān)功能。電機的運行狀態(tài)經(jīng)光電編碼器轉(zhuǎn)換為脈沖信號再放大輸入到單片機經(jīng)單片機處理再通過LED顯示器顯示轉(zhuǎn)速、狀態(tài)等。本文在設(shè)計過程是按照原理介紹,硬件設(shè)計,軟件設(shè)計的順序進行逐步的論證選擇設(shè)計的。關(guān)鍵詞:步進電機,單片機,控制系統(tǒng),硬件,軟件- 26 -AbstractAbstractThis design introduces the stepper motor control and speed detection system, microcontroller finished.the full text is divided into principle, hardware design, software design. Hardware circuit including: L298N driven stepper motor control system design, circuit design of the keyboard button, the display circuit design, the design of the speed detection circuit, power supply module design. Software includes: system initialization and the main program module design, showing the modular design of the program and keyboard procedures, interrupt handling, the modular design of the timer handler The control module consists of a keyboard input, start, forward, reverse, speed up, slow down, stop, etc. signal followed L298N drive a stepper motor microcontroller-processing for the relevant functions. The motor running state conversion by the optical encoder for the re-amplification of the pulse signal input to the microcontroller via the microcontroller processing through the LED display shows speed, status, etc. In the design process in accordance with the principle, hardware design, software design sequence step-by-step demonstration of the selection of design.Keywords:Stepper motor,Microcontroller,Control system,Hardware software目 錄目 錄摘 要IAbstract(英文摘要)II目 錄III第一章 概 述11.1 引 言11.2 設(shè)計任務(wù)11.2.1 課題的目的和要求11.2.2 主要設(shè)計內(nèi)容21.2.3 主要設(shè)計技術(shù)指標與參數(shù)2第二章 步進電機原理特點及控制技術(shù)42.1 步進電機原理42.2 步進電機控制技術(shù)42.3 步進電機的特點7第三章 方案論證93.1 顯示電路的方案論證93.2 主控制器的選擇93.3 鍵盤電路的方案論證103.3.1 獨立按鍵式非編碼鍵盤103.3.2 矩陣鍵盤103.4 步進電機控制模塊選擇123.5 確定設(shè)計的總體方案13第四章 硬件設(shè)計154.1 最小系統(tǒng)154.1.1 復(fù)位電路:154.1.2 時鐘電路:164.2 驅(qū)動電路174.3 測速模塊184.3.1 反相器74LS14的作用184.3.2 光電編碼器184.4 濾波電路194.5 顯示電路204.6 鍵盤電路214.7 電源電路224.8 整體電路23第五章 軟件設(shè)計255.1 主程序設(shè)計255.2 轉(zhuǎn)向控制275.3 轉(zhuǎn)速控制275.4 PID 控制原理程序流程28總 結(jié)30參考文獻31致 謝31附 錄A32部分程序32附 錄B PID控制算法36一、 創(chuàng)建系統(tǒng)數(shù)學(xué)模型36二、 位置式數(shù)字PID算法36附 錄C 整機圖38第一章 概述第一章 概 述1.1 引 言近年來,電子技術(shù)和微型計算機的不斷發(fā)展帶動了步進電機的飛速發(fā)展。在自動控制系統(tǒng)中,一般要有將數(shù)字信號轉(zhuǎn)換為角位移或線位移的電磁裝置,步進電機的工作特點恰好符合此要求??刂葡到y(tǒng)對步進電機的控制通過步進電機驅(qū)動器來完成。因此它已經(jīng)被廣泛的應(yīng)用于自動控制系統(tǒng)中作為執(zhí)行元件。原來的步進電機控制系統(tǒng)采用分立元件或者集成電路組成的控制回路,不僅調(diào)試安裝復(fù)雜,要消耗大量元器件,實現(xiàn)起來成本高、費時多,而且一旦定型后,電路就很難改動,因此不得不完全重新設(shè)計控制器。自六十年代初期以來,單片機技術(shù)的快速發(fā)展,單片機在各種電子產(chǎn)品中的應(yīng)用日趨廣泛,促使步進電機的應(yīng)用得到很大的提高步進電機是通過將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制工作元件。在正常的工作的前提條件下,電機的轉(zhuǎn)速控制、起停,取決于脈沖發(fā)送信號的頻率和脈沖數(shù)目,而不能隨負載變化的而受到影響,即也就是給電機加上一個脈沖信號,則電機會轉(zhuǎn)過一個一定的步距角。由這一線性關(guān)系的存在,再加上步進電機只能有周期性的誤差而沒有累積誤差的特點。步進電機使得在速度、位置等自動控制領(lǐng)域的控制變的很的簡單。步進電機是通過調(diào)節(jié)輸入步進電機的脈沖的頻率來實現(xiàn)步進電機對速度的控制,因為步進電機每接收一個脈沖就轉(zhuǎn)動一個固定的角度,這樣就能夠通過控制步進電機的一個脈沖到下一個脈沖連個脈沖的時間間隔來改變脈沖的頻率,延時的長短來具體控制步進角的大小來改變步進電機的轉(zhuǎn)速,從而實對現(xiàn)步進電機調(diào)速的控制。1.2 設(shè)計任務(wù)1.2.1 課題的目的和要求1利用單片機檢測出步進電機的轉(zhuǎn)速,控制步進電機正轉(zhuǎn),反轉(zhuǎn),加速減速目的。2.比較全面理解和掌握單片機的原理與應(yīng)用。利用所學(xué)的電子技術(shù)課程設(shè)計信號的放大回路, 利用所學(xué)的電子檢測課程設(shè)計溫度檢測回路。3通過設(shè)計進一步鞏固和深化所學(xué)理論知識,提高分析問題、解決問題的能力,掌握電路實驗的基本技能和方法。4掌握電子產(chǎn)品從設(shè)計,制定方案,元件購買,檢測,外協(xié)加工,裝配到成品的全部生產(chǎn)過程。5熟練掌握萬用表、示波器及單片機仿真軟件的使用。6熟練掌握電路原理圖的繪制,印刷電路板的制作。1.2.2 主要設(shè)計內(nèi)容1、步進電機控制與轉(zhuǎn)速檢測系統(tǒng)的硬件設(shè)計本系統(tǒng)是以89C52為核心,構(gòu)成一個轉(zhuǎn)速檢測,顯示系統(tǒng)(1)對轉(zhuǎn)速傳感器輸出信號放大電路的設(shè)計(2)顯示和鍵盤電路的硬件設(shè)計(3)模數(shù)轉(zhuǎn)換電路的硬件設(shè)計(4)電源電路的硬件設(shè)計2、步進電機控制與轉(zhuǎn)速檢測系統(tǒng)的軟件設(shè)計(1)系統(tǒng)初始化及主程序的模塊設(shè)計(2)顯示程序和鍵盤程序的模塊設(shè)計(3)中斷處理,定時器處理程序的模塊設(shè)計(4)模數(shù)轉(zhuǎn)換處理程序的模塊設(shè)計1.2.3 主要設(shè)計技術(shù)指標與參數(shù)轉(zhuǎn)速測量范圍 : 0-1800轉(zhuǎn)轉(zhuǎn)速測量精度 : 0.5級具有步進電機控制與轉(zhuǎn)速的檢測,顯示功能。具有控制步進電機正轉(zhuǎn),反轉(zhuǎn),加速減速功能。第二章 步進電機原理特點及控制技術(shù)第二章 步進電機原理特點及控制技術(shù)2.1 步進電機原理步進電機是通過用電脈沖信號進行正反轉(zhuǎn),加減速控制,并將電脈沖信號轉(zhuǎn)換成相應(yīng)的角位移或線位移的控制電動機。說通俗點,就是接收一個電脈沖,步進電機就會轉(zhuǎn)動一個固定角度或者前進一步,因此,步進電機也可以叫做脈沖電動機。步進電機與其他控制類的電機的最區(qū)別是,它是通過輸入的脈沖信號來進行各項的控制,也就是說電機的總轉(zhuǎn)動角度或者角位移是由輸入的脈沖數(shù)目決定的,而電機的轉(zhuǎn)速是由脈沖信號的頻率的高低來決定的。步進電機是通過輸入的脈沖信號來控制的,它可以把脈沖信號變成角位移或者線位移,所以它可以通過單片機來控制,而且其兼容性也非常好。步進電機的角位移或線位移量的大小與電脈沖的個數(shù)成正比,而它的轉(zhuǎn)速或線速度的大小與電脈沖頻率成正比。在正常工作范圍內(nèi)這些關(guān)系會保持穩(wěn)定而不會因負載大小、電源電壓、環(huán)境條件的等的波動而變化。通過改變接收的脈沖頻率的高低,順序,可以實現(xiàn)步進電機的大范圍的調(diào)速,并能使電機快速啟動,制動和反轉(zhuǎn)。一般情況下電機的轉(zhuǎn)子是永磁體構(gòu)成的,當(dāng)電流通過定子繞組時定子會產(chǎn)生一個矢量磁場,轉(zhuǎn)子在磁場的作用下會旋轉(zhuǎn)一個固定的角度,使得轉(zhuǎn)子與定子的磁場方向保持一致。接著當(dāng)定子的矢量磁場再旋轉(zhuǎn)一個角度。轉(zhuǎn)子也會隨著該磁場旋轉(zhuǎn)這個角度。所以電機沒接收到一個電脈沖,電動機就會旋轉(zhuǎn)一個固定角度向前進一步。電機的輸出角位移大小與輸入得到脈沖個數(shù)成正比關(guān)系。如果改變繞組通電的先后順序,電機就會反向旋轉(zhuǎn)。因此可以控制輸入脈沖數(shù)量、頻率高低以及電動機各相繞組的通電先后順序來控制步進電機的轉(zhuǎn)動的旋轉(zhuǎn)角度,轉(zhuǎn)速,以及正反轉(zhuǎn)。2.2 步進電機控制技術(shù)步進電動機是一種可以把電脈沖信號轉(zhuǎn)換成相應(yīng)角位移或線位移的控制電動機,它的正常工作需要一個專門的驅(qū)動電源,驅(qū)動電源的輸出信號跟隨外部的脈沖信號變化。每接收一個脈沖信號都可使步進電機旋轉(zhuǎn)一個固定的角度,這個角度就稱為步距角。接收的脈沖的總數(shù)量決定了電機旋轉(zhuǎn)的總角度,脈沖的頻率的高低決定了電動機旋轉(zhuǎn)的速度,改變繞組的通電先后順序可以改變電機旋轉(zhuǎn)的方向。也就是說步進電機是一電脈沖信號轉(zhuǎn)變成線位移或者角位移的電執(zhí)行元件但是他不能直接接到交流電源上,必須要用專門的驅(qū)動電源即步進電機控制驅(qū)動器。典型的步進電機控制系統(tǒng)步進電機控制驅(qū)動器可以發(fā)出連續(xù)的脈沖頻率,一般從幾赫茲到幾千赫茲內(nèi)連續(xù)變化,步進電機從結(jié)構(gòu)上可分為三相單三拍、三相雙三拍和三相六拍3種,其基本原理如下:1、換相順序的控制步進電機通電后換相的這一個過程叫做脈沖分配。例如,三相步進電機在單三拍下工作時,他的各相通電先后順序為ABCA,步進電機輸入電控制脈沖的時候必須要嚴格按照這一順序分別控制A、B、C各相的通斷。三相雙三拍步進電機通電順序為ABBCCAAB,三相六拍步進電機的通電順序為AABBBCCCAA,步進電機通電控制脈沖的時候就必須要按照這一順序來控制A,B,C各相的通斷,否則步進電機就不能正常運轉(zhuǎn)。2、步進電機的換向控制在步進電機轉(zhuǎn)動的正常運轉(zhuǎn)過程中通過改變脈沖的先后順序,也就是改變勵磁繞組的通電先后順序來改變電機的正反轉(zhuǎn)。假如給定的電機工作方式為正序換相時電,電機就會正轉(zhuǎn)。若步進電機為三相六拍的的勵磁方式的勵磁方式,則正序順序的序為AABBBCCCAA。如果通過反序通電順序換向,則AACCCBBBAA,則電機就反轉(zhuǎn)。類比可得到其他情況。3、步進電機的起??刂朴捎诓竭M電機的電氣特性愿意,電機運轉(zhuǎn)時會有步進感,及振動。所以為了要使電機運行能夠平滑,并且減小振動,可以在步進電機的控制脈沖的上升沿和下降沿處應(yīng)用用細分的梯形波,用來縮小步進電機的步進角,從而提高電機運行的平穩(wěn)性。而在步進電機停止轉(zhuǎn)動時,為了預(yù)防慣性原因電機軸產(chǎn)生的順滑,則需要采用合適電流,產(chǎn)生能夠鎖定的波形,從而產(chǎn)生鎖定磁力矩,進而能夠鎖定步進電機的轉(zhuǎn)軸,從而使步進電機轉(zhuǎn)軸不能自由隨意的轉(zhuǎn)動。4、步進電機的加減速控制如果給步進電機傳送一個控制脈沖,步進電機就會運轉(zhuǎn)一步,再發(fā)一個脈沖,它就會再轉(zhuǎn)一步。因此兩個脈沖的間隔越短,步進電機就會運轉(zhuǎn)得越快。,所以可以通過改變輸入步進電機上一個脈沖到下一個脈沖的時間間隔長短來改變脈沖的頻率,改變延時的長短,從而控制電機的轉(zhuǎn)速,進而實現(xiàn)對步進電機加減速度的控制。具體的控制可以通過軟件實現(xiàn)。也就是說需要通過單片機來實現(xiàn)對步進電機的加速減速控制,通過分析原理也就是改變改變輸出脈沖的時間間隔長短。單片機可以通過軟件和硬件來實現(xiàn)對步進電機的加減速度的控制。軟件法,主要是編寫延遲程序來改變脈沖的頻率,其中延遲的長短是動態(tài)的,軟件法在控制電機時要不斷的產(chǎn)生對步進電機控制的脈沖,占用了大量的CPU,使單片機沒有足夠的空間進行其他工作;硬件法一般是依靠單片機的內(nèi)部定時器控制脈沖完成速度的控制,在進入中斷以后,改變內(nèi)部定時常數(shù),使得加速的時候脈沖頻率能夠不斷增大,減速的時候脈沖頻率能不斷減小,這種方法對CPU的占用比較小,在單片機中比較實用,能完成多種控制,一般采用這種方法調(diào)速在步進電機的控制過程中,在試驗中可以發(fā)現(xiàn),假如信號變換的比較快,步進電機會由于慣性的原因跟不上信號的變換,就會產(chǎn)生堵轉(zhuǎn)和失步的現(xiàn)象。步進電機啟動時,會有加速過程中,再停止的時候,會有減速的過程。不考了誤差的影響理想情況下加速曲線為指數(shù)曲線。再就是步進電機減速過程應(yīng)該是加速過程的一個逆變換。所以要選擇符合步進電機升降過程規(guī)律的曲線,能夠發(fā)揮步進電機的優(yōu)點利用他的有效轉(zhuǎn)矩,相應(yīng)快速,大大縮短升降占用的時間,還能有效防止失步和過沖現(xiàn)象的發(fā)生。在控制系統(tǒng)中要根據(jù)時間負載情況來選擇哪種步進電機。啟動頻率是步進電機能正常工作而且不失步的最高步進頻率,停止頻率是系統(tǒng)控制的信號突然停止的情況下步進電機正常停止且不沖過目標位置的最高步進頻率。步進電機的啟動頻率,停止頻率和和輸出轉(zhuǎn)矩都要和負載的轉(zhuǎn)動慣量相適應(yīng),通過這些量,才能對步進電機進行有效的加速減速控制。一般情況下步進電機最高啟動頻率為0.1KHZ4KHZ,而且步進電機最高運行頻率能夠達到n*102KHZ,但是如果以超過了最高頻率的頻率直接啟動的步進電機的話就會產(chǎn)生堵轉(zhuǎn)和失步的現(xiàn)象。f/Hzfa fb0t/s圖2-1 步進電機運行過程中頻率變化曲線2.3 步進電機的特點步進電機的角位移或線位移與輸入脈沖數(shù)目成正比,因此當(dāng)它轉(zhuǎn)一轉(zhuǎn)后,沒有累計誤差,具有非常好的跟隨性。由步進電機和驅(qū)動電路一起組成的開環(huán)數(shù)控系統(tǒng),不僅方便、廉價,而且非??煽?。而且他還可以通過反饋環(huán)節(jié)形成穩(wěn)定的閉壞控制系統(tǒng),使系統(tǒng)更加穩(wěn)定,便于控制。步進電機所具有的靈活性使得其動態(tài)響應(yīng)快,易于啟停、正轉(zhuǎn)反轉(zhuǎn)以及進行加速減速度的控制。步進電機速度能夠在很大的范圍內(nèi)平滑調(diào)節(jié),在速度比較低的情況下仍能得到很大的轉(zhuǎn)矩,因此,步進電機一般不會用減速器而是直接驅(qū)動負載。步進電機對電源的要求比較高,而且只能通過脈沖電源供電,不能直接接到交流電源或直流電源上供電。步進電機自身的噪聲和振動比較大,帶慣性負載的能力強。第三章 方案論證第三章 方案論證3.1 顯示電路的方案論證1、采用LCD顯示器LCD就是液晶顯示器,其顯示效果細致,工作穩(wěn)定,廣泛應(yīng)用于各種產(chǎn)品的顯示中。但是其價格比較貴,而且本設(shè)計用LCD過于浪費,根本用不了這么多功能,綜合考慮不適合應(yīng)用與此設(shè)計中。2、采用LED顯示器件采用LED顯示器件,顯示平穩(wěn)、省電、美觀,更容易實現(xiàn)題目要求,對后續(xù)的功能兼容性高,只需將軟件做修改即可,可操作性強,也易于讀數(shù)。綜上所述,本設(shè)計選用LED顯示器件。3.2 主控制器的選擇方案一: 采用可編程邏輯器件CPLD作為主控器,對旋轉(zhuǎn)編碼器接收到信號生成的電信號進行處理與計算,然后經(jīng)過LED數(shù)碼管顯示出來。因為CPLD能夠完成各種復(fù)雜的邏輯功能而且規(guī)模大、穩(wěn)定性高、I O 資源豐富、體積小、密度高、易于進行功能擴展。CPLD采用并行的方式進行輸入輸出,使系統(tǒng)的處理速度大大的提高,更能適合作為控制系統(tǒng)的控制核心。但是分析本設(shè)計系統(tǒng)知道系統(tǒng)不需要各種復(fù)雜的邏輯功能,對接收的數(shù)據(jù)處理速度要求也不是很高,所以從經(jīng)濟實用的角度和設(shè)計要求方面考慮不使用此方案。方案二:選用AT89C52單片機來作為主控制器把采集和接收到的信號進行處理然后再輸出到4位LED數(shù)碼管進行顯示。AT89C52是一個功能消耗低, 字長為8 位的單片機。它一般由片內(nèi)8KB的ROM 、片內(nèi)256B的RAM、中央處理器、一個全雙工的串行口、三個1 6 位的定時計數(shù)器、四個8 位的I / O 口(P 0 、P 1 、P 2 、P 3 )、八個中斷源以及時鐘等組成。它的優(yōu)點有重量輕,體積小,對環(huán)境的要求不高, 抗干擾的能力強,價格低廉,可靠性比較高,靈活性好。 綜上所述,選用單片機控制。系統(tǒng)方框圖單片機控制方框圖如下:89C52單片機復(fù)位電路及時鐘電路鍵盤控制電路L298N啟動電路步進電機狀態(tài)顯示電路電源電路圖3-1 總體設(shè)計方框圖3.3 鍵盤電路的方案論證 3.3.1 獨立按鍵式非編碼鍵盤此種方式中各個按鍵相互獨立,每個按鍵會占用一根I/O端口線,每根I/O端口線上按鍵的工作狀態(tài)不會對其他I/O端口線上的工作狀態(tài)產(chǎn)生影響。所以,可以通過檢測輸入端線的電平狀態(tài)來進行判斷是哪個鍵按下了。這種結(jié)構(gòu)的鍵盤電路具有配置靈活,軟件結(jié)構(gòu)簡單的優(yōu)點,但是每個按鍵都會占用一個I/O端口,所以在按鍵數(shù)目較多時,需要較多的輸入口端線且電路結(jié)構(gòu)變得比較復(fù)雜,故這種鍵盤一般用于按鍵次數(shù)較少或操作速度較高的情況。獨立式按鍵電路按鍵直接與單片機的I/O線相接,單片機通過程序?qū)υ摱丝谶M行查詢。當(dāng)按下某鍵時,對應(yīng)口線電平會變化,單片機會立刻判斷是哪個鍵按下,即可識別出按下的鍵盤。3.3.2 矩陣鍵盤在矩陣按鍵開關(guān)中,通常將按鍵排列成矩陣形式,每一條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。矩陣鍵盤的工作原理是按鍵設(shè)定在行線和列線交點上,行線列線分別連接到按鍵開關(guān)的兩端。行線通過上拉電阻連接到+5V電源上。常態(tài)下無按鍵按下時,行線處于高電平狀態(tài),而當(dāng)有鍵按下時行線狀態(tài)將由與此電平相連的列線電平?jīng)Q定。列線電平如果為低,則行線電平為低;列線電平為高,則行線電平為高。這是識別矩陣鍵盤是否被按下的關(guān)鍵所在。由于矩陣鍵盤中行列線多鍵共用,各鍵均影響該鍵所在的行和列的電平,因此各鍵將彼此相互影響。所以必須將行列線信號配合起來并作適當(dāng)處理,才能決定閉合鍵位置。通過行列顛倒掃描來識別閉合鍵。在掃描每一行時,讀列線;然后依次向列線掃描輸出,讀行線。此種設(shè)計需要提供兩個可編程的雙向輸入/輸出端口。這樣一個端口就可以構(gòu)成4*4=16個按鍵,比直接將按鍵線接入輸入端口多出了一倍的容量,而且線數(shù)越多,區(qū)別越明顯。因此應(yīng)用最廣泛的是用R+L條口線來完成RL個按鍵的掃描鍵盤。和線性鍵盤進行比較,掃描鍵盤大大提高了對I/O口線的利用率,在某種程度上把I/O口線引腳短缺的重要問題解決了,但是他一直具有的在實現(xiàn)方案上的缺點是要MPU通過其相對應(yīng)的掃描控制程序來進行配合的缺點。進行響應(yīng)輸入,系統(tǒng)實際上是在一種叫做循環(huán)查詢的模式下進行工作,這樣下來不僅把MPU處理時間來占用了,而且還增加了本系統(tǒng)的功能消耗。這樣在一些要進行任務(wù)量大的處理過程中、對功能消耗又要求嚴格的控制系統(tǒng)中,這是不能進行的。一、可知通用的鍵盤的接口芯片(比如8279、HD7279A)功能消耗非常大,靈活性也比較差;二、在速度、功耗和規(guī)模等優(yōu)良性能方面可編程的邏輯器件已遠遠超出了通用的邏輯芯片。對于矩陣式鍵盤,按鍵的位置有行號和列號唯一決定,所以分別對行號和列號進行二位制編碼,所以將兩值合成一個字節(jié),高四位是行號,低四位是列號。但這種編碼對于不同行的鍵,離散型大,并且的復(fù)雜度與鍵盤的個數(shù)成正比,因此不適合用在輸入量小的設(shè)計中。所以采用矩陣式鍵盤接口技術(shù),該方法結(jié)構(gòu)相對比較復(fù)雜,占用資源少,通常用在按鍵數(shù)量較多的場合。因為本設(shè)計用到鍵盤相對較少,所以用獨立式鍵盤。3.4 步進電機控制模塊選擇 圖3-2 步進電機驅(qū)動器系統(tǒng)電路原理圖AT89C52將控制脈沖信號通過P1口的P1.4P1.7輸出,經(jīng)74LS14反相后輸入到晶體三極管,經(jīng)晶體三極管得到信號放大后輸入光電開關(guān)進行控制,但經(jīng)過光電隔離之后,經(jīng)過功率管TIP122會把脈沖信號的電壓和電流進行放大,然后再驅(qū)動步進電機的各相勵磁繞組。從而使步進電機可以跟著不同的脈沖信號分別進行正轉(zhuǎn)、反轉(zhuǎn)、加速、減速和停止、啟動等動作。L298N是專用驅(qū)動集成電路,屬于H橋集成電路,與L293D的差別是其輸出電流增大,功率增強。其持續(xù)工作電流為2A,峰值電流3A,最高的工作電壓可達到46V,能夠驅(qū)動的感性負載有,步進電機,大功率直流電機,電磁閥等等,主要的是它的輸入端能夠與單片從而方便的直接相聯(lián),從而很方便地受單片機控制。當(dāng)驅(qū)動直流電機時,可以直接控制兩路電機,并可以實現(xiàn)電機正轉(zhuǎn)與反轉(zhuǎn),加減速,啟動停止,實現(xiàn)此功能只需改變輸入端的邏輯電平。 本模塊具有體積小,控制方便的優(yōu)點。采用此模塊定會使您的電機控制自如,可以應(yīng)對需要大功率直流電機的題目。 同時,我們提供帶有光耦隔離的驅(qū)動模塊,利用這個模塊可以把單片機電源與直流電機電源隔離開,從而可以避免直流電機對單片機的干擾,適合要求較高的控制及AD采樣場合。綜上所述,本設(shè)計采用L298N芯片驅(qū)動3.5 確定設(shè)計的總體方案通過分析系統(tǒng)設(shè)計的要求,可以選用三相三拍步進電機,單片機選用AT89C52作為控制器。選取用74LS248來驅(qū)動顯示電路。選用L298N作為步進電機的驅(qū)動元件來驅(qū)動步進電機完成電機的運轉(zhuǎn)。選用光電編碼器作為步進電機的回饋元器件把的到的信號放大后送到單片機然后經(jīng)顯示電路顯示出電機運行的相關(guān)信息。通過分析該設(shè)計系統(tǒng)的規(guī)定要求可得到,本設(shè)計系統(tǒng)的輸入量為電機的速度和轉(zhuǎn)動方向。圖3-3 步進電機工作時序波形圖系統(tǒng)原理框圖如下圖所示:AT89C52單片機復(fù)位電路鍵盤控制電路L298N啟動電路步進電機狀態(tài)顯示電路電源及時鐘電路圖3-4 系統(tǒng)原理框圖第四章 硬件設(shè)計第四章 硬件設(shè)計本設(shè)計的硬件電路只要包括控制電路、最小系統(tǒng)、驅(qū)動電路、顯示電路四大部分。最小系統(tǒng)主要是為了使單片機正常工作。控制電路主要由開關(guān)和按鍵組成,由操作者根據(jù)相應(yīng)的工作需要進行操作。顯示電路主要是為了顯示電機的工作狀態(tài)和轉(zhuǎn)速。驅(qū)動電路主要是對單片機輸出的脈沖進行功率放大,從而驅(qū)動電機轉(zhuǎn)動。4.1 最小系統(tǒng)圖4-1 最小系統(tǒng)單片機的最小系統(tǒng) (最小應(yīng)用系統(tǒng)),通俗的講就是用最少的元件來組成單片機能夠工作的系統(tǒng)。單片機的最小系統(tǒng)包括:單片機、復(fù)位電路、時鐘電路。4.1.1 復(fù)位電路:單片機復(fù)位電路就好比電腦的重啟部分,當(dāng)電腦在使用中出現(xiàn)死機,按下重啟按鈕電腦內(nèi)部的程序從頭開始執(zhí)行。單片機也一樣,當(dāng)單片機系統(tǒng)在運行中,受到環(huán)境干擾出現(xiàn)程序跑飛的時候,按下復(fù)位按鈕內(nèi)部的程序自動從頭開始執(zhí)行。使用了獨立式鍵盤,單片機的P1口鍵盤的接口。該設(shè)計要求只需4個鍵對步進電機的狀態(tài)進行控制,但考慮到對控制功能的擴展,使用了6路獨立式鍵盤。復(fù)位電路采用手動復(fù)位,所謂手動復(fù)位,是指通過接通一按鈕開關(guān),使單片機進入復(fù)位狀態(tài),晶振電路用27PF的電容和12M晶體振蕩器組成為整個電路提供時鐘頻率。如圖4-1所示。4.1.2 時鐘電路: 單片機的時鐘信號產(chǎn)生方法有內(nèi)部時鐘方式和外部時鐘方式。在引腳X1和X2外部接晶振電路器(簡稱晶振),就構(gòu)成了內(nèi)部晶振方式。這里選擇比較穩(wěn)定的內(nèi)部時鐘方式,最常用的方式是采用外接晶體和電容組成并聯(lián)諧振回路,如圖4-1所示。單片機允許的震蕩晶體可在1.224MHz之間,這里選擇12MHz電容C1、C2的取值對震蕩頻率輸出的大小、起振速度,以及穩(wěn)定性有一定的影響,可在20100pF之間選擇,這里選擇27pF。4.2 驅(qū)動電路L298N內(nèi)部包含4通道的邏輯驅(qū)動電路,是電機的專用驅(qū)動元件,可驅(qū)動46V、2A以下的電機。其特點是工作電壓高,最高工作電壓可達46V;輸出電流大,瞬間峰值電流可達3A,持續(xù)工作電流為2A;額定功率25W。IN1、IN2引腳從單片機接輸入控制電平,控制電機的正反轉(zhuǎn),輸入信號端IN1接高電平輸入端IN2接低電平,步進電機正轉(zhuǎn)。如果信號端IN1接低電平IN2接高電平,步進電機反轉(zhuǎn)。QUT1、QUT2接步進電機, ENA接控制使能端控制電機的停轉(zhuǎn),ISEN A接單片機接受脈沖控制電機轉(zhuǎn)速,如果給步進電機一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖它會再轉(zhuǎn)一步。兩個脈沖的間隔越短步進電機轉(zhuǎn)的越快。調(diào)整單片機發(fā)出的脈沖頻率,就可以對步進電機調(diào)速。圖4-2 驅(qū)動電路4.3 測速模塊4.3.1 反相器74LS14的作用反相器74LS14的作用是對輸入的脈沖信號進行整形,使之成為較為理想的矩形波。4.3.2 光電編碼器光電編碼器的作用是測量轉(zhuǎn)速。它可以分為單路輸出方式和雙電路輸出方式兩種。主要的技術(shù)參數(shù)有每轉(zhuǎn)的脈沖數(shù)目(范圍從幾十個到幾千個)和供電的電壓等。輸出的是一組脈沖的光電編碼器叫做但電路輸出方式,輸出的是兩組相位差為90度的脈沖的是編碼器是雙路輸出方式,用這兩組相位差為90度的脈沖不僅能夠測量步進電機的轉(zhuǎn)速,還可以判斷出步進電機的旋轉(zhuǎn)方向。通過信號原理光電編碼器可以分為增量脈沖編碼器(SPC)和絕對脈沖編碼器(APC),這兩種編碼器一般情況都是用于速度控制系統(tǒng)或者是位置控制系統(tǒng)作為檢測的元件。工作原理:由一個中心有軸的光電碼盤,其上有環(huán)形通、暗的刻線,有光電發(fā)射和接收器件讀取,獲得四組正弦波信號組合成A、B、C、D,每個正弦波相差90度相位差(相對于一個周波為360度),將C、D信號反向,疊加在A、B兩相上,可增強穩(wěn)定信號;另每轉(zhuǎn)輸出一個Z相脈沖以代表零位參考位。由于A、B兩相相差90度,可通過比較A相在前還是B相在前,以判別編碼器的正轉(zhuǎn)與反轉(zhuǎn),通過零位脈沖,可獲得編碼器的零位參考位。另外,把輸入的一路信號通過整形后輸入到T1口,用來計脈沖的數(shù)目,從而確定轉(zhuǎn)速。測速模塊原理圖如下:圖4-3 測速電路4.4 濾波電路濾波電路經(jīng)常會用在過濾去整流器輸出的電壓中的起伏,一般情況下都是有電抗元件來組成,例如把電容C并聯(lián)在負載電阻的兩端,或者把電感器L串聯(lián)在負載上,或者是由電容,電感來組成在一起的各種復(fù)合的濾波電路。 而且在電路中電抗元件一般都會有儲存能量的作用,電容器C并聯(lián)在電源上,通過電源來給電容C供給的電壓提高時,就會把一部分的能量儲存起來,在電源的電壓減小的時候,就會把儲存的能量來釋放出來,這樣就會使負載的電壓變化比較平滑,也就是說電容C能有平波的功能;和負載相串聯(lián)在一起的電感L,當(dāng)流經(jīng)電感L的電流增加(電源增壓)時,電感就會把這部分能量儲存起來,但是當(dāng)電流減小后,他就會跟電容一樣把儲存的能量釋放出來,從而也使得電流變化比較平穩(wěn),所以說電感L也是具有平波的作用。濾波電路有很多種,為了掌握它的規(guī)律,一般能分為分為;1、電容輸入式一般會用在功率小的電源當(dāng)中;2、電感輸入式,跟電容的相反一般會用在功率比較大的電源當(dāng)中,電流很大的時候只用電感器和負載串聯(lián)就行。如下圖所示:一般是在每個電器元件旁邊來放置一個由104組成的防震蕩電路。圖4-4 濾波電路4.5 顯示電路圖4-5 顯示電路在步進電機的控制設(shè)計中,要求步進電機可以進行加速減速,也可可以正轉(zhuǎn)反轉(zhuǎn),其中電機的轉(zhuǎn)速分為好幾檔,設(shè)計要求01800轉(zhuǎn),為了能夠更方便的知道電機的轉(zhuǎn)速等級,正轉(zhuǎn)反轉(zhuǎn)等信息,需要設(shè)計一個顯示電路來顯示出電機的運行狀態(tài)和轉(zhuǎn)速等信息。前四個七段顯示譯碼器顯示電機的轉(zhuǎn)速,最后一個顯示電機的正轉(zhuǎn)反轉(zhuǎn)。七段顯示譯碼器通過公共端與單片機的P2.2 ,P2.3 ,P2.4 ,P2.5 ,P3.4端口相接,通過控制其高低電平來控制是否顯示,然后a,b,c,d,e,f,g,dp段通過驅(qū)動連接單片機的P10P17端口通過接收高低電平來控制顯示的數(shù)字。4.6 鍵盤電路 根據(jù)系統(tǒng)的控制要求,需要控制步進電機的啟動,停止,正轉(zhuǎn),反轉(zhuǎn),加 圖4-6 鍵盤電路速,減速,分別是S1,S2,S3,S4,S5,S6,控制電路如下圖所示。通過S1,S2的開關(guān)狀態(tài)變化來實現(xiàn)步進電機的啟動和停止。當(dāng)S1,S2開關(guān)變化時,系統(tǒng)程序檢測P0.0和P0.1端口的狀態(tài)來運行相應(yīng)的啟動和停止程序,實現(xiàn)步進電機的啟動和正反轉(zhuǎn)控制。通過步進電機的工作原理可以明白,要控制步進電機的轉(zhuǎn)速需要通過控制輸入電機的脈沖的頻率,從而實現(xiàn)對步進電機的轉(zhuǎn)速的控制。用單片機可以通過定時的中斷和軟件的延時來實現(xiàn)控制,對于該電機的加減速度的控制是通過S3,S4,的斷開與閉合,從而通過案按鍵的次數(shù),改變速度之存儲區(qū)域中的速度數(shù)據(jù),這樣就可以改變步進電機的輸出脈沖頻率,進而可以改變步進電機的轉(zhuǎn)速。4.7 電源電路圖4-7 電源電路橋式整流電路是使用最多的一種整流電路。這種電路,只要增加兩只二極管口連接成橋式結(jié)構(gòu),便具有全波整流電路的優(yōu)點,而同時在一定程度上克服了它的缺點。1、供電變壓器:將交流電源提供的電壓變?yōu)楹线m交流電壓2、整流電路:把變壓器出來的交流電壓變?yōu)閱蜗蛎}動直流電壓3、濾波電路;把整流電路出來的直流電壓變?yōu)榉€(wěn)定的的直流電壓4、穩(wěn)壓電路:防止電網(wǎng)輸出波動、負載大小變化的影響,而使輸出電壓保持穩(wěn)定如上圖所示,通過電源變壓器將輸入的交流電源分別變成5伏和12伏的交流電壓,然后通過整流電路將交流電源變成了單向但是脈動的直流電源,再通過濾波電路將整流電路出來的脈動的直流電源變成平滑的直流電源,最后再加上穩(wěn)壓電路將輸出電壓穩(wěn)定在5伏和12伏,而不隨電源的波動,負載的變化而變化。4.8 整體電路如下圖所示圖4-8 整機電路圖第五章 軟件設(shè)計第五章 軟件設(shè)計通過以上的分析研究可以看出,要實現(xiàn)系統(tǒng)的功能可以采用很多種方法,而且由于隨時有可能要輸入加速、減速信號和方向信號,所以需要采用中斷方式這樣效率最高,這樣只需要完成四個部分的工作要求就能滿足設(shè)計的要求,也就是主程序部分、定時器中斷部分、外部中斷0和外部中斷1四部分,而且主程序的主要功能是系統(tǒng)初始參數(shù)的設(shè)置以及啟動停止開關(guān)的檢測,如果啟動開關(guān)閉合則系統(tǒng)開始工作,反之系統(tǒng)停止工作;定時器部分是用來控制脈沖頻率,它主要決定了步進電機轉(zhuǎn)速的快慢的調(diào)節(jié);兩個外部中斷程序可以改變速度這一功能。5.1 主程序設(shè)計主程序可以實現(xiàn)系統(tǒng)初始值的設(shè)置、系統(tǒng)狀態(tài)的顯示以及各種開關(guān)狀態(tài)的檢測判斷等。主程序流程圖如圖所示。 開始 測速程序啟動步進電機正轉(zhuǎn)判斷啟動鍵是否按下 是 步進電機停止正轉(zhuǎn)判斷停止鍵是否按下 測速程序 步進電機加速正轉(zhuǎn)判斷加速鍵是否按下 測速程序判斷減速鍵是否按下 測速程序步進電機減速正轉(zhuǎn)判斷反轉(zhuǎn)鍵是否按下 測速程序步進電機反轉(zhuǎn) 顯示子程序圖5-1主程序流程圖5.2 轉(zhuǎn)向控制對于三相六拍而言,如果把表中的狀態(tài)控制字自上而下的順序依次送入P0口,步進電機三項繞組的通電順序為AB-B-BC-C-CA-A-AB,那么按自下而上的順序依次送狀態(tài)字時,電機的通電順序為AB-A-AC-C-CB-B-BA,電機旋轉(zhuǎn)方向相反,因此實現(xiàn)正反轉(zhuǎn)框圖如下:置表底指針加1置表首指針減1 延時指針到表首?指針到表底?正?反?選狀態(tài)字 正反NNYY圖5-2 實現(xiàn)正反轉(zhuǎn)的程序流程圖5.3 轉(zhuǎn)速控制步進電機每個通電狀態(tài)保持的時間的長短,也就是狀態(tài)指針移動的頻率決定電機的旋轉(zhuǎn)速度。用單片機控制的方法主要有兩種:軟件延時法和中斷法。 初始化 停否YN 轉(zhuǎn)移狀態(tài)表指針 送狀態(tài)字P1.1=1?NYP1.2=1?P1.3.=1?YN Y N調(diào)TM2調(diào)TM0調(diào)TM1調(diào)TM3圖5-3 實現(xiàn)有級變速程序框圖5.4 PID 控制原理程序流程 在實際工程中,應(yīng)用范圍最為廣泛的調(diào)節(jié)器控制規(guī)律有比例控制、積分控制、微分控制,又簡稱為PID控制,也可以叫做PID調(diào)節(jié)。如果被控制對象的結(jié)構(gòu)和參數(shù)不能被完全的掌握,或者得不出精確的數(shù)學(xué)模型時,而且控制理論中的其它技術(shù)不好采用時,則系統(tǒng)控制器具有的結(jié)構(gòu)和參數(shù)就必須要依靠經(jīng)驗和現(xiàn)場調(diào)試來確定,這時應(yīng)用PID控制技術(shù)最為方便。PID控制,實際中也有PI和PD控制。報警及處理采樣時間到 N Y 采集速度 是否超限YN計算 Cn=Rn-YnN 計算Pp=KC(n)-C(n-1)計算Pi=KC(n)計算Pd=KdC(n)-2C(n-1) +C(n-2)P(n)=P(n-1)+Pp(n)+Pi(n)+Pd(n)C(n-2) C(n-1)C(n-1)C(n)P(n-1) P(n)P(n-1) P(n)結(jié)果送單片機圖5-4 PID控制原理流程圖- 31 -總結(jié)總 結(jié)在這個充滿自動化的社會中,步進電機的應(yīng)用更加向著精密化發(fā)展,由于其與單片機的良好兼容性以及優(yōu)越性開始了本次設(shè)計。本次設(shè)計是通過單片機對步進電機進行控制,控制電機的正反轉(zhuǎn),加減速,啟動停止。設(shè)計中主要用到了顯示電路(主要用來顯示電機的運行狀態(tài))、單片機(中心樞紐接受信號輸出到顯示電路和步進電機)/步進電機、按鍵電路(用來輸入信號控制電機的運轉(zhuǎn))電源電路(為整個電路提供穩(wěn)定的電壓使系統(tǒng)能夠正常穩(wěn)定的工作)、光電編碼器施密特觸發(fā)器(把步進電機的運行狀態(tài)轉(zhuǎn)變成電子信號脈沖,并放大信號輸入到單片機)。本次設(shè)計主要是完成了對步進電機的轉(zhuǎn)速的控制,步進電機的啟動停止,正轉(zhuǎn)與翻轉(zhuǎn)。外接通過加減速按鈕,啟停按鈕,正反轉(zhuǎn)按鈕,輸入信號,單片機接受信號后輸出脈沖到電機對電機進行控制,光電編碼器把電機的運行狀態(tài)接收后變成光電脈沖回饋給單片機,單片機然后通過顯示電路顯示出電機的運行狀態(tài)。通過近一個學(xué)期16周的設(shè)計,對步進電機正反轉(zhuǎn)及其測速系統(tǒng)有了一個很深的認識,對電子產(chǎn)品從設(shè)計,制定方安,元件購買,檢測,外協(xié)加工,裝配,到成品的全過程有了一個大概的掌握.使大學(xué)四年的專業(yè)理論知識和實踐結(jié)合起來,做到了理論聯(lián)系實際,理論指導(dǎo)實踐,使自己的動手能力得到了提高。參考文獻參考文獻1 姜志海,黃玉清.單片機原理及應(yīng)用.北京:電子工業(yè)出版社,2005年4月2何希才,姜余祥.電動機控制電路應(yīng)用實例.北京:北京航空航天大學(xué)出版社,1990 年3 潘新民,王燕芳.單片微型計算機實用系統(tǒng)設(shè)計.北京:人民郵電出版社,1992年7月4 涂時亮,張友德.單片機控制技術(shù).上海:復(fù)旦大學(xué)出版社,1994年11月5 王錦標,方崇智.過程計算機控制.北京:清華大學(xué)出版社,1992年2月6 楊振江.智能儀器與數(shù)據(jù)采集系統(tǒng)中的新器件及應(yīng)用.西安:西安電子科技大學(xué)出版社,2001年7 吳丙申,卞祖富.模擬電路基礎(chǔ).北京:北京理工大學(xué)出版社,1997年1月8 微型計算機原理及應(yīng)用 北京:清華大學(xué)出版社 鄭學(xué)堅著 9 胡壽松.自動控制原理.北京:科學(xué)出版社,2000年6月10侯志林.過程控制與自動化儀表.北京:機械工業(yè)出版社,1998年12月11 陶永華,尹怡欣,葛蘆生.新型PID控制及其應(yīng)用.北京:機械工業(yè)出版社,1998年4月12 于海生.微型計算機控制技術(shù).北京:清華大學(xué)出版社,1998年1月 13 范立南,李雪飛,尹授遠單片微型計算機控制系統(tǒng)設(shè)計北京:人民郵電出版社,2004年14 先鋒工作室單片機程序設(shè)計實例北京:清華大學(xué)出版社,2003年 15 余永權(quán),汪明慧,黃英單片機在控制系統(tǒng)中的應(yīng)用北京:電子工業(yè)出版社,2003年16 王增福,魏永明新編常用穩(wěn)壓電源電路北京:電子工業(yè)出版社,2005年17 劉道興.PID控制及程序?qū)崿F(xiàn)方法.內(nèi)江師范學(xué)院學(xué)報,2002,20(6):202418 王曉明.電動機的單片機控制.北京航空航天大學(xué)出版社,2002年 19 K.Iizuka, H.Uzuhashi, M.Kano, T.Endo, K.Mohri, Microcomputer Control forsensorless Brushless Motor, IEEE Transactions Industry Application,vol.IA-21,no.4, May/June 1985, pp.595-601 20 Kuik D.P, Tamet, Linguitic PID controllers, Preprints of 11th IFAC World Congress,1990, 192197致 謝致 謝本論文是在解紅軍老師的精心指導(dǎo)下完成的,通過本次設(shè)計首先我要感謝解紅軍老師對我的細心指點,和深刻的講解,讓我能夠順利的完成這次設(shè)計。從論文課題的選定到實驗方案的確立,從思想的產(chǎn)生到具體實現(xiàn),以及對文章的詳細審定無不傾注了解老師辛勞。解老師嚴謹?shù)闹螌W(xué)態(tài)度,認真細致的工作作風(fēng)和豐富的實踐經(jīng)驗,將激勵我在今后的工作學(xué)習(xí)中不斷努力進取。在此特別向解紅軍老師表示衷心的感謝和誠摯的敬意自己即將畢業(yè)即將踏進社會,非常感謝自己的各位老師在學(xué)習(xí)生活中對我得教導(dǎo),讓我學(xué)到了如何處理事情,解決困難。讓自己明白了很多社會中的道理。在本次設(shè)計中自己學(xué)到了很多以前不明白的知識但是自己知道的還是遠遠不夠,而且自己所做的工作也遠遠不夠,這讓我明白了學(xué)習(xí)是永遠達不到頂?shù)囊粋€過程,自己要學(xué)習(xí)的知識還有很多。這也給即將畢業(yè)的我提了一個醒,自己將來在工作中還差的很遠,剛踏出校門的我還有太多的知識需要我來學(xué)習(xí)。學(xué)習(xí)是一個永遠沒有畢業(yè)的過程,不管自己走到哪里都要自己不斷的學(xué)習(xí)來豐富自己,讓自己能夠完成自己的工作。最后,向畢業(yè)設(shè)計中所有給予我教誨和幫助的老師們、同學(xué)們表示衷心的感謝!- 38 -附 錄A附 錄 A部分程序一、轉(zhuǎn)向程序 正轉(zhuǎn)程序為:(本程序是用軟件實現(xiàn)買成分配的程序) CW : INC R0 ;正轉(zhuǎn)加1 CJNE R0,# 0AH,ZZ ;如果計數(shù)器等于10修正為0 MOV R0,#00H ZZ: MOVA,R0 ;計數(shù)器值送A MOV DPTR,#ABC ;指向數(shù)據(jù)存放首地址 MOVC A,A+DPTR ;取控制字 MOV P1,A ;送控制字到p1口 RET 反轉(zhuǎn)程序為: CCW : DEC R0 ;反轉(zhuǎn)減1 CJNE R0,#OFFH,FZ ;如果計數(shù)器等于FFH修正為9 MOV R0,#09H FZ : MOV A,R0 MOV DPTR,#ABC ;指向數(shù)據(jù)存放首地址 MOVC A,A+DPTR ;取控制字 MOV P1,A ;送P1口 RET2、 加減速程序 JAJ : CPL P1.0 ;改變p1.0電平狀態(tài) PUSH ACC ;保存現(xiàn)場 PUSH PSW PUSH B PUSH DPTL PUSH DPTH SETB RS0 ;選用工作寄存器 JNB P1.0,JAJ10 ;p1.0=0時,半個脈沖 CLR EA ;關(guān)中斷 JNB P1.1,JAJ1 ;反轉(zhuǎn),轉(zhuǎn)到JAJ1 MOV R0,#32H ;正轉(zhuǎn),指向絕對位置32H INC R0 ;絕對位置加1 CJNE R0,#00H,JAJ2 ;五進位則轉(zhuǎn)向JAJ2 INC R0 ;指向33H INC R0 ;(33H)+1 CJNE R0,#00H,JAJ2 ;五進位則轉(zhuǎn)向JAJ2 INC R0 ;指向34H INC R0 ;(34H)+1 CJNE R0,#00H,JAJ2 ;無越界則轉(zhuǎn)向JAJ2 CLR TR0 ;發(fā)生越界則停電機 LCALL BAOJING ;調(diào)報警子程序JAJ1: MOV R0,#32H ;反轉(zhuǎn),指向絕對位置地位32H DEC R0 ;絕對位置減1 CJNE R0,#0FFH,JAJ2 ;無借位則轉(zhuǎn)向JAJ2 INC R0 ;指向33H DEC R0 ;(33H)-1 CJNE R0,#0FFH,JAJ2 ;無借位則轉(zhuǎn)向JAJ2 INC R0 ;指向34H DEC R0 ;(34H)-1 CJNE R0,#0FFH,JAJ2 ;無越界則轉(zhuǎn)向JAJ2 CLR TR0 ;發(fā)生越界則停電機 LCALL