精品畢業(yè)論文基于AT89C51車輪轉(zhuǎn)速測(cè)量系統(tǒng)的設(shè)計(jì)_第1頁
精品畢業(yè)論文基于AT89C51車輪轉(zhuǎn)速測(cè)量系統(tǒng)的設(shè)計(jì)_第2頁
精品畢業(yè)論文基于AT89C51車輪轉(zhuǎn)速測(cè)量系統(tǒng)的設(shè)計(jì)_第3頁
精品畢業(yè)論文基于AT89C51車輪轉(zhuǎn)速測(cè)量系統(tǒng)的設(shè)計(jì)_第4頁
精品畢業(yè)論文基于AT89C51車輪轉(zhuǎn)速測(cè)量系統(tǒng)的設(shè)計(jì)_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、前 言1 課題的目的和意義隨著科技的飛速發(fā)展,計(jì)算機(jī)應(yīng)用技術(shù)日益滲透到社會(huì)生產(chǎn)生活的各個(gè)領(lǐng)域,而單片機(jī)的應(yīng)用則起到了舉足輕重的作用。單片機(jī)又稱單片微控制器,就是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。它完整地包含了計(jì)算機(jī)內(nèi)部的cpu(運(yùn)算器、控制器)、程序存儲(chǔ)器(相當(dāng)于計(jì)算機(jī)的硬盤)、數(shù)據(jù)存儲(chǔ)器(相當(dāng)于計(jì)算機(jī)的內(nèi)存)、輸入輸出端口等。雖然它的運(yùn)算速度無法和計(jì)算機(jī)相比,但在一些實(shí)際的控制應(yīng)用場(chǎng)合已經(jīng)足夠使用了。對(duì)于高等院校電子類和計(jì)算機(jī)類的學(xué)生,學(xué)習(xí)單片機(jī)是很重要的,而進(jìn)行應(yīng)用單片機(jī)的課程設(shè)計(jì)更是重中之重,將所學(xué)理論知識(shí)應(yīng)用到實(shí)際,使更加全面的了解和掌握單片機(jī)的應(yīng)用。2. 設(shè)計(jì)的內(nèi)容和范圍在工程實(shí)踐中

2、,經(jīng)常會(huì)遇到各種需要測(cè)量轉(zhuǎn)速的場(chǎng)合,例如在發(fā)動(dòng)機(jī)1、電動(dòng)機(jī)、機(jī)床主軸等旋轉(zhuǎn)設(shè)備的試驗(yàn)運(yùn)轉(zhuǎn)和控制中,常需要分時(shí)或連續(xù)測(cè)量、顯示其轉(zhuǎn)速及瞬時(shí)速度。為了能精確地測(cè)量轉(zhuǎn)速,還要保證測(cè)量的實(shí)時(shí)性,要求能測(cè)得瞬時(shí)轉(zhuǎn)速。3. 設(shè)計(jì)擬解決的問題本設(shè)計(jì)提出一種基于at89c51單片機(jī)實(shí)施電機(jī)轉(zhuǎn)速測(cè)量2的方法,利用紅外傳感器采集脈沖信號(hào),通過定時(shí)計(jì)數(shù)算法程序,將轉(zhuǎn)速結(jié)果實(shí)時(shí)顯示出來。第1章 概述1.1數(shù)字式轉(zhuǎn)速測(cè)量系統(tǒng)的發(fā)展背景 目前國內(nèi)外測(cè)量電機(jī)3轉(zhuǎn)速的方法很多,按照不同的理論方法,先后產(chǎn)生過模擬測(cè)速法(如離心式轉(zhuǎn)速表、用電機(jī)轉(zhuǎn)矩或者電機(jī)電樞電動(dòng)勢(shì)計(jì)算所得)、同步測(cè)速法(如機(jī)械式或閃光式頻閃測(cè)速儀)以及計(jì)數(shù)測(cè)速

3、法。計(jì)數(shù)測(cè)速法又可分為機(jī)械式定時(shí)計(jì)數(shù)法和電子式定時(shí)計(jì)數(shù)法。傳統(tǒng)的電機(jī)轉(zhuǎn)速檢測(cè)多采用測(cè)速發(fā)電機(jī)或光電數(shù)字脈沖編碼器,也有采用電磁式(利用電磁感應(yīng)原理或可變磁阻的霍爾元件等)、電容式(對(duì)高頻振蕩進(jìn)行幅值調(diào)制或頻率調(diào)制)等,還有一些特殊的測(cè)速器是利用置于旋轉(zhuǎn)體內(nèi)的放射性材料來發(fā)生脈沖信號(hào)。其中應(yīng)用最廣的是光電式,光電式測(cè)系統(tǒng)具有低慣性、低噪聲、高分辨率和高精度的優(yōu)點(diǎn)。加之激光光源、光柵、光學(xué)碼盤、ccd 器件、光導(dǎo)纖維等的相繼出現(xiàn)和成功應(yīng)用,使得光電傳感器在檢測(cè)和控制領(lǐng)域得到了廣泛的應(yīng)用。而采用光電傳感器的電機(jī)轉(zhuǎn)速測(cè)量系統(tǒng)測(cè)量準(zhǔn)確度高、采樣速度快、測(cè)量范圍寬和測(cè)量精度與被測(cè)轉(zhuǎn)速無關(guān)等優(yōu)點(diǎn),具有廣闊的

4、應(yīng)用前景。1.2本設(shè)計(jì)課題的目的和意義 工程實(shí)踐中,經(jīng)常會(huì)遇到各種需要測(cè)量轉(zhuǎn)速的場(chǎng)合,例如在發(fā)動(dòng)機(jī)、電動(dòng)機(jī)、卷揚(yáng)機(jī)、機(jī)床主軸等旋轉(zhuǎn)設(shè)備的試驗(yàn)、運(yùn)轉(zhuǎn)和控制中,常需要分時(shí)或連續(xù)測(cè)量和顯示其轉(zhuǎn)速及瞬時(shí)轉(zhuǎn)速。要測(cè)速,首先要解決是采樣問題。在使用模擬技術(shù)4制作測(cè)速表時(shí),常用測(cè)速發(fā)電機(jī)的方法,即將測(cè)速發(fā)電機(jī)的轉(zhuǎn)軸與待測(cè)軸相連,測(cè)速發(fā)電機(jī)的電壓高低反映了轉(zhuǎn)速的高低。為了能精確地測(cè)量轉(zhuǎn)速外,還要保證測(cè)量的實(shí)時(shí)性,要求能測(cè)得瞬時(shí)轉(zhuǎn)速方法。因此轉(zhuǎn)速的測(cè)試具有重要的意義。 這次設(shè)計(jì)內(nèi)容包含知識(shí)全面,對(duì)傳感器測(cè)量發(fā)電機(jī)轉(zhuǎn)速的不同的方法及原理設(shè)計(jì)有較多介紹,在測(cè)量系統(tǒng)中能學(xué)到關(guān)于測(cè)量轉(zhuǎn)速的傳感器采樣問題,單片機(jī)部分的內(nèi)

