直流電機(jī)微型計算機(jī)速度控制系統(tǒng)的設(shè)計_第1頁
直流電機(jī)微型計算機(jī)速度控制系統(tǒng)的設(shè)計_第2頁
直流電機(jī)微型計算機(jī)速度控制系統(tǒng)的設(shè)計_第3頁
直流電機(jī)微型計算機(jī)速度控制系統(tǒng)的設(shè)計_第4頁
直流電機(jī)微型計算機(jī)速度控制系統(tǒng)的設(shè)計_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘要 工業(yè)控制是計算機(jī)的一個重要應(yīng)用領(lǐng)域,計算機(jī)控制正是為了適應(yīng)這一領(lǐng)域的需要而發(fā)展起來的一門專業(yè)技術(shù),它主要研究如何將計算機(jī)技術(shù)和自動控制理論應(yīng)用于工業(yè)生產(chǎn)過程,并設(shè)計出所需要的計算機(jī)控制系統(tǒng)。本次設(shè)計所采用的主體芯片有8086cpu和可編程并行接口芯片8255a,其中,8086cpu曾是使用廣泛的16位微處理器,具有40個管腳的雙列直插式封裝芯片,內(nèi)外數(shù)據(jù)線都為16位,地址線為20位,直接尋址為1mb。而8255a是一種通用的可編程并行i/o接口芯片,廣泛用于幾乎所有系列的微機(jī)系統(tǒng)中,它的各端口內(nèi)具有中斷控制邏輯,在外設(shè)于cpu之間可以用中斷方式進(jìn)行信息交換,使用條件傳輸方式時可用“聯(lián)絡(luò)”

2、線進(jìn)行控制。數(shù)字p id控制系統(tǒng)是時間的離散系統(tǒng),計算機(jī)對生產(chǎn)過程的控制是斷續(xù)的過程. 即在每一個采樣周期內(nèi),傳感器將所測數(shù)據(jù)轉(zhuǎn)換成統(tǒng)一的標(biāo)準(zhǔn)信號后輸入給調(diào)節(jié)器,在調(diào)節(jié)器中與設(shè)定值進(jìn)行比較得出偏差值,經(jīng)pid運算得出本次的控制量,輸出到執(zhí)行器后才完成了本次的調(diào)節(jié)任務(wù)。關(guān)鍵字:計算機(jī)控制 8086cpu 8255a 數(shù)字pid目錄摘要11 直流電機(jī)及主要芯片介紹31.1 直流電機(jī)的工作原理31.2 直流電機(jī)的調(diào)速方法31.3 8086cpu介紹41.4 8255a芯片61.5 74ls48芯片71.6 74ls373芯片81.7 l298芯片介紹82 系統(tǒng)硬件設(shè)計92.1 各部分電路詳細(xì)原理圖1

3、02.1.1 顯示驅(qū)動電路102.1.2 電機(jī)驅(qū)動電路112.1.3 8086控制電路122.1.4 8255控制電路133 系統(tǒng)的軟件設(shè)計143.1 總體設(shè)計思路143.2 按鍵檢測子程序流程圖164 運行結(jié)果與分析18課程設(shè)計感想及體會21參考文獻(xiàn)22附錄:源程序23直流電機(jī)微型計算機(jī)速度控制系統(tǒng)的設(shè)計1 直流電機(jī)及主要芯片介紹1.1 直流電機(jī)的工作原理直流勵磁的磁路在電工設(shè)備中的應(yīng)用,除了直流電磁鐵(直流繼電器、直流接觸器等)外,最重要的就是應(yīng)用在直流旋轉(zhuǎn)電機(jī)中。在發(fā)電廠里,同步發(fā)電機(jī)的勵磁機(jī)、蓄電池的充電機(jī)等,都是直流發(fā)電機(jī);鍋爐給粉機(jī)的原動機(jī)是直流電動機(jī)。此外,在許多工業(yè)部門,例如大

