基于單片機(jī)的轉(zhuǎn)速測量系統(tǒng)_第1頁
基于單片機(jī)的轉(zhuǎn)速測量系統(tǒng)_第2頁
基于單片機(jī)的轉(zhuǎn)速測量系統(tǒng)_第3頁
基于單片機(jī)的轉(zhuǎn)速測量系統(tǒng)_第4頁
基于單片機(jī)的轉(zhuǎn)速測量系統(tǒng)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 摘 要本論文介紹了一種基于AT89C51單片機(jī)平臺,采用光電傳感器進(jìn)行電機(jī)轉(zhuǎn)速測量的方法,介紹了該測速法的基本原理、實(shí)現(xiàn)步驟和軟硬件設(shè)計(jì)。為了設(shè)計(jì)簡單可靠的直流電機(jī)測速裝置,提出了基于單片機(jī)為核心的電機(jī)轉(zhuǎn)速測量系統(tǒng)。整個系統(tǒng)的構(gòu)架包括轉(zhuǎn)速信號的采集,光電轉(zhuǎn)換及信號處理電路設(shè)計(jì),整形驅(qū)動電路設(shè)計(jì),復(fù)位電路設(shè)計(jì),晶振電路設(shè)計(jì),LED顯示電路設(shè)計(jì)。整形放大電路主要是將傳感器輸出的不穩(wěn)定的電信號轉(zhuǎn)化成脈沖信號; 轉(zhuǎn)速的計(jì)算利用單片機(jī)AT89C51 的定時器和計(jì)數(shù)器。根據(jù)系統(tǒng)編寫源程序,并通過運(yùn)行試驗(yàn)證明。該系統(tǒng)結(jié)構(gòu)簡單,測量結(jié)果穩(wěn)定可靠,滿足電機(jī)的測速要求。 關(guān)鍵詞:轉(zhuǎn)速測量;單片機(jī);光電傳感器;電

2、機(jī) Abstract This paper introduces a platform based on AT89C51, adopt the method of photoelectric sensor to implement motor speed measurement, introduces the basic principle of the speed measuring method, implementation steps and the hardware and software design. In order to design a simple and reliab

3、le device for dc motor speed estimation, motor speed measurement system based on single chip microcomputer as the core is put forward. The architecture of the whole system including the speed signal acquisition, rotation speed signal processing, speed calculation and display. Plastic amplifying circ

4、uit is mainly the sensor output with outside noise of the unstable signal into pulse signal; Rotational speed of the calculation of AT89C51 single-chip timer and counter. Write the source program according to the system, and by running the experiment proved that the system has simple structure, stab

5、le and reliable measurement results, satisfy the requirement of the motor speed.Keywords:Speed measurement; Single chip microcomputer; Photoelectric sensor; The motorI目 錄1 概述1 1.1數(shù)字化轉(zhuǎn)速測量系統(tǒng)的發(fā)展背景1 1.2 本設(shè)計(jì)課題的目的和意義12 轉(zhuǎn)速測量系統(tǒng)的原理與方法2 2.1轉(zhuǎn)速測量原理2 2.2轉(zhuǎn)速測量方法23 系統(tǒng)方案提出和論證4 3.1方案設(shè)計(jì)4 3.2系統(tǒng)原理44 系統(tǒng)硬件設(shè)計(jì)5 4.1 轉(zhuǎn)速信號采集6

6、4.2光電轉(zhuǎn)換及信號處理電路設(shè)計(jì)7 4.2.1整形驅(qū)動電路設(shè)計(jì)8 4.3單片機(jī)AT89C51介紹8 4.4 最小系統(tǒng)的設(shè)計(jì)10 4.4.1復(fù)位電路設(shè)計(jì)10 4.4.2 晶振電路設(shè)計(jì)12 4.5顯示部分電路設(shè)計(jì)135 系統(tǒng)軟件設(shè)計(jì)15 5.1 主程序初始化15 5.2主程序流程圖子程序流程圖15 5.3系統(tǒng)總程序16 總 結(jié)20 參考文獻(xiàn)21 致 謝221 概述1.1數(shù)字化轉(zhuǎn)速測量系統(tǒng)的發(fā)展背景 目前國內(nèi)外測量電機(jī)轉(zhuǎn)速的方法很多,按照不同的理論方法,先后產(chǎn)生過模擬測速法(如離心式轉(zhuǎn)速表、用電機(jī)轉(zhuǎn)矩或者電機(jī)電樞電動勢計(jì)算所得)、同步測速法(如機(jī)械式或閃光式頻閃測速儀)以及計(jì)數(shù)測速法。計(jì)數(shù)測速法又可