5、容,顯示部分等各個(gè)模塊的通信和聯(lián)調(diào)。全面了解單片機(jī)和信號(hào)放大的具體內(nèi)容。進(jìn)一步鍛煉我們?cè)谛盘?hào)采集、處理、顯示發(fā)面的實(shí)際工作能力。第2章 車輪轉(zhuǎn)速測(cè)量系統(tǒng)的原理2.1車輪轉(zhuǎn)速測(cè)量方法轉(zhuǎn)速是指作圓周運(yùn)動(dòng)的物體在單位時(shí)間內(nèi)所轉(zhuǎn)過的圈數(shù),其大小及變化往往意味著機(jī)器設(shè)備運(yùn)轉(zhuǎn)的正常與否,因此,轉(zhuǎn)速測(cè)量一直是工業(yè)領(lǐng)域的一個(gè)重要問題。按照不同的理論方法,先后產(chǎn)生過模擬測(cè)速法(如離心式轉(zhuǎn)速表)、同步測(cè)速法(如機(jī)械式或閃光式頻閃測(cè)速儀)以及計(jì)數(shù)測(cè)速法。計(jì)數(shù)測(cè)速法又可分為機(jī)械式定時(shí)計(jì)數(shù)法和電子式定時(shí)計(jì)數(shù)法。本設(shè)計(jì)介紹的采用單片機(jī)和紅外傳感器組成的高精度轉(zhuǎn)速測(cè)量系統(tǒng),其轉(zhuǎn)速測(cè)量方法采用的就是電子式定時(shí)計(jì)數(shù)法。對(duì)車輪轉(zhuǎn)

6、速的測(cè)量實(shí)際上是對(duì)轉(zhuǎn)子旋轉(zhuǎn)引起的周期脈沖信號(hào)的頻率進(jìn)行測(cè)量。在頻率的工程測(cè)量中,電子式定時(shí)計(jì)數(shù)測(cè)量頻率的方法一般有三種:1. 頻率法:在一定時(shí)間間隔t 內(nèi),計(jì)數(shù)被測(cè)信號(hào)的重復(fù)變化次數(shù)n,則被測(cè)信號(hào)的頻率fx 可表示為f x =nt (2-1)2. 測(cè)周期法:在被測(cè)信號(hào)的一個(gè)周期內(nèi),計(jì)數(shù)時(shí)鐘脈沖數(shù)m0,則被測(cè)信號(hào)頻率fx = fc/ m0 (2-2)其中, fc 為時(shí)鐘脈沖信號(hào)頻率。3. 多周期測(cè)頻法:在被測(cè)信號(hào)m1 個(gè)周期內(nèi),計(jì)數(shù)時(shí)鐘脈沖數(shù)m2,從而得到被測(cè)信號(hào)頻率fx ,則fx 可以表示為fx =m1 fc/m2 (2-3)m1 由測(cè)量準(zhǔn)確度確定。電子式定時(shí)計(jì)數(shù)法測(cè)量頻率時(shí),其測(cè)量準(zhǔn)確度主要

7、由兩項(xiàng)誤差來決定:一項(xiàng)是時(shí)基誤差;另一項(xiàng)是量化1誤差。當(dāng)時(shí)基誤差小于量化1 誤差一個(gè)或兩個(gè)數(shù)量級(jí)時(shí),這時(shí)測(cè)量準(zhǔn)確度主要由量化1 誤差來確定。對(duì)于測(cè)頻率法,測(cè)量相對(duì)誤差為:er1 =測(cè)量誤差值/實(shí)際測(cè)量值100 % =1/n100 % (2-4)由此可見,被測(cè)信號(hào)頻率越高,n 越大,er1就越小,所以測(cè)頻率法適用于高頻信號(hào)(高轉(zhuǎn)速信號(hào))的測(cè)量。對(duì)于測(cè)周期法,測(cè)量相對(duì)誤差為:er2 =測(cè)量誤差值/實(shí)際測(cè)量值100 % =1/m0100 % (2-5)對(duì)于給定的時(shí)鐘脈沖fc,當(dāng)被測(cè)信號(hào)頻率越低時(shí),m0 越大, er2就越小,所以測(cè)周期法適用于低頻信號(hào)(低轉(zhuǎn)速信號(hào))的測(cè)量。對(duì)于多周期測(cè)頻法,測(cè)量相對(duì)誤

8、差為:er3 =測(cè)量誤差值/實(shí)際測(cè)量值100%=1/m2100 % (2-6)從上式可知,被測(cè)脈沖信號(hào)周期數(shù)m1 越大,m2 就越大,則測(cè)量精度就越高。它適用于高、低頻信號(hào)(高、低轉(zhuǎn)速信號(hào))的測(cè)量。但隨著精度和頻率的提高,采樣周期將大大延長,并且判斷m1 也要延長采樣周期,不適合實(shí)時(shí)測(cè)量。根據(jù)以上的討論,考慮到實(shí)際應(yīng)用中需要測(cè)量的轉(zhuǎn)速范圍很寬,上述的轉(zhuǎn)速測(cè)量方法難以滿足要求,因此,研究高精度的轉(zhuǎn)速測(cè)量方法,以同時(shí)適用于高、低轉(zhuǎn)速信號(hào)的測(cè)量,不僅具有重要的理論意義,也是實(shí)際生產(chǎn)中的需要。2.2車輪轉(zhuǎn)速測(cè)量原理本設(shè)計(jì)中主要有三個(gè)模塊,分別為車輪速度測(cè)量模塊、單片機(jī)最小系統(tǒng)模塊、顯示模塊。本設(shè)計(jì)的測(cè)

