基于LPC2131的步進(jìn)電機(jī)控制系統(tǒng)方案_第1頁(yè)
基于LPC2131的步進(jìn)電機(jī)控制系統(tǒng)方案_第2頁(yè)
基于LPC2131的步進(jìn)電機(jī)控制系統(tǒng)方案_第3頁(yè)
基于LPC2131的步進(jìn)電機(jī)控制系統(tǒng)方案_第4頁(yè)
基于LPC2131的步進(jìn)電機(jī)控制系統(tǒng)方案_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 基于ARMLPC2100系列的步進(jìn)電機(jī)控制裝置的設(shè)計(jì)一、設(shè)計(jì)題目:基于ARMLPC2100系列的步進(jìn)電機(jī)控制裝置的設(shè)計(jì)二、概述:步進(jìn)電機(jī)是一種通過電脈沖信號(hào)控制相繞組電流實(shí)現(xiàn)定角轉(zhuǎn)動(dòng)的機(jī)電元件,與其他類型電機(jī)相比具有易于開環(huán)精確控制、無(wú)積累誤差等優(yōu)點(diǎn),在眾多領(lǐng)域中獲得了廣泛的應(yīng)用。為了得到性能優(yōu)良的控制結(jié)果,出現(xiàn)了很多步進(jìn)電機(jī)控制系統(tǒng),其中采用單片機(jī)作為控制核心的控制系統(tǒng)得到了廣泛的應(yīng)用。很多這種控制系統(tǒng)在步進(jìn)電機(jī)的驅(qū)動(dòng)上已經(jīng)做的非常好,比如細(xì)分驅(qū)動(dòng)技術(shù),但是有的系統(tǒng)比較復(fù)雜,投入上也不經(jīng)濟(jì);有的系統(tǒng)在操作上也不是很方便,交互性不強(qiáng)。因此本文的研究容就是制作一個(gè)系統(tǒng)比較簡(jiǎn)單、經(jīng)濟(jì),適應(yīng)性較強(qiáng)

2、,操作方便的步進(jìn)電機(jī)控制裝置。本文主要論述了以ARM為控制器的步進(jìn)電機(jī)的控制系統(tǒng)。可以通過鍵盤輸入相關(guān)數(shù)據(jù),并根據(jù)需要,對(duì)步進(jìn)電機(jī)的轉(zhuǎn)速與所轉(zhuǎn)圈數(shù)進(jìn)行監(jiān)測(cè)和調(diào)整,具有實(shí)時(shí)性的特點(diǎn)。該系統(tǒng)可應(yīng)用于步進(jìn)電機(jī)控制的一般場(chǎng)合。當(dāng)今時(shí)代,電動(dòng)機(jī)在現(xiàn)代生產(chǎn)和生活中起著重要的作用。無(wú)論在工農(nóng)業(yè)生產(chǎn)或是日常生活中,電動(dòng)機(jī)都在被大量地使用著。所以對(duì)電動(dòng)機(jī)的控制顯得尤為重要。步進(jìn)電機(jī)是一種通過電脈沖信號(hào)控制相繞組電流實(shí)現(xiàn)定角轉(zhuǎn)動(dòng)的機(jī)電元件,與其他類型電機(jī)相比具有易于開環(huán)精確控制、無(wú)積累誤差、快速啟動(dòng)和停止的優(yōu)點(diǎn)。其驅(qū)動(dòng)速度和指令脈沖能嚴(yán)格同步,具有較高的重復(fù)定位精度,并能實(shí)現(xiàn)正反轉(zhuǎn)和平滑速度調(diào)節(jié)。它的運(yùn)行速度和步