7、分為機(jī)械式定時計(jì)數(shù)法和電子式定時計(jì)數(shù)法。傳統(tǒng)的電機(jī)轉(zhuǎn)速檢測多采用測速發(fā)電機(jī)或光電數(shù)字脈沖編碼器,也有采用電磁式(利用電磁感應(yīng)原理或可變磁阻的霍爾元件等)、電容式(對高頻振蕩進(jìn)行幅值調(diào)制或頻率調(diào)制)等,數(shù)字化測速法具有測速精度高,分辨能力強(qiáng),受器件影響小的優(yōu)點(diǎn),被廣泛應(yīng)用于調(diào)速要求高,調(diào)速范圍大的調(diào)速系統(tǒng)。其中應(yīng)用最廣的是光電式測速系統(tǒng),它具有低慣性、低噪聲、高分辨率和高精度的優(yōu)點(diǎn),使得光電傳感器在檢測和控制領(lǐng)域得到了廣泛的應(yīng)用。而光電傳感器的電機(jī)轉(zhuǎn)速測量系統(tǒng)則有準(zhǔn)確度高、采樣速度快、測量范圍寬和測量精度與被測轉(zhuǎn)速無關(guān)等優(yōu)點(diǎn),具有廣闊的應(yīng)用前景。1.2 本設(shè)計(jì)課題的目的和意義 在工程實(shí)踐中,經(jīng)常

8、會遇到各種需要測量轉(zhuǎn)速的場合,例如在發(fā)動機(jī)、電動機(jī)、卷揚(yáng)機(jī)、機(jī)床主軸等旋轉(zhuǎn)設(shè)備的試驗(yàn)、運(yùn)轉(zhuǎn)和控制中,常需要分時或連續(xù)測量和顯示其轉(zhuǎn)速及瞬時轉(zhuǎn)速。要測速,首先要解決是采樣問題。在使用模技術(shù)制作測速表時,常用測速發(fā)電機(jī)的方法,即將測速發(fā)電機(jī)的轉(zhuǎn)軸與待測軸相連,測速發(fā)電機(jī)的電壓高低反映了轉(zhuǎn)速的高低。為了能精確地測量轉(zhuǎn)速外,還要保證測量的實(shí)時性,要求能測得瞬時轉(zhuǎn)速方法。因此轉(zhuǎn)速的測試具有重要的意義【1】。 論文設(shè)計(jì)以單片機(jī)為中心,設(shè)計(jì)出全數(shù)字化測量轉(zhuǎn)速系統(tǒng),采用單片機(jī)構(gòu)成控制系統(tǒng),可以節(jié)約人力資源和降低系統(tǒng)成本,從而有效的提高工作效率,在工業(yè)控制和民用電器中都有較高使用價值。其可以應(yīng)用于工業(yè)控制中的某

9、一部分,如數(shù)控車床的電機(jī)轉(zhuǎn)速檢測和控制、水泵流量控制以及需要利用轉(zhuǎn)速檢測來進(jìn)行控制的許多場合。如車輛的里程表、車速表等。其次該轉(zhuǎn)速測量系統(tǒng)由于采用全數(shù)字化結(jié)構(gòu),因而可以很方便的和工業(yè)控制計(jì)算機(jī)進(jìn)行連接,實(shí)行遠(yuǎn)程管理和控制,進(jìn)一步提高現(xiàn)代化水平。并且,幾乎不需做很大改變直接就能作為單獨(dú)的使用產(chǎn)品。總之,轉(zhuǎn)速測量系統(tǒng)的研究是一件非常有意義的課題【2】。這次設(shè)計(jì)內(nèi)容包含知識全面,對光電傳感器測量發(fā)電機(jī)轉(zhuǎn)速的不同的方法及原理設(shè)計(jì)有較多介紹,在測量系統(tǒng)中能學(xué)到關(guān)于測量轉(zhuǎn)速的傳感器采樣問題,單片機(jī)部分的內(nèi)容,顯示部分等各個模塊的通信和聯(lián)調(diào)。全面了解單片機(jī)和信號放大的知識,進(jìn)一步鍛煉了在信號采集,處理,顯示