9、車輪轉(zhuǎn)速長期測(cè)量系統(tǒng)是在已知車輪的周長,在程序中預(yù)設(shè)周長。設(shè)計(jì)中傳感器是由紅外接發(fā)射管和接收管構(gòu)成。測(cè)速的過程為:在電機(jī)的轉(zhuǎn)軸上安裝一個(gè)圓形遮光片,并從圓形遮光片的中心向圓盤的周邊開一個(gè)長方形的小縫隙。紅外發(fā)射管和光敏三極管安裝在遮光片的兩端,當(dāng)電機(jī)轉(zhuǎn)動(dòng)時(shí)就可以通過遮光片來改變紅外接收管接收的光線,從而產(chǎn)生電位信號(hào)的變化,這樣就構(gòu)成了一個(gè)收發(fā)檢測(cè)系統(tǒng),可以檢測(cè)電機(jī)的轉(zhuǎn)速。運(yùn)用的原理和光電耦合器是相同的。在信號(hào)輸入部分中主要有紅外傳感器和lm339比較器組成,紅外發(fā)射和接收對(duì)準(zhǔn)時(shí)為正常工作,那么當(dāng)車輪轉(zhuǎn)動(dòng)的時(shí)候,一圈只能有一個(gè)時(shí)刻紅外正常工作的,也就是說只有一個(gè)時(shí)刻紅外的發(fā)射和接收是對(duì)準(zhǔn)的。信號(hào)

10、的處理部分就是單片5機(jī)根據(jù)程序的運(yùn)行部分。顯示部分采用的是四位一體的共陽數(shù)碼管顯示。在單片機(jī)程序的編寫中預(yù)設(shè)內(nèi)部時(shí)鐘中斷t0為250us,t0_num是記內(nèi)部時(shí)鐘中斷t0的個(gè)數(shù)。則有測(cè)速度公式:v=c/(t0_num*250us) (2-7)c 預(yù)設(shè)的車輪周長(本設(shè)計(jì)中為150mm);t0_num 采樣內(nèi)部時(shí)鐘中斷脈沖個(gè)數(shù);250us預(yù)設(shè)的內(nèi)部時(shí)鐘中斷t0時(shí)間;v 車輪的速度;如果s=150mm, 那么:v=150mm/(t0_num*250us) (2-8)轉(zhuǎn)換單位可以得到: v=(150mm*106)/(t0_num*250s) (2-9)把預(yù)設(shè)的車輪的周長用k表示則有公式: v=(k*3

11、600km)/(t0_num*250h) 單位為 km/h (2-10)在對(duì)轉(zhuǎn)速波動(dòng)較快系統(tǒng)或要求動(dòng)態(tài)特性好而精度高的轉(zhuǎn)速測(cè)控系統(tǒng)中,調(diào)節(jié)周期一般很短,相應(yīng)的采樣周期需取得很小,使得脈沖當(dāng)量增高,從而導(dǎo)致整個(gè)系統(tǒng)測(cè)量精度降低,難以滿足測(cè)控要求。所以在定時(shí)時(shí)間的選擇上不能太小也不能太大程序中我們把定時(shí)時(shí)間定為250us。在設(shè)計(jì)中,預(yù)設(shè)了內(nèi)部定時(shí)器t0的最大中斷次數(shù),防止了車輪不轉(zhuǎn)動(dòng)時(shí),數(shù)據(jù)的溢出。由公式(4)可以得到,當(dāng)t0_num定時(shí)器t0的最大中斷次數(shù)時(shí)(65000),那么v=0.033。近似為0。各部分模塊的功能:傳感器:用來對(duì)信號(hào)的采樣。信號(hào)轉(zhuǎn)換電路:對(duì)傳感器送過來的信號(hào)進(jìn)行放大和整形,

12、在送入單片機(jī)進(jìn)行數(shù)據(jù)的處理轉(zhuǎn)換。單片機(jī):對(duì)處理過的信號(hào)進(jìn)行轉(zhuǎn)換成轉(zhuǎn)速的實(shí)際值,送入led。led顯示:用來對(duì)所測(cè)量到的轉(zhuǎn)速進(jìn)行顯示。第3章 系統(tǒng)方案提出和論證轉(zhuǎn)速測(cè)量的方案選擇:一般要考慮傳感器的結(jié)構(gòu)、安裝以及測(cè)速范圍與環(huán)境條件等方面的適用性;再就是二次儀表的要求,除了顯示以外還有控制、通訊和遠(yuǎn)傳方面的要求。本設(shè)計(jì)書中給出兩種轉(zhuǎn)速測(cè)量方案,經(jīng)過查資料、構(gòu)思和結(jié)合本設(shè)計(jì),總體電路有兩套設(shè)計(jì)方案,部分重要模塊也考慮了其它設(shè)計(jì)方法,經(jīng)過分析,從實(shí)現(xiàn)難度、熟悉程度、器件用量等方面綜合考慮,最終選擇了一個(gè)方案。下面就看一下我們對(duì)兩套設(shè)計(jì)方案的簡要說明。方案一:霍爾傳感器測(cè)量方案霍爾傳感器是利用霍爾效應(yīng)進(jìn)

13、行工作的。其核心元件是根據(jù)霍爾效應(yīng)原理制成的霍爾元件。本設(shè)計(jì)介紹一種泵驅(qū)動(dòng)軸的轉(zhuǎn)速采用霍爾轉(zhuǎn)速傳感器測(cè)量。霍爾轉(zhuǎn)速傳感器的結(jié)構(gòu)原理圖如圖3-1,霍爾轉(zhuǎn)速傳感器的接線圖如圖3-2。傳感器的定子上有2 個(gè)互相垂直的繞組a 和b,在繞組的中心線上粘有霍爾片ha 和hb ,轉(zhuǎn)子為永久磁鋼,霍爾元件ha 和hb 的激勵(lì)電機(jī)分別與繞組a 和b 相連,它們的霍爾電極串聯(lián)后作為傳感器的輸出。圖3-1 霍爾轉(zhuǎn)速傳感器的結(jié)構(gòu)原理圖圖3-2 霍爾轉(zhuǎn)速傳感器的接線圖缺點(diǎn):采用霍爾傳感器在信號(hào)采樣的時(shí)候,會(huì)出現(xiàn)采樣不精確,因?yàn)樗强看判愿袘?yīng)才采集脈沖的,使用時(shí)間長了會(huì)出現(xiàn)磁性變小,影響脈沖的采樣精度。方案二:光電傳感器

14、方案二主要包括傳感器、處理器和顯示3個(gè)部分。其原理方框圖如圖3-3所示。在該方案中傳感器是由紅外發(fā)光二極管,和紅外接收管。測(cè)速的過程為:在電機(jī)的轉(zhuǎn)軸上安裝一個(gè)圓形遮光片,并在圓形遮光片上鑿開一條從圓心到園變的小細(xì)縫,這樣可以讓紅外發(fā)射管發(fā)出的紅外光剛好可以通過。在遮光片的兩端分別安裝好發(fā)光二極管和接收管,當(dāng)電機(jī)轉(zhuǎn)動(dòng)時(shí)就可以通過遮光片來改變光敏三極管接收的光線,從而產(chǎn)生電位信號(hào)的變化,這樣就構(gòu)成了一個(gè)收發(fā)檢測(cè)系統(tǒng),可以檢測(cè)電機(jī)的轉(zhuǎn)速。運(yùn)用的原理和光電耦合器是相同的。電機(jī)光敏三極管信號(hào)轉(zhuǎn)換led顯示單片機(jī)處理紅紅外發(fā)光管 圖3-3 測(cè)量系統(tǒng)的組成框圖優(yōu)點(diǎn):這種方案使用光電轉(zhuǎn)速傳感器具有采樣精確,采