3、距不受電源電壓波動(dòng)與負(fù)載的影響,因而被廣泛應(yīng)用于數(shù)模轉(zhuǎn)換、速度控制和位置控制系統(tǒng)。本文的研究容就是設(shè)計(jì)一套較簡(jiǎn)單、經(jīng)濟(jì)、操作方便的步進(jìn)電機(jī)控制系統(tǒng),該系統(tǒng)能夠把單片機(jī)技術(shù)和電機(jī)的控制技術(shù)較好地結(jié)合起來(lái)。一個(gè)國(guó)家的制造業(yè)水平可以體現(xiàn)國(guó)家的實(shí)力,國(guó)家的發(fā)展也依賴于先進(jìn)的制造業(yè),所以大多數(shù)國(guó)家都非常重視大力發(fā)展制造業(yè),二戰(zhàn)后,計(jì)算機(jī)控制技術(shù)、微電子技術(shù)、信息和自動(dòng)化技術(shù)有了迅速的發(fā)展,并在制造業(yè)中得到了愈來(lái)愈廣泛的應(yīng)用,先后出現(xiàn)了數(shù)控、計(jì)算機(jī)數(shù)控、柔性制造單元、柔性制造系統(tǒng)、計(jì)算機(jī)輔助設(shè)計(jì)與制造、計(jì)算機(jī)集成制造系統(tǒng)等多項(xiàng)先進(jìn)制造技術(shù)與制造模式,推動(dòng)著世界制造業(yè)進(jìn)入一個(gè)嶄新的階段。而在這些技術(shù)環(huán)節(jié)中,

4、具有很多優(yōu)點(diǎn)的步進(jìn)電機(jī)就是一個(gè)重要角色,比如在數(shù)控技術(shù)中。步進(jìn)電動(dòng)機(jī)的應(yīng)用發(fā)展已有約80年的歷史??梢哉f步進(jìn)電動(dòng)機(jī)天生就是一種離散運(yùn)動(dòng)的裝置,是純粹的數(shù)字控制電動(dòng)機(jī),步進(jìn)電機(jī)驅(qū)動(dòng)器通過外加控制脈沖,控制步進(jìn)電動(dòng)機(jī)各相繞組的導(dǎo)通或截止,從而使電動(dòng)機(jī)產(chǎn)生步進(jìn)運(yùn)動(dòng)。步進(jìn)電動(dòng)機(jī)可以在寬廣的頻率圍通過改變脈沖頻率來(lái)實(shí)現(xiàn)調(diào)速、快速起停、正反轉(zhuǎn)控制等,這是步進(jìn)電動(dòng)機(jī)最突出的優(yōu)點(diǎn)。正是由于步進(jìn)電機(jī)具有突出的優(yōu)點(diǎn),所以成了機(jī)電一體化的關(guān)鍵產(chǎn)品之一,廣泛應(yīng)用在各種自動(dòng)化控制系統(tǒng)中。隨著微電子和計(jì)算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求量與日俱增,在各個(gè)國(guó)民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用。比如在數(shù)控系統(tǒng)中就得到廣泛的應(yīng)用。我國(guó)已經(jīng)能夠自行

5、研制開發(fā)適合我國(guó)數(shù)控機(jī)床發(fā)展需要的各種檔次的數(shù)控系統(tǒng)。雖然與發(fā)達(dá)國(guó)家相比,我們我國(guó)的數(shù)控技術(shù)方面整體發(fā)展水平還比較低,但已經(jīng)在我國(guó)占有非常重要的地位,并起了很大的作用。我國(guó)數(shù)控系統(tǒng)在初期就是以單板機(jī)或單片機(jī)為數(shù)控核心,以步進(jìn)電機(jī)為執(zhí)行元件,由于其結(jié)構(gòu)簡(jiǎn)單,價(jià)格便宜,只需一萬(wàn)元左右就可以裝備一臺(tái)經(jīng)濟(jì)型數(shù)控機(jī)床,很適合我國(guó)中小型企業(yè)使用。采用步進(jìn)電機(jī)作為伺服執(zhí)行元件,不僅可以應(yīng)用于經(jīng)濟(jì)型數(shù)控伺服系統(tǒng),而且也可以輔以先進(jìn)的檢測(cè)和反饋元件,組成高精度全閉環(huán)數(shù)控系列,從而達(dá)到很高的加工精度。優(yōu)點(diǎn)明顯的步進(jìn)電機(jī)被廣泛應(yīng)用在電子計(jì)算機(jī)的許多外圍設(shè)備中,例如打印機(jī),卡片閱讀機(jī),主動(dòng)輪驅(qū)動(dòng)機(jī)構(gòu)和存儲(chǔ)器存取機(jī)構(gòu)等