4、型軋鋼設(shè)備、大型精密機(jī)床、礦井卷揚(yáng)機(jī)、市內(nèi)電車、電纜設(shè)備要求嚴(yán)格線速度一致的地方等,通常都采用直流電動機(jī)作為原動機(jī)來拖動工作機(jī)械的。直流電動機(jī)的工作原理很直觀,給兩個電刷加上直流電源,有直流電流從電刷a流入,經(jīng)過線圈abcd,從電刷b流出,根據(jù)電磁力定律,載流導(dǎo)體ab和cd收到電磁力的作用,其方向可由左手定則判定,兩段導(dǎo)體受到的力形成了一個轉(zhuǎn)矩,使得轉(zhuǎn)子逆時針轉(zhuǎn)動;如果轉(zhuǎn)子轉(zhuǎn)到一定位置,電刷a和換向片2接觸,電刷b和換向片1接觸,直流電流從電刷a流入,在線圈中的流動方向是dcba,從電刷b流出。此時載流導(dǎo)體ab和cd受到電磁力的作用方向同樣可由左手定則判定,它們產(chǎn)生的轉(zhuǎn)矩仍然使得轉(zhuǎn)子逆時針轉(zhuǎn)動

5、。電樞一經(jīng)轉(zhuǎn)動,由于換向器配合電刷對電流的換向作用,直流電流交替地由線圈邊ab和cd流入,使線圈邊只要處于n極下,其中通過電流的方向總是由電刷a流入的方向,而在s極下時,總是從電刷b流出的方向,這就保證了每個磁極下線圈邊中的電流始終是一個方向,這樣的結(jié)構(gòu),就可使電動機(jī)連續(xù)旋轉(zhuǎn)。1.2 直流電機(jī)的調(diào)速方法根據(jù)直流電機(jī)的基本原理,由感應(yīng)電勢、電磁轉(zhuǎn)矩以及機(jī)械特性方程式可知,直流電動機(jī)的調(diào)速方法有三種:(1)調(diào)節(jié)電樞供電電壓u。改變電樞電壓主要是從額定電壓往下降低電樞電壓,從電動機(jī)額定轉(zhuǎn)速向下變速,屬恒轉(zhuǎn)矩調(diào)速方法。對于要求在一定范圍內(nèi)無級平滑調(diào)速的系統(tǒng)來說,這種方法最好。變化遇到的時間常數(shù)較小,能

6、快速響應(yīng),但是需要大容量可調(diào)直流電源。(2)改變電動機(jī)主磁通。改變磁通可以實現(xiàn)無級平滑調(diào)速,但只能減弱磁通進(jìn)行調(diào)速(簡稱弱磁調(diào)速),從電機(jī)額定轉(zhuǎn)速向上調(diào)速,屬恒功率調(diào)速方法。變化時間遇到的時間常數(shù)同變化遇到的相比要大得多,響應(yīng)速度較慢,但所需電源容量小。(3)改變電樞回路電阻。在電動機(jī)電樞回路外串電阻進(jìn)行調(diào)速的方法,設(shè)備簡單,操作方便。但是只能進(jìn)行有級調(diào)速,調(diào)速平滑性差,機(jī)械特性較軟;空載時幾乎沒什么調(diào)速作用;還會在調(diào)速電阻上消耗大量電能。改變電阻調(diào)速缺點很多,目前很少采用,僅在有些起重機(jī)、卷揚(yáng)機(jī)及電車等調(diào)速性能要求不高或低速運轉(zhuǎn)時間不長的傳動系統(tǒng)中采用。弱磁調(diào)速范圍不大,往往是和調(diào)壓調(diào)速配合

7、使用,在額定轉(zhuǎn)速以上作小范圍的升速。因此,自動控制的直流調(diào)速系統(tǒng)往往以調(diào)壓調(diào)速為主,必要時把調(diào)壓調(diào)速和弱磁調(diào)速兩種方法配合起來使用。1.3 8086cpu介紹intel 8086是一個由intel于1978年所設(shè)計的16位微處理器芯片,是x86架構(gòu)的鼻祖。不久,intel 8088就推出了,擁有一個外部的8位數(shù)據(jù)總線,允許便宜的芯片用途。它是以8080和8085(它與8080有組合語言上的原始碼兼容性)的設(shè)計為基礎(chǔ),擁有類似的寄存器組,但是數(shù)據(jù)總線擴(kuò)充為16位??偩€界面單元(bus interface unit)透過6字節(jié)預(yù)存(prefecth) 的隊列(queue)喂指令給執(zhí)行單元(exec

8、ution unit),所以取指令和執(zhí)行是同步的,8086 cpu有20條地址線,可直接尋址1mb的存儲空間,每一個存儲單元可以存放一個字節(jié)(8位)二進(jìn)制信息。為了便于對存儲器進(jìn)行存取操作,每一個存儲單元都有一個惟一的地址與之對應(yīng),其地址范圍用十進(jìn)制表示為01048575,用十六進(jìn)制表示為00000hfffffh。intel 8086擁有四個16位的通用寄存器,也能夠當(dāng)作八個8位寄存器來存取,以及四個16位索引寄存器(包含了堆棧指標(biāo))。資料寄存器通常由指令隱含地使用,針對暫存值需要復(fù)雜的寄存器配置。它提供64k 8 位元的輸出輸入(或32k 16 位元),以及固定的向量中斷。大部分的指令只能夠