15、樣速度快,范圍廣的特點(diǎn)。綜上所述,方案二使用光電傳感器來作為本設(shè)計(jì)的最佳選擇方案。第4章 系統(tǒng)硬件設(shè)計(jì)隨著超大規(guī)模集成電路技術(shù)提高,尤其是單片機(jī)應(yīng)用技術(shù)以及功能強(qiáng)大,價(jià)格低廉的顯著特點(diǎn),是全數(shù)字化測(cè)量轉(zhuǎn)度系統(tǒng)得一廣泛應(yīng)用。出于單片機(jī)在測(cè)量轉(zhuǎn)速方面具有體積小、性能強(qiáng)、成本低的特點(diǎn),越來越受到企業(yè)用戶的青睞。對(duì)測(cè)量轉(zhuǎn)速系統(tǒng)的硬件和編程進(jìn)行研究,設(shè)計(jì)出一種以單片機(jī)為主的轉(zhuǎn)速測(cè)量系統(tǒng),保證了測(cè)量精度。4.1電源電路本次設(shè)計(jì)電路為輸出電壓+5v、輸出電流1.5a的穩(wěn)壓電源,如圖4-1所示。它由電源變壓器,橋式整流電路d1d4,濾波電容c1、c2、c3和一只固定式三端穩(wěn)壓器(7805)構(gòu)成的。圖4-1電源

16、電路原理圖原理:220v交流市電通過電源變壓器變換成6交流低壓,再經(jīng)過橋式整流電路d1d4和濾波電容c1、c2的整流和濾波,在固定式三端穩(wěn)壓器7805的vin和gnd兩端形成一個(gè)并不十分穩(wěn)定的直流電壓(該電壓常常會(huì)因?yàn)槭须婋妷旱牟▌?dòng)或負(fù)載的變化等原因而發(fā)生變化)。此直流電壓再經(jīng)過c3的濾波便在穩(wěn)壓電源的輸出端產(chǎn)生了精度高、穩(wěn)定度好的直流輸出電壓。4.2轉(zhuǎn)速信號(hào)采集在設(shè)計(jì)中采用紅外傳感器采集信號(hào),這種紅外傳感器是把車輪的轉(zhuǎn)速變?yōu)橄鄳?yīng)頻率的脈沖,然后由單片機(jī)內(nèi)部定時(shí)器t0來測(cè)得定時(shí)脈沖個(gè)數(shù),由公式(4)得到速度。這種測(cè)量方法具有傳感器結(jié)構(gòu)簡單、可靠、測(cè)量精度高的特點(diǎn)。是目前常用的一種測(cè)量轉(zhuǎn)速的方法

17、。從紅外發(fā)射管發(fā)出的光通過遮光片上的小縫隙照射到紅外接收管,使紅外發(fā)射管和接收管都處于導(dǎo)通狀態(tài),反之紅外接收管處于截止?fàn)顟B(tài)。紅外傳感器的工作和不工作兩種狀態(tài)產(chǎn)生的脈沖信號(hào)經(jīng)過lm339比較器,對(duì)信號(hào)進(jìn)行處理,然后輸入給單片機(jī)。由于本設(shè)計(jì)只停留于實(shí)驗(yàn)階段,設(shè)計(jì)中使用的車輪自制,使用的電機(jī)為6v的直流電機(jī)。車輪(遮光片)的兩側(cè)分別裝有發(fā)射光源(紅外線發(fā)光二極管)與接收光源的裝置(紅外線接收管)之間,紅外線發(fā)光二極管負(fù)責(zé)發(fā)出光信號(hào),紅外線接收管負(fù)責(zé)接收發(fā)出的光信號(hào),產(chǎn)生電信號(hào)。每轉(zhuǎn)過一圈,光的明暗變化經(jīng)歷了一個(gè)正弦周期,即產(chǎn)生了方波信號(hào)。圖4-2所示為轉(zhuǎn)速傳感器電路。紅外接收管在正向工作電流為20m

18、a時(shí),其導(dǎo)通電壓為1.21.5v,所選用的發(fā)光二極管的正向壓降一般為1.52.0v,電流為1020ma。r的計(jì)算公式為:r=u/i 。 由實(shí)驗(yàn)得:r3=680;r4=1k。 圖4-2 轉(zhuǎn)速傳感器電路圖光電傳感器是應(yīng)用非常廣泛的一種器件,有各種各樣的形式,如透射式、反射式等,基本的原理就是當(dāng)發(fā)射管光照射到接收管時(shí),接收管導(dǎo)通,反之關(guān)斷。以透射式為例,如圖4-3所示,當(dāng)不透光的物體擋住發(fā)射與接收之間的間隙時(shí),開關(guān)管關(guān)斷,否則打開。為此,實(shí)際操作中可以制作一個(gè)遮光葉片如圖4-4所示,安裝在轉(zhuǎn)軸上,當(dāng)扇葉經(jīng)過時(shí),產(chǎn)生脈沖信號(hào)。當(dāng)葉片數(shù)較多時(shí),旋轉(zhuǎn)一周可以獲得多個(gè)脈沖信號(hào)。由于材料有限,本設(shè)計(jì)中沒有設(shè)計(jì)