6、,步進(jìn)電機(jī)也在軍用儀器,通信和雷達(dá)設(shè)備,光電組合裝置,閥門控制,數(shù)控機(jī)床,醫(yī)療設(shè)備與自動(dòng)繪圖儀,數(shù)字控制系統(tǒng),程序控制系統(tǒng)以與許多航天工業(yè)的系統(tǒng)中得到應(yīng)用。因而,對(duì)于步進(jìn)電機(jī)控制的研究顯得更加重要了。為了得到良好的控制性能,對(duì)步進(jìn)電機(jī)的控制的研究就一直沒有停止過,許多重大的技術(shù)得以實(shí)現(xiàn)。上世紀(jì)80年代以后,由于微型計(jì)算機(jī)以多功能的姿態(tài)出現(xiàn),步進(jìn)電動(dòng)機(jī)的控制方式變得更加靈活多樣。原來(lái)的步進(jìn)電機(jī)控制系統(tǒng)采用分立元件的控制回路,或者集成電路,不僅調(diào)試安裝復(fù)雜,要消耗大量元器件,而且一旦定型之后,要改變控制方案就一定要重新設(shè)計(jì)電路,不利于系統(tǒng)的改進(jìn)升級(jí)?;谖⑿蛦纹瑱C(jī)的控制系統(tǒng)則通過軟件來(lái)控制步進(jìn)電機(jī)

7、,能夠更好地發(fā)揮步進(jìn)電機(jī)的潛力。因此,用微型單片機(jī)控制步進(jìn)電機(jī)己經(jīng)成為了一種必然的趨勢(shì),也符合數(shù)字化的時(shí)代發(fā)展要求。還比如為了適應(yīng)一些領(lǐng)域中高精度定位和運(yùn)行平穩(wěn)性的要求,出現(xiàn)的步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)技術(shù),就包括振蕩器、環(huán)形分配器控制的細(xì)分驅(qū)動(dòng)、基于單片機(jī)斬波恒流驅(qū)動(dòng)、基于單片機(jī)的直流電壓驅(qū)動(dòng)三種常見驅(qū)動(dòng)方式,除上述三種步進(jìn)電機(jī)的驅(qū)動(dòng)方案之外,目前報(bào)道的驅(qū)動(dòng)方案還有根據(jù)匯編語(yǔ)言或C語(yǔ)言進(jìn)行軟件開發(fā),最終實(shí)現(xiàn)由PC機(jī)直接控制步電機(jī)的方法;在windows平臺(tái)下和單片機(jī)配合控制步進(jìn)電機(jī),PLC控制的脈沖驅(qū)動(dòng)方案等等。但是在有些應(yīng)用場(chǎng)合,并不需要高精度的控制,而是需要在滿足一般工作要求的情況下,盡量使控制系

8、統(tǒng)做到:系統(tǒng)硬件結(jié)構(gòu)簡(jiǎn)單,成本低;電機(jī)各種運(yùn)行狀態(tài)指示一目了然,操作方便;功能較為齊全;系統(tǒng)抗干擾和可靠性高;適應(yīng)性強(qiáng)等特點(diǎn)。 本文就是采用這個(gè)思路進(jìn)行設(shè)計(jì)。一般步進(jìn)電機(jī)控制器都用硬件實(shí)現(xiàn),雖然電路可以做到了高集成度,可價(jià)格較貴,功能相對(duì)較單一,并且設(shè)計(jì)要求有所改變,就得改變整個(gè)硬件電路,比較麻煩。而采用微控制器的軟件和硬件結(jié)合進(jìn)行控制,運(yùn)用其強(qiáng)大的可編程和運(yùn)算功能,充分利用ARM的各種資源,能靈活的對(duì)步進(jìn)電機(jī)進(jìn)行控制,實(shí)現(xiàn)其不同模式、步數(shù)、轉(zhuǎn)速等控制,如果需改變控制要求,一般只需改變軟件就能適應(yīng)新的環(huán)境,并且在本設(shè)計(jì)中利用上位機(jī)顯示和鍵盤電路,能做到一定的人機(jī)交換,在軟件設(shè)計(jì)上加入去抖動(dòng),因