10、方面的實(shí)際工作能力。212 轉(zhuǎn)速測量系統(tǒng)的原理與方法2.1轉(zhuǎn)速測量原理 轉(zhuǎn)速是指作圓周運(yùn)動的物體在單位時間內(nèi)所轉(zhuǎn)過的圈數(shù),其大小及變化往往意味著機(jī)器設(shè)備運(yùn)轉(zhuǎn)的正常與否,因此,轉(zhuǎn)速測量一直是工業(yè)領(lǐng)域的一個重要問題。按照不同的理論方法,先后產(chǎn)生過模擬測速法(如離心式轉(zhuǎn)速表)、同步測速法(如機(jī)械式或閃光式頻閃測速儀)以及計(jì)數(shù)測速法【3】。計(jì)數(shù)測速法又可分為機(jī)械式定時計(jì)數(shù)法和電子式定時計(jì)數(shù)法。本文介紹的采用單片機(jī)和光電傳感器組成的高精度轉(zhuǎn)速測量系統(tǒng),其轉(zhuǎn)速測量方法采用的就是電子式定時計(jì)數(shù)法。采用數(shù)字測速法進(jìn)行轉(zhuǎn)速測量,其測量原理是:在固定的時間內(nèi),記錄光電傳感器發(fā)生的脈沖信號數(shù)量,從而轉(zhuǎn)換為實(shí)際轉(zhuǎn)速。

11、設(shè)固定的測量時間為(min),計(jì)數(shù)記錄的脈沖個數(shù)為m,假設(shè)脈沖發(fā)生器每轉(zhuǎn)輸出q個脈沖,對應(yīng)被測轉(zhuǎn)速為n(r/min),則頻率Hz;在測量時間內(nèi),記錄光電傳感器輸出的脈沖個數(shù)m=.所以,只要我們測得m值,就可得出實(shí)際轉(zhuǎn)速值。2.2轉(zhuǎn)速測量方法按轉(zhuǎn)速測量原理可分為三類轉(zhuǎn)速測量方法:1.在一定的時間T內(nèi)測取旋轉(zhuǎn)編碼器輸出的脈沖個數(shù),用以計(jì)算這段時間內(nèi)的轉(zhuǎn)速,稱為“M”法測速,又稱為頻率法。M法測速的分辨率與實(shí)際轉(zhuǎn)速的大小無關(guān)【4】。在時間T內(nèi),轉(zhuǎn)軸轉(zhuǎn)過的弧度數(shù)為X,則的轉(zhuǎn)速n可由下式表示: (2-1) 轉(zhuǎn)軸轉(zhuǎn)過的弧度數(shù)X,可用下式所示: (2-2)將(2-1)式代入(2-2)式,得轉(zhuǎn)速n的表達(dá)式為:

12、 (2-3)-轉(zhuǎn)速單位;(轉(zhuǎn)/分)-定時時間單位;(秒)2. “T”法測速是測出旋轉(zhuǎn)編碼器兩個輸出脈沖之間的間隔時間來計(jì)算轉(zhuǎn)速,又被稱為周期法測速?!癟”法一般用于低速測量,速度越低測量精度越高,但在測量高轉(zhuǎn)速時,誤差較大。T法測速同樣也是用計(jì)數(shù)器實(shí)現(xiàn)的。與M法測速不同的是,它所計(jì)的是計(jì)算機(jī)發(fā)出的高頻時鐘脈沖的個數(shù),以旋轉(zhuǎn)編碼器輸出的相鄰兩個脈沖的同樣變化沿作為計(jì)數(shù)器的其實(shí)點(diǎn)和終止點(diǎn)【5】。T法測速的分辨率與轉(zhuǎn)速高低有關(guān),轉(zhuǎn)速越低,分辨能力越強(qiáng)。定時器對時基脈沖(頻率為)進(jìn)行計(jì)數(shù)定時,在TP內(nèi)計(jì)數(shù)值若為m2,則計(jì)算公式為: (2-4)即: (2-5)-為轉(zhuǎn)軸轉(zhuǎn)一周脈沖發(fā)生器產(chǎn)生的脈沖數(shù)。-為硬