9、存取一個內(nèi)存位址,所以其中一個操作數(shù)必須是一個寄存器。運算結(jié)果會儲存在操作數(shù)中的一個。 intel 8086有四個 內(nèi)存區(qū)段(segment) 寄存器,可以從索引寄存器來設(shè)定。區(qū)段寄存器可以讓 cpu 利用特殊的方式存取1 mb內(nèi)存。8086 把段地址左移 4 位然后把它加上偏移地址。大部分的人都認(rèn)為這是一個很不好的設(shè)計,因為這樣的結(jié)果是會讓各分段有重疊。盡管這樣對組合語言而言大部分被接受(也甚至有用),可以完全地控制分段,使在編程中使用指針 (如c 編程語言) 變得困難。它導(dǎo)致指針的高效率表示變得困難,且有可能產(chǎn)生兩個指向同一個地方的指針擁有不同的地址。更壞的是,這種方式產(chǎn)生要讓內(nèi)存擴(kuò)充到大

10、于 1 mb 的困難。而 8086 的尋址方式改變讓內(nèi)存擴(kuò)充較有效率。在這個系統(tǒng)中,8086作為整個系統(tǒng)的主控芯片,用來控制協(xié)調(diào)整個系統(tǒng)的工作如圖所示就是仿真中的8086芯片的模型,這里隱藏了8086的vcc和gnd兩個引腳。如圖1-1圖1-1 8086引腳圖1.4 8255a芯片圖1-2 8255a引腳圖8255a在使用前要寫入一個方式控制字,選擇a、b、c三個端口各自的工作方式,共有三種; 方式0 :基本的輸入輸出方式,即無須聯(lián)絡(luò)就可以直接進(jìn)行的 i/o方式。其中a、b、c口的高四位或低四位可分別設(shè)置成輸入或輸出。 方式1 :選通i/o,此時接口和外圍設(shè)備需聯(lián)絡(luò)信號進(jìn)行協(xié)調(diào),只有a口和b口

11、可以工作在方式1,此時c口的某些線被規(guī)定為a口或b口與外圍設(shè)備的聯(lián)絡(luò)信號,余下的線只有基本的i/o功能,即只工作在方式0. 方式2: 雙向i/o方式,只有a口可以工作在這種方式,該i/o線即可輸入又可輸出,此時c口有5條線被規(guī)定為a口和外圍設(shè)備的雙向聯(lián)絡(luò)線,c口剩下的三條線可作為b口方式1的聯(lián)絡(luò)線,也可以和b口一起方式0的i/o線。 8255a是一個并行輸入、輸出器件,具有24個可編程設(shè)置的i/o口,包括3組8位的i/o為pa口、pb口、pc口,又可分為2組12位的i/o口:a組包括a口及c口高4位,b組包括b口及c組的低4位。 a口可以設(shè)置為方式0、方式1、方式2,b口與c口只能設(shè)置為方式0

12、或方式1.reset:復(fù)位輸入線,當(dāng)該輸入端處于高電平時,所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有i/o口均被置成輸入方式。cs:芯片選擇信號線,當(dāng)這個輸入引腳為低電平時,即/cs=0時,表示芯片被選中,允許8255與cpu進(jìn)行通訊;/cs=1時,8255無法與cpu做數(shù)據(jù)傳輸.rd:讀信號線,當(dāng)這個輸入引腳為低跳變沿時,即/rd產(chǎn)生一個低脈沖且/cs=0時,允許8255通過數(shù)據(jù)總線向cpu發(fā)送數(shù)據(jù)或狀態(tài)信息,即cpu從8255讀取信息或數(shù)據(jù)。wr:寫入信號,當(dāng)這個輸入引腳為低跳變沿時,即/wr產(chǎn)生一個低脈沖且/cs=0時,允許cpu將數(shù)據(jù)或控制字寫入8255。d0d7:三態(tài)雙向數(shù)據(jù)總線

