




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、畢業設計說明書XXX 學生姓名: 學號: 學 院: 專 業: 指導教師: 2016年 5 月I / 35基于Protues的步進電機控制系統設計摘要本文設計了一種基于Protues軟件的步進電機控制系統,該系統由AT89C52主控模塊,LCD1602液晶顯示模塊,按鍵控制模塊,步進電機模塊,步進電機驅動模塊構成,由AT89C52單片機產生驅動脈沖信號,來控制步進電機的運動狀態,按鍵設定可以控制步進電機的步進方向和步進速度,并在LCD1602液晶上實時顯示步進角度,步進方向以及當前速度,該設計采用仿真軟件protues進行電路圖的繪制并進行仿真,整個系統采用模塊化設計,結構簡單,具有很強的可靠性
2、以及穩定性。關鍵詞: AT89C52;步進電機;LCD1602;Protues;按鍵Based on protues stepping motor control system designAbstractThis paper designs a kind of stepping motor control system based on Protues software, the system consists of main control module, AT89C52 LCD1602 LCD display module, the key control module, stepper
3、 motor module, stepper motor driver module, drive pulse signal generated by the single chip microcomputer AT89C52, to control the movement of step motor, set keys can control the stepper motor step and direction and step speed, and real-time display on the LCD1602 LCD stepper Angle, step and directi
4、on and the current speed, the design adopts the Protues simulation software of circuit diagram drawing and carry on the simulation of the whole system USES modular design, simple structure, strong reliability and stability.Keywords: AT89C52; Stepping motor; LCD1602; Protues;keys目 錄1 引言12 系統方案設計及論證12
5、.1設計要求12.2系統總體方案12.3 設計方案的論證22.3.1 單片機模塊的選擇與論證22.3.2 電機驅動模塊的選擇與論證23 硬件電路設計33.1 硬件設計概述33.2 AT89C52單片機最小系統設計33.3 步進電機驅動模塊設計43.3.1 步進電機43.3.2 步進電機原理43.3.3 L297介紹63.2.4 L298簡介73.3.5 步進電機驅動模塊設計83.4 液晶顯示模塊設計93.5 控制電路設計103.6 總體電路圖114 程序設計及仿真114.1 主程序框圖124.2 程序下載以及軟件說明134.3 仿真結果135 總結17附錄A 部分程序代碼17參考文獻24致謝2
6、51 引言隨著經濟和科學技術的發展,步進電機的應用范圍越來越廣泛。步進電機是一種高精度的電機執行元件,在農業、工業、智能控制領域應用的非常廣泛。它的使用能提高系統的可靠性。常見的儀器如復印機、傳真機、打字機、FDD、監視攝影機、照明裝置、自動機械、游戲機、醫療機械等都用到了步進電機本次畢業設計中使用了電路分析與仿真軟件-Protues,設計者可以根據設計需要搭建開發平臺,可以將在編譯器中編譯好的程序加載到芯片中運行。Protues軟件目前支持的編譯器有Keil、IAR等。Protues軟件有大量的元件庫,支持大型設計,在仿真中可以觀察各元件的狀態。將需要的程序在Protues軟件中仿真,調試好
7、功能,再導入到相應的硬件電路中,這樣可以縮短開發產品周期,降低研發成本。2 系統方案設計及論證2.1設計要求本次設計,通過編程控制單片機,實現對四相步進電機轉動的控制,控制電機實現正轉、反轉、加速與減速運行。整個控制系統的工作過程是:通電之后,電機按照程序設計的轉速和轉動方向轉動。當按下正(反)轉按鍵時,通電后電機實現正(反)轉;按下加速按鍵電機加速轉動;按下減速按鍵電機減速轉動2.2系統總體方案圖2.1總體設計方案本次設計了使用AT89C52單片機作為控制核心的四相步進電機的開環控制系統。系統總體設計方案如圖2.1所示,整個步進電機控制系統以單片機為控制核心,單片機產生的脈沖信號通過功率放大
8、器放大之后驅動步進電機轉動。通過控制鍵盤控制部分的四個按鍵,可以控制步進電機正轉、反轉、加速、減速。為了提高控制的準確性,本次設計使用了兩個外部中斷, 本設計通過單片機與硬件相結合實現了單片機對步進電機的精確控制和旋轉方向的控制。從步進電機控制系統的設計要求可知,需要控制步進電機的轉動速度和方向。對于加減速的變化控制,通常采用按鍵來控制速度,所以只要2個電源線,再加上一個方向線框,一根啟動線可以了,所以鍵盤控制部分設置需要四個按鍵。四個鍵分別控制電機的正轉、反轉以及電機的加速和減速運行。2.3 設計方案的論證2.3.1 單片機模塊的選擇與論證從學校實驗室現有的設備和單片機的性價比考慮,本次設計
9、可以選擇的單片機有AT89S52單片機和AT89C52單片機。AT89C52是一種低功耗,高性能CMOS 8位8K的閃存可編程和可擦除只讀存儲器(PEROM)字節的微型計算機。單片機本身帶有8K字節閃存,256Kb的RAM,32個I / O接線端,兩個16位的定時器/計數器,二個五向量兩級中斷結構,一個全雙工串行口,片上振蕩器和時鐘電路。掉電模式保存RAM的內容,但凍結振蕩器關閉,直到下一個硬件復位芯片其它功能。通過比較AT89S52單片機和AT89C52單片機兩種單片機的性能和價格,AT89C52單片機CPU集成在單片機的8位閃存芯片上,這樣提供了一個高度靈活的嵌入式應用系統。所以本次電路設
10、計中選用AT89C52型號的單片機。2.3.2 電機驅動模塊的選擇與論證方案一:集成驅動芯片。L298N是高電壓和高電流全橋驅動。具有高頻率、低靜態電流、輸出電流大、電路簡單、散熱效果好等特點,不容易燒壞,而且還帶有控制使能端。L298N芯片抗干擾能力強,具有信號指示和續流保護功能。光電隔離技術的應用,使L298N芯片可以控制2臺直流電機或步進電機,速度控制,可以很容易實現正反轉。該芯片是用于電動馬達驅動,操作方便,穩定性好,性能好。方案二:分立元件組成驅動電路。使用三極管元件搭建電路,電路比較復雜,并且靜態電流較大,參數需要調試。搭建的電路功率小,散熱性能也不好,同時飽和導通壓降小。但是由分
11、立元件構成電路價格低廉,所以在實際中應用比較廣泛。但是這種電路存在工作性能不夠穩定的缺點。基于以上的分析和比較,我們發現,方案2采用分立元件構成驅動H橋電路相應的功率管驅動電路和匹配,雖然功率較大,但電路復雜,不符合應用程序的要求。故本系統采用方案一的芯片。3 硬件電路設計3.1 硬件設計概述本次設計的硬件電路主要包括單片機最小系統、步進電機驅動電路、顯示電路及控制電路四大部分。單片機最小系統主要是為了讓單片機正常工作。步進電機驅動電路主要是對單片機輸出的脈沖進行功率放大,從而驅動電機轉動。顯示電路可以顯示轉速和電機的工作狀態。控制電路主要由開關和按鈕組成,由設計人員根據相應的工作操作。3.2
12、 AT89C52單片機最小系統設計圖3.1 單片機最小系統最小系統是一個可以用最少的組件來工作的系統。本次設計中單片機最小系統主要由單片機、晶振電路、復位電路三部分組成。晶振頻率為12MHz。圖3.1為本次設計中單片機最小系統。3.3 步進電機驅動模塊設計3.3.1 步進電機(1)步進電機 步進電機可以將電脈沖信號轉換為線位移或角位移。給步進電機一個脈沖信號,它就可以轉動一個角度,這種工作方式比較適合用單片機進行控制。由于步進電機工作原理的特殊性,它必須通過調節脈沖信號的頻率和個數來控制。由于步進電機的轉動角度和轉速取決于脈沖信號的頻率和個數,它每接收到一個脈沖信號,就轉動一個角度。所以步進電
13、機的精度很高,在系統開環情況下就能實現高精度的控制,在工業控制領域獲得了廣泛的應用。由于步進電機的旋轉角度是由脈沖輸入的數量決定的,所以步進電機也叫數字角轉換器。目前,步進電機的控制主要是由環形脈沖分配器、軟件環形脈沖分配器、專用集成芯片環形脈沖分配器等組成。本次畢業設計中采用了低功耗、性價比高的單片機進行電機轉動控制,并且使用了軟件進行環形脈沖分配。步進電機有多種工作方式。在每個工作模式中,脈沖頻率越高,速度越快,但在一定程度上,步進電機不能跟上電機的頻率會出現失步現象,因此,脈沖頻率必須控制在步進電機允許的范圍內。3.3.2 步進電機原理步進電機在接收到脈沖信號后才能工作,所以不可以直接與
14、交流或者直流電源連接,需要使用驅動器才可以工作。通過程序設計和控制,單片機可以產生環形分配器需要的脈沖序列。脈沖序列是按一定規律分布的,由功率放大器放大的脈沖序列,然后被加載到輸入端的步進電機驅動步進電機工作。環形分配器分兩大類:第一類,軟環形分配器,并通過計算機軟件的脈沖序列分配。第二類,硬環形分配器,用硬件構成環形分配器,分配脈沖序列。步進電機在結構上分為三相三步和三三相雙拍和三相六拍。(1)步進電機的速度控制 .如果步進電機送一個控制脈沖,它將是一個步驟,然后發送一個脈沖,這將是一個進一步的步驟。調整步進電機的脈沖頻率,可以實現對步進電機進行速度的控制。(2)步進電機的起??刂?步進電機
15、由于其結構和工作原理的特殊性,運行時會有步進感。為了提高步進電機轉動時的平滑性,減小機械振動,可以通過在脈沖信號的上升沿和下降沿采用細分的梯形波來改善這一狀況。這樣可以減小步進電機的步進角,使得步進電機運行更平穩。(3)步進電機的加減速控制 在使用脈沖信號驅動步進電機進行工作時,如果脈沖信號變化太快,步進電機的機械結構會由于慣性跟不上脈沖信號的變化,這時候會產生失步和賭轉的現象。步進電機起動過程中,輸入波形有一個加速過程,在結束時同樣存在一個減速波形。步進電機加速加速曲線最理想的指數曲線,整個加速過程和加速過程中頻率變化的規律是一個互逆的過程。為了充分利用步進電機的轉矩,選定脈沖信號的加減速曲
16、線需要符合步進電機升降過程的運行規律,這樣可以縮短升降速時間,防止失步現象。(4)步進電機換向的控制 步進電機的換向動作必須在電機降速停止或降到突跳頻率范圍之內進行,這樣可以避免產生沖擊而損壞電機。脈沖信號需要有一定的脈沖寬度、脈沖序列的均勻度、高低電平方式。步進電機工作時正反向的切換是是由降速換向加速3個過程組成的。步進電機有如下特點: 步進電機精度很高,適合于開環控制系統。 步進電機動態響應快,脈沖信號便于控制,使得步進電機容易啟動、停止、正反轉和變速。 步進電機的速度可以在一個比較寬的范圍內進行平滑調整,低速運行仍然可以得到大量的轉矩,所以步進電機可以直接驅動負載。步進電機帶慣性負載的能
17、力比較強。3.3.3 L297介紹 L297是一款可專門用于步進電機控制的控制芯片,這款芯片可以產生4相的控制信號,芯片本身需要5v電壓供電才可以正常工作。通過單片機編程可以來控制步進電機的轉速。L297芯片采用雙列直插式20引腳封裝。引腳圖見下圖3.2。圖3.2 L297芯片引腳圖L297各個引腳的功能說明如下:第1腳 SYNG-斬波器輸出端。第2腳 GND-接地端。第3腳 HOME-集電極開路輸出端。當此引腳電平有效時,晶體管處于開路狀態。第4腳 A-A相驅動信號。第5腳 INH1-此引腳為控制A相以及B相的驅動極。當此引腳為低電平0時,A相、B相驅動控制處于禁止狀態。第6腳B-B相驅動信
18、號。第7腳C-C相驅動信號。第8腳 INH2-此引腳為控制C相以及D相的驅動級。其作用同INH1。第9腳D-D相驅動信號。第10腳 ENABLE-使能輸入端。當此引腳為低電平時, A相,B相,C相,D相 以及INH1引腳,INH2引腳都為低電平。第11腳CONTROL-此引腳為斬波器功能控制端。當為低電平0時,INH1和INH2工作,當為高電平1時,A,B,C,D工作。第12腳Vcc-電源輸入端,接+5v。第13腳SENS2-此引腳為C相以及D相電壓反饋輸入端。通過繞組電流檢測進行反饋。第14腳SENS1-此引腳為A相以及B相電壓反饋輸入端。通過繞組電流檢測進行反饋。第15腳Vref -此引腳
19、為斬波器的基準電壓輸入端。第16腳OSC-此引腳為斬波器的頻率輸入端。第17腳CW/CCW-方向控制端??刂撇竭M電機的轉動方向,當此引腳的電平發生變化時,步進電機反向旋轉。第18腳CLOCK-步進時鐘輸入端。當該引腳輸入一個低電平時,步進電機步進一個對應增量,該步進在信號 的上升沿產生。第19腳-低電平全步方式,高電平半步方式。第 20腳RESET復位端。低電平有效。系統初始化。 3.2.4 L298簡介L298N 是一種雙全橋步進電機驅動芯片,主要用于二相以及四相電機的驅動,它內部包含了4信道邏輯驅動電路,同時具有兩個H橋的高電壓,可用來驅動46V、2A以下的電機。其引腳排列如圖3.3所示。
20、圖3.3 L298引腳圖3.3.5 步進電機驅動模塊設計圖3.4步進電機驅動電路圖步進電機直接連接交流或者直流電源時不會運動,必須與驅動電路同時使用才能發揮其功能。驅動電路由決定順序的控制電路與控制電路輸出功率的換相電路組成。本次步進電機的驅動電路由L297和L298芯片構成,步進電機驅動電路圖如圖3.4所示。L297的四相輸出接L298N 電機驅動芯片的OUT1、OUT2和OUT3、OUT4,在ENA、ENB 兩個使能端為高電平,控制器只要控制4 個輸入端的電平高低,就能實現小車的正轉、反轉等動作。3.4 液晶顯示模塊設計 圖3.4 液晶顯示模塊電路連接圖本次設計選擇了LM016L液晶模塊,
21、電路連接如圖3.4所示。LM016L模塊引腳說明如下:第1腳:VSS接地。第2腳:VDD接5V正電源。第3腳:VO為液晶對比度調整端口,用來調整顯示器的對比度,在使用時一般通過外接一個10K的電位器來調整對比度。第4腳:RS 指令/數據寄存器選擇端口。第5腳:R/W,信號讀寫選擇端口。第6腳:E端為使能信號端,當該端口信號由1跳變為0時。液晶顯示模塊開始進行工作。第714腳:8位數據傳輸口。第15腳:背光源正極。第16腳:背光源負極。本次設計中顯示部分用的是XXX模塊,XXX模塊的數據端與單片機通過P1口的P1.0P1.7連接,顯示步進電機的轉速和方向。3.5 控制電路設計圖3.5控制電路原理
22、圖本設計中設置了步進電機的四種運動狀態,分別為正轉,反轉,加速,減速,分別由四個按鍵開關控制,REV,FWD按鍵控制電機的正轉和反向。當 REV、FWD 的電平發生變化時,單片機檢測 P3.4 和 P3.5的電平狀態從而進行電機的正反轉控制。圖3.5為步進電機控制部分電路原理圖。表1為四相單四拍脈沖分配表,表2為四相雙四拍脈沖分配表。步進電機的工作是由輸入電機的脈沖頻率來控制步進電機的轉速,通過REV、FWD 的開關來控制控制電機的加速度,根據按鍵次數來控制中斷的次數,從而改變速度值存儲區中的數據,進而改變了步進電機的輸出脈沖頻率最終改變了電機的轉速。3.6 總體電路圖 總電路圖如圖12所示。
23、圖3.6總體電路圖(包括顯示電路圖)步進電機的總體電路如圖3.6所示,硬件電路設計部分,以AT89C52單片為核心控制器件,設計了步進電機控制系統。整個硬件部分由單片機最小系統、步進電機驅動電路、液晶顯示電路、控制電路和電源部分組成。4 程序設計及仿真通過對步進電機控制系統的分析,單片機需要控制步進電機隨時實現正轉、反轉、加速、減速,本次采用了效率較高的中斷方式來實現。源程序由主程序,定時器中斷程序,外部中斷1以及外部中斷0等四部分組成。主程序的主要作用對系統進行初始化設置以及開關檢測。當開關閉合時系統開始進行工作,反之,當開關斷開后系統就停止工作。4.1 主程序框圖圖4.1程序流程框圖程序流
24、程框圖如圖4.1所示。系統在進行工作時需要先進行初始化設置,初始化完成后進行定時器設置,當定時器T0工作時,步進電機進入正轉運行狀態,LCD1602進行實時顯示步進電機的轉速以及運行狀態,同樣,當定時器T1工作時,步進電機進入反轉運行狀態,液晶顯示反轉轉速以及反轉狀態。中斷0觸發后進行減速控制,中斷1觸發后進行加速控制,液晶顯示模塊進行速度以及運動狀態的顯示。根據定時器中斷次數來判斷步進電機的運行方向,進而控制正反轉改,通過按鍵來確定外部中斷,進而改變步進電機輸出脈沖頻率,即改變了電機的轉速。當按正轉控制按鍵時,步進電機進行正轉,轉速為400n/min,當按反轉控制按鍵時,步進電機進行反轉,轉
25、速依然為400n/min,當按減速控制按鍵時,步進電機減速,轉速為303n/min,當按加速控制按鍵時,步進電機加速,轉速為500n/min,不斷按加速按鍵或者減速按鍵,步進電機速度會進行步進加速或者減速。4.2 程序下載以及軟件說明本設計采用的編程軟件為keil,采用的仿真軟件為Protues,同時采用keil與Protues級聯調試仿真的步驟如下:1.keil中新建工程,同時新建c文件,點擊保存,并將c文件添加到所建工程中。2.在所建c文件中編寫程序,編寫完成后點擊編譯,若編譯出錯,檢查程序是否有語法以及格式錯誤并進行修改,直至編譯無報錯。3.點擊輸出文件設置快捷按鈕output,勾選生成
26、HEX文件,重新進行編譯。4.Protues中新建原理圖文件,根據所需器件進行原理圖的繪制。5.雙擊AT89C52單片機,然后在彈出對話框中選擇由keil軟件生成的HEX文件,點擊ok。6.單擊Protues中的仿真按鈕進行仿真。7.點擊正轉控制按鍵,按鍵導通,步進電機進行正轉,顯示模塊顯示點擊速度以及運動狀態,同樣,其他狀態也依此方式進行仿真。4.3 仿真結果將編寫好的C語言程序在keil軟件中運行,并修改錯誤,直至最后沒有警告和錯誤,然后進行編譯生成HEX文件,然后與Protues軟件連接,導入Protues軟件。圖4.2-4.5是硬件電路在Protues軟件中的仿真結果界面。圖4.2 正
27、轉仿真結果圖4.2是步進電機正轉仿真結果,閉合原理圖上的FEED按鍵,點擊Protues軟件的運行按鈕。電路圖上的各個接線引腳會呈現動態的彩色,步進電機正轉,液晶顯示器上顯示字符REV(正轉),轉速400r/min,圖4.3 反轉仿真結果圖4.3為步進電機反轉仿真結果,閉合原理圖上的REV按鍵,點擊Protues軟件的運行按鈕,電路圖上的各個接線引腳會呈現動態的彩色,電機進行反轉,液晶顯示器上顯示FZ(反轉),轉速400r/min,。圖4.4 加速仿真結果圖4.4為步進電機加速轉動的仿真結果圖。閉合原理圖上的FEED按鍵,點擊Protues軟件的運行按鈕,電路圖上的各個接線引腳會呈現動態的彩色
28、,步進電機反轉。點擊原理圖上的SPEED按鍵,步進電機加速轉動,液晶顯示器上顯示FZ(反轉),速度由400 r/min變為500r/min. 圖4.5 減速仿真結果圖4.5為步進電機減速轉動的仿真結果圖,閉合原理圖上的FEED按鍵,點擊Protues軟件的運行按鈕,電路圖上的各個接線引腳會呈現動態的彩色,步進電機反轉。點擊原理圖上的SOLW DOWN按鍵,步進電機減速轉動,液晶顯示器上顯示FZ(反轉),速度由400 r/min變為300r/min.從圖4.2-4.5,可以看出本次設計的控制系統完全實現了設計要求的功能:電機正轉以及反轉,加速,減速運行。滿足設計要求。將C語言程序在Keil中編譯
29、之后導入到Protues軟件中運行,發現設計的電路可以正常工作,實現了論文要求的功能,步進電機可以正常的正轉、反轉、加速和減速。但是由于本次設計時間比較倉促,加上硬件和軟件條件的不足,整個步進電機控制系統的討論不夠詳細,步進電機轉速控制的精度還需要進一步提高。由于選擇的器件的原因,相關實驗做得不夠完善,后續有待進一步的提高。同時本次畢業設計中,對電源供電部分的設計也比較粗放。在實際的電路板制作中,外界的供電電壓不可能正好適合電路中的芯片電壓,需要用電壓轉換芯片對電路的電壓進行轉換,同時需要考慮電壓轉換芯片的功耗和功率,這些都是以后在實際應用中需要繼續研究的問題。5 總結本次畢業設計從選題到系統
30、功能的實現,是一個讓人不斷進步和成長的過程,不僅端正了我的學習態度,還增強了我對電路設計的興趣。做畢業設計的整個過程,我學習到了很多新知識,從開始對單片機很膚淺的了解到整個電路的設計;從對編程沒有信心甚至是懼怕到獨立編寫單片機的控制程序并實現其功能等,這對我都是莫大的鼓勵,也增強了我的自信心。經過自己認真學習C語言編程知識,學習keil軟件知識,從開始編寫出簡單的程序,到最后編寫出復雜的單片機程序是一個不斷進步的過程。整個畢業設計中感謝指導老師和身邊的同學對我的幫助和督促。在電路軟件的設計與調試過程中,我學習到了許多以前不曾接觸到的知識,增長了編程經驗。同時體會到知識不僅在于應用,更是一個學習
31、和積累經驗的過程,這不僅需要對工作內容有充分的認識,也需要嚴謹,認真和堅忍不拔的精神。整個過程讓我學習到了很多,也給我以后的工作和生活態度產生了重要的積極影響。以后涉及到步進電機的控制系統將會越來越智能化、微型化以及網絡化。本設計對步進電機控制以及應用所做的研究有所不足,我們會在現有的基礎上,不斷的進行創新以及改進,創造新的技術和方法,最終將它們運用到實際工業生產中,獲取最大的經濟效益。附錄A 部分程序代碼#include "AT89C52.h"int delay();void inti_lcd();void show_lcd(int);void cmd_wr();void
32、 ShowState();void clock(unsigned int Delay) ;void DoSpeed(); /計算速度/正轉值#define RIGHT_RUN 1/反轉值#define LEFT_RUN 0sbit RS=0xA0;sbit RW=0xA1;sbit E=0xA2;char SpeedChar="Speed(n/min):"char StateChar="Run state:"char STATE_CW="FZ"char STATE_CCW="REV"char SPEED3=&quo
33、t;050"unsigned int RunSpeed=50; /速度unsigned char RunState=RIGHT_RUN; /運行狀態main()/*定時器設置*/TMOD=0x66; /定時器0,1都為計數方式;方式2; EA=1; /開中斷TH0=0xff; /定時器0初值FFH;TL0=0xff;ET0=1;TR0=1;TH1=0xff; /定時器1初值FFH;TL1=0xff;ET1=1;TR1=1;IT0=1; /脈沖方式EX0=1; /開外部中斷0:加速IT1=1; /脈沖方式EX1=1; /開外部中斷1:減速inti_lcd();DoSpeed();Sho
34、wState();while(1)clock(RunSpeed);P0_1=P0_10x01; /定時器0中斷程序:正轉void t_0(void) interrupt 1RunState=RIGHT_RUN;P0_0=1;P1=0x01;cmd_wr();ShowState();/定時器1中斷:反轉void t_1(void) interrupt 3 RunState=LEFT_RUN;P0_0=0;P1=0x01;cmd_wr();ShowState(); /中斷0:加速程序void SpeedUp() interrupt 0 if(RunSpeed>=12)RunSpeed=Run
35、Speed-2; DoSpeed();P1=0x01;cmd_wr();ShowState();/中斷1:減速程序 void SpeedDowm() interrupt 2 if(RunSpeed<=100)RunSpeed=RunSpeed+2;DoSpeed();P1=0x01;cmd_wr();ShowState();int delay() /判斷LCD是否忙 int a;start :RS=0;RW=1;E=0;for(a=0;a<2;a+);E=1;P1=0xff;if(P1_7=0)return 0;elsegoto start;void inti_lcd() /設置L
36、CD方式P1=0x38;/設置16x2顯示cmd_wr();delay();P1=0x01; /清除cmd_wr();delay();P1=0x0f;cmd_wr();delay();P1=0x06;/光標移動設置cmd_wr();delay();P1=0x0c;/顯示開及光標設置cmd_wr();delay();void cmd_wr() /寫控制字RS=0;RW=0;E=0;E=1;void show_lcd(int i) /LCD顯示子程序P1=i;RS=1;RW=0;E=0;E=1;void ShowState() /顯示狀態與速度 int i=0;while(SpeedChari!=
37、'0')/char SpeedChar="SPEED(n/min):"delay();show_lcd(SpeedChari);i+; delay();P1=0x80 | 0x0d;/數據首地址為80H,所以數據地址為80H+地址碼(0-27H,40-67H) cmd_wr();i=0;while(SPEEDi!='0')delay();show_lcd(SPEEDi);/SPEED3="050"i+; delay();P1=0xC0;cmd_wr();i=0;while(StateChari!='0')d
38、elay();show_lcd(StateChari);/char StateChar="Run state:"i+; delay();P1=0xC0 | 0x0A;/0x0c顯示開及光標設置cmd_wr();i=0;if(RunState=RIGHT_RUN)while(STATE_CWi!='0')delay();show_lcd(STATE_CWi);/char STATE_CW="FW" i+; elsewhile(STATE_CCWi!='0')delay();show_lcd(STATE_CCWi);/char
39、 STATE_CCW="REV" i+; void clock(unsigned int Delay) /1ms延時程序 unsigned int i;for(;Delay>0;Delay-)for(i=0;i<124;i+);void DoSpeed()SPEED0=(1000*20/RunSpeed/100)+48;SPEED1=1000*20/RunSpeed%100/10+48;SPEED2=1000*20/RunSpeed%10+48;參考文獻1 王文華.基于80C51單片機的智能小車設計.山西電子技術.2010,第4期2 董濤,劉進英,蔣蘇. 基于單片機的智能小車的設計與制作.計算機測與控制.2010第2期3 陳永真,寧武,藍和慧.新編全國大學生電子設計競賽試題精選.第一版.電子工業出版社,20094 高吉祥,唐朝京.全國大學生電子設計競賽系列教程數字系統與自動控制系統設計第一版.電子工業出版社,20075 鄭峰,王巧芝,陳繪兵.51單片機應用系統典型模塊開發大全.第一版.中國鐵道出版社.2010:433-433,446-4466 Marcus Nadenau.Integration of human colour vision m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 護士護理業務查房:提升技能與優化護理實踐
- 四川應用技術職業學院《開發基礎》2023-2024學年第二學期期末試卷
- 江蘇省宜興市丁蜀區重點名校2024-2025學年初三下學期3月10日周中測數學試題試卷含解析
- 云南師范大學《產品U界面設計》2023-2024學年第二學期期末試卷
- 浙江省龍游第二高級中學2025屆高三一輪第五次階段性過關物理試題試卷含解析
- 浙江宇翔職業技術學院《金融綜合實訓》2023-2024學年第二學期期末試卷
- 山西林業職業技術學院《冶金資源工程》2023-2024學年第二學期期末試卷
- 云南醫藥健康職業學院《寄生蟲學及檢驗》2023-2024學年第二學期期末試卷
- 中國科學技術大學《運動技能學習與控制》2023-2024學年第二學期期末試卷
- 內江師范學院《工程軟件應用》2023-2024學年第二學期期末試卷
- 軟件研制總結報告范文
- 我是安全守法小公民
- 音頻壓縮中的隱私保護技術研究-洞察分析
- 物業公司的組織結構設計方案
- 2025年六安城市建設投資有限公司招聘筆試參考題庫含答案解析
- 2025年安徽淮北市建投控股集團招聘筆試參考題庫含答案解析
- 《孤獨的小螃蟹》導讀課件
- DB32T 4988-2024城鄉公交代運郵件快件服務指南
- 物業消防安全知識培訓
- 小學地質災害安全教育
- Unit3 Diverse Cultures Reading and Thinking 說課稿-2024-2025學年高中英語人教版(2019)必修第三冊
評論
0/150
提交評論