目錄 緒 論………………………………………………………………………… 2
第1章 參數(shù)計(jì)算與設(shè)備選型………………………………………………3
1.1 控制芯片 ……………………………………………………………3
1.2 測速發(fā)電機(jī)………………………………………………………… 4
1.3 模數(shù)轉(zhuǎn)化器件——ADC0809……………………………………… 6
第2章 系統(tǒng)設(shè)計(jì)…………………………………………………………… 9
2.1 系統(tǒng)方框圖 ………………………………………………………… 9
2.2 硬件設(shè)計(jì)………………………………………………………… 10
2.2.1 直流測速發(fā)電機(jī)……………………………………………… 10
2.2.2 ADC0809與單片機(jī)連接…………………………………… 10
2.2.3 數(shù)碼管……………………………………………………………11
2.2.4 綜合接線圖………………………………………………………11
2.3 軟件設(shè)計(jì) ……………………………………………………… 12
2.3.1 程序設(shè)計(jì)思路說明………………………………………………12
2.3.2 總程序控制流程圖………………………………………………13
2.3.3 ADC0809工作流程圖及程序……………………………………14
2.3.4 顯示部分工作流程圖及程序………………………………… 15
第3章 結(jié)論 ……………………………………………………………18
參考文獻(xiàn)…………………………………………………………………… 19
緒論
在現(xiàn)代工業(yè)自動(dòng)化高度發(fā)展的時(shí)期,幾乎所有的工業(yè)設(shè)備都離不開電機(jī),形形色色的電機(jī)在不同領(lǐng)域發(fā)揮著很重要的作用。與之而來的問題是,如何更好地控制電機(jī),對(duì)于不同的場合,對(duì)電機(jī)的控制要求是不同的,但大部分都會(huì)涉及到直流電機(jī)的轉(zhuǎn)速測量,從而利用轉(zhuǎn)速來實(shí)施對(duì)直流電機(jī)的控制。 直流電機(jī)轉(zhuǎn)速作為直流電機(jī)的一項(xiàng)重要技術(shù)指標(biāo),在各個(gè)應(yīng)用場合都有重要的研究價(jià)值,例如在發(fā)動(dòng)機(jī),電動(dòng)機(jī),機(jī)床主軸等旋轉(zhuǎn)設(shè)備的試驗(yàn)運(yùn)轉(zhuǎn)和控制中,常需要分時(shí)或連續(xù)測量,顯示其轉(zhuǎn)速及瞬時(shí)速度等,轉(zhuǎn)速是其他大部分技術(shù)參數(shù)的計(jì)算來源,因此,準(zhǔn)確測量直流電動(dòng)機(jī)的轉(zhuǎn)速具有重要的研究意義和理論價(jià)值。 目前,對(duì)直流電動(dòng)機(jī)的速度檢測方法很多,從整體上可分為模擬檢測和數(shù)字檢測方法。 模擬檢測:即利用測速電機(jī)作為發(fā)電機(jī),通過檢測反電勢E的大小和極性可得到轉(zhuǎn)速N和電機(jī)轉(zhuǎn)向,采用這種方法直接可以得到轉(zhuǎn)速N和輸出電壓的特性曲線,直觀,但也有很多不足,比如在高速和低速情況下實(shí)際輸出偏離理想特性。 數(shù)字檢測技術(shù):即通過分析數(shù)字信號(hào)產(chǎn)生的一系列脈沖間接獲取電機(jī)轉(zhuǎn)速。如光電旋轉(zhuǎn)編碼器是將檢測圓盤劃分為等距的三個(gè)同心圓,最外環(huán)和次外環(huán)分別用等距的黑白條紋分開,且最外環(huán)和次外環(huán)的縫隙位置相位差為90度,用于判斷電機(jī)的轉(zhuǎn)速,最內(nèi)環(huán)只有一個(gè)黑條紋,用作定位脈沖或者是復(fù)位脈沖,利用光電編碼器輸出的脈沖可以計(jì)算轉(zhuǎn)速,具體的又可分為M法,T法和M\T法。 此外,市場上已經(jīng)有了技術(shù)成熟的電機(jī)測速裝置,如利用霍爾元件設(shè)計(jì)制作的直流電機(jī)測速儀等,憑借其精度高,穩(wěn)定性好等優(yōu)勢占有重要的一席之地。 而本次微機(jī)控制原理課程設(shè)計(jì)的任務(wù)是直流電機(jī)速度的測量與顯示。主要要求是通過測速直流發(fā)電機(jī)作為傳感器,檢測直流電機(jī)的轉(zhuǎn)速,并輸出與轉(zhuǎn)速相關(guān)的電壓,通過ADC0809芯片將測速發(fā)電機(jī)輸出電壓轉(zhuǎn)換成電壓的數(shù)字信號(hào)?刂菩酒捎AT89C51將采集轉(zhuǎn)換后的數(shù)字信號(hào)進(jìn)行處理,得到轉(zhuǎn)速,并通過四位數(shù)碼管予以顯示。整體上能夠完成從轉(zhuǎn)速檢測到數(shù)據(jù)處理到顯示的一整套功能。
第一章 參數(shù)計(jì)算與設(shè)備選型
1.1 控制芯片 本課題中控制芯片的作用主要是與ADC0809相連接,采集模數(shù)轉(zhuǎn)換后得到的8位二進(jìn)制碼,經(jīng)過公式計(jì)算后得到電壓值,同時(shí)連接四位數(shù)碼管進(jìn)行顯示。綜合考慮,選用AT89C51即滿足要求。 一.簡介 AT89C51是一種帶4K字節(jié)FLASH存儲(chǔ)器的低電壓、高性能CMOS 8位微處理器。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 二. AT89C51引腳圖如下: file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8085.tmp.png
圖1-1 AT89C51引腳圖
三.主要特性 ·與MCS-51 兼容 ·4K字節(jié)可編程FLASH存儲(chǔ)器 ·壽命:1000寫/擦循環(huán) ·數(shù)據(jù)保留時(shí)間:10年 ·全靜態(tài)工作:0Hz-24MHz ·三級(jí)程序存儲(chǔ)器鎖定 ·128×8位內(nèi)部RAM ·32可編程I/O線 ·兩個(gè)16位定時(shí)器/計(jì)數(shù)器 ·5個(gè)中斷源 ·可編程串行通道 ·低功耗的閑置和掉電模式 ·片內(nèi)振蕩器和時(shí)鐘電路 1.2 測速直流發(fā)電機(jī) 一.簡介 直流測速發(fā)電機(jī)是一種測速元件,它把轉(zhuǎn)速信號(hào)轉(zhuǎn)換成直流電壓信號(hào)輸出。直流測速發(fā)電機(jī)廣泛地應(yīng)用于自動(dòng)控制、測量技術(shù)和計(jì)算機(jī)技術(shù)等裝置中。對(duì)直流測速發(fā)電機(jī)的主要要求是:(1)輸出電壓要嚴(yán)格地與轉(zhuǎn)速成正比,并且不受溫度等外界條件變化的影響;(2)在一定的轉(zhuǎn)速下,輸出電壓要盡可能的大;(3)不靈敏區(qū)要小。 二.分類 直流測速發(fā)電機(jī)可分為勵(lì)磁式和永磁式兩種。勵(lì)磁式由勵(lì)磁繞組接成他勵(lì),永磁式采用矯頑力高的磁鋼制成磁極。由于永磁式不需另加勵(lì)磁電源,也不因勵(lì)磁繞組溫度變化而影響輸出電壓,故應(yīng)用較廣。 三.輸出特性 根據(jù)已經(jīng)學(xué)過的直流發(fā)電機(jī)的工作原理知,電刷兩端的感應(yīng)電勢: Ea=CeΦn=Ken (2-1) 由上可知:1.電刷兩端的感應(yīng)電勢與電機(jī)的轉(zhuǎn)速成正比;2.直流發(fā)電機(jī)能夠把轉(zhuǎn)速信號(hào)換成電勢信號(hào),從而用來測速。 他勵(lì)測速發(fā)電機(jī)接線圖如下: file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8086.tmp.png
圖1-2 他勵(lì)測速發(fā)電機(jī)接線圖
在上圖正方向得: Ua=Ea-IaRa (2-2) Ia=Ua/RL (2-3) 負(fù)載時(shí)測速發(fā)電機(jī)的輸出電壓為: (2-4)
本課題選用55CY61系列他勵(lì)測速發(fā)電機(jī),主要參數(shù)如下:
根據(jù)負(fù)載時(shí)測速發(fā)電機(jī)的輸出電壓公式知,直流測速發(fā)電機(jī)的輸出電壓與轉(zhuǎn)速成正比,即Ua=Cn。采用55CY61時(shí),最大轉(zhuǎn)速2000r/min時(shí)最大輸出電壓為40v,因此C=50. 由于ADC0809要求輸入模擬電壓信號(hào)在0~5v之間,因此需要有滑動(dòng)變阻器進(jìn)行電壓范圍調(diào)整,調(diào)整后輸入到ADC0809的電壓值縮小倍數(shù)為K=8。例如,當(dāng)檢測到電壓值為U=1V時(shí),對(duì)應(yīng)的轉(zhuǎn)速為: n =U*K*C=1*8*50=400r/min 再將運(yùn)算后的n值用數(shù)碼管顯示出來即可。
1.3 模數(shù)轉(zhuǎn)化器件——ADC0809 一.簡介 ADC0809是美國國家半導(dǎo)體公司生產(chǎn)的CMOS工藝8通道,8位逐次逼近式A/D模數(shù)轉(zhuǎn)換器。其內(nèi)部有一個(gè)8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)換。是目前國內(nèi)應(yīng)用最廣泛的8位通用A/D芯片。 二.引腳圖 file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8096.tmp.png 圖1-3 ADC0809引腳圖 ADC0809各腳功能如下: D7-D0:8位數(shù)字量輸出引腳。
IN0-IN7:8位模擬量輸入引腳。
VCC:+5V工作電壓。
GND:地。
VREF(+):參考電壓正端。
VREF(-):參考電壓負(fù)端。
START:A/D轉(zhuǎn)換啟動(dòng)信號(hào)輸入端。
ALE:地址鎖存允許信號(hào)輸入端。
(以上兩種信號(hào)用于啟動(dòng)A/D轉(zhuǎn)換) .
EOC:轉(zhuǎn)換結(jié)束信號(hào)輸出引腳,開始轉(zhuǎn)換時(shí)為低電平,當(dāng)轉(zhuǎn)換結(jié)束時(shí)為高電平。
OE:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器。
CLK:時(shí)鐘信號(hào)輸入端(一般為500KHz)。
A、B、C:地址輸入線。
三.主要特性 1)8路輸入通道,8位A/D轉(zhuǎn)換器,即分辨率為8位。 2)具有轉(zhuǎn)換起?刂贫。 3)轉(zhuǎn)換時(shí)間為100μs(時(shí)鐘為640kHz時(shí)),130μs(時(shí)鐘為500kHz時(shí)) 4)單個(gè)+5V電源供電 5)模擬輸入電壓范圍0~+5V,不需零點(diǎn)和滿刻度校準(zhǔn)。 6)工作溫度范圍為-40~+85攝氏度 7)低功耗,約15mW。
四.分辨率 ADC的分辨率是指使輸出數(shù)字量變化一個(gè)相鄰數(shù)碼所需輸入模擬電壓的變化量。常用二進(jìn)制的位數(shù)表示。A/D轉(zhuǎn)換器的位數(shù)決定著信號(hào)采集的精度和分辨率。8為A/D轉(zhuǎn)換器的精度為: 1/28=0.39% 因此,輸入為0~5v時(shí),分辨率為: 5/(28-1)=0.0196V 五.工作時(shí)序 圖4所示是ADC0809的工作時(shí)序圖。從該時(shí)序圖可以看出,地址鎖存信號(hào)ALE在上升沿將三位通道地址鎖存,相應(yīng)通道的模擬量經(jīng)過多路模擬開關(guān)送到A/D轉(zhuǎn)換器。啟動(dòng)信號(hào)START上升沿復(fù)位內(nèi)部電路,START的下降沿啟動(dòng)轉(zhuǎn)換,此時(shí)轉(zhuǎn)換結(jié)束信號(hào)EOC呈低電平狀態(tài),由于逐位逼近需要一定過程,所以,在此期間,模擬輸入量應(yīng)維持不變,比較器要一次次比較,直到轉(zhuǎn)換結(jié)束,此時(shí)變?yōu)楦唠娖。若CPU發(fā)出輸出允許信號(hào)OE(輸出允許為高電平),則可讀出數(shù)據(jù)。另外,ADC0809具有較高的轉(zhuǎn)換速度和精度,同時(shí)受溫度影響也較小。 file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8097.tmp.png 圖1-4 ADC0809的工作時(shí)序圖
六.A/D轉(zhuǎn)換器的其他技術(shù)指標(biāo) 1.量化誤差 ADC把模擬量變?yōu)閿?shù)字量,用數(shù)字量近似表示模擬量,這個(gè)過程稱為量化。量化誤差是ADC的有限位數(shù)對(duì)模擬量進(jìn)行量化而引起的誤差。實(shí)際上,要準(zhǔn)確表示模擬量,ADC的位數(shù)需很大甚至無窮大。一個(gè)分辨率有限的ADC的階梯狀轉(zhuǎn)換特性曲線與具有無限分辨率的ADC轉(zhuǎn)換特性曲線(直線)之間的最大偏差即是量化誤差。 2.偏移誤差 偏移誤差是指輸入信號(hào)為零時(shí),輸出信號(hào)不為零的值,所以有時(shí)又稱為零值誤差。假定ADC沒有非線性誤差,則其轉(zhuǎn)換特性曲線各階梯中點(diǎn)的連線必定是直線,這條直線與橫軸相交點(diǎn)所對(duì)應(yīng)的輸入電壓值就是偏移誤差。 3.滿刻度誤差 滿刻度誤差又稱為增益誤差。ADC的滿刻度誤差是指滿刻度輸出數(shù)碼所對(duì)應(yīng)的實(shí)際輸入電壓與理想輸入電壓之差。 4.線性度 線性度有時(shí)又稱為非線性度,它是指轉(zhuǎn)換器實(shí)際的轉(zhuǎn)換特性與理想直線的最大偏差。 5.絕對(duì)精度 在一個(gè)轉(zhuǎn)換器中,任何數(shù)碼所對(duì)應(yīng)的實(shí)際模擬量輸入與理論模擬輸入之差的最大值,稱為絕對(duì)精度。對(duì)于ADC而言,可以在每一個(gè)階梯的水平中點(diǎn)進(jìn)行測量,它包括了所有的誤差。 6.轉(zhuǎn)換速率 ADC的轉(zhuǎn)換速率是能夠重復(fù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換的速度,即每秒轉(zhuǎn)換的次數(shù)。而完成一次A/D轉(zhuǎn)換所需的時(shí)間(包括穩(wěn)定時(shí)間),則是轉(zhuǎn)換速率的倒數(shù)。
第2章 系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)方框圖
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80A8.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80A9.tmp.pngfile:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80AA.tmp.pngfile:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80AB.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80AC.tmp.pngfile:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80AD.tmp.pngfile:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80AE.tmp.png
圖2-1 系統(tǒng)方框圖
2.2 硬件設(shè)計(jì) 2.2.1 直流測速發(fā)電機(jī)
本課題選用55CY61系列他勵(lì)測速發(fā)電機(jī),由于ADC0809對(duì)輸入模擬量信號(hào)要求電壓在0~5V范圍內(nèi),而測速直流發(fā)電機(jī)的輸出電壓普遍在幾十伏,因此需要利用滑動(dòng)變阻器使?jié)M額時(shí)電壓值為5V。接線如圖: file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80BF.tmp.png 圖2-2 發(fā)電機(jī)接線圖 圖中,RV1起到了電壓范圍調(diào)整的作用,R1與C1構(gòu)成了RC濾波電路,可有效濾除測速直流發(fā)電機(jī)輸出中的雜波。R2主要是限流電阻。
2.2.2 ADC0809與單片機(jī)連接 ADC0809與51單片機(jī)之間的連接主要有兩部分,一是地址部分,0809的A,B,C三個(gè)引腳決定IN0~IN7的選通,即地址問題, 因系統(tǒng)中只用了IN0通道,因此將A,B,C接地,即000選定IN0;二是D0~D7的數(shù)據(jù)端口,接51單片機(jī)的P0口的八位;其次,由于ADC0809在進(jìn)行A/D轉(zhuǎn)換時(shí)需要有CLK信號(hào),而此時(shí)的ADC0809的CLK是接在AT89C51單片機(jī)的P3.7端口上,也就是要求從P3.7輸出CLK信號(hào)供ADC0809使用。因此產(chǎn)生CLK信號(hào)的方法就得用軟件來產(chǎn)生了。其他控制引腳,EOC接P2.0口,OE接P2.1口,START接P2.2口。 綜上所述,接線方式如下圖所示: file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80CF.tmp.png 圖2-3 ADC0809與單片機(jī)接線圖 2.2.3 數(shù)碼管 選用四位共陽數(shù)碼管對(duì)轉(zhuǎn)速值進(jìn)行顯示。數(shù)碼管的位選端接P3口的低四位,段選端接P1口。此外,段選端應(yīng)連接330Ω的上拉電阻,本處使用排阻,位選端應(yīng)用PNP型三極管作為數(shù)碼管的驅(qū)動(dòng)。 2.2.4 電源模塊 file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80D0.tmp.jpg 圖2-4 電源模塊電路圖
2.2.4 綜合接線圖 將上述模塊綜合,銜接后,得到如下系統(tǒng)接線圖: file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80E1.tmp.jpg
圖2-5 系統(tǒng)接線圖
2.3 軟件設(shè)計(jì) 2.3.1 程序設(shè)計(jì)思路說明 針對(duì)與轉(zhuǎn)速對(duì)應(yīng)的電壓值的測量,嚴(yán)格按照ADC0809要求的時(shí)序圖設(shè)定相關(guān)控制端口的狀態(tài),讀入轉(zhuǎn)換后的數(shù)據(jù),數(shù)學(xué)運(yùn)算處理成轉(zhuǎn)速后用數(shù)碼管顯示,數(shù)碼管采用動(dòng)態(tài)掃描法顯示,在中斷中完成動(dòng)態(tài)掃描。
2.3.2 總程序控制流程圖 file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80E2.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80E3.tmp.pngfile:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80F3.tmp.pngfile:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80F4.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80F5.tmp.png file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80F6.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80F7.tmp.png file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80F8.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80F9.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80FA.tmp.png file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps810B.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps810C.tmp.png file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps810D.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps810E.tmp.png file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps810F.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8110.tmp.png file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8111.tmp.png 圖2-6 總程序控制流程圖
2.3.3 ADC0809工作流程圖及程序 啟動(dòng)ADC0809對(duì)模擬量輸入信號(hào)進(jìn)行轉(zhuǎn)換,通過判斷EOC(P2.0引腳)來確定轉(zhuǎn)換是否完成,若EOC為0,則繼續(xù)等待;若EOC為1,則把OE置位,讀入數(shù)據(jù)。 流程圖如下:
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8112.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8123.tmp.png file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8124.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8125.tmp.png file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8126.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8127.tmp.pngfile:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8128.tmp.pngfile:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8129.tmp.png file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps812A.tmp.png
N file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps812B.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps813B.tmp.png Y file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps813C.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps813D.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps813E.tmp.png
圖2-7 ADC0809工作流程圖
該部分程序如下:
sbit EOC=P2^0; sbit OE=P2^1; sbit ST=p2^2; sbit CLK=P3^7;
uchar dat;
void main()
{ ST=0; ST=1; ST=0; while(EOC==0); OE=1; dat=P0; OE=0;
TMOD=0X11; TH1=(65536-2)/256; TL1=(65536-2)%256; TR1=1; ET1=1; EA=1; }
void timer1(void) interrupt 3 { CLK~=CLK; }
2.3.4 顯示部分工作流程圖及程序 四位數(shù)碼管的顯示采用中斷法控制,動(dòng)態(tài)掃描,定義變量jishu輪流掃描四位,在disp_busf數(shù)組中存放轉(zhuǎn)速的四位,在定時(shí)/計(jì)數(shù)器T0中,每次進(jìn)入中斷時(shí)顯示以為,當(dāng)時(shí)間足夠小時(shí)能達(dá)到人眼的停留效應(yīng),完成動(dòng)態(tài)顯示。 工作流程圖如下:
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps813F.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8140.tmp.png file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8141.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8142.tmp.png file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8153.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8154.tmp.pngfile:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8155.tmp.png file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8156.tmp.pngfile:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8157.tmp.png file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8158.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8159.tmp.png file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps815A.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps815B.tmp.png file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps816C.tmp.png file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps816D.tmp.png
N file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps816E.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps816F.tmp.png Y file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8170.tmp.png
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8171.tmp.png file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8172.tmp.png 圖2-8 顯示部分工作流程圖
該部分程序如下:
uchar code wei[4]={0x01,0x02,0x04,0x08}; uchar code disp_code[10]={0x03,0x9f,0x25,0x0d,0x99, 0x49,0x41,0x1f,0x01,0x09}; uchar speed; uchar disp_busf[4];
void main()
{ TMOD=0X11; TH0=(65536-10)/256; TL0=(65536-10)%256; TR0=1; ET0=1; EA=1; while(1) { disp_busf[0]=speed%10; disp_busf[1]=speed%100/10; disp_busf[2]=speed%1000/100; disp_busf[3]=speed/1000; } }
void timer0(void) interrupt 1 { TH0=(65536-10)/256; TL0=(65536-10)%256; P0=wei[jishu]; P2=disp_code[disp_busf[jishu]]; jishu++; if(jishu>=4) jishu=0; }
第3章結(jié)論
通過為期兩個(gè)星期的微機(jī)控制原理課程設(shè)計(jì),我對(duì)課堂上學(xué)到的微機(jī)控制原理的理論知識(shí)有了更深的理解,而且在親自動(dòng)手設(shè)計(jì)的過程中使知識(shí)形象化,了解了很多元件的用途,用法,以及很多細(xì)節(jié)問題。 在設(shè)計(jì)硬件電路過程中,雖然對(duì)AT89C51單片機(jī)非常熟悉,但它與ADC0809搭配測量模擬量的工作方式還不是很熟悉,因此我通過查閱相關(guān)書籍和上網(wǎng)查找有關(guān)知識(shí),明白了二者接線的方式。尤其是第一次使用ADC0809, 除了輸入通道和輸出通道外,其他控制端口也要準(zhǔn)確配置,特別是CLK端需要大約500KHz的工作頻率,由于其自身內(nèi)部并不存在時(shí)鐘電路,因此需要外接。因此我采用了51的定時(shí)器T1輸出方波,接入0809的CLK端。 在繪制電路圖時(shí),我應(yīng)用了比較熟悉的Proteus繪圖仿真軟件,如果按照傳統(tǒng)的畫法,數(shù)碼管以及0809的數(shù)據(jù)輸出端的連線非常多,畫面非常凌亂。因此我采用總線方式,是畫面看起來非常簡潔美觀。 軟件設(shè)計(jì)即程序編寫工作有一些麻煩,首先要進(jìn)行數(shù)據(jù)轉(zhuǎn)換,由于直流測速發(fā)電機(jī)的輸出電壓在幾十伏,而0809的輸入電壓被限定在0~5V,因此需要用滑動(dòng)變阻器進(jìn)行電壓范圍的縮小,數(shù)據(jù)處理中需要將電壓按公式換算成轉(zhuǎn)速。其次是顯示部分,開始我用了一套復(fù)雜的動(dòng)態(tài)掃描方法,即在main函數(shù)的循環(huán)中不斷掃描各位,同時(shí)顯示出該位的數(shù)字,但這種方法太過冗長,占用資源,因此我放棄了這種麻煩的方法,采用了在中斷中循環(huán)掃描的思想,而且用一個(gè)數(shù)組,一個(gè)變量jishu即可完成位選和段選的賦值。這樣,程序看起來非常簡練。 總而言之,這次的課設(shè)讓我收獲頗豐,除了理論知識(shí)的充實(shí)外,也提高了自己應(yīng)用軟件,查找資料的能力,是對(duì)自身綜合素質(zhì)的一個(gè)提高。最后,非常感謝兩位指導(dǎo)老師的指點(diǎn)與幫助,使我較好的完成了此次課程設(shè)計(jì)。
第4章 參考文獻(xiàn) 1 何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版社,1990 2 王曉明.電動(dòng)機(jī)的單片機(jī)控制.北京:北京航空航天大學(xué)出版社,2002 3 張淑清.單片機(jī)原理及應(yīng)用技術(shù).北京:國防工業(yè)出版社,2010 4 溫淑煥.微機(jī)原理及其應(yīng)用.北京:中國農(nóng)業(yè)科學(xué)技術(shù)出版社,2010
|