9、此具有一定的應(yīng)用價(jià)值。三、步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)簡(jiǎn)介:1、設(shè)計(jì)的原則:步進(jìn)電機(jī)控制系統(tǒng)的目的是在滿足其基本功能的情況下,最大限度的提高可靠性,為此,在設(shè)計(jì)時(shí)應(yīng)遵循以下原則(1)完整性原則。最大限度的滿足工業(yè)生產(chǎn)過程或機(jī)械設(shè)備的控制要求。(2)可靠性原則。確保控制系統(tǒng)的可靠性。(3)經(jīng)濟(jì)性原則。力求控制系統(tǒng)簡(jiǎn)單,實(shí)用,合理。2、系統(tǒng)設(shè)計(jì)的主要步驟:系統(tǒng)設(shè)計(jì)包括硬件設(shè)計(jì)和軟件設(shè)計(jì)。所謂硬件設(shè)計(jì),是指步進(jìn)電機(jī)控制器整套設(shè)備的設(shè)計(jì),而軟件設(shè)計(jì)即應(yīng)用程序的設(shè)計(jì)。整個(gè)系統(tǒng)的設(shè)計(jì)大致分為以下幾步:(1)深入了解被控系統(tǒng)是設(shè)計(jì)控制系統(tǒng)的基礎(chǔ),收集資料,對(duì)被控對(duì)象結(jié)構(gòu)功能作全面細(xì)致的了解。(2)系統(tǒng)I/O設(shè)備以與

10、器件的選擇和設(shè)計(jì)。輸入設(shè)備的選擇即控制按鈕的選擇,輸出設(shè)備的選擇即LED顯示燈與發(fā)光二極管的選擇。(3)選擇驅(qū)動(dòng)設(shè)備。根據(jù)被控對(duì)象技術(shù)指標(biāo)的要求,如輸出電壓電流等,據(jù)此確定驅(qū)動(dòng)設(shè)備的類型和配置。(4)分配ARM的I/O端口分配。(5)繪制外部接線圖。(6) 編寫應(yīng)用程序。(7) 編輯調(diào)試修改程序。四、系統(tǒng)與系統(tǒng)特點(diǎn)簡(jiǎn)介:步進(jìn)電機(jī)控制系統(tǒng)是一個(gè)有機(jī)的完整的整體,由運(yùn)動(dòng)控制系統(tǒng)和操作控制系統(tǒng)組成。由操作系統(tǒng)完成把操作者的操作轉(zhuǎn)化為運(yùn)動(dòng)控制系統(tǒng)能接受的電信號(hào),運(yùn)動(dòng)控制系統(tǒng)隨之作出反應(yīng),完成規(guī)定動(dòng)作。運(yùn)動(dòng)控制系統(tǒng)的組成如圖所示:機(jī)械裝置運(yùn)動(dòng)執(zhí)行部件驅(qū)動(dòng)部件運(yùn)動(dòng)控制部件圖2-1 運(yùn)動(dòng)控制系統(tǒng)組成步進(jìn)電機(jī)

11、是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。當(dāng)步進(jìn)電驅(qū)動(dòng)器接受到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度,它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的??梢酝ㄟ^控制脈沖個(gè)數(shù)來(lái)控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過控制脈沖頻率來(lái)控制電機(jī)轉(zhuǎn)動(dòng)的速度,從而達(dá)到調(diào)速的目的,該系統(tǒng)是在開環(huán)系統(tǒng)條件下實(shí)現(xiàn)的調(diào)速,較閉環(huán)系統(tǒng)下的調(diào)速簡(jiǎn)單。步進(jìn)電機(jī)的運(yùn)行要有一電子裝置進(jìn)行驅(qū)動(dòng),這種裝置就是步進(jìn)電機(jī)驅(qū)動(dòng)器,它是把控制系統(tǒng)發(fā)出的脈沖信號(hào),加以放大來(lái)驅(qū)動(dòng)步進(jìn)電機(jī)。步進(jìn)電機(jī)的轉(zhuǎn)速與脈沖信號(hào)的頻率成正比,控制步進(jìn)脈沖信號(hào)的頻率,可以對(duì)電機(jī)精確調(diào)速;控制步進(jìn)脈沖的個(gè)數(shù),可以對(duì)電機(jī)精確定位。因此典型的步進(jìn)