13、,8255與cpu數(shù)據(jù)傳送的通道,當(dāng)cpu 執(zhí)行輸入輸出指令時,通過它實現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。當(dāng)a1=0,a0=0時,pa口被選擇;當(dāng)a1=0,a0=1時,pb口被選擇;當(dāng)a1=1,a0=0時,pc口被選擇;當(dāng)a1=1.a0=1時,控制寄存器被選擇。1.5 74ls48芯片 74ls48是一個譯碼芯片,可以將bcd碼轉(zhuǎn)換成7段數(shù)碼管的地址碼,因此經(jīng)常用來驅(qū)動4位或單獨一位的7段數(shù)碼管顯示電路。輸出高電平有效。舉一個例子:假設(shè)需要輸出數(shù)字“1”,2進(jìn)制的編碼為0001b,那么就將0001,4個電平分別送入74ls48的dcba口,那么就輸出了一個“01100

14、00”的編碼,如果不加入反相器就需要用共陰極的7段數(shù)碼管,這樣bc兩段就點亮了,在數(shù)碼管顯示器上就顯示一個“1”,如果用共陽極的7段數(shù)碼管,還需要在74ls48的輸出段加入反相器。74ls48可以譯碼015編碼。這里的系統(tǒng)只需要輸出數(shù)字,因此,完全可以滿足要求,這里要注意的就是,74ls48只能完成一位7段數(shù)碼管的驅(qū)動,因此,還需要產(chǎn)生位選信號,選擇相應(yīng)的位,然后再顯示相應(yīng)的數(shù),位選信號這里用8255來產(chǎn)生,因為這里只需要4位就可以顯示數(shù)字,那么8255剩下的4位就可以產(chǎn)生位選信號,這樣可以控制4位7段數(shù)碼管的循環(huán)滾動顯示。1.6 74ls373芯片74ls373為三態(tài)輸出的八 d 透明鎖存器

15、,共有 54s373 和 74ls373 兩種線路。74ls373 的輸出端 q0q7 可直接與總線相連。當(dāng)三態(tài)允許控制端 oe 為低電平時,q0q7 為正常邏輯狀態(tài),可用來驅(qū)動負(fù)載或總線。當(dāng) oe 為高電平時,q0q7 呈高阻態(tài),即不驅(qū)動總線,也不為總線的負(fù)載,但鎖存器內(nèi)部的邏輯操作不受影響。當(dāng)鎖存允許端 le 為高電平時,o 隨數(shù)據(jù) d 而變。當(dāng) le 為低電平時,q 被鎖存在已建立的數(shù)據(jù)電平。當(dāng) le 端施密特觸發(fā)器的輸入滯后作用,使交流和直流噪聲抗擾度被改善 400mv。在本次的系統(tǒng)中,oe端接地,le端與8086cpu的ale管腳相連,來達(dá)到地址鎖存的目的。1.7 l298芯片介紹l

16、298芯片是用來驅(qū)動直流電動機(jī)的。l298是sgs公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅(qū)動電路。l298可以直接對電機(jī)進(jìn)行控制,無需隔離電路通過改變控制端的電平即可對電機(jī)執(zhí)行正反轉(zhuǎn),停止的操作,非常方便,異能滿足直流減速電機(jī)的大電流要求。這里我用到了l298的一個輸入輸出端,來驅(qū)動一臺電機(jī)。圖1-3 l298管腳圖上面是在系統(tǒng)仿真中l(wèi)298的管腳圖,如圖1-3。2 系統(tǒng)硬件設(shè)計 設(shè)計要求:設(shè)計一個直流電機(jī)微型計算機(jī)速度控制系統(tǒng),學(xué)習(xí)直流電機(jī)的速度控制和測試方法。定義8個鍵盤按鍵:5個為數(shù)字鍵15;3個功能鍵:設(shè)置set、清零 clr、開始start;顯示器上的四位可顯示每分鐘的速度;通過鍵盤的按鍵,