13、件產(chǎn)生的基準(zhǔn)時鐘脈沖頻率單位Hz。-轉(zhuǎn)速單位;(轉(zhuǎn)/分)。-時基脈沖。3.“M/T”法,結(jié)合上述這兩種方法的優(yōu)點(diǎn),一方面象“M”法那樣在對光電傳感器發(fā)出的脈沖計(jì)數(shù)的同時,也象“T”法那樣計(jì)取脈沖的時間,通過計(jì)算即可得出轉(zhuǎn)速值。在實(shí)際測量中,還須設(shè)定定時時間,兼顧高、低轉(zhuǎn)速時的精度影響,適時調(diào)節(jié)采樣時間,它的關(guān)鍵是計(jì)數(shù)同步開始和關(guān)閉【6】。實(shí)際的檢測時間與旋轉(zhuǎn)編碼器的輸出脈沖一致,能有效減小測速誤差。設(shè)高頻脈沖的頻率為,脈沖發(fā)生器每轉(zhuǎn)發(fā)出P個脈沖,由式(2-2)和(2-5)可得“M/T”法轉(zhuǎn)速計(jì)算公式為: (2-6)-轉(zhuǎn)速值。單位;(轉(zhuǎn)/分)。-晶體震蕩頻率。單位Hz。-輸入脈沖數(shù),反映轉(zhuǎn)角。-

14、時基脈沖數(shù)。3 系統(tǒng)方案提出和論證 轉(zhuǎn)速測量的方案選擇,一般要考慮傳感器的結(jié)構(gòu)、安裝以及測速范圍與環(huán)境條件等方面的適用性;再就是二次儀表的要求,除了顯示以外還有控制、通訊和遠(yuǎn)傳方面的要求【7】。由于光電傳感器具有頻譜寬、不易受電磁干擾的影響、非接觸式測量、響應(yīng)快、可靠性高等優(yōu)點(diǎn)。隨著激光、光纖、CCD技術(shù)的發(fā)展,光電式傳感器在自動檢測、計(jì)算機(jī)和控制系統(tǒng)中得到了廣泛的應(yīng)用。經(jīng)過我查資料、構(gòu)思和自己的設(shè)計(jì),通過分析,從實(shí)現(xiàn)難度、熟悉程度、器件用量等方面綜合考慮,最終選擇了下面方案【8】。3.1方案設(shè)計(jì) 光電式傳感器是將被測量的轉(zhuǎn)速轉(zhuǎn)換成光信號,再通過光電器件把光信號轉(zhuǎn)換成電信號的一種傳感器。圖3.

15、1為光電傳感器的原理框圖,它一般由光源,光學(xué)通路,光電器件三部分組成【9】。轉(zhuǎn)速作用于光源或者光學(xué)通路,從而引起光量的變化。 測量電路 光電元件 光源 光學(xué)通路 光量 光量 電量 電量輸出 轉(zhuǎn)速轉(zhuǎn)速 圖3.1光電傳感器的原理框圖3.2系統(tǒng)原理 下圖為轉(zhuǎn)速測量系統(tǒng)的原理圖。傳感器單片機(jī)LED顯示 放大、整形電路 信號接收 信號處理轉(zhuǎn)速顯示 圖3.2 系統(tǒng)原理圖各部分模塊的功能:傳感器:采集轉(zhuǎn)速信號放大、整形電路:對傳感器送過來的信號進(jìn)行放大和整形,在送入單片機(jī)進(jìn)行數(shù)據(jù)的處理轉(zhuǎn)換。單片機(jī):對放大整形的信號轉(zhuǎn)換成轉(zhuǎn)速信號,送入LEDLED顯示:顯示轉(zhuǎn)速測量實(shí)際值4 系統(tǒng)硬件設(shè)計(jì) 隨著超大規(guī)模集成電路

