找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3880|回復(fù): 0
收起左側(cè)

單片機(jī)直流電機(jī)調(diào)速 課程設(shè)計(jì)

[復(fù)制鏈接]
ID:121411 發(fā)表于 2016-5-17 16:11 | 顯示全部樓層 |閱讀模式
      目錄
緒 論………………………………………………………………………… 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è)自動化高度發(fā)展的時(shí)期,幾乎所有的工業(yè)設(shè)備都離不開電機(jī),形形色色的電機(jī)在不同領(lǐng)域發(fā)揮著很重要的作用。與之而來的問題是,如何更好地控制電機(jī),對于不同的場合,對電機(jī)的控制要求是不同的,但大部分都會涉及到直流電機(jī)的轉(zhuǎn)速測量,從而利用轉(zhuǎn)速來實(shí)施對直流電機(jī)的控制。
直流電機(jī)轉(zhuǎn)速作為直流電機(jī)的一項(xiàng)重要技術(shù)指標(biāo),在各個(gè)應(yīng)用場合都有重要的研究價(jià)值,例如在發(fā)動機(jī),電動機(jī),機(jī)床主軸等旋轉(zhuǎn)設(shè)備的試驗(yàn)運(yùn)轉(zhuǎn)和控制中,常需要分時(shí)或連續(xù)測量,顯示其轉(zhuǎn)速及瞬時(shí)速度等,轉(zhuǎn)速是其他大部分技術(shù)參數(shù)的計(jì)算來源,因此,準(zhǔn)確測量直流電動機(jī)的轉(zhuǎn)速具有重要的研究意義和理論價(jià)值。
  目前,對直流電動機(jī)的速度檢測方法很多,從整體上可分為模擬檢測和數(shù)字檢測方法。
  模擬檢測:即利用測速電機(jī)作為發(fā)電機(jī),通過檢測反電勢E的大小和極性可得到轉(zhuǎn)速N和電機(jī)轉(zhuǎn)向,采用這種方法直接可以得到轉(zhuǎn)速N和輸出電壓的特性曲線,直觀,但也有很多不足,比如在高速和低速情況下實(shí)際輸出偏離理想特性。
  數(shù)字檢測技術(shù):即通過分析數(shù)字信號產(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ù)字信號?刂菩酒捎AT89C51將采集轉(zhuǎn)換后的數(shù)字信號進(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存儲器的低電壓、高性能CMOS 8位微處理器。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個(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存儲器
    ·壽命:1000寫/擦循環(huán)
    ·數(shù)據(jù)保留時(shí)間:10年
    ·全靜態(tài)工作:0Hz-24MHz
    ·三級程序存儲器鎖定
    ·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)速信號轉(zhuǎn)換成直流電壓信號輸出。直流測速發(fā)電機(jī)廣泛地應(yīng)用于自動控制、測量技術(shù)和計(jì)算機(jī)技術(shù)等裝置中。對直流測速發(fā)電機(jī)的主要要求是:(1)輸出電壓要嚴(yán)格地與轉(zhuǎn)速成正比,并且不受溫度等外界條件變化的影響;(2)在一定的轉(zhuǎn)速下,輸出電壓要盡可能的大;(3)不靈敏區(qū)要小。
二.分類
    直流測速發(fā)電機(jī)可分為勵磁式和永磁式兩種。勵磁式由勵磁繞組接成他勵,永磁式采用矯頑力高的磁鋼制成磁極。由于永磁式不需另加勵磁電源,也不因勵磁繞組溫度變化而影響輸出電壓,故應(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)速信號換成電勢信號,從而用來測速。
     他勵測速發(fā)電機(jī)接線圖如下:
                 file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps8086.tmp.png

               圖1-2  他勵測速發(fā)電機(jī)接線圖

在上圖正方向得:
                       Ua=Ea-IaRa        (2-2
                      Ia=Ua/RL         (2-3
  負(fù)載時(shí)測速發(fā)電機(jī)的輸出電壓為:
                            (2-4

本課題選用55CY61系列他勵測速發(fā)電機(jī),主要參數(shù)如下:
最大輸出   電壓V
最大轉(zhuǎn)速
r/min
負(fù)載電阻
Ω
重量
kg
40
2000
2000
0.95

根據(jù)負(fù)載時(shí)測速發(fā)電機(jī)的輸出電壓公式知,直流測速發(fā)電機(jī)的輸出電壓與轉(zhuǎn)速成正比,即Ua=Cn。采用55CY61時(shí),最大轉(zhuǎn)速2000r/min時(shí)最大輸出電壓為40v,因此C=50.
     由于ADC0809要求輸入模擬電壓信號在0~5v之間,因此需要有滑動變阻器進(jìn)行電壓范圍調(diào)整,調(diào)整后輸入到ADC0809的電壓值縮小倍數(shù)為K=8。例如,當(dāng)檢測到電壓值為U=1V時(shí),對應(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ù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個(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)換啟動信號輸入端。
ALE:地址鎖存允許信號輸入端。
(以上兩種信號用于啟動A/D轉(zhuǎn)換).
EOC:轉(zhuǎn)換結(jié)束信號輸出引腳,開始轉(zhuǎn)換時(shí)為低電平,當(dāng)轉(zhuǎn)換結(jié)束時(shí)為高電平。
OE:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器。
CLK:時(shí)鐘信號輸入端(一般為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ù)決定著信號采集的精度和分辨率。8為A/D轉(zhuǎn)換器的精度為:
                   1/28=0.39%
  因此,輸入為0~5v時(shí),分辨率為:
                  5/(28-1)=0.0196V
五.工作時(shí)序
        圖4所示是ADC0809的工作時(shí)序圖。從該時(shí)序圖可以看出,地址鎖存信號ALE在上升沿將三位通道地址鎖存,相應(yīng)通道的模擬量經(jīng)過多路模擬開關(guān)送到A/D轉(zhuǎn)換器。啟動信號START上升沿復(fù)位內(nèi)部電路,START的下降沿啟動轉(zhuǎn)換,此時(shí)轉(zhuǎn)換結(jié)束信號EOC呈低電平狀態(tài),由于逐位逼近需要一定過程,所以,在此期間,模擬輸入量應(yīng)維持不變,比較器要一次次比較,直到轉(zhuǎn)換結(jié)束,此時(shí)變?yōu)楦唠娖。若CPU發(fā)出輸出允許信號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ù)對模擬量進(jìn)行量化而引起的誤差。實(shí)際上,要準(zhǔn)確表示模擬量,ADC的位數(shù)需很大甚至無窮大。一個(gè)分辨率有限的ADC的階梯狀轉(zhuǎn)換特性曲線與具有無限分辨率的ADC轉(zhuǎn)換特性曲線(直線)之間的最大偏差即是量化誤差。
2.偏移誤差
偏移誤差是指輸入信號為零時(shí),輸出信號不為零的值,所以有時(shí)又稱為零值誤差。假定ADC沒有非線性誤差,則其轉(zhuǎn)換特性曲線各階梯中點(diǎn)的連線必定是直線,這條直線與橫軸相交點(diǎn)所對應(yīng)的輸入電壓值就是偏移誤差。
3.滿刻度誤差
滿刻度誤差又稱為增益誤差。ADC的滿刻度誤差是指滿刻度輸出數(shù)碼所對應(yīng)的實(shí)際輸入電壓與理想輸入電壓之差。
4.線性度
線性度有時(shí)又稱為非線性度,它是指轉(zhuǎn)換器實(shí)際的轉(zhuǎn)換特性與理想直線的最大偏差。
5.絕對精度
在一個(gè)轉(zhuǎn)換器中,任何數(shù)碼所對應(yīng)的實(shí)際模擬量輸入與理論模擬輸入之差的最大值,稱為絕對精度。對于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系列他勵測速發(fā)電機(jī),由于ADC0809對輸入模擬量信號要求電壓在0~5V范圍內(nèi),而測速直流發(fā)電機(jī)的輸出電壓普遍在幾十伏,因此需要利用滑動變阻器使?jié)M額時(shí)電壓值為5V。接線如圖:
file:///C:\Users\dellll\AppData\Local\Temp\ksohtml\wps80BF.tmp.png
                       圖2-2  發(fā)電機(jī)接線圖
圖中,RV1起到了電壓范圍調(diào)整的作用,R1C1構(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信號,而此時(shí)的ADC0809的CLK是接在AT89C51單片機(jī)的P3.7端口上,也就是要求從P3.7輸出CLK信號供ADC0809使用。因此產(chǎn)生CLK信號的方法就得用軟件來產(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ù)碼管對轉(zhuǎn)速值進(jìn)行顯示。數(shù)碼管的位選端接P3口的低四位,段選端接P1口。此外,段選端應(yīng)連接330Ω的上拉電阻,本處使用排阻,位選端應(yīng)用PNP型三極管作為數(shù)碼管的驅(qū)動。
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ì)思路說明
針對與轉(zhuǎn)速對應(yīng)的電壓值的測量,嚴(yán)格按照ADC0809要求的時(shí)序圖設(shè)定相關(guān)控制端口的狀態(tài),讀入轉(zhuǎn)換后的數(shù)據(jù),數(shù)學(xué)運(yùn)算處理成轉(zhuǎn)速后用數(shù)碼管顯示,數(shù)碼管采用動態(tài)掃描法顯示,在中斷中完成動態(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工作流程圖及程序
        啟動ADC0809對模擬量輸入信號進(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ù)碼管的顯示采用中斷法控制,動態(tài)掃描,定義變量jishu輪流掃描四位,在disp_busf數(shù)組中存放轉(zhuǎn)速的四位,在定時(shí)/計(jì)數(shù)器T0中,每次進(jìn)入中斷時(shí)顯示以為,當(dāng)時(shí)間足夠小時(shí)能達(dá)到人眼的停留效應(yī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ì),我對課堂上學(xué)到的微機(jī)控制原理的理論知識有了更深的理解,而且在親自動手設(shè)計(jì)的過程中使知識形象化,了解了很多元件的用途,用法,以及很多細(xì)節(jié)問題。
在設(shè)計(jì)硬件電路過程中,雖然對AT89C51單片機(jī)非常熟悉,但它與ADC0809搭配測量模擬量的工作方式還不是很熟悉,因此我通過查閱相關(guān)書籍和上網(wǎng)查找有關(guān)知識,明白了二者接線的方式。尤其是第一次使用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,因此需要用滑動變阻器進(jìn)行電壓范圍的縮小,數(shù)據(jù)處理中需要將電壓按公式換算成轉(zhuǎn)速。其次是顯示部分,開始我用了一套復(fù)雜的動態(tài)掃描方法,即在main函數(shù)的循環(huán)中不斷掃描各位,同時(shí)顯示出該位的數(shù)字,但這種方法太過冗長,占用資源,因此我放棄了這種麻煩的方法,采用了在中斷中循環(huán)掃描的思想,而且用一個(gè)數(shù)組,一個(gè)變量jishu即可完成位選和段選的賦值。這樣,程序看起來非常簡練。
總而言之,這次的課設(shè)讓我收獲頗豐,除了理論知識的充實(shí)外,也提高了自己應(yīng)用軟件,查找資料的能力,是對自身綜合素質(zhì)的一個(gè)提高。最后,非常感謝兩位指導(dǎo)老師的指點(diǎn)與幫助,使我較好的完成了此次課程設(shè)計(jì)。









4章  參考文獻(xiàn)
  1 何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版社,1990
  2 王曉明.電動機(jī)的單片機(jī)控制.北京:北京航空航天大學(xué)出版社,2002
  3 張淑清.單片機(jī)原理及應(yīng)用技術(shù).北京:國防工業(yè)出版社,2010
4 溫淑煥.微機(jī)原理及其應(yīng)用.北京:中國農(nóng)業(yè)科學(xué)技術(shù)出版社,2010

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表