12、電機(jī)驅(qū)動(dòng)控制系統(tǒng)主要由三部分組成: 步進(jìn)控制器、驅(qū)動(dòng)器(把控制器輸出的脈沖加以放大,來(lái)驅(qū)動(dòng)步進(jìn)電機(jī))、步進(jìn)電機(jī)。不同的控制方案,步進(jìn)控制器、驅(qū)動(dòng)器也有不同的類型。下面著重介紹以ARM為控制器的步進(jìn)電機(jī)控制系統(tǒng)。步進(jìn)電機(jī)是數(shù)控式電機(jī),其最大特點(diǎn)是通過輸入脈沖信號(hào)來(lái)進(jìn)行控制,即電機(jī)的總轉(zhuǎn)動(dòng)角度由輸入脈沖數(shù)決定,而電機(jī)的轉(zhuǎn)速由脈沖信號(hào)頻率決定。它具有輸入脈沖與電機(jī)軸轉(zhuǎn)角成比例的特征,將脈沖信號(hào)轉(zhuǎn)變成角位移,即給一個(gè)脈沖信號(hào),步進(jìn)電機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度。五、系統(tǒng)軟件設(shè)計(jì)(宇翔)1、軟件設(shè)計(jì)主要分為系統(tǒng)初始化、按鍵、顯示與控制脈沖輸出幾部分,事實(shí)上每一部分都是緊密相關(guān)的,每個(gè)功能模塊對(duì)于整體設(shè)計(jì)都是非常重要

13、ARM通過軟件編程才能使系統(tǒng)真正的運(yùn)行起來(lái),軟件設(shè)計(jì)的好壞也直接決定了系統(tǒng)的運(yùn)行質(zhì)量。程序流程圖的設(shè)計(jì)遵循自頂向下的原則,即從主體逐步分到每一個(gè)模塊的流程。在流程圖中把設(shè)計(jì)者的控制過程梳理清楚。本程序主要由鍵盤程序、上位機(jī)顯示程序、步進(jìn)電機(jī)驅(qū)動(dòng)程序三部份組成,主程序首先初始化各變量,設(shè)定指示燈狀態(tài),步進(jìn)電機(jī)驅(qū)動(dòng)的各引腳輸出高低電平,便進(jìn)入待機(jī)狀態(tài),等待鍵入相應(yīng)操作。然后調(diào)用鍵盤程序,并作判斷,如果有鍵按下,則調(diào)用鍵盤處理程序。在各個(gè)調(diào)用程序中相應(yīng)的上位機(jī)顯示的程序。2、系統(tǒng)軟件簡(jiǎn)易流程圖: 系統(tǒng)簡(jiǎn)易流程圖3、軟件源程序代碼:/* 文 件 名:main.c* 功 能:LED顯示控制。* 通過GP

14、IO控制步進(jìn)電機(jī)* 說 明:將跳線JP14和JP19全部短接。 */#include "config.h"unsigned int flag=1;#define LED1 1<<16 / P0.16#define KEY 1<<20 / 定義按鍵 key接口(P0.20)#define MOTOA 1<<24 / P0.24#define MOTOB1<<25/ P0.25#define MOTOC 1<<26/ P0.26#define MOTOD1<<27/ P0.27#define LEDCON0

15、x00ff0000 / LED控制字#define MOTOCON0x0f000000 / MOTO控制字#define GPIOSET(PIN) IO0SET=PIN / 方便修改置位端口#define GPIOCLR(PIN)IO0CLR=PIN / 方便修改清位端口#define UART_BPS9600/ 定義通訊波特率uint8 const SEND_STRING1 = "單四拍!rn"uint8 const SEND_STRING2 = "雙四拍!rn"uint8 const SEND_STRING3 = "單雙八拍!rn"

16、;/*void DelayNS(uint32 dly);void MOTO_Mode1(uint8 i); / A-B-C-Dvoid MOTO_Mode2(uint8 i); / AB-BC-CD-DA-ABvoid MOTO_Mode3(uint8 i); / A-AB-B-BC-C-CD-D-DA-Avoid keyscan();/聲明鍵盤掃描函數(shù)void UART0_Init();/串口初始化函數(shù)void UART0_SendByte();/串口發(fā)送字節(jié)函數(shù)void UART0_SendStr();/串口發(fā)送字符串函數(shù)*/* 名 稱:DelayNS()* 功 能:長(zhǎng)軟件延時(shí)* 入口參數(shù)

17、:dly延時(shí)參數(shù),值越大,延時(shí)越久* 出口參數(shù):無(wú)*/void DelayNS(uint32 dly) uint32 i; for(; dly>0; dly-) for(i=0; i<5000; i+); /* 名 稱:MOTO_Mode1()* 功 能:?jiǎn)嗡呐某绦? 入口參數(shù):uint8 i延時(shí)參數(shù),值越大,延時(shí)越久* 出口參數(shù):無(wú)*/void MOTO_Mode1(uint8 i) / A-B-C-D / while( (IO0PIN&KEY)!= 0)/當(dāng)外界無(wú)鍵按下時(shí)才一直執(zhí)行 GPIOCLR(LED1); / 點(diǎn)亮LED1,方便監(jiān)視程序狀態(tài) /* A */ GPI