17、設(shè)置直流電機(jī)每分鐘的速度值;按start鍵啟動電機(jī)開始轉(zhuǎn)動,按set鍵停止;按clr鍵清零。 電路原理圖如下圖所示,圖2-1 系統(tǒng)總原理圖2.1 各部分電路詳細(xì)原理圖2.1.1 顯示驅(qū)動電路圖2-2 數(shù)碼管驅(qū)動部分74ls48芯片是一種常用的七段數(shù)碼管譯碼器驅(qū)動器,常用在各種數(shù)字電路和單片機(jī)系統(tǒng)的顯示系統(tǒng)中,晶體管右邊的1234號引腳端則是首先掃描,確定是先顯示哪個數(shù)字,然后通過abcd四個輸入,轉(zhuǎn)換為八種狀態(tài),控制晶體管的數(shù)字具體顯示是多少。按鍵按下的時候,首先掃描d0d7,然后8086調(diào)用內(nèi)部相應(yīng)的程序,8255a的b口和c口輸出,b口輸出信號到74ls48,以此來控制數(shù)碼管的顯示。2.1

18、.2 電機(jī)驅(qū)動電路圖2-3 電機(jī)驅(qū)動部分l298芯片是一種高壓、大電流雙h橋式驅(qū)動器。l298 為sgs-thomson microelectronics 所出產(chǎn)的雙全橋步進(jìn)電機(jī)專用驅(qū)動芯片( dual full-bridge driver ) ,內(nèi)部包含4信道邏輯驅(qū)動電路,是一種二相和四相步進(jìn)電機(jī)的專用驅(qū)動器,可同時驅(qū)動2個二相或1個四相步進(jìn)電機(jī),內(nèi)含二個h-bridge 的高電壓、大電流雙全橋式驅(qū)動器,接收標(biāo)準(zhǔn)ttl邏輯準(zhǔn)位信號,可驅(qū)動46v、2a以下的步進(jìn)電機(jī),且可以直接透過電源來調(diào)節(jié)輸出電壓;此芯片可直接由單片機(jī)的io端口來提供模擬時序信號。從8255的c口輸出信號來控制電機(jī)的運動。2

19、.1.3 8086控制電路圖2-4 8086控制部分在這個系統(tǒng)中,8086作為整個系統(tǒng)的主控芯片,用來控制協(xié)調(diào)整個系統(tǒng)的工作,按鍵按下從8255的a口輸入,接著反應(yīng)到8086中,讓8086做出反應(yīng)。要編寫8段子程序。這里對于沒有開關(guān)按下的情況,就循環(huán)掃描鍵盤開關(guān)即可。8個子程序?qū)?yīng)8個按鍵按下的狀態(tài)。其中有三個控制鍵:start鍵、set鍵和clear鍵,它們分別完成的任務(wù)是開始開啟,停止,和重置清零。2.1.4 8255控制電路圖2-5 8255a控制部分8255具有3個相互獨立的輸入/輸出通道端口,用+5v單電源供電,能在以下三種方式下工作。方式0基本輸入輸出方式;方式1選通輸入/出方式;

20、方式2雙向選通輸入/輸出方式; 鍵盤從a口輸入,8086檢驗d0d7口,再做出反應(yīng),調(diào)用其內(nèi)部相應(yīng)程序,最后再把信息傳到8255,c口和b口做出反應(yīng)。3 系統(tǒng)的軟件設(shè)計圖3-1 系統(tǒng)總流程圖3.1 總體設(shè)計思路這次編程按照任務(wù)書上的要求,以直流電動機(jī)調(diào)速為基本目的。整體思路是先給定了8255的控制字,然后設(shè)置好8255的各個端口的地址值,程序首先進(jìn)行的任務(wù)就是掃描按鍵開關(guān)是否有動作,是否被按下,然后通過按下不同的按鍵開關(guān),從pa口輸入不同的高低電平的組合,然后程序?qū)a口輸入的數(shù)據(jù)進(jìn)行判斷,若和對應(yīng)的鍵值相等則跳轉(zhuǎn)到對應(yīng)的子程序。對于這三個程序的編寫需要和其他子程序分開,這里的start,就是