16、技術(shù)提高,尤其是單片機(jī)應(yīng)用技術(shù)以及功能強(qiáng)大,價格低廉的顯著特點(diǎn),使全數(shù)字化測量轉(zhuǎn)度系統(tǒng)得一廣泛應(yīng)用【10】。出于單片機(jī)在測量轉(zhuǎn)速方面具有體積小、性能強(qiáng)、成本低的特點(diǎn),越來越受到企業(yè)用戶的青睞。所以我要對測量轉(zhuǎn)速系統(tǒng)的硬件和編程進(jìn)行研究,設(shè)計(jì)出一種以單片機(jī)為主的轉(zhuǎn)速測量系統(tǒng),保證了測量精度【11】。4.1 轉(zhuǎn)速信號采集在設(shè)計(jì)中采用光電傳感器采集信號,這種傳感器是把旋轉(zhuǎn)軸的轉(zhuǎn)速變?yōu)橄鄳?yīng)頻率的脈沖,然后用測量電路測出頻率,由頻率值就可知道所側(cè)轉(zhuǎn)速值。這種測量方法具有簡單、可靠、測量精度高的特點(diǎn)【12】。是目前常用的一種測量轉(zhuǎn)速的方法。圖4.1所示為轉(zhuǎn)速測量傳感器電路,由于紅外光不可見,無法用肉眼識別

17、發(fā)光信號是否在工作,故將紅外線的輸出回路串接了一個普通光電二極管作為判別光源發(fā)生回路是否為通路。所選用的紅外二極管IR3401,在正向工作電流為20mA時,其導(dǎo)通電壓為1.21.5V,所選用的發(fā)光二極管的正向壓降一般為1.52.0V,電流為10-20Ma。轉(zhuǎn)速傳感器輸出電壓幅度在01.6mV呈正弦波變化,由此可見,紅外線接收三極管的光信號轉(zhuǎn)化為電信號的電壓很微弱(一般為量級),需要進(jìn)行信號處理。 圖4.1 轉(zhuǎn)速測量傳感器電路圖如圖4.1所示,它的工作原理:從光源發(fā)出的光通過測速齒盤上的齒槽照射到光電元件上,使光電元件感光。測速齒盤上有30個齒槽,當(dāng)測速齒槽旋轉(zhuǎn)一周,光敏元件就能感受與開孔數(shù)相等

18、次數(shù)的光次數(shù)【13】。測速齒盤裝在發(fā)射光源(紅外線發(fā)光二極管)與接收光源的裝置(紅外線接收二極管)之間,紅外線發(fā)光二極管(規(guī)格IR3401)負(fù)責(zé)發(fā)出光信號,紅外線接收三極管(規(guī)格3DU12)負(fù)責(zé)接收發(fā)出的光信號,產(chǎn)生電信號,每轉(zhuǎn)過一個齒,光的明暗變化經(jīng)歷了一個正弦周期,即產(chǎn)生了正弦脈沖電信號。 圖4.2光電傳感器的原理圖 如圖4.2所示這是光電傳感器的原理圖,基本的原理就是當(dāng)發(fā)射管光照射到接收管時,接收管導(dǎo)通,反之關(guān)斷【14】。在這里我們選擇的傳感器型號為SZGB-3(單向)。光電傳感器的特點(diǎn)和主要性能介紹:特點(diǎn):1)供單向計(jì)數(shù)器使用,測量轉(zhuǎn)速和線速度. 2)采用密封結(jié)構(gòu)性能穩(wěn)定. 3)光源用