18、OSET(MOTOA); DelayNS(i); GPIOCLR(MOTOA); /* B */ GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOB); /* C */ GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOC); GPIOSET(LED1); / 熄滅LED1,方便監(jiān)視程序狀態(tài) /* D */ GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOD);/* 名 稱:MOTO_Mode2()* 功 能:雙四拍程序* 入口參數(shù):uint8 i延時(shí)參數(shù),值越大,延時(shí)越久* 出口參數(shù):無(wú)*/void

19、 MOTO_Mode2(uint8 i) / AB-BC-CD-DA-AB / while( (IO0PIN&KEY)!= 0) GPIOCLR(LED1); / 點(diǎn)亮LED1,方便監(jiān)視程序狀態(tài) /* AB */ GPIOSET(MOTOA); GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOA); GPIOCLR(MOTOB); /* BC */ GPIOSET(MOTOB); GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOB); GPIOCLR(MOTOC); GPIOSET(LED1); / 熄滅LED1,方便監(jiān)視

20、程序狀態(tài) /* CD */ GPIOSET(MOTOC); GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOC); GPIOCLR(MOTOD); /* DA */ GPIOSET(MOTOD); GPIOSET(MOTOA); DelayNS(i); GPIOCLR(MOTOD); GPIOCLR(MOTOA);/* 名 稱:MOTO_Mode3()* 功 能:?jiǎn)坞p八拍程序* 入口參數(shù):uint8 i延時(shí)參數(shù),值越大,延時(shí)越久* 出口參數(shù):無(wú)*/void MOTO_Mode3(uint8 i) / A-AB-B-BC-C-CD-D-DA-A /while( (

21、IO0PIN&KEY)!= 0) GPIOCLR(LED1); / 點(diǎn)亮LED1,方便監(jiān)視程序狀態(tài) /* A */ GPIOSET(MOTOA); DelayNS(i); GPIOCLR(MOTOA); /* AB */ GPIOSET(MOTOA); GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOA); GPIOCLR(MOTOB); /* B */ GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOB); /* BC */ GPIOSET(MOTOB); GPIOSET(MOTOC); DelayNS(i); GPIO

22、CLR(MOTOB); GPIOCLR(MOTOC); /* C */ GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOC); GPIOSET(LED1); / 熄滅LED1,方便監(jiān)視程序狀態(tài) /* CD */ GPIOSET(MOTOC); GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOC); GPIOCLR(MOTOD); /* D */ GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOD); /* DA */ GPIOSET(MOTOD); GPIOSET(MOTOA); DelayNS(i

23、); GPIOCLR(MOTOD); GPIOCLR(MOTOA);/* 名 稱:UART0_Ini()* 功 能:初始化串口0。設(shè)置為8位數(shù)據(jù)位,1位停止位,無(wú)奇偶校驗(yàn),波特率為9600* 入口參數(shù):無(wú)* 出口參數(shù):無(wú)*/void UART0_Init(void) uint16 Fdiv; U0LCR = 0x83;/ DLAB = 1,可設(shè)置波特率 Fdiv = (Fpclk / 16) / UART_BPS;/ 設(shè)置波特率 U0DLM = Fdiv / 256; U0DLL = Fdiv % 256; U0LCR = 0x03;/* 名 稱:UART0_SendByte()* 功 能:向

24、串口發(fā)送字節(jié)數(shù)據(jù),并等待發(fā)送完畢。* 入口參數(shù):data要發(fā)送的數(shù)據(jù)* 出口參數(shù):無(wú)*/void UART0_SendByte(uint8 data) U0THR = data; / 發(fā)送數(shù)據(jù) while( (U0LSR&0x40)=0 ); / 等待數(shù)據(jù)發(fā)送完畢/* 名 稱:UART0_SendStr()* 功 能:向串口發(fā)送一字符串* 入口參數(shù):srt要發(fā)送的字符串的指針* 出口參數(shù):無(wú)*/void UART0_SendStr(uint8 const *str) while(1) if( *str = '0' ) break; UART0_SendByte(*str

25、+); / 發(fā)送數(shù)據(jù) void keyscan()if( (IO0PIN&KEY) = 0 ) DelayNS(10); if( (IO0PIN&KEY) = 0 ) /延時(shí)消抖 /DelayNS(20);flag+;if(flag>3)flag=1; /*if( (IO0PIN&KEY) = 0 )flag=2;DelayNS(20); if( (IO0PIN&KEY) = 0 )/ flag=3; DelayNS(20); if( (IO0PIN&KEY) = 0 ) flag=1; */if(flag=1) UART0_SendStr(SEN

26、D_STRING1); MOTO_Mode1(5); / A-B-C-D,單四拍if( flag=2 ) UART0_SendStr(SEND_STRING2); MOTO_Mode2(5); / AB-BC-CD-DA-AB,雙四拍 if( flag=3 ) UART0_SendStr(SEND_STRING3); MOTO_Mode3(5); / A-AB-B-BC-C-CD-D-DA-A,單雙八拍 /* 名 稱:main()* 功 能:根據(jù)表DISP_TAB來(lái)控制LED顯示。*/int main(void) IO0DIR = LEDCON | MOTOCON; / 配置LED控制I/O方