21、讓電動機(jī)全速的運轉(zhuǎn),并在顯示上顯示一個鍵值1,這里控制電機(jī)的pc口就輸出一個全為1的pwm波,即讓電機(jī)全速旋轉(zhuǎn)。而對于set,編寫程序讓pc口輸出一個全0的排列,這樣電動機(jī)就不再運轉(zhuǎn),并且在數(shù)碼管顯示器上顯示一個鍵值2。而對于其他5個按鍵的編程則大同小異。圖3-2 按5號鍵時的顯示以一個鍵值為5的鍵為例。要求再按下后,程序?qū)a口數(shù)據(jù)掃描進(jìn)入寄存器,然后再執(zhí)行相應(yīng)子程序,在數(shù)碼管上第一位顯示數(shù)字,后三位顯示轉(zhuǎn)速。這里因為轉(zhuǎn)速都是3位數(shù),因此就空出一位來顯示鍵值了,如例子中的鍵值為5,速度為300。因此就顯示“5300”然后再在pc口輸出相應(yīng)的高低電平組合,這里300為額定轉(zhuǎn)速,因此輸出的是全1

22、的組合。子程序執(zhí)行一次以后,要重新檢查鍵值是否改變,因此這里需要重新掃描鍵盤,輸入pa口的數(shù)據(jù),然后在輸出pc口和pb口的數(shù)據(jù),這里要注意了,由于pc口要產(chǎn)生一個高低電平的pwm波,因此,需要端口高低電平的不斷循環(huán),因此當(dāng)前的輸出值需要送入另一個寄存器,然后用al來存放其他端口的信息,其他端口內(nèi)容輸出結(jié)束以后,再將寄存器的內(nèi)容返回給al。如果不這樣做,那么pc口會一直輸出同一個值,這樣不能達(dá)到調(diào)速的目的。同時還要注意一點,在in和out指令中只能用dx和al寄存器,因此在讀取不同端口的值的時候,這幾個寄存器內(nèi)的內(nèi)容是隨時變化的。因此,每當(dāng)要給pc口輸出波形的時候,都要重新賦值給al,這也是使用

23、其他寄存器的目的。3.2 按鍵檢測子程序流程圖圖3-3 按鍵檢測子程序圖3-4 按鍵按下時處理子程序4 運行結(jié)果與分析啟動后,初始狀態(tài) 圖4-1 上電狀態(tài)按下啟動按鈕。電機(jī)順時針方向轉(zhuǎn)動,如圖4-2,倘若此時按停止按鈕,電機(jī)停止轉(zhuǎn)動,回到圖4-3狀態(tài)。(顯示管中的數(shù)字是按鍵的編號)圖4-2 啟動狀態(tài)圖4-3 停止?fàn)顟B(tài)此時再按清零按鈕,就可以直接清零,電機(jī)停止轉(zhuǎn)動,回到初始狀態(tài),如圖4-4圖4-4 清零狀態(tài)3到7號按鈕是控制電機(jī)的轉(zhuǎn)速,并且依次遞增,對應(yīng)著按鈕分別是100到500(顯示屏中最左邊的數(shù)字對應(yīng)著該按鈕,右邊三個則是速度),如圖4-5,是按5號鍵時,對應(yīng)著300的轉(zhuǎn)速。圖4-5 速度為

24、300時的狀態(tài)課程設(shè)計感想及體會 經(jīng)過這次的課程設(shè)計,讓我再次發(fā)現(xiàn)了自己的很多不足之處,首先,第一就是態(tài)度問題,在接到課設(shè)任務(wù)之后的很多天,我都沒有要開始的計劃,導(dǎo)致荒廢了很多天的時間,這樣直接使得后來開始動手的時候已經(jīng)沒有多少時間了。這一點我覺得無論在以后的學(xué)習(xí)還是工作中都很值得注意,凡事都不能拖延,該完成的事情就應(yīng)該果斷快速完成。在做課程設(shè)計的過程中,我逐漸發(fā)現(xiàn)了計算機(jī)類課程的關(guān)聯(lián)性相當(dāng)大,從c語言,匯編語言到微機(jī)原理的課程內(nèi)容,再到我們這學(xué)期學(xué)的計算機(jī)控制技術(shù)和單片機(jī)原理,這些課程有很多的關(guān)聯(lián)部分。正如這次所做的直流電機(jī)調(diào)速,首先要對直流電機(jī)有一定的了解,要知道通過控制什么量來調(diào)整速度,