19、圖4-4的遮光片,只在車輪的葉子上槽開一條小口。 圖4-3光電傳感器的原理圖 圖4-4 遮光葉片4.3轉(zhuǎn)速信號(hào)處理電路設(shè)計(jì)怎樣把紅外傳感器的信號(hào)轉(zhuǎn)換成單片機(jī)所需要的有用信號(hào)呢?本設(shè)計(jì)采用通過使用比較器lm339來實(shí)現(xiàn)。如圖4-5所示,當(dāng)紅外發(fā)射接收管都正常工作時(shí),lm339的負(fù)輸入端4為低電平,輸出端2為高電平;當(dāng)紅外接收管被外物擋住時(shí),紅外接收管不工作,lm339的負(fù)輸入端4為高電平,輸出端2為低電平,單片機(jī)程序設(shè)置為外部中斷下降沿觸發(fā)有效,實(shí)現(xiàn)了中斷觸發(fā)功能。圖4-5信號(hào)處理電路圖4.4單片機(jī)at89c51介紹6at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(fperomfals

20、h programmable and erasable read only memory)的低電壓,高性能cmos8位微處理器,俗稱單片機(jī)。該器件采用atmel高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲(chǔ)器組合在單個(gè)芯片中,atmel的at89c51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。圖4-6是常用的一種單片機(jī),型號(hào)為at89c51,它將計(jì)算機(jī)的功能都集成到這個(gè)芯片內(nèi)部去了,就這么一個(gè)小小的芯片就能構(gòu)成一臺(tái)小型的電腦,因此叫做單片機(jī)。圖4-6 at89c51芯片它有40個(gè)管腳,分成兩排,每一

21、排各有20個(gè)腳,其中左下角標(biāo)有箭頭的為第1腳,然后按逆時(shí)針方向依次為第2腳、第3腳第40腳。在40個(gè)管腳中,其中有32個(gè)腳可用于各種控制,比如控制小燈的亮與滅、控制電機(jī)的正轉(zhuǎn)與反轉(zhuǎn)、控制電梯的升與降等,這32個(gè)腳叫做單片機(jī)的“端口”,在單片機(jī)技術(shù)中,每個(gè)端口都有一個(gè)特定的名字,比如第一腳的那個(gè)端口叫做“p1.0”。at89c51單片機(jī)的功能7:1主要特性:與mcs-51 兼容 4k字節(jié)可編程閃爍存儲(chǔ)器 壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時(shí)間:10年全靜態(tài)工作:0hz-24hz三級(jí)程序存儲(chǔ)器鎖定128*8位內(nèi)部ram32可編程i/o線兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源 可編程串行通道低功耗的閑置和

22、掉電模式片內(nèi)振蕩器和時(shí)鐘電路 2管腳說明:管腳說明見圖4-7。圖4-7 at89c51管腳分布vcc:供電電壓。gnd:接地。 p0口:p0口為一個(gè)8位漏級(jí)開路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p1口的管腳第一次寫1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時(shí),p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須被拉高。p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,

23、這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為第八位地址接收。 p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門電流,當(dāng)p2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 p3口:p3口管腳是8個(gè)帶內(nèi)

24、部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。 p3口也可作為at89c51的一些特殊功能口。p3口管腳備選功能:p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 /int0(外部中斷0)p3.3 /int1(外部中斷1)p3.4 t0(記時(shí)器0外部輸入)p3.5 t1(記時(shí)器1外部輸入)p3.6 /wr(外部數(shù)據(jù)存儲(chǔ)器寫選通)p3.7 /rd(外部數(shù)據(jù)存儲(chǔ)器讀選通)p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。rst:復(fù)位輸入。

25、當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。ale/prog:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時(shí), ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。psen:外部程序存儲(chǔ)器的選通信號(hào)。在由外

26、部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信號(hào)將不出現(xiàn)。ea/vpp:當(dāng)/ea保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000h-ffffh),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。3振蕩器特性:xtal1和xtal2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可

27、采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,xtal2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。4芯片擦除:整個(gè)perom陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合,并保持ale管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,at89c51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu停止工作。但ram,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存ram的內(nèi)容并且凍結(jié)振蕩器,

28、禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。4.5 最小系統(tǒng)的設(shè)計(jì)4.5.1復(fù)位電路:復(fù)位電路見圖4-8。89c51單片機(jī)8復(fù)位電路是指單片機(jī)的初始化操作。單片機(jī)啟運(yùn)運(yùn)行時(shí),都需要先復(fù)位,其作用是使cpu和系統(tǒng)中其他部件處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。因而,復(fù)位是一個(gè)很重要的操作方式。但單片機(jī)本身是不能自動(dòng)進(jìn)行復(fù)位的,必須配合相應(yīng)的外部電路才能實(shí)現(xiàn)。圖4-8復(fù)位電路復(fù)位功能: 復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號(hào)。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào),以防電源開關(guān)或電源插頭分-合過程中引起的抖動(dòng)而影響復(fù)位。單片機(jī)9的復(fù)位

