版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 畢業(yè)論文</b></p><p> 論 文 題 目:基于單片機AT89C51系統(tǒng)的步進電機控制 </p><p> 專 業(yè) 領 域: 電氣自動化技術 </p><p> 指 導 教 師: </p>
2、;<p> 作 者 姓 名: </p><p> 班 學 號: </p><p> 二O一O年 十 月 十 日</p><p><b> 目 錄</b></p><p><b&
3、gt; 前 言1</b></p><p> 第一章 系統(tǒng)方案論證2</p><p> 1.1 系統(tǒng)基本功能2</p><p> 1.2設計方案介紹2</p><p> 1.3 系統(tǒng)設計3</p><p> 第二章 硬件設計4</p><p> 2.1 單
4、元模塊設計4</p><p> 2.1.1 單片機AT89C51介紹4</p><p> 2.1.2 步進電動機工作原理8</p><p> 2.1.3 鍵盤輸入塊10</p><p> 2.1.4 光電耦合器與驅(qū)動系統(tǒng)12</p><p> 2.1.5 顯示快13</p><
5、p> 2.2 單片機與步進電機的接口電路圖15</p><p> 第三章 控制系統(tǒng)的軟件設計17</p><p> 3.1 程序設計流程圖17</p><p> 3.2 匯編程序18</p><p> 第四章 仿真與調(diào)試22</p><p> 第五章 結(jié)果分析22</p>
6、<p><b> 第六章 總結(jié)23</b></p><p><b> 致謝24</b></p><p><b> 參考文獻25</b></p><p><b> 前 言</b></p><p> 步進電機又稱為脈沖電動機或階躍電
7、動機,它是基于最基本的電磁感應作用,將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。單片機控制的步進電機廣泛地應用于工業(yè)自動控制、數(shù)控機床、組合機床、機器人、計算機外圍設備、照相機,大型望遠鏡,衛(wèi)星天線定位系統(tǒng)等等。隨著經(jīng)濟的發(fā)展,技術的進步和電子技術的發(fā)展,步進電機的應用領域更加廣闊,同時也對步進電機的運行性能提出了更高的要求。</p><p> 1950年后期晶體管的發(fā)明也逐漸應用在步進電機上,對于數(shù)字化的
8、控制變得更為容易。到20世紀60年代后期,在步進電機本體方面隨著永磁材料的發(fā)展,各種實用性步進電機應運而生。步進電機往后經(jīng)過不斷改良,使得今日步進電機已廣泛運用在需要高定位精度、高分解能、高響應性、信賴性等靈活控制性高的機械系統(tǒng)中。在生產(chǎn)過程中要求自動化、省人力、效率高的機器中,我們很容易發(fā)現(xiàn)步進電機的蹤跡,尤其以重視速度、位置控制、需要精確操作各項指令動作的靈活控制性場合步進電機用得最多。</p><p>
9、步進電機作為數(shù)字式執(zhí)行元件,相當于一個將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉(zhuǎn)過一個步距角。這一線性關系的存在,加上步進電動機具有結(jié)構(gòu)簡單、成本低、易于控制、吳累計誤差和計算機接口方便等優(yōu)點,使得在速度、位置等控制領域用步進電機來控制變的非常的簡單,被廣泛應用于各種自動化控制系統(tǒng)中,但傳統(tǒng)的控制電路存在許
10、多不足之處,如低頻振蕩、易發(fā)熱等缺點、噪聲大、步距角較大、分辨率低等,往往滿足不了工業(yè)上的精確定位和大扭矩控制。</p><p> 目前,生產(chǎn)步進電機的廠家的確不少,但具有專業(yè)技術人員,能夠自行開發(fā),研制的廠家卻非常少,大部分的廠家只一、二十人,連最基本的設備都沒有。僅僅處于一種盲目的仿制階段。這就給戶在產(chǎn)品選型、使用中造成許多麻煩。雖然步進電機已被廣泛地應用,但步進電機并不能像普通的直流電機,交流電機在常規(guī)下
11、使用。</p><p> 現(xiàn)各界都運用單片機進行控制,并進行不斷更新和完善,本研究主要采用AT80C51單片機控系統(tǒng),并采用光電隔離技術,對其進一步的設計和研究。</p><p> 第一章 系統(tǒng)方案論證</p><p> 1.1 系統(tǒng)基本功能</p><p> 設計的步進電機控制器。要求內(nèi)能從鍵盤上輸入步進電機轉(zhuǎn)數(shù),控制步進電機的正
12、反轉(zhuǎn)及啟停,并顯示轉(zhuǎn)數(shù)。具體要求如下:</p><p><b> 鍵盤設計</b></p><p><b> 0~9: 數(shù)字鍵。</b></p><p> *:正逆轉(zhuǎn)數(shù)設定完成后,按“*”啟動步進電動機。</p><p> #:清除設定為正轉(zhuǎn)及轉(zhuǎn)數(shù)為00。</p><p&
13、gt; A:設定正逆轉(zhuǎn)。按“A”鍵則LED指示燈亮,表示逆轉(zhuǎn),再按則LED只是等滅,表示正轉(zhuǎn)。</p><p><b> 控制過程</b></p><p> 送電時,設定為正轉(zhuǎn),顯示器顯示為“00”。</p><p> 輸入轉(zhuǎn)數(shù),顯示器顯示輸入的轉(zhuǎn)數(shù),按“A”設定正逆轉(zhuǎn),LED指示燈亮表示逆轉(zhuǎn),LED指示燈滅表示正轉(zhuǎn),然后按“*”步進電
14、動機開始運行。</p><p> 步進電機每轉(zhuǎn)一轉(zhuǎn),顯示器減1,直至為00,步進電動機停止運轉(zhuǎn)。</p><p><b> 1.2設計方案介紹</b></p><p> 根據(jù)功能設計的要求本設計采用AT89C51單片機系統(tǒng)控制運用矩陣式鍵盤作為輸入控制端驅(qū)動系統(tǒng)采用74LS04和達林頓管,使步進電機可在智能化程序控制下完成正轉(zhuǎn)、反轉(zhuǎn)、轉(zhuǎn)數(shù)
15、設定等各種操作。文中在單片機與驅(qū)動器之間增加一級光電隔離??墒共竭M電機具有更高的性能,同時把數(shù)字電路與驅(qū)動電路隔離開,避免了步進電機運行時所產(chǎn)生的沖擊電壓和電流干擾單片機。</p><p><b> 1.3 系統(tǒng)設計</b></p><p> 要想實現(xiàn)以上論述的功能只要通過P1口的鍵盤輸入并按一定的順序改變P0口輸出的脈沖信號,從而改變步進電動機四端通電的狀況,即
16、可控制步進電機依選定的方向步進。同時通過顯示器同步的顯示相應數(shù)據(jù)。依據(jù)以上描述可畫出控制系統(tǒng)的結(jié)構(gòu)框圖如圖 1.1所示</p><p> 圖1.1 步進電機控制器結(jié)構(gòu)框圖</p><p> 控制系統(tǒng)包括:鍵盤輸入模塊、顯示、指示模塊以及步進電機控制及驅(qū)動模塊。鍵盤輸入模塊主要完成數(shù)據(jù)輸入及控制輸入,顯示模塊完成轉(zhuǎn)數(shù)的顯示。步進電機模塊主要是由單片機輸出控制碼到驅(qū)動機構(gòu)控制步進電動機的運
17、轉(zhuǎn)。</p><p><b> 第二章 硬件設計</b></p><p> 2.1 單元模塊設計</p><p> 2.1.1 單片機AT89C51介紹</p><p> AT89C51 是一種帶4K 字節(jié)閃爍可編程可擦除只讀存儲器( FPEROM—Falsh</p><p> Prog
18、rammable and Erasable Read Only Memory)的低電壓,高性能CMOS8 位微處理器,</p><p> 俗稱單片機。該器件采用ATMEL 高密度非易失存儲器制造技術制造,與工業(yè)標準的</p><p> MCS-51 指令集和輸出管腳相兼容。由于將多功能8 位CPU 和閃爍存儲器組合在單個</p><p> 芯片中,ATMEL
19、的AT89C51 是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。</p><p> 圖2.2 是常用的一種單片機,型號為AT89C51,它將計算機的功能都集成到這個芯片內(nèi)部去了,就這么一個小小的芯片就能構(gòu)成一臺小型的電腦,因此叫做單片機。</p><p> 圖2.2 AT89C51 芯片</p><p> 它有40 個管腳,分成兩排,
20、每一排各有20 個腳,其中左下角標有箭頭的為第1 腳,然后按逆時針方向依次為第2 腳、第3 腳……第40 腳。在40 個管腳中,其中有32 個腳可用于各種控制,比如控制小燈的亮與滅、控制電機的正轉(zhuǎn)與反轉(zhuǎn)、控制電梯的升與降等,這32 個腳叫做單片機的“端口”,在單片機技術中,每個端口都有一個特定的名字,比如第一腳的那個端口叫做“P1.0”。</p><p> AT89C51 單片機的功能:</p>
21、<p><b> 1.主要特性:</b></p><p> ◆與MCS-51 兼容</p><p> ◆4K 字節(jié)可編程閃爍存儲器</p><p> ◆壽命:1000 寫/擦循環(huán)</p><p> ◆數(shù)據(jù)保留時間:10 年</p><p> ◆全靜態(tài)工作:0Hz-24Hz&l
22、t;/p><p> ◆三級程序存儲器鎖定</p><p> ◆128*8 位內(nèi)部RAM</p><p> ◆32 可編程I/O 線</p><p> ◆兩個16 位定時器/計數(shù)器</p><p><b> ◆5 個中斷源</b></p><p><b>
23、◆可編程串行通道</b></p><p> ◆低功耗的閑置和掉電模式</p><p> ◆片內(nèi)振蕩器和時鐘電路</p><p> 2.管腳說明(圖2.3):</p><p> 圖2.3 AT89C51 管腳分布</p><p> ●VCC:供電電壓,</p><p><
24、;b> ●GND:接地。</b></p><p> ●P0 口:P0 口為一個8 位漏級開路雙向I/O 口,每腳可吸收8TTL 門電流。當P1 口的</p><p> 管腳第一次寫1 時,被定義為高阻輸入。P0 能夠用于外部程序數(shù)據(jù)存儲器,它</p><p> 可以被定義為數(shù)據(jù)/地址的第八位。在FIASH 編程時,P0 口作為原碼輸入口,&
25、lt;/p><p> 當FIASH 進行校驗時,P0 輸出原碼,此時P0 外部必須被拉高。</p><p> ●P1 口:P1 口是一個內(nèi)部提供上拉電阻的8 位雙向I/O 口,P1 口緩沖器能接收輸出</p><p> 4TTL 門電流。P1 口管腳寫入1 后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部</p><p> 下拉為低電平時,
26、將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH 編程和校</p><p> 驗時,P1 口作為第八位地址接收。</p><p> ●P2 口:P2 口為一個內(nèi)部上拉電阻的8 位雙向I/O 口,P2 口緩沖器可接收,輸出4 個</p><p> TTL 門電流,當P2 口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此</p><
27、p> 作為輸入時,P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2 口</p><p> 當用于外部程序存儲器或16 位地址外部數(shù)據(jù)存儲器進行存取時,P2 口輸出地址的高八</p><p> 位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀</p><p> 寫時,P2 口輸出其特殊功能寄存器的內(nèi)容。P2
28、口在FLASH 編程和校驗時接收高八位地</p><p><b> 址信號和控制信號。</b></p><p><b> 第15 頁共35頁</b></p><p> ●P3 口:P3 口管腳是8 個帶內(nèi)部上拉電阻的雙向I/O 口,可接收輸出4 個TTL 門電流。當P3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作
29、輸入。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3 口也可作為AT89C51 的一些特殊功能口。</p><p> P3 口管腳備選功能:</p><p> ●P3.0 RXD(串行輸入口)</p><p> ●P3.1 TXD(串行輸出口)</p><p
30、> ●P3.2 /INT0(外部中斷0)</p><p> ●P3.3 /INT1(外部中斷1)</p><p> ●P3.4 T0(記時器0 外部輸入)</p><p> ●P3.5 T1(記時器1 外部輸入)</p><p> ●P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)</p><p> ●P3.
31、7 /RD(外部數(shù)據(jù)存儲器讀選通)</p><p> ●P3 口同時為閃爍編程和編程校驗接收一些控制信號。</p><p> ● RST:復位輸入。當振蕩器復位器件時,要保持RST 腳兩個機器周期的高電平時間。</p><p> ●ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字</p><p> 節(jié)。
32、在FLASH 編程期間,此引腳用于輸入編程脈沖。在平時,ALE 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于</p><p> 定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE 脈沖。如想禁止ALE 的輸出可在SFR8EH 地址上置0。此時, ALE 只有在執(zhí)行MOVX,MOVC 指令是ALE 才起作用。另外,該引腳被略微拉高。如果微處理器
33、在外部執(zhí)行狀態(tài)ALE 禁止,</p><p><b> 置位無效。</b></p><p> ●PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機</p><p> 器周期兩次/PSEN 有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN</p><p><b> 信號將不出現(xiàn)。
34、</b></p><p> ●EA/VPP:當/EA 保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),</p><p> 不管是否有內(nèi)部程序存儲器。注意加密方式1 時,/EA 將內(nèi)部鎖定為</p><p> RESET;當/EA 端保持高電平時,此間內(nèi)部程序存儲器。在FLASH 編程期</p><p>
35、間,此引腳也用于施加12V 編程電源(VPP)。</p><p> ●XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。</p><p> ●XTAL2:來自反向振蕩器的輸出。</p><p><b> 3.振蕩器特性:</b></p><p> XTAL1 和XTAL2 分別為反向放大器的輸入和輸出。該
36、反向放大器可以配置</p><p> 為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,</p><p> XTAL2 應不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部</p><p> 時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p><b> 4.芯片擦除:
37、</b></p><p> 整個PEROM 陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保</p><p> 持ALE 管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”</p><p> 且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。</p><p> 此外,AT89C51 設有穩(wěn)態(tài)邏輯
38、,可以在低到零頻率的條件下靜態(tài)邏輯,支持</p><p> 兩種軟件可選的掉電模式。在閑置模式下,CPU 停止工作。但RAM,定時器,計</p><p> 數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM 的內(nèi)容并且凍結(jié)振</p><p> 蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。</p><p> 2.1.2 步進
39、電動機工作原理</p><p> (1) 步進電機控制系統(tǒng)組成如下圖2.4</p><p> 圖2.4用微型機控制步進電機原理系統(tǒng)圖</p><p> 與傳統(tǒng)步進控制器相比較有以下優(yōu)點:</p><p> 1、 用微型機代替了步進控制器把并行二進制碼轉(zhuǎn)換成串行脈沖序列,并實現(xiàn)方向控制。</p><p> 2、
40、只要負載是在步進電機允許的范圍之內(nèi),每個脈沖將使電機轉(zhuǎn)動一個固定的步距角度。3. 根據(jù)步距角的大小及實際走的步數(shù),只要知道初始位置,便可知道步進電機的最終位置。(2) 步進電機控制系統(tǒng)原理</p><p><b> A、脈沖序列的生成</b></p><p> 圖2.5 脈沖的生成</p><p> 脈沖幅值:由數(shù)字元件電平?jīng)Q定。
41、 </p><p> TTL 0 ~ 5V </p><p> CMOS 0 ~ 10V</p><p&g
42、t; 接通和斷開時間可用延時的辦法控制。要求:確保步進到位。</p><p><b> B、方向控制</b></p><p> 步進電機旋轉(zhuǎn)方向與內(nèi)部繞組的通電順序相關。 三相六拍,通電順序為: </p><p> 正轉(zhuǎn): ABBCCDDA AB </p><p> 反轉(zhuǎn): ADDCCBBAA
43、D</p><p> 改變通電順序可以改變步進電機的轉(zhuǎn)向 </p><p><b> C、脈沖分配 </b></p><p> 實現(xiàn)脈沖分配(也就是通電換相控制)的方法有兩種:軟件法和硬件法本設計通過軟件法實現(xiàn)脈沖分配,軟件法是完全用軟件的方式,按照給定的通電換相順序,通過單片機的IO向驅(qū)動電路發(fā)出控制脈沖。</p><
44、;p> 該步進電機為一四相步進電機,采用單極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機步進轉(zhuǎn)動。左圖是該進電機工作原理示圖。</p><p> 開始時,開關SB接通電源,SA、SC、SD斷開,B相磁極和轉(zhuǎn)子0、3號齒對齊,同時,轉(zhuǎn)子的1、4號齒就和C、D相 </p><p> 繞組磁極產(chǎn)生錯齒,2、5號齒就和D、A相繞組磁極產(chǎn)生錯齒。</p
45、><p> 當開關SC接通電源,SB、SA、SD斷開時,由于C相繞組的磁力線和 1、4號齒之間磁力線的作用,使轉(zhuǎn)子轉(zhuǎn)動,1、4號齒和C相繞組的磁極對齊。 </p><p> 而0、3號齒和A、B相繞組產(chǎn)生錯齒,2、5號齒就和A、D相繞組磁極產(chǎn)生錯</p><p> 齒。依次類推,A、B、C、D四相繞組輪流供電,則轉(zhuǎn)子會沿著A、B、C、D</p>
46、;<p><b> 方向轉(zhuǎn)動。</b></p><p> 圖2.6 步進電動機工作原理圖</p><p> 四相步進電機按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動力矩又可以提高控制精度。</p&
47、gt;<p> 2.1.3 鍵盤輸入塊</p><p> (1) 矩陣式連接非編碼鍵盤</p><p> 矩陣式又稱為行列式。 在按鍵數(shù)量較多時,可以少占用I/O線。用I/O線組成行、列結(jié)構(gòu),行、列線不相通, 而是通過一個按鍵設置在行、列交叉點上來連通。 若需要設置N×M 個按鍵,則需要M+N根I/O線 矩陣式鍵盤工作原理:4行×4列鍵盤工作原理如圖
48、2.7所示:</p><p> 圖2.7 4×4簡單鍵盤結(jié)構(gòu) </p><p> 由圖可見,16個鍵分兩部分,十個數(shù)字鍵0~9;六個命令鍵A~F。 對按鍵的識別由軟件來完成。 用兩個并行I/O接口電路,采用步進式行掃描法。CPU每次通過接口對某一行Xi輸出掃描信號0,然后輸入列線Yj的狀態(tài)來確定鍵閉合的位置。 列線Y接+5 V。無按鍵時,行X和列Y線斷開,列線Y1~Y4呈現(xiàn)高
49、電平。當某一按鍵閉合時,該鍵所在行、列線短接。若該行線輸出為0,則該列線電平被拉成0(其余3根列線仍為1),此時CPU可判斷出按鍵閉合所在行、列及鍵號。 </p><p> (2) 本控制系統(tǒng)的鍵盤設計如下圖2.8所示</p><p> 鍵 盤鍵 盤 內(nèi) 碼</p><p> 圖2.8 控制步進電機鍵盤的設計</p><p>
50、2.1.4 光電耦合器與驅(qū)動系統(tǒng)</p><p> (1) 4N25光電耦合器</p><p> 光電耦合器是把發(fā)光器件和光敏器件組裝在一起,通過光線實現(xiàn)耦合,構(gòu)成電一光一電的轉(zhuǎn)換器件。將電信號送入光電耦合器輸入端的發(fā)光器件時,發(fā)光器件將電信號轉(zhuǎn)換成光信號,光信號經(jīng)光接收器接收,并將共還原成電信號。由于輸出與輸入之間沒有直接的電氣聯(lián)系,信號傳輸是通過光耦合的,所以也稱為光電隔離器。其結(jié)
51、構(gòu)如圖2.9</p><p> 圖2.9 光電耦合器機構(gòu)圖</p><p> 光電耦合器由發(fā)光源和受光器兩部分組成,并封閉在同一不透明的管殼內(nèi)由絕緣的透明樹脂隔開,發(fā)光源引出的管腳為輸入端,受光器引出的管腳為輸出端. 光電隅合器的發(fā)光源常用砷化鎵紅外發(fā)光二極管,受光器常用光電三極管、光敏晶閘管和光敏集成電路等。</p><p> 光電耦合器具有以下特點,首先其
52、信號傳遞采取電一光一電的形式,發(fā)光部分和受光部分不接觸,因此具有很高的絕緣電阻,可以達到1010歐姆以上。并能承受2000伏以上的高壓,因而被耦合的兩個部分可以自成系統(tǒng).也不需要“共地”,絕緣和隔離性都很好,能夠避免輸出端對輸入端可能產(chǎn)個的反饋和干擾。其次光電耦合器的發(fā)光二極管是電流驅(qū)動器件,動態(tài)電阻很小,對系統(tǒng)內(nèi)外的噪音干擾信號形成低阻抗旁路,所以有很強的抑制噪音下擾能力。 </p><p> 最后光電耦
53、合器作為開關應用時,具有耐用、可靠性高和速度快等優(yōu)點,響應時間一般為數(shù)us以內(nèi),高速型光電耦合器的響應時間有的甚至小于10ns。 光電耦合器的用途很多,如作為高壓開關,信號隔離轉(zhuǎn)換.脈沖系統(tǒng)間的電平匹配以及各種邏輯電路等。 </p><p> (2) 在設計中為了抗干擾, 或避免一旦驅(qū)動電路發(fā)生故障,造成功率放大器中的高電平信號進入微型機而燒毀器件, 通常在驅(qū)動器與微型機之間加一級光電隔離器, 其原理接口
54、電路如圖3-17和3-18所示。 </p><p> 在XXXXXXX微型機與驅(qū)動器之間增加一級光電隔離。當P1.0輸出為1,發(fā)光二極管不發(fā)光,因此光敏三極管截止, 從而使達林頓管導通,A相繞組通電。反之,當P1.0=0時,經(jīng)反相后,使發(fā)光二極管發(fā)光, 光敏三極管導通, 從而使達林頓管截止,A相繞組不通電。 </p><p> 圖2.10 達林頓管</p><p&g
55、t; 達林頓管又稱復合管。它將二只三極管適當?shù)倪B接在一起,以組成一只等效的新的三極管。這等效于三極管的放大倍數(shù)是二者之積。在電子學電路設計中,達林頓接法常用于功率放大器和穩(wěn)壓電源中。 </p><p> 達林頓管廣泛應用于音頻功率輸出。開關控制。電源調(diào)整。繼電器驅(qū)動。高增益放大等電路中。繼電器驅(qū)動電路與高增益放大電路中使用的達林頓管,可以選用不帶保護電路的中。小功率普通達林頓晶體管。而音頻功率輸出。電源調(diào)
56、整等電路中使用的達林頓管,可選用大功率。大電流型普通達林頓晶體管或帶保護電路的大功率達林頓晶體管。 </p><p><b> 2.1.5 顯示快</b></p><p> 2.1.5.1 74LS47的功能</p><p> 本設計采用74LS47作為七段數(shù)碼管的驅(qū)動器。74LS47的功能用于將BCD碼轉(zhuǎn)化成數(shù)碼塊中的數(shù)字,通過它解碼,
57、 可以直接把數(shù)字轉(zhuǎn)換為數(shù)碼管的顯示數(shù)字, 從而簡化了程序,節(jié)約了 單片機的IO開銷。 因此是一個非常好的芯片!但是由于目前從節(jié)約成本的角度考慮, 此類芯片已較少用, 大部份情況下都是用動態(tài)掃描數(shù)碼管的形式來實現(xiàn)數(shù)碼管顯示。</p><p> 74LS47譯碼器原理:</p><p> 譯碼為編碼的逆過程。它將編碼時賦予代碼的含義“翻譯”過來。實現(xiàn)譯碼的邏輯電路成為譯碼器。譯碼器輸出與輸
58、入代碼有唯一的對應關系。74LS47是輸出低電平有效的七段字形譯碼器,它在這里與數(shù)碼管配合使用</p><p> 圖2.11 74LS47譯碼器</p><p> 2.1.5.2 7段LED顯示器結(jié)構(gòu)與原理</p><p> 7段LED顯示器由7個發(fā)光二極管組成顯示字段,并按“8”字形排列。 這7段發(fā)光管分別稱為a、b、c、d、e、f、g,有的還帶有一個小數(shù)
59、點dp,7段LED由此得名。將7段發(fā)光二極管陰極都連在一起, 稱為共陰極接法,當某個字段的陽極為高電平時, 對應的字段就點亮。共陽極接法是將LED顯示器的所有陽極并接后連到+5 V電源上,當某一字段的陰極為0時,對應的字段就點亮, 如圖所示。 </p><p> 圖2.12 7段LED顯示器結(jié)構(gòu)與原理</p><p> 表2.1 LED段選碼和顯示字符之間的關系</p>
60、<p> 點亮LED顯示器有兩種方式:靜態(tài)顯示和動態(tài)顯示, 下面以共陰極接法為例說明。</p><p> LED靜態(tài)顯示方式: 所謂靜態(tài)顯示就是將N位共陰極LED顯示器的陰極連在一起接地,每一位LED的8位段選線與一個8位并行口相連,當顯示某一個字符時,相應的發(fā)光二極管就恒定地導通或截止。</p><p> 所謂動態(tài)顯示就是用掃描方式輪流點亮LED顯示器的各個位。 特點
61、是將多個7段LED顯示器同名端的段選線復接在一起,只用一個8位I/O控制各個LED顯示器的公共陰極輪流接地,逐一掃描點亮, 使每位LED顯示該位應當顯示的字符。恰當?shù)剡x擇點亮LED的時間間隔(1~5 ms),會給人一種視覺暫停效應, 似乎多位LED都在“同時”顯示。</p><p> 2.2 單片機與步進電機的接口電路圖</p><p> 由于步進電機的驅(qū)動電流較大,所以微型機與步進電
62、機的連接都需要專門的接口及驅(qū)動電路。驅(qū)動器可用大功率復合管,也可以是專門的驅(qū)動器。</p><p> 總之,只要按一定的順序改變P0口輸出的脈沖信號,從而改變步進電動機四端通電的狀況,即可控制步進電機依選定的方向步進。由于步進電機運行時功率較大,可在微型機與驅(qū)動器之間增加一級光電隔離器(一是抗干擾,二是電隔離。)以防強功率的干擾信號反串進主控系統(tǒng)。</p><p><b>
63、電路圖如下所示:</b></p><p> 圖2.13 單片機與步進電機的接口電路圖</p><p> 第三章 控制系統(tǒng)的軟件設計</p><p> 3.1 程序設計流程圖</p><p> 根據(jù)設計任務,可畫出控制步進電機在程序控制下完成正轉(zhuǎn)、反轉(zhuǎn)、轉(zhuǎn)數(shù)設定等各種操作。,程序框圖如下圖2.1:</p>&
64、lt;p> 數(shù)字鍵“A”鍵 “*”鍵</p><p> 圖3.1 基于單片機的步進電機控制程序框圖</p><p><b> 3.2 匯編程序</b></p><p> ORG 000H</p><p> START: MOV 30H,#00H ; 清除鍵盤顯示器RA
65、M地址30H~32H </p><p> MOV 31H,#00H</p><p> MOV 32H,#00H</p><p> MOV P2,#0FFH ; 步進電機停止運行 </p><p> SETB P3.0 ; LED滅,表示正轉(zhuǎn) </p><p> MOV
66、 21H,#00H ; 正轉(zhuǎn)至TABLE1取碼指針初值</p><p> L1: ACALL KEY ; 調(diào)用鍵盤掃描子程序</p><p> MOV 20H,A ; 鍵盤碼值存入20H</p><p> XRL A,#0AH ; 是否按"*" </p>
67、;<p> JZ SET0 ; 是則啟動電機</p><p> MOV A,20H ; 取碼值載入ACC</p><p> XRL A,#0BH ; 是否按"#"</p><p> JZ START ; 是則步進電機停止</p>
68、<p> MOV A,20H ; 取碼值載入20H</p><p> XRL A,#0CH ; 是否按"A"</p><p> JZ CCW ; 是則設定正逆轉(zhuǎn)</p><p> MOV A,20H ; 取碼值載入20H</p>
69、<p> XCH A,30H ; 現(xiàn)按鍵值存入(30H)地址</p><p> XCH A,31H ; 舊(30H)地址存入(31H)地址</p><p> MOV A,31H ; 將(30H)、(31H)合并為兩位數(shù)</p><p> SWAP A ; 31H為
70、十位數(shù)</p><p> ORL A,30H ; 加30H個位數(shù)</p><p> MOV 32H,A ; 存入(32H)地址</p><p><b> JMP L1</b></p><p> ***********************鍵盤掃描子程序********
71、********************</p><p> KEY: MOV R3,#0F7H ; 鍵盤列掃描初值</p><p> MOV R1,#00H ; 至TABLE取碼的鍵盤計數(shù)指針</p><p> L2: MOV A,R3 ; 列掃描輸出</p><
72、;p> MOV P1,A</p><p> MOV A,P1 ; 暫存入R4,以判斷按鍵是否放開</p><p> MOV R4,A</p><p> SETB C ; C=1</p><p> MOV R5,#04H ; 檢測4行</p>
73、<p> L3: RLC A ; 將檢測的行位左移C內(nèi)</p><p> JNC KEYIN ; 檢測C=0?C=0表示有鍵按下</p><p> INC R1 ; 未按,則計數(shù)指針加1</p><p> DJNZ R5,L3</p><p
74、> MOV A,#32H ; 顯示器地址32H輸出至P0顯示</p><p> MOV P0,A</p><p> MOV A,R3</p><p><b> SETB C</b></p><p> RRC A ; 掃描下一列</p>
75、<p> MOV R3,A</p><p><b> JC L2</b></p><p><b> JMP KEY</b></p><p> KEYIN: MOV R7,#60H ;清除抖動</p><p> D2: MOV
76、 R6,#248 </p><p> DJNZ R6,$</p><p> DJNZ R7,D2</p><p> D3: MOV A,P1 ; 讀入鍵盤值</p><p> XRL A,R4 ; 比較剛才鍵盤值是否相同,是表示未放開</p><p>
77、;<b> JZ D3</b></p><p> MOV A,R1 ; 按鍵放開,載入計數(shù)指針值</p><p> MOV DPTR,#TABLE ; 鍵碼表首地址 </p><p> MOVC A,@A+DPTR ;查表所得值存入A</p><p><b>
78、; RET</b></p><p> *******************正反轉(zhuǎn)設定程序*********************************</p><p> CCW: CPL P3.0 ; 將P3.0反相,正逆轉(zhuǎn)換</p><p> JB P3.0,FOR ; 檢測P3.0=1
79、? 1為正,0為反</p><p> REV: MOV 21H,#00H ; 逆轉(zhuǎn)至TABLE1的取碼指針存入(21H)</p><p> JMP L1 ; 返回繼續(xù)進行鍵盤掃描</p><p> FOR: MOV 21H,#05H ; 正轉(zhuǎn)至TABLE1的取碼指針存入(21H)
80、</p><p> JMP L1 ; 返回繼續(xù)進行鍵盤掃描</p><p> *******************步進電動機驅(qū)動控制程序**************************</p><p> SET0: MOV A,32H ; 載入顯示器值</p><p>
81、CJNE A,#00H,SETX ;是否為00,是則表示未設轉(zhuǎn)數(shù)</p><p> JMP L1 ; 繼續(xù)進行鍵盤掃描</p><p> SETX: MOV R3,#20 ; 一轉(zhuǎn)為20步</p><p> SET1: MOV R0,21H ; 載入取碼指針值</
82、p><p> SET2: MOV A,R0</p><p> MOV DPTR,#TABLE ; 至TABLE1取碼</p><p> MOVC A,@A+DPTR </p><p> JZ SET1 ;是否取到"0"</p><p> MOV
83、 P2,A ;輸出至P2運轉(zhuǎn)</p><p> LCALL DELAY ;延時時間決定轉(zhuǎn)數(shù)</p><p> INC R0 ; 取下一步</p><p> DJNZ R3,SET2 ;20步完?</p><p> MOV A,30H ;
84、是,載入顯示的個位數(shù)</p><p> CJNE A,#00H,B1 ; 個位是否為"00"</p><p> MOV A,31H ; 個位數(shù)為0,則載入十位</p><p> CJNE A,00H,B2 ; 十位是否為"0"</p><p> JMP
85、 START ; 個位,十位都偽,則停止運轉(zhuǎn),返回</p><p> B1: DEC 30H ; 個位數(shù)不為0,則個位減1</p><p><b> JMP B3</b></p><p> B2: MOV 30H,#09H ; 個位數(shù)為0,十位數(shù)不
86、為0,則個位數(shù)為9</p><p> DEC 31H ; 十位數(shù)減1</p><p><b> JMP B3</b></p><p> B3: MOV A,31H ; 將十位數(shù)與個位數(shù)合并送32H</p><p><b> SWAP A
87、</b></p><p> ORL A,30H</p><p> MOV 32H,A</p><p> MOV P0,A ; 輸出至P0顯示</p><p> JMP SETX ; 開始下一轉(zhuǎn)</p><p> *****************
88、*****延時子程序***********************************</p><p> DELAY: MOV R7,#20H ; 延時,步進電機轉(zhuǎn)速為20毫秒</p><p> D1: MOV R6,#248</p><p> DJNZ R6,$</p><p> DJN
89、Z R7,D1</p><p><b> RET</b></p><p> **********************鍵碼表****************************************</p><p> TABLE: DB 01H,02H,03H,0CH ; 鍵盤碼</p><
90、;p> DB 04H,05H,06H,0DH</p><p> DB 07H,08H,09H,0EH</p><p> DB 0AH,00H,0BH,0FH</p><p> **********************電機控制碼表**********************************</p><p&
91、gt; TABLE1: DB 03H,09H,0CH,06H</p><p><b> DB 00</b></p><p> DB 03H,06H,0CH,09H</p><p><b> DB 00</b></p><p><b> END<
92、;/b></p><p><b> 第四章 仿真與調(diào)試</b></p><p><b> 軟件測試步驟如下:</b></p><p> ?。?)打開Proteus軟件。</p><p> (2)選擇file菜單下的 open design..選項,找到所需的元器件,按照電路圖連接后并保存
93、。</p><p> (3)將用ISIS編譯過的HEX格式程序,下載到單片機中:</p><p> 右擊51單片機再左擊,再彈出的對話框中,選擇program file文本框或單擊文件圖標,瀏覽找到所編譯的程序。單擊確定。</p><p> ?。?)單擊左下角運行按鈕,進行軟件仿真、調(diào)試,直到出現(xiàn)正確的結(jié)果。</p><p> 在通電前
94、,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,若在5V~4.8V之間屬正常。若有高壓,聯(lián)機仿真器調(diào)試時,將會損壞仿真器等,有時會使應用系統(tǒng)中的集成塊發(fā)熱損壞。</p><p><b> 第六章 總結(jié)</b></p><p> 本設計通過單片機AT89C51來控制步進電機的正反轉(zhuǎn)、轉(zhuǎn)數(shù),以實現(xiàn)對步進電機的運動控制。實現(xiàn)了占
95、用CPU時間少,效率高;易于控制步進電機的轉(zhuǎn)向轉(zhuǎn)速;提高了步進電機的步進精度等。再有,本設計過程考慮比較周全,系統(tǒng)中不僅采用光電隔離電路有效地抑制電磁干擾以提高系統(tǒng)的可靠性,而且還可以方便靈活地控制步進電機的運行狀態(tài),以滿足不同用戶的要求,步進電機控制(包括控制脈沖的產(chǎn)生和分配)使用軟件方法,即用單片機實現(xiàn),這樣既簡化了電路,也減低了成本。</p><p> 經(jīng)過這段時間的畢業(yè)論文設計,知道了做好一件事是并不是
96、想象中那么簡單,不是知道了書本中老師教的東西就可以做好,事實不是想象中那樣的完美,在現(xiàn)實中有許多預料不到的困難在等著你,有時候都令人崩潰了,不過從中間學會了堅持。</p><p> 在這一個學期里,我了解了實際動手操作和理論相結(jié)合的重要性,在老師的耐心幫助下,自己的認真努力下,最終得到圓滿。經(jīng)過這次的課程設計讓我受益匪淺!</p><p> 其一,我們必須掌握一些必備的常識,比如,電容
97、引腳的判定。</p><p> 其二,我們必須用科學的態(tài)度對待我們在實驗中所遇到的問題,發(fā)現(xiàn)問題,解決問題。在實驗時應保持冷靜,測試有條理。遵循物質(zhì)客觀規(guī)律,不隨便改寫實驗數(shù)據(jù)。</p><p> 其三,自己平時要多動手、多動腦,這樣當問題來臨時你就不會手忙腳亂。該多畫就多畫些,以便能增加你對該軟件的熟練度。用起來稱心如意,這樣就不會浪費時間。 </p><
98、;p> 總之,本次的設計使我從中學會了如何從理論到實踐的轉(zhuǎn)化,怎樣將我所學到的知識運用到我以后的工作中去。在大學的課堂的學習只是在給我們灌輸專業(yè)知識,而我們應把所學的用到我們現(xiàn)實的生活中去,我會在以后的學習、工作中磨練自己,同時在查找資料的過程中我也學到了許多新的知識,在和同學協(xié)作過程中增進同學間的友誼,使我對團隊精神的積極性和重要性有了更加充分的理解。大大的增強我的為人處事能力。</p><p><
99、;b> 致謝</b></p><p> 論文接近尾聲,我的學生生涯也快結(jié)束了。</p><p> 兩年多的大專生生活伴隨著論文的完成,也走向了終點。此時的我心情是無比的激動因為我如果沒有我的指導老師和同學們的指導和幫助是完成不了的。所以借此機會特別的由衷的向他們表示感謝!</p><p> 首先要感謝老師,本文是在她精心指導和大力支持下完成
100、的,在本論文的撰寫過程中,張老師從選題直至成稿一直給予我重要的指導和幫助,為我解開了我無數(shù)的困惑,提供了很多關鍵性的建議。另外還要感謝我的同學和老師,他們讓我在課堂上學到了豐富的知識。不論是有形的圖文還是無形的記憶,都會珍藏著我們的歡聲笑語,永不磨滅。我感激身邊始終支持、關心我的朋友,尤其是那些在我身臨逆境而豪爽地伸出雙手的朋友,曾經(jīng)共事、一起打拼的朋友,以及那些雖然接觸不深但卻幫助我的朋友。你們成就了我的今天,也與我的未來相連!<
101、;/p><p> 在他們身上我學到了很多東西,尤其是不做出來死不休的那種干勁,一種年輕人的執(zhí)著與堅定的信念。為了出色的完成任務老師和同學們都為我付出了很多,也讓我能在最后的實踐中懂得了曾經(jīng)不明的知識,使我在為人處事方面上有所提高。千言萬語說不盡內(nèi)心的感激,唯一就是在自己今后的人生道路上要不畏艱難,堅定執(zhí)著的去追尋我的夢想。</p><p> 再次表達我最誠摯的謝意!謝謝你們!</p&
102、gt;<p><b> 參考文獻</b></p><p> [1] 江力,單片機原理與應用技術,北京:清華大學出版社2009.8</p><p> [2] 周華,數(shù)字電子技術,成都:西南交通大學出版社 2009.7</p><p> [3] 溫希東,計算機控制技術,陜西:西安電子科技大學出版社 2010.1</p&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文--利用單片機at89c51控制步進電機
- 基于at89c51單片機步進電機控制
- 畢業(yè)設計(論文)-基于at89c51單片機的步進電機控制系統(tǒng)
- 畢業(yè)設計(論文)-基于at89c51單片機的步進電機控制系統(tǒng)
- 畢業(yè)設計(論文)-基于at89c51單片機的步進電機控制系統(tǒng)
- 畢業(yè)設計(論文)-基于at89c51單片機的步進電機控制系統(tǒng)
- 畢業(yè)設計----基于at89c51單片機的步進電機控制系統(tǒng)
- 課程設計--基于at89c51單片機控制步進電機
- 畢業(yè)論文---基于at89c51單片機的智能電源控制系統(tǒng)
- 基于at89c51單片機的電機控制綜合設計
- 單片機at89c51
- at89c51單片機控制溫度
- at89c51單片機控制溫度
- 基于at89c51單片機的水塔水位控制系統(tǒng)的設計-畢業(yè)論文
- 基于at89c51單片機的電風扇自動調(diào)溫系統(tǒng)畢業(yè)論文
- 基于at89c51單片機的多功能秒表系統(tǒng)設計畢業(yè)論文
- 基于at89c51單片機的交通燈控制系統(tǒng)設計畢業(yè)論文
- 畢業(yè)論文外文翻譯-基于at89c51單片機的led顯示控制系統(tǒng)
- 基于at89c51單片機的交通燈控制系統(tǒng)設計畢業(yè)論文
- 基于at89c51單片機的測溫系統(tǒng)
評論
0/150
提交評論