25、知道了這些以后再聯(lián)想自己所學(xué)的微機(jī)原理,計算機(jī)控制等課程的知識,就大概想到應(yīng)該用什么樣的芯片組合來達(dá)到這效果。當(dāng)然,其中的資料搜集過程是相當(dāng)枯燥的。在搜集資料的時候,我發(fā)現(xiàn)8086cpu和8255a芯片很適合實現(xiàn)這樣一個功能,當(dāng)然,還要配合其他芯片,比如74ls373、74ls138還有與門輔助來實現(xiàn)控制信號;用l298來控制電機(jī)。我發(fā)現(xiàn),我在計算機(jī)控制這門課程上還有很多沒搞懂的地方,直到做課設(shè)的時候要用到相關(guān)知識了,我才發(fā)現(xiàn)以前自己學(xué)習(xí)到的東西還很膚淺,這樣使得我要不停的翻書,才能確定到底應(yīng)該怎么做。 總的來說,這次課程設(shè)計收獲是巨大的,無論是心態(tài)還是知識,我都得到了很大啟發(fā),雖然經(jīng)歷了很多

26、失敗,也曾經(jīng)沮喪甚至絕望過,但還是做出了這個方案。我開始覺得,我們所學(xué)的東西越來越接近實際生活了,與此同時,壓力也更大了,因為現(xiàn)實的東西更加復(fù)雜,會出現(xiàn)很多書本上不會有的變故,很多東西也不是書本的知識能夠解決的,我們應(yīng)該試著更多的去用自己的腦子去想想,看看能不能有更加好的解決辦法。同時,我也在課設(shè)中得到了一些自信,畢竟自己還是學(xué)有那么一點東西的,或許其他的知識在以后會慢慢忘記,但是這次課設(shè)我所用到的一些知識,絕對會讓我印象深刻的。參考文獻(xiàn)1于海生.計算機(jī)控制技術(shù).北京:機(jī)械工業(yè)出版社,20072彭虎,周佩玲,傅忠謙.微機(jī)原理與接口技術(shù).北京:電子工業(yè)出版社,20083李發(fā)海,王巖.電機(jī)與拖動基

27、礎(chǔ)(第3版).北京:清華大學(xué)出版社,20054謝維成.單片機(jī)原理與應(yīng)用及c51程序設(shè)計m.北京:清華大學(xué)出版社,20065楊恢先.單片機(jī)原理及應(yīng)用m.北京:人民郵電出版社,2006 6張靖武.單片機(jī)系統(tǒng)的proteus設(shè)計與仿真m.北京:電子工業(yè)出版社,2007 附錄:源程序org 100hcode segmentassume cs:codesa_port equ 8020hb_port equ 8022hc_port equ 8024hctrl_port equ 8026h ;各控制口的地址start: mov al,90h mov dx,ctrl_port out dx,al ;初始化ke

28、y: mov dx,a_port in al,dx mov bh,al cmp bh,0ffh je key ;檢測是否有按鍵按下,沒有則重新檢測 cmp bh,0feh je one ;若7號鍵按下,則跳到one cmp bh,0fdh je two cmp bh,0fbh je three cmp bh,0f7h je four cmp bh,0efh je five cmp bh,0dfh je set cmp bh,0bfh je begin cmp bh,7fh je clearone: mov cx,0ffffh ;7號鍵按下后的處理子程序 mov ax,0ffffhd1: mov

29、 dx,c_port out dx,ax rol ax,1 mov cx,ax mov dx,a_port in al,dx mov bh,al cmp bh,0feh jnz key ;繼續(xù)檢測按鍵,按鍵有變化則跳到key mov dx,b_port mov al,0e7h out dx,al mov al,0d5h out dx,al mov al,0b0h out dx,al mov al,70h out dx,al mov ax,cx jmp d1 ;顯示相應(yīng)數(shù)據(jù) two: mov cx,0ffffh mov ax,0fcfchd2: mov dx,c_port out dx,ax r

30、ol ax,1 mov cx,ax mov dx,a_port in al,dx mov bh,al cmp bh,0fdh jnz key mov dx,b_port mov al,0e6h out dx,al mov al,0d4h out dx,al mov al,0b0h out dx,al mov al,70h out dx,al mov ax,cx jmp d2 three: mov cx,0ffffh mov ax,0f8f8hd3: mov dx,c_port out dx,ax rol ax,1 mov cx,ax mov dx,a_port in al,dx mov bh,al cmp bh,0fbh jnz key mov dx,b_port mov al,0e5h out dx,al mov al,0d3h out dx,al mov al,0b0h out dx,al mov al,70h out dx,al mov ax,cx jmp d3 four: mov cx,0ffffh mov ax,0f0f0h d4: mov dx,c_port out dx,ax rol ax,1 mov cx,ax mov dx,a_port in al,d

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論