29、是由外部的復(fù)位電路來實(shí)現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳rst通過一個(gè)斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個(gè)機(jī)器周期的s5p2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動(dòng)復(fù)位(如圖4-9(a)和按鈕復(fù)位(如圖4-9(b)兩種方式。圖4-9 rc復(fù)位電路單片機(jī)復(fù)位后的狀態(tài): 單片機(jī)的復(fù)位操作使單片機(jī)進(jìn)入初始化狀態(tài),其中包括使程序計(jì)數(shù)器pc0000h,這表明程序從0000h地址單元開始執(zhí)行。單片機(jī)冷啟動(dòng)后,片內(nèi)ram為隨機(jī)值,運(yùn)行中的復(fù)位操作不改變片內(nèi)ram區(qū)中的內(nèi)容,21個(gè)特殊功能寄存器復(fù)位后的狀態(tài)為確定值,見表4-1。值得指出的是,記住一些特殊功能寄存器復(fù)位后的主要狀

30、態(tài),對(duì)于了解單片機(jī)的初態(tài),減少應(yīng)用程序中的初始化部分是十分必要的。 表4-1 寄存器復(fù)位后狀態(tài)表特殊功能寄存器初始狀態(tài)特殊功能寄存器初始狀態(tài)abpsw00h00h00htmodtconth000h00h00hspdpldphp0p3ipie07h00h00hffh*00000b0*00000btl0th1tl1sbufsconpcon00h00h00h不定00h0*b注:表4-1中符號(hào)*為隨機(jī)狀態(tài)。psw00h,表明選寄存器0組為工作寄存器組;sp07h,表明堆棧指針指向片內(nèi)ram 07h字節(jié)單元,根據(jù)堆棧操作的先加后壓法則,第一個(gè)被壓入的內(nèi)容寫入到08h單元中;p0-p3ffh,表明已向各端

31、口線寫入1,此時(shí),各端口既可用于輸入又可用于輸出。ip00000b,表明各個(gè)中斷源處于低優(yōu)先級(jí);ie000000b,表明各個(gè)中斷均被關(guān)斷; 系統(tǒng)復(fù)位是任何微機(jī)系統(tǒng)執(zhí)行的第一步,使整個(gè)控制芯片回到默認(rèn)的硬件狀態(tài)下。51單片機(jī)的復(fù)位是由reset引腳來控制的,此引腳與高電平相接超過24個(gè)振蕩周期后,51單片機(jī)即進(jìn)入芯片內(nèi)部復(fù)位狀態(tài),而且一直在此狀態(tài)下等待,直到reset引腳轉(zhuǎn)為低電平后,才檢查ea引腳是高電平或低電平,若為高電平則執(zhí)行芯片內(nèi)部的程序代碼,若為低電平便會(huì)執(zhí)行外部程序。51單片機(jī)在系統(tǒng)復(fù)位時(shí),將其內(nèi)部的一些重要寄存器設(shè)置為特定的值,至于內(nèi)部ram內(nèi)部的數(shù)據(jù)則不變。4.5.2晶振電路晶振

32、是晶體振蕩器的簡稱,在電氣上它可以等效成一個(gè)電容和一個(gè)電阻并聯(lián)再串聯(lián)一個(gè)電容的二端網(wǎng)絡(luò),電工學(xué)上這個(gè)網(wǎng)絡(luò)有兩個(gè)諧振點(diǎn),以頻率的高低分其中較低的頻率是串聯(lián)諧振,較高的頻率是并聯(lián)諧振。at89c51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。引腳xtal1和xtal2分別是此放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器。外接晶體諧振器以及電容c1和c2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對(duì)外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會(huì)影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12mhz,

33、電容應(yīng)盡可能的選擇陶瓷電容,電容值約為30f。在焊接刷電路板時(shí),晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。晶體振蕩電路如圖4-10。晶振有一個(gè)重要的參數(shù),那就是負(fù)載電容值,選擇與負(fù)載電容值相等的并聯(lián)電容,就可以得到晶振標(biāo)稱的諧振頻率。圖4-10晶振電路4.5.3 最小系統(tǒng)的仿真最小系統(tǒng)的仿真圖4-11圖4-11 最小系統(tǒng)的仿真附最小系統(tǒng)仿真程序如下:#include sbit led=p10; /定義led接p1.0口/void delay () /延時(shí)函數(shù)/unsigned char i,j; for(i=255;i0;i-) for(

34、j=255;j0;j-);void main () while(1) led=0; / led滅/ delay (); /返回延時(shí)函數(shù)/ led=1; /led亮/ delay (); /反回延時(shí)函數(shù)/ 4.6顯示部分設(shè)計(jì)(1)許多電子產(chǎn)品上都有跳動(dòng)的數(shù)碼來指示電器的工作狀態(tài),其實(shí)數(shù)碼管顯示的數(shù)碼均是由八個(gè)發(fā)光二極管構(gòu)成的。每段上加上合適的電壓,該段就點(diǎn)亮。led數(shù)碼有共陽和共陰兩種,把這些led發(fā)光二極管的正極接到一塊(一般是拼成一個(gè)8字加一個(gè)小數(shù)點(diǎn))而作為一個(gè)引腳,就叫共陽的,相反的,就叫共陰的,那么應(yīng)用時(shí)這個(gè)腳就分別的接vcc和gnd。再把多個(gè)這樣的8字裝在一起就成了多位的數(shù)碼管了。實(shí)物

35、如圖4-12圖4-12數(shù)碼管共陽型(圖4-13)就是八個(gè)發(fā)光管的正極都連在一起 ,作為一條引線。ag段用于顯示數(shù)字,字符的筆畫,(dp顯示小數(shù)點(diǎn)),每一段控制agdp的亮與來。 內(nèi)部結(jié)構(gòu):圖4-13 共陽型lcd共陰型(圖4-14)就是七個(gè)發(fā)光管的負(fù)極都連在一起 ,作為一條引線。ag段用于顯示數(shù)字,字符的筆畫,(dp顯示小數(shù)點(diǎn)),每一段控制agdp的亮與來。內(nèi)部結(jié)構(gòu):4-14 共陰型lcd數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段

36、碼都由一個(gè)單片機(jī)的i/o端口進(jìn)行驅(qū)動(dòng),或者使用如bcd碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用i/o端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5840根i/o端口來驅(qū)動(dòng),要知道一個(gè)89s51單片機(jī)可用的i/o端口有32個(gè)呢),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極com增加位選通控制電路,位選通由各自獨(dú)立的i/o線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都

37、接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通com端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的com端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的i/o端口,而且功耗更低。(2)段碼表表4-2為led段碼表表4-2 led段碼表顯示

38、字 符共陰極段選碼共陽極段選碼顯示字符共陰極段選碼共陽極段選碼012343fh06h5bh4fh66hc0hf9ha4hb0h99h567896dh7dh07h7bh6fh92h82hf8h80h90h(3)動(dòng)態(tài)顯示仿真(圖4-15)圖4-15 動(dòng)態(tài)顯示仿真圖動(dòng)態(tài)顯示程序:#include#define uchar unsigned char#define uint unsigned intuint mm=1234; /顯示1234/uchar jj;uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,; del