19、紅外發(fā)光管,功耗小,壽命長. 4) SZGB-3, 20電源電壓為12V DC 性能:SZGB-3.型光電轉(zhuǎn)速傳感器,使用時通過連軸節(jié)與被測轉(zhuǎn)軸連接,當(dāng) 轉(zhuǎn)軸旋轉(zhuǎn)時,將轉(zhuǎn)角位移轉(zhuǎn)換成電脈沖信號,供二次儀表計(jì)數(shù)使用。1) 輸出脈沖數(shù):60脈沖(每一轉(zhuǎn))2) 輸出信號幅值:50r/min時300mV3) 測速范圍:50-5000r/min4) 使用時間:可連續(xù)使用,使用中勿需加潤滑油5) 工作環(huán)境:溫度-1040,相對濕度85%無腐蝕性氣體4.2光電轉(zhuǎn)換及信號處理電路設(shè)計(jì) 傳感器將電機(jī)的轉(zhuǎn)速信號轉(zhuǎn)變成了電脈沖信號,該信號經(jīng)過LM324集成運(yùn)放整形驅(qū)動電路,送到單片機(jī)進(jìn)行脈沖計(jì)數(shù),從而測出電動機(jī)轉(zhuǎn)速

20、。光電轉(zhuǎn)換部分與單片機(jī)的連接框圖如圖4.3所示 AT89C51整形驅(qū)動LM324 傳感器LED數(shù)碼管圖4.3 光電轉(zhuǎn)換部分與單片機(jī)的連接框圖 4.2.1整形驅(qū)動電路設(shè)計(jì) 本設(shè)計(jì)計(jì)劃采用高性能集成四運(yùn)放LM324來進(jìn)行光電信號調(diào)理電路設(shè)計(jì)。 高性能集成四運(yùn)放LM324具有電源電壓范圍寬,靜態(tài)功耗小,可單電源使用,價格低廉等優(yōu)點(diǎn)。電路采用兩級放大電路對脈沖信號進(jìn)行放大,防止信號脈沖太小以至對實(shí)驗(yàn)結(jié)果不產(chǎn)生影響。每一組運(yùn)算放大器可用圖4.4所示的符號來表示,LM324是四運(yùn)放集成電路,它采用14腳雙列直插塑料封裝,外形如圖所示。它的內(nèi)部包含四組形式完全相同的運(yùn)算放大器, 除電源共用外,四組運(yùn)放相互獨(dú)

21、立。每一組運(yùn)算放大器可用圖3.3所示的符號來表示,它有5個引出腳,其中“+”、“-”為兩個信號輸入端,“V+”、“V-”為正、負(fù)電源端,“Vo”為輸出端。兩個信號輸入端中,Vi-(-)為反相輸入端,表示運(yùn)放輸出端Vo的信號與該輸入端的位相反;Vi+(+)為同相輸入端,表示運(yùn)放輸出端Vo的信號與該輸入端的相位相同。LM324的引腳排列見圖 : 圖4.4放大器圖圖4.5 引腳圖4.3單片機(jī)AT89C51介紹 AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM)的低電壓,高性能CMOS 8位微處理器,俗稱單片機(jī)。它有40個管腳,分成兩排,每一排各有20個腳,其中左下角標(biāo)有箭頭的為

22、第1腳,然后按逆時針方向依次為第2腳、第3腳第40腳。在單片機(jī)技術(shù)中,每個端口都有一個特定的名字,比如第一腳的那個端口叫做“P1.0”。1主要特性:與MCS-51 兼容 4K字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:10年全靜態(tài)工作:0Hz-24Hz內(nèi)部程序存儲器128*8位內(nèi)部數(shù)據(jù)存儲器4個8位并行I/O口兩個16位定時器/計(jì)數(shù)器5個中斷源 全雙工串行口片內(nèi)振蕩器和時鐘電路 2管腳說明: VCC:供電電壓, GND:接地。 輸入/輸出口線:P0.0P0.7 P0口8位雙向口線 P1.0P1.7 P1口8位雙向口線 P2.0P2.7 P2口8位雙向口線 P3.0P3.7 P3

23、口8位雙向口線 RST:復(fù)位信號 ALE/PROG:地址鎖存控制信號。PSEN:外部程序讀選通信號。EA/VPP:訪問程序存儲器控制信號。XTAL1,XTAL2:外接晶體輸入輸出引線端。3振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。4芯片擦除:在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍

24、結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。并且單片機(jī)是整個測量系統(tǒng)的主要部分,擔(dān)負(fù)對前端脈沖信號的處理、計(jì)算、以及信號的同步,計(jì)時等任務(wù),其次,將測量的數(shù)據(jù)經(jīng)計(jì)算后,將得到的轉(zhuǎn)速值傳送到顯示接口中,用數(shù)碼管顯示數(shù)值。4.4 最小系統(tǒng)的設(shè)計(jì) 在最小系統(tǒng)的設(shè)計(jì)中,將整形電路與單片機(jī)控制電路相連接,并且在光電傳感器的作用下進(jìn)行最小系統(tǒng)的模擬。 圖4.6 最小系統(tǒng)圖4.4.1復(fù)位電路設(shè)計(jì)AT89C51 單片機(jī)復(fù)位電路是指單片機(jī)的初始化操作。單片機(jī)啟運(yùn)運(yùn)行時,都需要先復(fù)位,其作用是使CPU和系統(tǒng)中其他部件處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。因而,復(fù)位是一個很重要的操作方

25、式。但單片機(jī)本身是不能自動進(jìn)行復(fù)位的,必須配合相應(yīng)的外部電路才能實(shí)現(xiàn)。 圖4.7復(fù)位電路 復(fù)位電路用于產(chǎn)生復(fù)位信號,通過RST引腳送入單片機(jī),進(jìn)行復(fù)位操作。復(fù)位電路的好壞直接影響單片機(jī)系統(tǒng)工作的可靠性,因此,本次設(shè)計(jì)要重視復(fù)位電路的設(shè)計(jì)與研究。AT89C51復(fù)位電路共有四種類型,分別是:積分電路型,微分電路型,比較器型和看門狗型。最常用的積分型和微分型的作用是前者用于產(chǎn)生低電平復(fù)位信號,后者用于產(chǎn)生高電平復(fù)位信號。AT89C51單片機(jī)的基本復(fù)位電路有上電復(fù)位,按鍵電平復(fù)位和按鍵脈沖復(fù)位3種。單片機(jī)的復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。單片機(jī)的復(fù)位操作使單片機(jī)進(jìn)入初始化狀態(tài),其中包括使程序計(jì)數(shù)器PC

26、0000H,這表明程序從0000H地址單元開始執(zhí)行。單片機(jī)冷啟動后,片內(nèi)RAM為隨機(jī)值,運(yùn)行中的復(fù)位操作不改變片內(nèi)RAM區(qū)中的內(nèi)容,21個特殊功能寄存器復(fù)位后的狀態(tài)為確定值,見表4-1。 表4-1寄存器復(fù)位后狀態(tài)表特殊功能寄存器初始狀態(tài)特殊功能寄存器初始狀態(tài)ABPSW00H00H00HTMODTCONTH000H00H00HSPDPLDPHP0P3IPIE07H00H00HFFH*00000B0*00000BTL0TH1TL1SBUFSCONPCON00H00H00H不定00H0*B注:表4-1中符號 * 為隨機(jī)狀態(tài)4.4.2 晶振電路設(shè)計(jì) 圖4.8晶振電路 晶振(圖4.10)是晶體振蕩器的簡

27、稱,在電氣上它可以等效成一個電容和一個電阻并聯(lián)再串聯(lián)一個電容的二端網(wǎng)絡(luò),電工學(xué)上這個網(wǎng)絡(luò)有兩個諧振點(diǎn),以頻率的高低分其中較低的頻率是串聯(lián)諧振,較高的頻率是并聯(lián)諧振。AT89C51芯片中的高增益反向放大器,輸入端為引腳XTAL1,輸出端為引腳XTAL2。4.5顯示部分電路設(shè)計(jì) 顯示部分應(yīng)用LED數(shù)碼管進(jìn)行顯示,LED數(shù)碼有共陽和共陰兩種,把這些LED發(fā)光二極管的正極接到一塊而作為一個引腳,就叫共陽的,相反的,就叫共陰的,那么應(yīng)用時這個腳就分別的接VCC和GND。再把多個這樣的8字裝在一起就成了多位的數(shù)碼管了。數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出本次設(shè)計(jì)所測量的轉(zhuǎn)速,

