


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、簷挫林老孑科歿歡孕/ GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY單片機(jī)原理實(shí)訓(xùn)說(shuō)明書(shū)題 目:步進(jìn)電機(jī)控制器學(xué) 院:專(zhuān) 業(yè):學(xué)生姓名:學(xué) 號(hào):指導(dǎo)教師:2011 年12月29日摘要步進(jìn)電動(dòng)機(jī)是一種將電脈沖信號(hào)轉(zhuǎn)換成角位移或線位移的精密執(zhí)行元件, 具有快速 起動(dòng)和停止的特點(diǎn)。 其驅(qū)動(dòng)速度和指令脈沖能?chē)?yán)格同步 ,具有較高的重復(fù)定位精度 , 并能 實(shí)現(xiàn)正反轉(zhuǎn)和平滑速度調(diào)節(jié)。它的運(yùn)行速度和步距不受電源電壓波動(dòng)及負(fù)載的影響 , 因 而被廣泛應(yīng)用于數(shù)模轉(zhuǎn)換、速度控制和位置控制系統(tǒng)。本文在分析了步進(jìn)電機(jī)的驅(qū)動(dòng)特 性、斬波恒流細(xì)分驅(qū)動(dòng)原理和混合式步進(jìn)電機(jī)驅(qū)動(dòng)芯片 ULN
2、2003AN 的性能、結(jié)構(gòu)的 基礎(chǔ)上,結(jié)合 AT89C52 單片機(jī),設(shè)計(jì)出了混合式步進(jìn)電機(jī)驅(qū)動(dòng)電路。關(guān)鍵詞:步進(jìn)電機(jī); AT89C52 單片機(jī); ULN2003AN 驅(qū)動(dòng)。AbstractStepping motors is a kind of will convert angular displacement or electrical impulses signal line displacement of precision actuator, have fast start and stop characteristics. The driving speed and instruct
3、ions pulse can strictly synchronization, which has high repositioning precision, and can realize the positive &negative and smooth adjustable speed. Its operation speed and step distance from supply voltage fluctuation and load effect, which have been widely applied in analog-to-digital conversi
4、on, speed control and the position control system. Based on the analysis of the stepper motor driving characteristics, a chopper constant-current subdivided driving principle and hybrid stepping motor drive chipULN2003AN the performance, structure inthe foundation, the union AT89C52 single chip comp
5、uter, designed a hybrid stepping motor driver circuit.Key words : Stepping motor; AT89C52 single chip computer; ULN2003AN driver.目錄第 1 章 步進(jìn)電機(jī)的原理介紹 22.1 步進(jìn)電機(jī)的工作原理 32.2 步進(jìn)電機(jī) 24BYJ48 的相關(guān)電氣參數(shù) 32.3 步進(jìn)電機(jī)的基本術(shù)語(yǔ) 42.3.1 相數(shù) 42.3.2 拍數(shù) 42.3.3 步距角 42.3.4 信號(hào)分配 4第 2 章 總體設(shè)計(jì)思路 53.1 方案與設(shè)計(jì)思路 53.2 總框圖 5第 3 章 程序設(shè)計(jì) 54.1 主
6、程序 54.2 LCD 及檔位顯示程序 64.3 正反轉(zhuǎn)流程圖 74.4 啟動(dòng)與停止流程圖 8第 4 章 硬件設(shè)計(jì) 95.1 硬件的設(shè)計(jì)與選取 95.1.1 步進(jìn)電機(jī)的驅(qū)動(dòng) 9單片機(jī)的選取125.1.3 液晶LCD1602 顯示模塊 10按鍵電路設(shè)計(jì)13時(shí)針產(chǎn)生電路 115.2硬件的總體電路連接12第5章調(diào)試與故障分析 136.1軟件編寫(xiě)及調(diào)試136.2調(diào)試過(guò)程及相關(guān)顯示結(jié)果146.3 故障分析及解決方法15第6章心得體會(huì) 15第7章參考文獻(xiàn) 17附件 18系統(tǒng)原理圖19開(kāi)發(fā)板實(shí)物圖:19元器件清單19源程序清單28第1章步進(jìn)電機(jī)的原理介紹2.1步進(jìn)電機(jī)的工作原理步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角
7、位移的執(zhí)行機(jī)構(gòu)。通俗一點(diǎn)講:當(dāng)步進(jìn)驅(qū)動(dòng)器接 收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(及步進(jìn)角) 可以通過(guò)控制脈沖個(gè)來(lái)控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過(guò)控制脈 沖頻率來(lái)控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。本次設(shè)計(jì)是采用步進(jìn)電機(jī)28BYJ48型四相八拍電機(jī),電壓為DC5V DC12V。 當(dāng)對(duì)步進(jìn)電機(jī)施加一系列連續(xù)不斷的控制脈沖時(shí),它可以連續(xù)不斷地轉(zhuǎn)動(dòng)。每一個(gè)脈沖 信號(hào)對(duì)應(yīng)步進(jìn)電機(jī)的某一相或兩相繞組的通電狀態(tài)改變一次,也就對(duì)應(yīng)轉(zhuǎn)子轉(zhuǎn)過(guò)一定的角度(一個(gè)步距角)。當(dāng)通電狀態(tài)的改變完成一個(gè)循環(huán)時(shí),轉(zhuǎn)子轉(zhuǎn)過(guò)一個(gè)齒距。四相步 進(jìn)電機(jī)可以在不同的通電方式下運(yùn)
8、行,常見(jiàn)的通電方式有單(單相繞組通電)四拍(A-B-C-D-A。),雙(雙相繞組通電)四拍( AB-BC-CD-DA-AB-。), 八拍(A-AB-B-BC-C-CD-D-DA-A 。)其相序分配表如下:序號(hào)導(dǎo)繪井配順序4 1©12$4&6785紅+4-+25j43黃一-2藍(lán)-%-1標(biāo)一購(gòu)璉顒序2.2 步進(jìn)電機(jī)24BYJ48 的相關(guān)電氣參數(shù)1. 額定電壓:12VDC(另有電壓:5V、6V、24V)2. 相數(shù):43. 減速比:1/64(另有減速比:1/16、1/32)4. 步距角:5.625 ° /645. 驅(qū)動(dòng)方式:4相8拍6. 直流電阻:200 Q±7%
9、(25 C)(按客戶要求而定:80、130歐姆)7. 空載牽入頻率:600Hz8. 空載牽出頻率:1000Hz9. 牽入轉(zhuǎn)矩:10. 自定位轉(zhuǎn)矩:11. 絕緣電阻:10M Q(500V)12. 絕緣介電強(qiáng)度:600VAC/1mA/1S13. 絕緣等級(jí):A14. 溫升:V 50K(120Hz)15. 噪音:V 40dB(120Hz)16. 重量:大約40g17. 未注公差按:GB1804-m18. 轉(zhuǎn)向:CCW2.3步進(jìn)電機(jī)的基本術(shù)語(yǔ)相數(shù)產(chǎn)生不同對(duì)極N、S磁場(chǎng)的激磁線圈對(duì)數(shù),常用 m表示。232拍數(shù)完成一個(gè)磁場(chǎng)周期性變化所需脈沖數(shù)或?qū)щ姞顟B(tài)用n表示,或指電機(jī)轉(zhuǎn)過(guò)一個(gè)齒距角所需脈沖數(shù),比如說(shuō)本次設(shè)
10、計(jì)中使用的 24BYJ48有單(單相繞組通電)四拍(A-B-C-D-A。),雙(雙相繞組通電)四拍( AB-BC-CD-DA-AB-。), 八拍(A-AB-B-BC-C-CD-D-DA-A 。)步距角對(duì)應(yīng)一個(gè)脈沖信號(hào),電機(jī)轉(zhuǎn)子轉(zhuǎn)過(guò)的角位移用B表示。B =360度(轉(zhuǎn)子齒數(shù)J*運(yùn)行 拍數(shù)),以常規(guī)二相,轉(zhuǎn)子齒為50齒電機(jī)為例。四拍運(yùn)行時(shí)步距角為B =360度/ (50*4 ) =1.8度(俗稱(chēng)整步),八拍運(yùn)行時(shí)步距角為B =360度/ (50*8 ) =0.9度(俗稱(chēng)半步)。信號(hào)分配四相步進(jìn)電機(jī)按照其通電方式的不同,可以分為單四拍,雙四拍和雙八拍三種工作 方式。單四拍與雙四拍的步距角相等,均為1
11、1.25度,而八拍的步距角則是單四拍與雙四拍的一半,5.625度。單(單相繞組通電)四拍(A-B-C-D-A。),雙(雙相 繞組通電)四拍(AB-BC-CD-DA-AB-。),八拍(A-AB-B-BC-C-CD-D-DA-A 。)。這里選取的是雙相八拍的工作方式。第3章總體設(shè)計(jì)思路3.1方案與設(shè)計(jì)思路因?yàn)椴竭M(jìn)電機(jī)的控制是通過(guò)脈沖信號(hào)來(lái)控制的,將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位 移的開(kāi)環(huán)控制元件。所以怎樣產(chǎn)生這個(gè)脈沖信號(hào)和產(chǎn)生怎樣的信號(hào)是電機(jī)控制的關(guān)鍵。用單片機(jī)來(lái)產(chǎn)生這個(gè)脈沖信號(hào),通過(guò)單片機(jī)的P1 口輸出脈沖信號(hào),因?yàn)樗x電機(jī)是四相的,所以只需要P1 口的低四位P1.0P1.3分別接到電機(jī)的四根電線
12、上。定時(shí)器 定時(shí)來(lái)調(diào)整電機(jī)的轉(zhuǎn)速,通過(guò)鍵盤(pán)的按鈕,就可以改變定時(shí)初值從而改變了電機(jī)的轉(zhuǎn)速, 單片機(jī)上P3.2P3.5連的是按鍵,這里鍵盤(pán)上的 K1鍵為啟動(dòng)與停止鍵,K2鍵為減速 鍵,K3鍵為加速鍵,K4鍵為方向轉(zhuǎn)換鍵。P0以及P2.0P2.2 口接LCD1602,可以 顯示當(dāng)前的電機(jī)轉(zhuǎn)速、運(yùn)行狀態(tài)、運(yùn)行方向和檔位。具體結(jié)構(gòu)見(jiàn)3-1框圖。3.2總框圖圖3-1總體設(shè)計(jì)方框圖第4章程序設(shè)計(jì)4.1主程序進(jìn)入主程序,首先是對(duì)LCD進(jìn)行初始化,然后依次進(jìn)行鍵盤(pán)掃描,調(diào)用步進(jìn)電機(jī) 相關(guān)數(shù)據(jù)顯示子函數(shù),若檢測(cè)到有鍵按下,則進(jìn)去相應(yīng)的處理。流程圖如下圖4-1:開(kāi)始4-1圖 主程序流程圖4.2 LCD 及檔位顯示
13、程序此次設(shè)計(jì)使用1602液晶顯示步進(jìn)電機(jī)運(yùn)行狀態(tài),其效果比用數(shù)碼管顯示要更加明 了,也更容易讀取相關(guān)狀態(tài)和數(shù)據(jù)。液晶上顯示有電機(jī)運(yùn)行的狀態(tài)(RUNNING或STOP )、當(dāng)前檔位(DW)、運(yùn)行方向("<<"或">>")以及其運(yùn)轉(zhuǎn)速度(r/min)。其顯示原理 如下圖4-2 :1i1F返if洗1轉(zhuǎn)施顯示=(/向顯小;jIp .1J初怡曲為STOP;!顯Sr 'mil!"(和始為- !KI般-a+f(XAO)RUNNING :品朮K :品*農(nóng)N"TV If(K2-C) «BK:S( 養(yǎng)t 15位加
14、TJEtLT圖4-2液晶顯示流程圖4.3正反轉(zhuǎn)流程圖步進(jìn)電機(jī)的正反轉(zhuǎn)用K4控制,初始化電機(jī)為順時(shí)針轉(zhuǎn),即“”每當(dāng)按下K4鍵, 電機(jī)轉(zhuǎn)向改變,具體流程圖如下圖 4-3 :4.4啟動(dòng)與停止流程圖啟動(dòng)與停止是用K1鍵來(lái)控制的,初始化標(biāo)志位on_off=0,檔按下K1,即將on_off 置1,每當(dāng)按下k1,都將在啟動(dòng)與停止間切換,具體流程圖如下圖4-4 :初始化/幣ott=oM:Non off-'nti off(on off=l)?沢顯示 <fRUNNINGr =;,顯示獸Tf)l";圖4-4啟動(dòng)與停止流程圖第5章硬件設(shè)計(jì)5.1硬件的設(shè)計(jì)與選取步進(jìn)電機(jī)的驅(qū)動(dòng)步進(jìn)電機(jī)的驅(qū)動(dòng)采用U
15、LN2003,接到單片機(jī)的P1.0P1.3,具體如圖 5-1 :T1A.» 243-1尸斗 乂,(-h! INJ4.7F IP2.1W9P22IA10POA11P皿LEAP751A13Pi 6AUP2?/A15P1.(YP煩肌PH血臼F3.1JTXDPt 5訊嘛而F3 34717砂4P34TQPI 5P35T1Pf£P1WPITF価匚.L _H.ii.J_TV -U«JAT 酬 52TE" T,R54.7K圖5-1步進(jìn)電機(jī)驅(qū)動(dòng)及其接口圖5.1.2單片機(jī)的選取目前市面上的通用型單片機(jī)種類(lèi)很多,且適合不同應(yīng)用場(chǎng)合的新產(chǎn)品不斷出現(xiàn),但目前的應(yīng)用狀況,以8位中檔
16、MCS-51系列單片機(jī)的應(yīng)用最為普遍。基于這次課程設(shè)計(jì)的要求不高,我們可以選用51系列或52系列單片機(jī),其有可靠性高,易于擴(kuò)展以及實(shí)用性好等特點(diǎn),完全可以滿足我們的控制要求。其圖如下 5-2 :圖5-2AT89C52單片機(jī)液晶LCD1602 顯示模塊P0接液晶的數(shù)據(jù)傳送口,P2.0P2.2 接液晶的控制端口 其接線圖如下圖 5-3 :PO.空沁2 pu.SMigPU.O/MiOPO.BDS PCJ 了/APFP2.ljm=iIP2.1jW pz.zmo圖5-3液晶與單片機(jī)接口原理圖按鍵電路設(shè)計(jì)5-4 :鍵盤(pán)接口按不同標(biāo)準(zhǔn)有不同分類(lèi)方法,按鍵盤(pán)排布,可以分為獨(dú)立方式(一 組相互獨(dú)立的鍵盤(pán))和矩陣
17、(一行列組成矩陣)方式。此次設(shè)計(jì)只用到了四個(gè)按 鍵,故可采用獨(dú)立按鍵, P3.2P3.5 分別接到K1K4。其原理圖如下圖P3.0/RXD F3.1/TXD P3.2/INT0 P3 3/INTTP3.4fTOP3.5/T1P3.5/WRP3+7/RD圖5-4按鍵與單片機(jī)接口原理圖時(shí)針產(chǎn)生電路時(shí)針電路部分晶振為'I-11.0592MHz ,其原理圖如下:C230pCRYSTALI I X1U1C11918> XTAL1XTAL230p圖5-4 時(shí)針電RSTP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD
18、7P2.0/A8P2.1/A9293031PSENALEEAP2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A1512345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332212223242526272810111213141516AT89C51175.2硬件的總體電路連接LCD2LM016LC24CRYSTAL30pI X1C1HI30pR24.7kU2C310u7C7B6C
19、6B4C4B3C3B2C2B1C1BCOM1049ULN2003A141T111213653 -2U1-l XTAL1P0.0/AD0P0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3.1/TXDP3.2/INT0P3.3/INT1P1.3P1.4P1.5P1 6P3.4/T0P1.7P3.7/RD1918921241134716817AT8
20、9C5122231415235629 JRVi393837363534333210RN19876544.7k32R1 R3R54.7K4.7K4|7K4.7K圖5-5總體原理圖第6 章 調(diào)試與故障分析6.1 軟件編寫(xiě)及調(diào)試此次編程及調(diào)試是用 keil 軟件進(jìn)行的,程序的編寫(xiě)及調(diào)試步驟如下:1. 根據(jù)步進(jìn)電機(jī) 24BYJ48 的相序,編好正反轉(zhuǎn)相序表,這個(gè)是關(guān)鍵,不能編錯(cuò)2. 定義各個(gè)變量及相關(guān)液晶顯示符:uchar codecdis0 = "WELCOME TO "uchar codecdis1 = " STEPPING MOTOR "uchar cod
21、ecdis2 = " CONTROL SYSTEM "uchar codecdis3 = "STOP"uchar codecdis4 = "DW:"uchar codecdis5 = "RUNNING"uchar codecdis6 = "r/min"3. 定義各個(gè)按鍵:sbitK1=P3A2;/運(yùn)行與停止sbitK2=卩3八3;/加速sbitK3= P3A4;/減速sbitK4= P3A5;/方向轉(zhuǎn)換sbitBEEP =P3A6;/蜂鳴器4. 編寫(xiě)各個(gè)子程序。5. 編寫(xiě)主程序,進(jìn)入主程序即開(kāi)始
22、進(jìn)行鍵盤(pán)掃描及調(diào)用液晶顯示。6. 定時(shí)器 T0 的中斷服務(wù)程序,進(jìn)入中斷,若滿足條件,即向步進(jìn)電機(jī)送 8 個(gè)脈沖6.2 調(diào)試過(guò)程及相關(guān)顯示結(jié)果將程序下載到單片機(jī)中, LCD 初始化顯示如下:之后進(jìn)入步進(jìn)電機(jī)初始化的畫(huà)面顯示,電機(jī)運(yùn)行狀態(tài)顯示為STOP,檔位為5檔,開(kāi)機(jī)轉(zhuǎn)速為2.66r/min,如下:LM016LSTOPDW :5 一一尺口TE :2 . EEr” minV D E R W e DDDDDDDDPPI 4I5I6I WW1W!實(shí)物圖如下:按下啟動(dòng)鍵K1后,轉(zhuǎn)向顯示出顯示"",即電機(jī)順時(shí)針轉(zhuǎn),顯示如下:LM016LRUNNING Old :5> >尺
23、口T E s 2.66rminS V E R W e DDDDDDDD1l2l3l 4I5I6I 7|8|9|0|1|2|1|1|按K2鍵一次,檔位加一,高位檔為10檔,此時(shí)對(duì)應(yīng)電機(jī)轉(zhuǎn)速為最慢,為1.33r/min, 如下圖:LCD2LM016LRUNNING D IjJ : 10>>尺口TE:1.33ri nV V E R W e DDDDDDDD|2|3| 4P|6| 7|8|9|0|1|111|1|實(shí)物圖顯示如下:按下K3鍵一次,檔位減一,低位檔為1檔,也是電機(jī)轉(zhuǎn)速最快的檔,為13.32r/min, 顯示效果如下圖:LM016LRUNNING FLA_T E s 1 3D W
24、 =1> > 3N 廣” miriV D ER WeDDDDDDDD卜鬥3 |T5門(mén)7|8|9|0|1|2|3 |4|實(shí)物圖顯示如下:,飛y6.3 故障分析及解決方法故障一:首先在設(shè)計(jì)總體方案時(shí),思路上出現(xiàn)了一些問(wèn)題,我首先是想在中斷里完 成許多應(yīng)在中斷之外完成的事,經(jīng)過(guò)老師的指點(diǎn),后來(lái)想清楚了。只在中斷中給電機(jī)送 相序碼,并設(shè)定了一個(gè)參數(shù)對(duì)電機(jī)的轉(zhuǎn)速進(jìn)行調(diào)控。故障二:由于編寫(xiě)程序的經(jīng)驗(yàn)不多,在計(jì)算電機(jī)轉(zhuǎn)速,并將其顯示在液晶時(shí),遇到 了一些問(wèn)題,速度轉(zhuǎn)換公式是找出來(lái)了,但怎樣將其小數(shù)點(diǎn)表示出來(lái),困惑了好久,最 后還是請(qǐng)教了同學(xué),才搞定。故障三:在仿真時(shí)首先液晶沒(méi)有接上拉電阻,液晶上
25、顯示不出來(lái),我以為是程序方 面出了問(wèn)題,后來(lái)嘗試接了上拉電阻,就能夠正常顯示了。第7章心得體會(huì)為期兩周的單片機(jī)課程設(shè)計(jì)在忙碌中已接近尾聲,經(jīng)過(guò)這么多天的努力,終于完成 了這次課程設(shè)計(jì)基本設(shè)計(jì)要求,在充實(shí)中也學(xué)到了很多知識(shí),是真正將所學(xué)知識(shí)運(yùn)用于 實(shí)踐中的一次很好的體驗(yàn),使人受益匪淺。由于此次控制要求不是很高,選用 51系列或52系列完全能夠滿足設(shè)計(jì)需求,最 后選用的STC89C52。接下來(lái)就是硬件接口分配問(wèn)題和如何去驅(qū)動(dòng)電機(jī)。對(duì)于步進(jìn)電 機(jī)之前沒(méi)有什么接觸,所以我上網(wǎng)查了許多關(guān)于步進(jìn)電機(jī)的資料,知道了其基本工作原 理以及怎么去實(shí)現(xiàn)其控制運(yùn)轉(zhuǎn)和驅(qū)動(dòng)。接下來(lái)的主要問(wèn)題就是如何編程去實(shí)現(xiàn)控制它 了,
26、這次程序的編寫(xiě)和調(diào)試對(duì)我來(lái)說(shuō)是個(gè)不小的挑戰(zhàn),因?yàn)橹爸痪帉?xiě)過(guò)一些簡(jiǎn)短的小 程序,對(duì)較大的程序總體性方面還不能很好的把握。經(jīng)過(guò)反復(fù)的嘗試和調(diào)試,用發(fā)現(xiàn)一 個(gè)問(wèn)題,解決一個(gè)問(wèn)題的方法,還參考了一些別人的經(jīng)驗(yàn)方法,完成了程序的編寫(xiě)。這 對(duì)我以后編寫(xiě)程序是一次很好的經(jīng)驗(yàn)積累。仿真時(shí)也出了一些小問(wèn)題,首先LCD完全沒(méi)有顯示,我就嘗試接上拉電阻,結(jié)果就能正常工作了。然后是電機(jī)也不轉(zhuǎn),最后我把 送進(jìn)去的脈沖頻率減小,才使得電機(jī)運(yùn)轉(zhuǎn)起來(lái),這個(gè)仿真過(guò)程又使我更加熟練了 Proteus軟件的用法。這次課程設(shè)計(jì)使我認(rèn)識(shí)到,剛學(xué)好書(shū)上的知識(shí)還是不夠的,更重 要的是我們要能將所學(xué)的知識(shí)運(yùn)用到實(shí)踐中來(lái),這才是我們學(xué)習(xí)知識(shí)
27、的最基本的要求, 所以在以后的學(xué)習(xí)生活中,我們應(yīng)該更加注意將學(xué)習(xí)與實(shí)踐相結(jié)合,在實(shí)踐中去運(yùn)用好 所學(xué)知識(shí),更進(jìn)一步深化和理解所學(xué)知識(shí),達(dá)到學(xué)以致用。通過(guò)這次課程設(shè)計(jì),我也了 解到了自己的不足,以前自己學(xué)習(xí)單片機(jī)的時(shí)候,往往只去看懂別人寫(xiě)的程序,以為看 懂了自己就知道寫(xiě)了,但事實(shí)并不是這樣,雖然這次課程設(shè)計(jì)程序是完成了,但棘手的 地方很多,編程并不像以前認(rèn)為的簡(jiǎn)單。所以在以后的學(xué)習(xí)中,不能手高眼低,一定要 腳踏實(shí)地,一步步地走,自己動(dòng)手去做,這樣才能將知識(shí)真正學(xué)到手。這次課程設(shè)計(jì)能得以順利完成,還要感謝符強(qiáng)老師的指導(dǎo)和同學(xué)們的幫助,在老師 指導(dǎo)和同學(xué)的幫助下,很多問(wèn)題問(wèn)題都很好地解決了。總之,雖
28、然只是短短兩周的時(shí)間, 但也學(xué)到了很多,感受很深,是一次很好的經(jīng)驗(yàn)積累和設(shè)計(jì)經(jīng)歷。第8章參考文獻(xiàn)1 王迎旭.單片機(jī)原理及及應(yīng)用.北京:機(jī)械工業(yè)出版社2 張迎新.單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù).北京:國(guó)防工業(yè)出版社3 郭天祥.新概念51單片機(jī)C語(yǔ)言教程.北京:電子工業(yè)出版社4 蔡明文馮先成編著.單片機(jī)課程設(shè)計(jì).北京:華中科技大學(xué)出版社王曉明.電動(dòng)機(jī)的單片機(jī)控制.北京航空航天大學(xué)出版社附件系統(tǒng)原理圖LCD2LM016LC2C1n107C11003A6C5C4C3C2B1BCRYSTAL X1C310uU217BR54.7K6B5B4B3B2C1CCOM29 3U1* XTAL1P0.0/AD0
29、P0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INTOP1 3P3 3/INT1P1.4P3.4/T0P1.5P3.5/T1P1.6P3.6/WRP1.7P3.7/RD2128AT89C51222335343332373610 TT1314157A丄393810-9RN18651塊1片1塊1個(gè)1個(gè)元器件清單單
30、片機(jī)開(kāi)發(fā)板STC89C52LCD1602ULN2003步進(jìn)電機(jī)源程序清單#include <reg51.h>/51 芯片管腳定義頭文件#include <intrins.h>/ 內(nèi)部包含延時(shí)函數(shù) _nop_();#define uchar unsigned char#define uintunsigned int/ 正轉(zhuǎn)相序編碼反轉(zhuǎn)相序編碼表#define delayNOP(); _nop_();_nop_();_nop_();_nop_(); uchar code FFW8=0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9; 表uchar
31、 code REV8=0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1;/sbitK1= P3A2;/ 運(yùn)行與停止sbitK2= P3A3;/ 加速sbitK3= P3A4;/ 減速sbitK4= P3A5;/ 方向轉(zhuǎn)換sbitBEEP = P3A6;/ 蜂鳴器sbitLCD_RS = P2A0;sbitLCD_RW = P2A1;sbitLCD_EN = P2A2;biton_off=0;/ 運(yùn)行與停止標(biāo)志bitdirection=1;/ 方向標(biāo)志uchar code cdis0 = " WELCOME TO " uchar code cdi
32、s1 = " STEPPING MOTOR "uchar code cdis2 = " CONTROL SYSTEM "uchar code cdis3 = "STOP "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è)定速度檔
33、uchar data_temP1,data_temp2,data_temp3,data_temp4; uint zs,data_temp;void delay(uint t) /uchar k; while(t-)延時(shí) t 毫秒函數(shù)I*for(k=0; k<125; k+) void delayB(uchar x) /x*0.14MSuchar 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; /
34、關(guān)閉蜂鳴器delay(170);/*/bit lcd_busy() / 檢查 LCD 是否為忙狀態(tài), lcd_busy 為 1 時(shí),忙,等待。為 0 時(shí), 閑, 可寫(xiě)指令與數(shù)據(jù)。bit result;LCD_RS = 0;LCD_RW = 1;LCD_EN = 1;delayNOP();result = (bit)(P0&0x80);LCD_EN = 0;return(result);void lcd_wcmd(uchar cmd)/ 寫(xiě)指令數(shù)據(jù)到 LCD ,*RS=L ,RW=L ,E= 高脈沖, D0-D7= 指令碼。 while(lcd_busy();LCD_RS = 0;LCD
35、_RW = 0;LCD_EN = 0;_nop_();_nop_();P0 = cmd;delayNOP();LCD_EN = 1;delayNOP();LCD_EN = 0;/*/void lcd_wdat(uchar dat)寫(xiě)顯示數(shù)據(jù)到 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); lc
36、d_wcmd(0x38);/16*2 顯示, 5*7 點(diǎn)陣, 8 位數(shù)據(jù)delay(5);lcd_wcmd(0x38);delay(5);lcd_wcmd(0x38);delay(5);lcd_wcmd(0x0c);/顯示開(kāi),關(guān)光標(biāo)delay(5);lcd_wcmd(0x06);/移動(dòng)光標(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 初始顯示子程
37、序 delay(10); / 延時(shí) lcd_init(); / 初始化 LCDlcd_pos(0);m = 0;while(cdis0m != '0') lcd_wdat(cdis0m); m+;delay(2000); lcd_wcmd(0x01); delay(5);否則下一條指令不一定被執(zhí)行l(wèi)cd_pos(0x10);m = 0;while(cdis1m != '0') lcd_wdat(cdis1m); m+;/ 設(shè)置顯示位置為第一行的第 1 個(gè)字符/ 顯示字符 WELCOME/ 清屏/ 清屏以后的這個(gè)延時(shí)不能少,給 LCD 一定的緩沖,/ 設(shè)置顯示位置
38、為第一行的第 17 個(gè)地址/ 顯示字符lcd_pos(0x50);/ 設(shè)置顯示位置為第二行第 1 個(gè)字符m = 0;while(cdis2m != '0')lcd_wdat(cdis2m); m+;for(j=0;j<16;j+)lcd_wcmd(0x18);delay(300);/ 顯示字符delay(3000);lcd_wcmd(0x01);lcd_pos(0x00);m = 0;while(cdis3m != '0')lcd_wdat(cdis3m);/ 延時(shí)/ 清屏/ 設(shè)置顯示位置為第一行的第 1 個(gè)字符/ 顯示字符 STOPm+;lcd_pos(
39、0x08);m = 0;while(cdis4m != '0')lcd_wdat(cdis4m); m+;for(m=0;m<2;m+)lcd_pos(0x0e+m); lcd_wdat(0x2d);lcd_pos(0x47);lcd_wdat(0x2e);/ 設(shè)置顯示位置為第一行第 9 個(gè)字符/ 顯示字符 DWm = 0;lcd_pos(0x4a); / while(cdis6m != '0')/ 顯示方向符號(hào)/ 顯示小數(shù)點(diǎn)顯示字符 r/minlcd_wdat(cdis6m); m+;m = 0;lcd_pos(0x40); / 顯示字符 RATE: w
40、hile(cdis7m != '0') lcd_wdat(cdis7m); m+;/*/ void data_conv()/ 檔位數(shù)據(jù)轉(zhuǎn)換子程序data_temP1=data_temp/10; / 高位 if(data_temP1=0)data_temP1=0x20; / 高位為 0 不顯示elsedata_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/100
41、0; / 整數(shù)位第一位 if(data_temP1=0)data_temP1=0x20; / 高位為 0 不顯示elsedata_temP1=data_temP1+0x30;data_temp2=data_temp%1000/100;/ 整數(shù)位第 2 位/ 小數(shù)位第一位/ 小數(shù)位第二位data_temp2=data_temp2+0x30; data_temp3=data_temp%100/10; data_temp3=data_temp3+0x30; data_temp4=data_temp%10; 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_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(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 優(yōu)化資源配置的方案計(jì)劃
- 制定銷(xiāo)售策略實(shí)現(xiàn)業(yè)績(jī)目標(biāo)計(jì)劃
- 學(xué)生日常管理與規(guī)范計(jì)劃
- 學(xué)校美術(shù)教學(xué)年度計(jì)劃
- 保安工作中的團(tuán)隊(duì)協(xié)作機(jī)制研究計(jì)劃
- 《貴州錦福礦業(yè)(福泉)有限公司貴州省福泉市白馬山鋁土礦(新建)礦產(chǎn)資源綠色開(kāi)發(fā)利用方案(三合一)》評(píng)審意見(jiàn)
- 四川恒鼎實(shí)業(yè)有限公司大河溝煤礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案情況
- 2025數(shù)字化鄉(xiāng)村文旅發(fā)展報(bào)告
- 2025年汕尾貨運(yùn)從業(yè)資格證考試一共多少題
- 2025年濮陽(yáng)b2貨運(yùn)資格證全題
- 蜂膠表彰會(huì)中宏全國(guó)通用版模板課件
- 消化系統(tǒng)疾病PBL教學(xué)案例
- DBJ∕T 15-104-2015 預(yù)拌砂漿混凝土及制品企業(yè)試驗(yàn)室管理規(guī)范
- 裝配式建筑疊合板安裝技術(shù)交底
- 2022年HTD-8M同步帶輪尺寸表
- 皮帶滾筒數(shù)據(jù)標(biāo)準(zhǔn)
- 腳手架操作平臺(tái)計(jì)算書(shū)
- 內(nèi)科學(xué)第八版循環(huán)系統(tǒng)教學(xué)大綱
- 煤礦供電系統(tǒng)及供電安全講座方案課件
- 綠色建筑及材料分析及案列
- 實(shí)用中西醫(yī)結(jié)合診斷治療學(xué)
評(píng)論
0/150
提交評(píng)論