39、ay(uint m) uint i,j; for(i=m;i0;i-) for(j=110;j0;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=0;p2=0x10; p0=tablege; delay(50); p2=0;本設(shè)計(jì)使

40、用的顯示器是led動(dòng)態(tài)顯示方式,其顯示電路如圖4-16所示。圖4-16 led顯示部分4.7硬件系統(tǒng)電路形成4.7.1電路圖硬件總電路的形成有以下幾個(gè)部分組成:信號(hào)產(chǎn)生電路:當(dāng)車輪轉(zhuǎn)動(dòng)時(shí),紅外傳感器工作,光敏三極管c腳接比較器的4端。當(dāng)紅外發(fā)光管和光敏三極管對(duì)準(zhǔn)時(shí),光敏三極管c腳(比較器4端)接低電平。當(dāng)紅外發(fā)光管和光敏三極管不對(duì)準(zhǔn)時(shí),光敏三極管c腳(比較器4端)接高電平。信號(hào)處理電路:將光敏三極管c腳輸入的信號(hào)和信號(hào)產(chǎn)生電路中r5、r6的中間電位作為比較器lm339的輸入端。輸入4端輸入為負(fù)時(shí),輸出端2端為高電平,4端為正時(shí),輸出端2端為低電平。比較器lm339起到了一個(gè)信號(hào)的轉(zhuǎn)換作用。單片

41、機(jī)最小系統(tǒng)電路:包括復(fù)位電路、晶振電路。本設(shè)計(jì)4.4中有詳細(xì)介紹。顯示電路:主要由四位數(shù)碼管、數(shù)碼管驅(qū)動(dòng)電路組成。本設(shè)計(jì)4.5中有詳細(xì)介紹。硬件原理圖見附錄a。4.7.2電路原理分析給電機(jī)上電,電機(jī)帶動(dòng)車輪轉(zhuǎn)動(dòng),制作的遮光片上留有一條從圓心向外圓的長方形空隙,紅外傳感器u發(fā)射管和接收管安裝在遮光片的兩端。遮光片轉(zhuǎn)動(dòng),一圈有一個(gè)時(shí)刻紅外發(fā)射管和接收管對(duì)準(zhǔn),既正常工作。vcc到r4到u1的發(fā)射管到地構(gòu)成一個(gè)回路,發(fā)射管處于導(dǎo)通狀態(tài)并發(fā)光。vcc到r3到u1接收管到地構(gòu)成一個(gè)回路,當(dāng)紅外發(fā)射管和接收管對(duì)準(zhǔn)時(shí),紅外接收管導(dǎo)通,u2比較器lm339的4端為低電平,比較器2端輸出高電平;當(dāng)紅外發(fā)射管和接收

42、管沒對(duì)準(zhǔn)時(shí),紅外接收管不導(dǎo)通,u2比較器lm339的4端為高電平,比較器2端輸出低電平。比較器2端輸出的脈沖送至u3單片機(jī)12腳,輸入端接的是單片機(jī)外部中斷0,利用單片機(jī)的定時(shí)功能,定時(shí)器方式采用方式2模式(8位自動(dòng)重載),程序中設(shè)置定時(shí)間隔為250us,在車輪轉(zhuǎn)一圈中記有多少個(gè)250us(int0_num),再用250us*int0_num,既車輪轉(zhuǎn)動(dòng)一圈所需要的時(shí)間。利用公式(2-10)得出速度。最后數(shù)碼管顯示速度。第5章 系統(tǒng)軟件設(shè)計(jì)硬件電路完成以后,進(jìn)行系統(tǒng)軟件設(shè)計(jì)。首先要分析系統(tǒng)對(duì)軟件的要求,然后進(jìn)行軟件的總體的設(shè)計(jì),包括程序的總體設(shè)計(jì)和對(duì)程序的模塊化設(shè)計(jì)。按整體功能分為多個(gè)不同的模

43、塊,單獨(dú)設(shè)計(jì)、編程、調(diào)試,然后將各個(gè)模塊裝配聯(lián)調(diào),組成完整的軟件。根據(jù)設(shè)計(jì)的要求,單片機(jī)的任務(wù)是:內(nèi)部進(jìn)行計(jì)數(shù),在計(jì)算出速度后顯示。軟件編程用c語言完成的,需要能掌握c語言,還要熟練at89c51單片機(jī)10。從程序流程圖、編寫程序、編譯,到最后的調(diào)試,是很復(fù)雜的。下面作簡單介紹:系統(tǒng)軟件主程序的功能是完成系統(tǒng)的初始化、顯示程序。5.1主程序初始化(1)定時(shí)器的初始化 at89c51有兩個(gè)定時(shí)器/計(jì)數(shù)器11t0和t1,每個(gè)定時(shí)器/計(jì)數(shù)器均可設(shè)置成為16位,也可以設(shè)置成為13位進(jìn)行定時(shí)或計(jì)數(shù)。計(jì)數(shù)器的功能是對(duì)t0或t1外來脈沖的進(jìn)行計(jì)數(shù),外部輸入脈沖負(fù)跳變時(shí),計(jì)數(shù)器進(jìn)行加1。定時(shí)功能是通過計(jì)數(shù)器的

44、計(jì)數(shù)來實(shí)現(xiàn)的,每個(gè)機(jī)器周期產(chǎn)生1個(gè)計(jì)數(shù)脈沖,即每個(gè)機(jī)器周期計(jì)數(shù)器加1,因此定時(shí)時(shí)間等于計(jì)數(shù)個(gè)數(shù)乘以機(jī)器周期。定時(shí)器工作時(shí),每接收到1個(gè)計(jì)數(shù)脈沖(或機(jī)器周期)則在設(shè)定的初值基礎(chǔ)上自動(dòng)加1,當(dāng)所有位都位1時(shí),再加1就會(huì)產(chǎn)生溢出,將向cpu提出定時(shí)器溢出中斷身請(qǐng)。當(dāng)定時(shí)器采用不同的工作方式和設(shè)置不同的初值時(shí),產(chǎn)生溢出中斷的定時(shí)值和計(jì)數(shù)值將不同,從而可以適應(yīng)不同的定時(shí)或計(jì)數(shù)控制。定時(shí)器有4種工作方式:方式0、方式2、方式2和方式3,在此對(duì)工作方式不做具體介紹。工作方式寄存器tmod的設(shè)定:gatec/tm1m0gatec/tm1m0tmod各位的含義如下:gate:門控位,用于控制定時(shí)/計(jì)數(shù)器的啟動(dòng)是

45、否受外部中斷請(qǐng)求信號(hào)的影響。c/t:定時(shí)或計(jì)數(shù)方式選擇位,當(dāng)c/t=1時(shí)工作于計(jì)數(shù)方式;當(dāng)c/t=0時(shí)工作于定時(shí)方式。m1、m0為工作方式選擇位 ,用于對(duì)t0的四種工作方式,t1的三種工作方式進(jìn)行選擇,選擇情況如下表5-1:m1m0=00為方式0;m1m0=01為方式1;表5-1 m1、m0為工作方式選擇位mom1工作方式方式說明00110101012313位定時(shí)/計(jì)數(shù)器16位定時(shí)/計(jì)數(shù)器8位自動(dòng)重置定時(shí)/計(jì)數(shù)器兩個(gè)8位定時(shí)/計(jì)數(shù)器(只有t0有)(2)中斷允許控制mcs-51單片機(jī)中沒有專門的開中斷和關(guān)中斷指令,對(duì)各個(gè)中斷源的允許和屏蔽是由內(nèi)部的中斷允許寄存器ie的各位來控制的。中斷允許寄存器

46、ie的字節(jié)地址為a8h,可以進(jìn)行位尋址。表5-2 中斷位尋址表ied7d6d5d4d3d2d1d0(a8h)eaet2eset1ex1et0ex0ea:中斷允許總控位。ea=0,屏蔽所有的中斷請(qǐng)求;ea=1,開放中斷。 et2:定時(shí)器/計(jì)數(shù)器t2的溢出中斷允許位 es:串行口中斷允許位。 et1:定時(shí)器/計(jì)數(shù)器t1的溢出中斷允許位。 ex1:外部中斷 int1的中斷允許位。et0:定時(shí)器/計(jì)數(shù)器t0的溢出中斷允許位。 ex0:外部中斷 int0的中斷允許位。 5.2程序流程圖1、 主程序流程圖5-1開始關(guān)總中斷ea = 0初始化外部中斷0為下降沿有效初始化定時(shí)器t0,方式2,8位自動(dòng)重裝開總中

47、斷ea = 1檢查外部中斷的標(biāo)志是否為2計(jì)算速度定時(shí)標(biāo)志清0,t0_num = 0外部中斷標(biāo)志清0,int0_flag = 0開總中斷,ea = 1顯示速度yn圖5-1 主程序流程圖2、外部中斷服務(wù)程序流程圖見圖5-2。檢查外部中斷的標(biāo)志是否為0y啟動(dòng)定時(shí)器0tr0 = 1n外部中斷標(biāo)志加1檢查外部中斷的標(biāo)志是否為2y停止定時(shí)器0,tr0 = 0關(guān)總中斷,ea = 0返回n開始圖5-2 外部中斷服務(wù)程序流程圖3、定時(shí)器t0中斷12服務(wù)程序圖見圖5-3。開始t0_num加1檢查t0_num是否等于t0_max外部中斷標(biāo)志清0,int0_flag = 0關(guān)定時(shí)0,tr = 0關(guān)總中斷,ea =0y

48、返回n圖5-3 定時(shí)器t0中斷服務(wù)程序圖根據(jù)以上程序流程圖,編寫了本設(shè)計(jì)的程序見附錄b。第6章 系統(tǒng)軟硬件調(diào)試6.1硬件調(diào)試硬件調(diào)試主要是針對(duì)主控板中單片機(jī)模塊和外部輸入、輸出模塊進(jìn)行調(diào)試。這一部分硬件調(diào)試主要分成兩大塊:上電前的調(diào)試和上電后的調(diào)試。6.1.1上電前的調(diào)試在上電前,必須確保電路中不存在短路或斷路的情況,這一工作是整個(gè)調(diào)試工作的第一步,也是非常重要的一個(gè)步驟。在這部分調(diào)試中主要使用的工具是萬用表,用來完成檢測(cè)電路中是否存在短路或斷路情況等。通過萬用表的檢測(cè),沒有發(fā)現(xiàn)短路或斷路的地方,電路基本正常。6.1.2 上電后的調(diào)試在確保硬件電路13正常,無異常情況-短路或斷路,方可上電調(diào)試

49、,上電調(diào)試的目的是檢驗(yàn)電路是否出錯(cuò),同時(shí)還要檢驗(yàn)原理是否正確。在本次畢業(yè)設(shè)計(jì)中,上電調(diào)試主要是檢測(cè)單片機(jī)部分與外部輸入、輸出電路是否接對(duì)。6.1.3 各模塊調(diào)試穩(wěn)壓模塊調(diào)試5v變壓器給7805供電,用萬用表測(cè)試7805的輸出電壓,進(jìn)過測(cè)試為4.95v,滿足要求。比較器lm339調(diào)試給模塊上5v電后,不給電機(jī)信號(hào),轉(zhuǎn)動(dòng)車輪圓盤,給紅外發(fā)射接收管制造兩種不同的工作狀態(tài),當(dāng)紅外發(fā)射接收管對(duì)準(zhǔn)時(shí)(正常工作),比較器lm339負(fù)端4端為低電平,輸出端2為高電平。當(dāng)紅外發(fā)射接收管不對(duì)準(zhǔn)時(shí)(不正常工作),比較器lm339負(fù)端4端為高電平,輸出端2為低電平。給模塊上5v電后,給電機(jī)上5v的電,讓車輪轉(zhuǎn)動(dòng)起來,

50、將比較器2腳輸出端接示波器,示波器顯示的是方波。以上兩種檢測(cè)說明電路信號(hào)輸入部分沒有問題。顯示模塊調(diào)試把程序下載到at89c51單片機(jī)中,接通電源,給電機(jī)上電,四位數(shù)碼管能正常的顯示數(shù)值,按下復(fù)位按鈕,四位數(shù)碼管顯示“0.000”以上說明電路顯示部分能正常工作。6.2軟硬件聯(lián)調(diào)顯示程序調(diào)試檢測(cè)信號(hào)處理子程序調(diào)試將需要顯示的值先賦一個(gè)固定值,顯示正常。6.3 指標(biāo)測(cè)試及分析數(shù)據(jù)測(cè)試是反映系統(tǒng)性能的重要指標(biāo)。因此對(duì)本系統(tǒng)進(jìn)行了全面的測(cè)試,分別為穩(wěn)壓模塊輸出電壓測(cè)試、顯示電路測(cè)試,再根據(jù)測(cè)試的結(jié)果進(jìn)行分析。6.3.1 測(cè)量儀器數(shù)字萬用表等、數(shù)字示波器。6.3.2 具體測(cè)試本次測(cè)試主要是對(duì)穩(wěn)壓電路的測(cè)

51、量 將數(shù)字萬用表打到直流電壓檔10v,測(cè)量供電電路的輸出電壓。 7805輸入電壓 vi=7.2v;輸出 vo=4.95v 。滿足實(shí)際需要。上電后,車輪轉(zhuǎn)動(dòng),顯示正常。改變程序中的車輪周長,保存程序,將程序下載至單片機(jī)中,重新通電,顯示數(shù)值與原來不同,說明功能正確。根據(jù)以上說明,電路軟硬件均正常工作???結(jié)采用單片機(jī)技術(shù)來實(shí)現(xiàn)轉(zhuǎn)速的測(cè)量,可以提高轉(zhuǎn)速的測(cè)量,可以提高轉(zhuǎn)速測(cè)量的精確度,并且加快了采樣14的速率,具有較好的實(shí)時(shí)性。本文介紹的轉(zhuǎn)速方法使用于高、低轉(zhuǎn)速的測(cè)量,測(cè)量精確度與轉(zhuǎn)速無關(guān),因而具有較寬的應(yīng)用范圍和廣闊的應(yīng)用的前景?;趩纹瑱C(jī)的轉(zhuǎn)速測(cè)量系統(tǒng),具有硬件電路簡單,程序簡單和運(yùn)算速度快,測(cè)速范圍廣,抗干擾性能好的特點(diǎn)。在設(shè)計(jì)的信號(hào)處理電路中經(jīng)過濾波,能夠進(jìn)一步減少誤差,是測(cè)速精度得到提高。致 謝感謝。參 考 文 獻(xiàn)1陳伯時(shí).電力拖動(dòng)自動(dòng)控制系統(tǒng)-運(yùn)動(dòng)控制系統(tǒng)m .北京:機(jī)械工業(yè)出版社,20092馬全權(quán),李慶輝,強(qiáng)盛.一種

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論