28、因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。由于動態(tài)顯示驅(qū)動是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,并且動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。所以我們選擇應(yīng)用動態(tài)顯示驅(qū)動【15】。如圖(4.11)所示為動態(tài)顯示驅(qū)動仿真圖。 圖4.9 動態(tài)驅(qū)動仿真動態(tài)顯示程序:#include<reg51.h>#define uchar unsigned char#define uint unsigned intuint mm=1234; /顯示1234/uchar jj;uchar code table=0xc0,0xF9,0xA4,0xB0,

29、0x99,0x92,0x82,0xF8,0x80,0x90,; delay(uint m) uint i,j; for(i=m;i>0;i-) for(j=110;j>0;j-);xian_shi() uchar qian,bei,shi,ge; qian=mm/1000; bei=mm%1000/100; shi=mm%100/10; ge=mm%10; P2=0x80; P0=tableqian; delay(50); P2=0; P2=0x40; P0=tablebei; delay(50); P2=0;P2=0x20; P0=tableshi; delay(50); P2=

30、0;P2=0x10; P0=tablege; delay(50); P2=0;5 系統(tǒng)軟件設(shè)計(jì)5.1 主程序初始化(1).定時器的初始化 AT89C51有兩個定時器/計(jì)數(shù)器T0和T1,每個定時器/計(jì)數(shù)器均可設(shè)置成為16位,也可以設(shè)置成為13位進(jìn)行定時或計(jì)數(shù)。計(jì)數(shù)器的功能是對T0或T1外來脈沖的進(jìn)行計(jì)數(shù),外部輸入脈沖負(fù)跳變時,計(jì)數(shù)器進(jìn)行加1。定時器有4種工作方式:方式0、方式2、方式2和方式3。(2)中斷允許控制AT89C51單片機(jī)中沒有專門的開中斷和關(guān)中斷指令,對各個中斷源的允許和屏蔽是由內(nèi)部的中斷允許寄存器IE的各位來控制的。該寄存器地址為A8H,位地址為AFHA8H,可以進(jìn)行位尋址。ET0

31、(ET1)=0,禁止定時器中斷;ET0(ET1)=1,允許定時器中斷。EX0(EX1)=0,禁止外中斷;EX0(EX1)=1,允許外中斷。5.2主程序流程圖子程序流程圖主程序流程圖顯示開始初始化定時器計(jì)時器刷新數(shù)碼管延時2ms 圖5.1主程序流程圖顯示子程序流程圖開始 顯示緩存初始化LED顯示初始化數(shù)碼顯示圖5.2 顯示子程序流程圖5.3系統(tǒng)總程序#include<reg51.h>#define uchar unsigned char#define uint unsigned intuint mm=1234;uchar code table=0xc0,0xF9,0xA4,0xB0,

32、0x99,0x92,0x82,0xF8,0x80,0x90,; delay(uint m) uint i,j; for(i=m;i>0;i-) for(j=60;j>0;j-);xian_shi() uchar qian,bei,shi,ge; uint jj; jj=mm; jj*=20; /jj+=1; qian=jj/1000; bei=jj%1000/100; shi=jj%100/10; ge=jj%10; P2=0x10; P0=tableqian; delay(1); /P2=0; P2=0x20; P0=tablebei; delay(1); /P2=0; P2=0

33、x40; P0=tableshi; delay(1); /P2=0; P2=0x80; P0=tablege; delay(1); /P2=0;timer_init() /定時器計(jì)數(shù)器初始化函數(shù) EA=1; ET0=1; ET1=1; TMOD=0X51; TH0=(65535-50000)/256; TL0=(65535-50000)%256; TH1=0; TL1=0; TR0=1; TR1=1;main() timer_init(); P0=0; /開始數(shù)碼管不顯示 while(1) xian_shi(); delay(2); /數(shù)碼管刷新時間單位毫秒 void timer0() interrupt 1 TR0=0; TR1=0; TH0=(65535-50000)/256; TL0=(65535-50000)%256; mm=0; mm|=TH1; mm=(mm<<8)|TL1;/mm-=55536; TH1=0; TL1=0; TR0=1; TR1=1;void timer1() interrupt 3 /顯示0000說明出錯 TR1=0; TR0=0; mm=0; / TH1=0; / TL

溫馨提示

  • 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

提交評論