27、向 PINSEL0 = 0x00000005; / 設(shè)置I/O連接到UART0 UART0_Init();while(1) keyscan(); return(0);附錄一:心得體會(huì):通過一周的ARM課程設(shè)計(jì),讓我對(duì)ARM有了更加深入的了解,真正能夠去自己經(jīng)歷編程、調(diào)試、論證、修改的完整的過程,讓我們?cè)陔娮釉O(shè)計(jì)領(lǐng)域又多了一份收獲。以前我的知識(shí)僅僅停留在課本上,沒有實(shí)際的動(dòng)手操作經(jīng)驗(yàn),感老師能給我們提供這樣優(yōu)越的實(shí)驗(yàn)室環(huán)境,和耐心的指導(dǎo),尤其是幾個(gè)老師手把手教學(xué),讓我學(xué)的更快,記得更勞。課設(shè)的每一步都傾注著黃老師的關(guān)懷,教導(dǎo)和幫助,黃老師淵博的知識(shí)、豐富的經(jīng)驗(yàn)、嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度和誨人不倦的工作作風(fēng)

28、都使我受益匪淺。黃老師對(duì)待工作嚴(yán)肅認(rèn)真的態(tài)度、創(chuàng)新的精神深深地激勵(lì)著我,在為人處世上和藹、謙遜、踏實(shí)、積極的態(tài)度將會(huì)影響我一生。同時(shí)老師、宋老師,還有一個(gè)我忘了問的研究生給我提供了很多的幫助,在他們耐心細(xì)致的指導(dǎo)下,我的專業(yè)知識(shí)得以擴(kuò)充,論文的工作也得以順利地進(jìn)行。所以,在此首先向幫助過我的老師表達(dá)我最誠(chéng)摯的意。我本身以后也是從事嵌入式開發(fā)工作的,我想我們能夠多多得到這樣的機(jī)會(huì),讓自己在走向工作崗位之前能夠打牢基礎(chǔ),在最初的工作時(shí)期能夠快速的融入公司中,迅速成長(zhǎng)為公司骨干。宇翔 測(cè)控技術(shù)與儀器0701班 0706070115六、硬件電路(包俊)1、JTAG接口電路:JTAG (Joint Test Action Group) 編程調(diào)試實(shí)質(zhì)上是利用了MCU/MPU片上自帶的跟蹤調(diào)試功能(需MCU/MPU硬件支持)。JTAG編程板一端與PC的并口相連,另一端連接至目標(biāo)板,由于通常的MCU/MPU的工作電壓在1.8V-3.6V之間,而PC機(jī)并口輸出的電平邏輯為5V,因此需做電平轉(zhuǎn)換,通常使用一枚緩沖/驅(qū)動(dòng)器(如: 74××244/74××541)作隔離,并通過電阻分壓,限制進(jìn)入目標(biāo)板的電平。因PC并口沒有電壓輸出,所以編程板上的IC要由目標(biāo)板供電,即: JTAG接口中的VCC腳是必須恰當(dāng)連接的。本次實(shí)習(xí)采用ARM公司提出的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論