




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、湖南工程學(xué)院課 程 設(shè) 計 任 務(wù) 書課程名稱 單片機(jī)原理與應(yīng)用 課 題 步進(jìn)電機(jī)控制系統(tǒng)設(shè)計 專業(yè)班級 電氣工程0991 學(xué)生姓名 學(xué) 號 指導(dǎo)老師 審 批 任務(wù)書下達(dá)日期 2011 年09 月 05 日 任務(wù)完成日期2011 年 09 月 16 日設(shè)計內(nèi)容與設(shè)計要求設(shè)計內(nèi)容:以單片機(jī)為核心設(shè)計一個步進(jìn)電機(jī)控制系統(tǒng),要求能夠通過鍵盤設(shè)置步進(jìn)電機(jī)的轉(zhuǎn)向和轉(zhuǎn)速,并在4位LED顯示器上顯示步進(jìn)電機(jī)轉(zhuǎn)速或工作狀態(tài)。設(shè)計要求:1確定系統(tǒng)設(shè)計方案; 2進(jìn)行系統(tǒng)的硬件設(shè)計;3完成應(yīng)用程序設(shè)計;4硬件電路及應(yīng)用程序的調(diào)試。主 要 設(shè) 計 條 件本課題以單片機(jī)為核心,設(shè)計并制作出步進(jìn)電機(jī)控制系統(tǒng),設(shè)計要求:1
2、. 按下不同的鍵,分別使步進(jìn)電機(jī)實現(xiàn)順時針和逆時針旋轉(zhuǎn);2. 步進(jìn)電機(jī)可實現(xiàn)正、反轉(zhuǎn),加速、減速、停止等工作狀態(tài);3. 通過LED數(shù)碼管顯示步進(jìn)電機(jī)運行速度或工作狀態(tài);說 明 書 格 式1. 課程設(shè)計任務(wù)書2. 目錄3. 總體方案確定4. 各單元硬件電路設(shè)計說明及計算方法5. 軟件設(shè)計與說明包括流程圖6. 調(diào)試結(jié)果與必要的調(diào)試說明7. 使用說明8、總結(jié)9、參考文獻(xiàn)附錄附錄A 系統(tǒng)原理圖附錄B 程序清單進(jìn) 度 安 排設(shè)計時間為兩周第一周星期一、上午:布置課題任務(wù),講課及課題介紹 下午:借閱有關(guān)資料,總體方案討論星期二、系統(tǒng)總體方案星期四、設(shè)計及調(diào)試星期五、設(shè)計及調(diào)試第二周星期一、設(shè)計及調(diào)試星期二
3、、設(shè)計及調(diào)試星期三、設(shè)計及調(diào)試星期四、寫說明書星期五、上午:寫說明書,整理資料下午:交設(shè)計資料,辯論參 考 文 獻(xiàn)1王迎旭.?單片機(jī)原理及及應(yīng)用?.北京:機(jī)械工業(yè)出版社2張迎新.?單片微型計算機(jī)原理、應(yīng)用及接口技術(shù)?.北京:國防工業(yè)出版社3郭天祥.?新概念51單片機(jī)C語言教程?.北京:電子工業(yè)出版社4王曉明.?電動機(jī)的單片機(jī)控制?.北京航空航天大學(xué)出版社 5蔡明文 馮先成編著.?單片機(jī)課程設(shè)計?.北京:華中科技大學(xué)出版社目錄第1章 目的與要求6第2章 步進(jìn)電機(jī)的原理介紹72.1 步進(jìn)電機(jī)的工作原理72.2 步進(jìn)電機(jī)24BYJ48的相關(guān)電氣參數(shù)82.3 步進(jìn)電機(jī)的根本術(shù)語92.3.1 相數(shù)92.
4、3.2 拍數(shù)92.3.3 步距角92.3.4 信號分配9第3章 總體設(shè)計思路103.1 方案與設(shè)計思路103.2 總框圖11第4章 程序設(shè)計114.1 主程序114.2 LCD及檔位顯示程序12正反轉(zhuǎn)流程圖13啟動與停止流程圖15第5章 硬件設(shè)計165.1 硬件的設(shè)計與選取165.1.1 步進(jìn)電機(jī)的驅(qū)動165.1.2 單片機(jī)的選取185.1.3 液晶LCD1602顯示模塊19.4 按鍵電路設(shè)計195.1.5 時針產(chǎn)生電路205.2 硬件的總體電路連接21第6章 調(diào)試與故障分析226.1 軟件編寫及調(diào)試226.2 調(diào)試過程及相關(guān)顯示結(jié)果236.3 故障分析及解決方法25第7章 心得體會26第8章
5、 參考文獻(xiàn)27附件28系統(tǒng)原理圖28開發(fā)板實物圖:29元器件清單29源程序清單30第1章 目的與要求 綜合運用所學(xué)的?單片機(jī)原理與應(yīng)用?理論知識,通過實踐加強(qiáng)對所學(xué)知識的理解,具備設(shè)計單片機(jī)應(yīng)用系統(tǒng)的能力,以單片機(jī)為核心設(shè)計一個步進(jìn)電機(jī)控制系統(tǒng),要求能夠通過鍵盤設(shè)置步進(jìn)電機(jī)的轉(zhuǎn)向和轉(zhuǎn)速,并在LED顯示器或者液晶LCD1602上顯示步進(jìn)電機(jī)轉(zhuǎn)速或工作狀態(tài)。本課題以單片機(jī)為核心,設(shè)計并制作出步進(jìn)電機(jī)控制系統(tǒng),設(shè)計要求:1、按下不同的鍵,分別使步進(jìn)電機(jī)實現(xiàn)順時針和逆時針旋轉(zhuǎn)。2、電機(jī)運轉(zhuǎn)狀態(tài)可以是正反轉(zhuǎn),加速減速,五種不同速度的各種組合。3、通過LED數(shù)碼管或液晶1602顯示電機(jī)運行狀態(tài)。第2章 步
6、進(jìn)電機(jī)的原理介紹2.1 步進(jìn)電機(jī)的工作原理步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。通俗一點講:當(dāng)步進(jìn)驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個固定的角度及步進(jìn)角。可以通過控制脈沖個來控制角位移量,從而到達(dá)準(zhǔn)確定位的目的;同時可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度,從而到達(dá)調(diào)速的目的。本次設(shè)計是采用步進(jìn)電機(jī)28BYJ48型四相八拍電機(jī),電壓為DC5VDC12V。當(dāng)對步進(jìn)電機(jī)施加一系列連續(xù)不斷的控制脈沖時,它可以連續(xù)不斷地轉(zhuǎn)動。每一個脈沖信號對應(yīng)步進(jìn)電機(jī)的某一相或兩相繞組的通電狀態(tài)改變一次,也就對應(yīng)轉(zhuǎn)子轉(zhuǎn)過一定的角度一個步距角。當(dāng)通電狀態(tài)的改變完成一個循環(huán)時,轉(zhuǎn)
7、子轉(zhuǎn)過一個齒距。四相步進(jìn)電機(jī)可以在不同的通電方式下運行,常見的通電方式有單單相繞組通電四拍A-B-C-D-A。,雙雙相繞組通電四拍AB-BC-CD-DA-AB-。,八拍A-AB-B-BC-C-CD-D-DA-A。其相序分配表如下:2.2 步進(jìn)電機(jī)24BYJ48的相關(guān)電氣參數(shù)1.額定電壓:12VDC(另有電壓:5V、6V、24V)2.相數(shù):43.減速比:1/64(另有減速比:1/16、1/32)°/645.驅(qū)動方式:4相8拍6.直流電阻:200±7%(25)(按客戶要求而定:80、130歐姆)7.空載牽入頻率:600Hz8.空載牽出頻率:1000Hz9.牽入轉(zhuǎn)矩:34.3mN
8、.m(120Hz)10.自定位轉(zhuǎn)矩:11.絕緣電阻:10M(500V)12.絕緣介電強(qiáng)度:600VAC/1mA/1S13.絕緣等級:A14.溫升:50K(120Hz)15.噪音:40dB(120Hz)16.重量:大約40g17.未注公差按:GB1804-m18.轉(zhuǎn)向:CCW2.3 步進(jìn)電機(jī)的根本術(shù)語 相數(shù)產(chǎn)生不同對極N、S磁場的激磁線圈對數(shù),常用m表示。 拍數(shù)完成一個磁場周期性變化所需脈沖數(shù)或?qū)щ姞顟B(tài)用n表示,或指電機(jī)轉(zhuǎn)過一個齒距角所需脈沖數(shù),比方說本次設(shè)計中使用的24BYJ48有單單相繞組通電四拍A-B-C-D-A。,雙雙相繞組通電四拍AB-BC-CD-DA-AB-。,八拍A-AB-B-BC
9、-C-CD-D-DA-A。 步距角對應(yīng)一個脈沖信號,電機(jī)轉(zhuǎn)子轉(zhuǎn)過的角位移用表示。=360度轉(zhuǎn)子齒數(shù)J*運行拍數(shù),以常規(guī)二相,轉(zhuǎn)子齒為50齒電機(jī)為例。四拍運行時步距角為=360度/50*4=1.8度俗稱整步,八拍運行時步距角為=360度/50*8=0.9度俗稱半步。 信號分配四相步進(jìn)電機(jī)按照其通電方式的不同,可以分為單四拍,雙四拍和雙八拍三種工作方式。單四拍與雙四拍的步距角相等,均為11.25度,而八拍的步距角那么是單四拍與雙四拍的一半,5.625度。單單相繞組通電四拍A-B-C-D-A。,雙雙相繞組通電四拍AB-BC-CD-DA-AB-。,八拍 A-AB-B-BC-C-CD-D-DA-A。這里
10、選取的是雙相八拍的工作方式。 第3章 總體設(shè)計思路3.1 方案與設(shè)計思路因為步進(jìn)電機(jī)的控制是通過脈沖信號來控制的,將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。所以怎樣產(chǎn)生這個脈沖信號和產(chǎn)生怎樣的信號是電機(jī)控制的關(guān)鍵。用單片機(jī)來產(chǎn)生這個脈沖信號,通過單片機(jī)的P1口輸出脈沖信號,因為所選電機(jī)是四相的,所以只需要P1口的低四位P1.0P1.3分別接到電機(jī)的四根電線上。定時器定時來調(diào)整電機(jī)的轉(zhuǎn)速,通過鍵盤的按鈕,就可以改變定時初值從而改變了電機(jī)的轉(zhuǎn)速,單片機(jī)上P3.2P3.5連的是按鍵,這里鍵盤上的K1鍵為啟動與停止鍵,K2鍵為減速鍵,K3鍵為加速鍵,K4鍵為方向轉(zhuǎn)換鍵。P0以及P2.0P2.2口
11、接LCD1602,可以顯示當(dāng)前的電機(jī)轉(zhuǎn)速、運行狀態(tài)、運行方向和檔位。具體結(jié)構(gòu)見3-1框圖。3.2 總框圖圖3-1 總體設(shè)計方框圖第4章 程序設(shè)計4.1 主程序進(jìn)入主程序,首先是對LCD進(jìn)行初始化,然后依次進(jìn)行鍵盤掃描,調(diào)用步進(jìn)電機(jī)相關(guān)數(shù)據(jù)顯示子函數(shù),假設(shè)檢測到有鍵按下,那么進(jìn)去相應(yīng)的處理。流程圖如下列圖4-1:4-1圖 主程序流程圖4.2 LCD及檔位顯示程序此次設(shè)計使用1602液晶顯示步進(jìn)電機(jī)運行狀態(tài),其效果比用數(shù)碼管顯示要更加明了,也更容易讀取相關(guān)狀態(tài)和數(shù)據(jù)。液晶上顯示有電機(jī)運行的狀態(tài)RUNNING或STOP、當(dāng)前檔位(DW)、運行方向("<<"或"
12、;>>")以及其運轉(zhuǎn)速度(r/min)。其顯示原理如下列圖4-2:圖4-2 液晶顯示流程圖步進(jìn)電機(jī)的正反轉(zhuǎn)用K4控制,初始化電機(jī)為順時針轉(zhuǎn),即“?,每當(dāng)按下K4鍵,電機(jī)轉(zhuǎn)向改變,具體流程圖如下列圖4-3:啟動與停止是用K1鍵來控制的,初始化標(biāo)志位on_off=0,檔按下K1,即將on_off置1,每當(dāng)按下k1,都將在啟動與停止間切換,具體流程圖如下列圖4-4:圖4-4 啟動與停止流程圖第5章 硬件設(shè)計5.1 硬件的設(shè)計與選取 步進(jìn)電機(jī)的驅(qū)動步進(jìn)電機(jī)的驅(qū)動采用ULN2003,接到單片機(jī)的P1.0P1.3,具體如圖5-1:圖5-1 步進(jìn)電機(jī)驅(qū)動及其接口圖 單片機(jī)的選取目前市面
13、上的通用型單片機(jī)種類很多,且適合不同應(yīng)用場合的新產(chǎn)品不斷出現(xiàn),但目前的應(yīng)用狀況,以8位中檔MCS-51系列單片機(jī)的應(yīng)用最為普遍?;谶@次課程設(shè)計的要求不高,我們可以選用51系列或52系列單片機(jī),其有可靠性高,易于擴(kuò)展以及實用性好等特點,完全可以滿足我們的控制要求。其圖如下5-2:圖5-2 AT89C52單片機(jī) 液晶LCD1602顯示模塊P0接液晶的數(shù)據(jù)傳送口,P2.0P2.2接液晶的控制端口。其接線圖如下列圖5-3:圖5-3 液晶與單片機(jī)接口原理圖 按鍵電路設(shè)計鍵盤接口按不同標(biāo)準(zhǔn)有不同分類方法,按鍵盤排布,可以分為獨立方式一組相互獨立的鍵盤和矩陣一行列組成矩陣方式。此次設(shè)計只用到了四個按鍵,故
14、可采用獨立按鍵,P3.2P3.5分別接到K1K4。其原理圖如下列圖5-4:圖5-4 按鍵與單片機(jī)接口原理圖 時針產(chǎn)生電路時針電路局部晶振為11.0592MHz,其原理圖如下:圖5-4 時針電路5.2 硬件的總體電路連接圖 5-5 總體原理圖第6章 調(diào)試與故障分析6.1 軟件編寫及調(diào)試此次編程及調(diào)試是用keil軟件進(jìn)行的,程序的編寫及調(diào)試步驟如下:1. 根據(jù)步進(jìn)電機(jī)24BYJ48的相序,編好正反轉(zhuǎn)相序表,這個是關(guān)鍵,不能編錯。2.定義各個變量及相關(guān)液晶顯示符:uchar code cdis0 = " WELCOME TO "uchar code cdis1 = "
15、STEPPING MOTOR "uchar code cdis2 = " CONTROL SYSTEM "uchar code cdis3 = "STOP "uchar code cdis4 = "DW:"uchar code cdis5 = "RUNNING"uchar code cdis6 = "r/min"3. 定義各個按鍵:sbit K1 = P32; /運行與停止sbit K2 = P33; /加速sbit K3 = P34; /減速sbit K4 = P35; /方向轉(zhuǎn)換s
16、bit BEEP = P36; /蜂鳴器4. 編寫各個子程序。5. 編寫主程序,進(jìn)入主程序即開始進(jìn)行鍵盤掃描及調(diào)用液晶顯示。6. 定時器T0的中斷效勞程序,進(jìn)入中斷,假設(shè)滿足條件,即向步進(jìn)電機(jī)送8個脈沖。6.2 調(diào)試過程及相關(guān)顯示結(jié)果 將程序下載到單片機(jī)中,LCD初始化顯示如下:之后進(jìn)入步進(jìn)電機(jī)初始化的畫面顯示,電機(jī)運行狀態(tài)顯示為STOP,檔位為5檔,開機(jī)轉(zhuǎn)速為2.66r/min,如下: 實物圖如下:按下啟動鍵K1后,轉(zhuǎn)向顯示出顯示"?",即電機(jī)順時針轉(zhuǎn),顯示如下:按K2鍵一次,檔位加一,高位檔為10檔,此時對應(yīng)電機(jī)轉(zhuǎn)速為最慢,為1.33r/min,如下列圖:實物圖顯示如下
17、:按下K3鍵一次,檔位減一,低位檔為1檔,也是電機(jī)轉(zhuǎn)速最快的檔,為13.32r/min,顯示效果如下列圖:實物圖顯示如下:6.3 故障分析及解決方法故障一:首先在設(shè)計總體方案時,思路上出現(xiàn)了一些問題,我首先是想在中斷里完成許多應(yīng)在中斷之外完成的事,經(jīng)過老師的指點,后來想清楚了。只在中斷中給電機(jī)送相序碼,并設(shè)定了一個參數(shù)對電機(jī)的轉(zhuǎn)速進(jìn)行調(diào)控。故障二:由于編寫程序的經(jīng)驗不多,在計算電機(jī)轉(zhuǎn)速,并將其顯示在液晶時,遇到了一些問題,速度轉(zhuǎn)換公式是找出來了,但怎樣將其小數(shù)點表示出來,困惑了好久,最后還是請教了同學(xué),才搞定。故障三:在仿真時首先液晶沒有接上拉電阻,液晶上顯示不出來,我以為是程序方面出了問題,
18、后來嘗試接了上拉電阻,就能夠正常顯示了。第7章 心得體會為期兩周的單片機(jī)課程設(shè)計在忙碌中已接近尾聲,經(jīng)過這么多天的努力,終于完成了這次課程設(shè)計根本設(shè)計要求,在充實中也學(xué)到了很多知識,是真正將所學(xué)知識運用于實踐中的一次很好的體驗,使人受益匪淺。由于此次控制要求不是很高,選用51系列或52系列完全能夠滿足設(shè)計需求,最后選用的STC89C52。接下來就是硬件接口分配問題和如何去驅(qū)動電機(jī)。對于步進(jìn)電機(jī)之前沒有什么接觸,所以我上網(wǎng)查了許多關(guān)于步進(jìn)電機(jī)的資料,知道了其根本工作原理以及怎么去實現(xiàn)其控制運轉(zhuǎn)和驅(qū)動。接下來的主要問題就是如何編程去實現(xiàn)控制它了,這次程序的編寫和調(diào)試對我來說是個不小的挑戰(zhàn),因為之前
19、只編寫過一些簡短的小程序,對較大的程序總體性方面還不能很好的把握。經(jīng)過反復(fù)的嘗試和調(diào)試,用發(fā)現(xiàn)一個問題,解決一個問題的方法,還參考了一些別人的經(jīng)驗方法,完成了程序的編寫。這對我以后編寫程序是一次很好的經(jīng)驗積累。仿真時也出了一些小問題,首先LCD完全沒有顯示,我就嘗試接上拉電阻,結(jié)果就能正常工作了。然后是電機(jī)也不轉(zhuǎn),最后我把送進(jìn)去的脈沖頻率減小,才使得電機(jī)運轉(zhuǎn)起來,這個仿真過程又使我更加熟練了Proteus軟件的用法。這次課程設(shè)計使我認(rèn)識到,剛學(xué)好書上的知識還是不夠的,更重要的是我們要能將所學(xué)的知識運用到實踐中來,這才是我們學(xué)習(xí)知識的最根本的要求,所以在以后的學(xué)習(xí)生活中,我們應(yīng)該更加注意將學(xué)習(xí)與
20、實踐相結(jié)合,在實踐中去運用好所學(xué)知識,更進(jìn)一步深化和理解所學(xué)知識,到達(dá)學(xué)以致用。通過這次課程設(shè)計,我也了解到了自己的缺乏,以前自己學(xué)習(xí)單片機(jī)的時候,往往只去看懂別人寫的程序,以為看懂了自己就知道寫了,但事實并不是這樣,雖然這次課程設(shè)計程序是完成了,但棘手的地方很多,編程并不像以前認(rèn)為的簡單。所以在以后的學(xué)習(xí)中,不能手高眼低,一定要腳踏實地,一步步地走,自己動手去做,這樣才能將知識真正學(xué)到手。這次課程設(shè)計能得以順利完成,還要感謝李曉秀老師的指導(dǎo),在老師指導(dǎo)下,很多問題問題都很好地解決了??傊?,雖然只是短短兩周的時間,但也學(xué)到了很多,感受很深,是一次很好的經(jīng)驗積累和設(shè)計經(jīng)歷。第8章 參考文獻(xiàn)1王迎
21、旭.?單片機(jī)原理及及應(yīng)用?.北京:機(jī)械工業(yè)出版社2張迎新.?單片微型計算機(jī)原理、應(yīng)用及接口技術(shù)?.北京:國防工業(yè)出版社3郭天祥.?新概念51單片機(jī)C語言教程?.北京:電子工業(yè)出版社4蔡明文 馮先成編著.?單片機(jī)課程設(shè)計?.北京:華中科技大學(xué)出版社5王曉明.?電動機(jī)的單片機(jī)控制?.北京航空航天大學(xué)出版社 附件系統(tǒng)原理圖開發(fā)板實物圖:元器件清單單片機(jī)開發(fā)板 1塊STC89C52 1片LCD1602 1塊ULN2003 1個步進(jìn)電機(jī) 1個源程序清單#include <reg51.h> /51芯片管腳定義頭文件#include <intrins.h> /內(nèi)部包含延時函數(shù) _no
22、p_();#define uchar unsigned char#define uint unsigned int#define delayNOP(); _nop_();_nop_();_nop_();_nop_();uchar code FFW8=0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9; /正轉(zhuǎn)相序編碼表uchar code REV8=0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1;/反轉(zhuǎn)相序編碼表sbit K1 = P32; /運行與停止sbit K2 = P33; /加速sbit K3 = P34; /減速sbit
23、K4 = P35; /方向轉(zhuǎn)換sbit BEEP = P36; /蜂鳴器sbit LCD_RS = P20; sbit LCD_RW = P21;sbit LCD_EN = P22;bit on_off=0; /運行與停止標(biāo)志bit direction=1; /方向標(biāo)志uchar code cdis0 = " WELCOME TO "uchar code cdis1 = " STEPPING MOTOR "uchar code cdis2 = " CONTROL SYSTEM "uchar code cdis3 = "STO
24、P "uchar code cdis4 = "DW:"uchar code cdis5 = "RUNNING"uchar code cdis6 = "r/min"uchar code cdis7 = "RATE:"uchar m,v=0,q=0,j;uchar rate=5; /預(yù)設(shè)定速度檔uchar data_temP1,data_temp2,data_temp3,data_temp4; uint zs,data_temp;/*/void delay(uint t) / 延時t毫秒函數(shù) uchar k;
25、 while(t-) for(k=0; k<125; k+) /*/ uchar i; while(x-) for (i=0; i<13; i+) /*/void beep() /蜂鳴器 uchar j; for (j=0;j<100;j+) delayB(4); BEEP=!BEEP; /BEEP取反 BEEP=1; /關(guān)閉蜂鳴器 delay(170); /*/ bit lcd_busy() /檢查LCD是否為忙狀態(tài),lcd_busy為1時,忙,等待。為0時,閑,可寫指令與數(shù)據(jù)。 bit result; LCD_RS = 0; LCD_RW = 1; LCD_EN = 1;
26、 delayNOP(); result = (bit)(P0&0x80); LCD_EN = 0; return(result); /*/void lcd_wcmd(uchar cmd)/寫指令數(shù)據(jù)到LCD ,*RS=L,RW=L,E=高脈沖,D0-D7=指令碼。 while(lcd_busy(); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); P0 = cmd; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; /*/void lcd_wdat(uchar dat)/寫顯示數(shù)據(jù)
27、到LCD,RS=H,RW=L,E=高脈沖,D0-D7=數(shù)據(jù)。 while(lcd_busy(); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; P0 = dat; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; /*/void lcd_init()/LCD初始化設(shè)定 delay(30); lcd_wcmd(0x38); /16*2顯示,5*7點陣,8位數(shù)據(jù) delay(5); lcd_wcmd(0x38); delay(5); lcd_wcmd(0x38); delay(5); lcd_wcmd(0x0c); /顯示開,
28、關(guān)光標(biāo) delay(5); lcd_wcmd(0x06); /移動光標(biāo) delay(5); lcd_wcmd(0x01); /去除LCD的顯示內(nèi)容 delay(5); /*/void lcd_pos(uchar pos)/設(shè)定顯示位置 lcd_wcmd(pos | 0x80); /數(shù)據(jù)指針=80+地址變量 /*/void LCD_init_DIS()/ LCD1602初始顯示子程序 delay(10); /延時 lcd_init(); /初始化LCD lcd_pos(0); /設(shè)置顯示位置為第一行的第1個字符 m = 0; while(cdis0m != '0') /顯示字符W
29、ELCOME lcd_wdat(cdis0m); m+; delay(2000); lcd_wcmd(0x01); /清屏 delay(5); /清屏以后的這個延時不能少,給LCD一定的緩沖,否那么下一條指令不一定被執(zhí)行 lcd_pos(0x10); /設(shè)置顯示位置為第一行的第17個地址 m = 0; while(cdis1m != '0') /顯示字符 lcd_wdat(cdis1m); m+; lcd_pos(0x50); /設(shè)置顯示位置為第二行第1個字符 m = 0; while(cdis2m != '0') lcd_wdat(cdis2m); /顯示字符
30、 m+; for(j=0;j<16;j+) lcd_wcmd(0x18); delay(300); delay(3000); /延時 lcd_wcmd(0x01); /清屏 lcd_pos(0x00); /設(shè)置顯示位置為第一行的第1個字符 m = 0; while(cdis3m != '0') /顯示字符STOP lcd_wdat(cdis3m); m+; lcd_pos(0x08); /設(shè)置顯示位置為第一行第9個字符 m = 0; while(cdis4m != '0') lcd_wdat(cdis4m); /顯示字符DW m+; for(m=0;m&l
31、t;2;m+) lcd_pos(0x0e+m); /顯示方向符號 lcd_wdat(0x2d); lcd_pos(0x47); /顯示小數(shù)點 lcd_wdat(0x2e); m = 0; lcd_pos(0x4a); /顯示字符r/min while(cdis6m != '0') lcd_wdat(cdis6m); m+; m = 0; lcd_pos(0x40); /顯示字符RATE: while(cdis7m != '0') lcd_wdat(cdis7m); m+; /*/void data_conv()/檔位數(shù)據(jù)轉(zhuǎn)換子程序 data_temP1=data
32、_temp/10; /高位 if(data_temP1=0) data_temP1=0x20;/高位為0不顯示 else data_temP1=data_temP1+0x30; data_temp2=data_temp%10; /低位 data_temp2=data_temp2+0x30; /*/void data_conv1()/轉(zhuǎn)速數(shù)據(jù)轉(zhuǎn)換子程序 data_temP1=data_temp/1000;/整數(shù)位第一位 if(data_temP1=0) data_temP1=0x20;/高位為0不顯示 else data_temP1=data_temP1+0x30; data_temp2=dat
33、a_temp%1000/100; /整數(shù)位第2位 data_temp2=data_temp2+0x30; data_temp3=data_temp%100/10; /小數(shù)位第一位 data_temp3=data_temp3+0x30; data_temp4=data_temp%10; /小數(shù)位第二位 data_temp4=data_temp4+0x30; /*/void data_dis() /數(shù)據(jù)顯示子程序 data_temp = rate; /顯示檔位 data_conv(); lcd_pos(0x0b); lcd_wdat(data_temP1); lcd_pos(0x0c); lcd_
34、wdat(data_temp2); zs=1332/rate;/轉(zhuǎn)速換算公式:zs=13.32/rate;data_temp=zs; /顯示轉(zhuǎn)速data_conv1(); lcd_pos(0x45); lcd_wdat(data_temP1); lcd_pos(0x46); lcd_wdat(data_temp2); lcd_pos(0x48); lcd_wdat(data_temp3); lcd_pos(0x49); lcd_wdat(data_temp4);/*/void motor_DR()/顯示運行方向符號 if(direction=1) /正轉(zhuǎn)方向標(biāo)志 for(m=0;m<2;
35、m+) lcd_pos(0x0e+m); /顯示方向符號 lcd_wdat(0x3e);/顯示>>號 else for(m=0;m<2;m+) /反轉(zhuǎn)方向標(biāo)志 lcd_pos(0x0e+m); /顯示方向符號 lcd_wdat(0x3c); /顯示<<號 /*/void motor_RUN() /顯示運行狀態(tài) if(on_off=1) TR0=1; lcd_pos(0); /設(shè)置顯示位置為第一行的第1個字符 m = 0; while(cdis5m != '0') lcd_wdat(cdis5m); /RUNNING m+; motor_DR(); else TR0=0; P1 =0x0f; lcd_pos(0); /設(shè)置顯示位置為第一行的第1個字符 m = 0; while(cdis3m != '
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 駱駝祥子人物性格分析教學(xué)教案:探究社會變遷與人性的掙扎
- 汽車租賃三方合同
- 農(nóng)作物種植技術(shù)手冊
- 圖表展示各類數(shù)據(jù)統(tǒng)計情況
- 小學(xué)生數(shù)學(xué)應(yīng)用題的作文分析與實踐指導(dǎo)
- 留置擔(dān)保合同協(xié)議書
- 文學(xué)佳作圍城中的人物形象解讀
- 智能交通大數(shù)據(jù)平臺開發(fā)協(xié)議
- 企業(yè)戰(zhàn)略聯(lián)盟穩(wěn)定性評價與維護(hù)
- 產(chǎn)品推廣合作合同
- FZ/T 24011-2019羊絨機(jī)織圍巾、披肩
- 【課件】2.1.1植物細(xì)胞工程的基本技術(shù)課件-2021-2022學(xué)年高二下學(xué)期生物人教版選擇性必修3
- 35kV集電線路直埋施工組織設(shè)計方案
- 客戶來訪登記表
- 日產(chǎn)新軒逸電子手冊cvt
- 人教八年級下冊英語U5Do-you-remember-what-you-were-doing?課件
- 大連市小升初手冊
- 醫(yī)療垃圾管理及手衛(wèi)生培訓(xùn)PPT課件
- 嚇數(shù)基礎(chǔ)知識共20
- 鋰電池安全知識培訓(xùn)-課件
- 電子產(chǎn)品高可靠性裝聯(lián)工藝下
評論
0/150
提交評論