《光電傳感器測速》word版.doc
《《光電傳感器測速》word版.doc》由會員分享,可在線閱讀,更多相關(guān)《《光電傳感器測速》word版.doc(29頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
光電開關(guān)轉(zhuǎn)速測量系統(tǒng)設(shè)計(jì) 摘 要:本文設(shè)計(jì)了一種基于AT89S52單片機(jī)的光電開關(guān)轉(zhuǎn)速測量系統(tǒng)。該系統(tǒng)采用對射式光電開關(guān)產(chǎn)生與齒輪相對應(yīng)的脈沖信號,使用AT89S52單片機(jī)采樣脈沖信號并計(jì)算每分鐘內(nèi)脈沖信號的數(shù)目,即電機(jī)對應(yīng)的轉(zhuǎn)速值,最終系統(tǒng)通過1602LCD液晶顯示屏實(shí)時顯示電機(jī)的轉(zhuǎn)速值。經(jīng)過仿真測試和軟硬件系統(tǒng)的搭建,本系統(tǒng)滿足設(shè)計(jì)要求,且結(jié)構(gòu)簡單、實(shí)用。系統(tǒng)在降低測速器成本,提高測速穩(wěn)定性及可靠性等方面有一定價值,具有廣泛的應(yīng)用前景。 關(guān)鍵詞:轉(zhuǎn)速測量,單片機(jī),光電開關(guān) 1 緒論 1.1 課題背景 一種量大面廣的產(chǎn)品,廣泛應(yīng)用于國民經(jīng)濟(jì)的各個行業(yè)中。而電機(jī)的生產(chǎn)王國正在由日本轉(zhuǎn)移到中國,尤其是浙江溫州和廣東珠三角地區(qū)。廣東省佛山市順德區(qū)就有大大小小的電機(jī)生產(chǎn)廠家上百家,每年生產(chǎn)上億臺電機(jī),同時順德有許多家電生產(chǎn)廠家,家電中也要大量用到電機(jī),不管是電機(jī)生產(chǎn)廠家,還是將電機(jī)作為它們的產(chǎn)品中的零部件的廠家,要將它們的產(chǎn)品打到國際市場上,迫切需要IS09002認(rèn)證,IS09002要求生產(chǎn)產(chǎn)品所用的零部件以及最終的產(chǎn)品都要經(jīng)過本單位的質(zhì)量檢測,也就是說,在順德,每年要檢測幾億個電機(jī),對電機(jī)的測試儀的需求非常迫切。電機(jī)測試的參數(shù)主要有:效率、功率因數(shù)、定子輸入電流、轉(zhuǎn)矩、轉(zhuǎn)速等,本課題主要研究轉(zhuǎn)速的測量。 1.2 國內(nèi)外發(fā)展情況 轉(zhuǎn)速是各類電機(jī)運(yùn)行中的一個重要物理量,如何準(zhǔn)確、快速而又方便地測量電機(jī)轉(zhuǎn)速,極為重要。目前國內(nèi)外常用的轉(zhuǎn)速測量方法有離心式轉(zhuǎn)速表測速法、測速發(fā)電機(jī)測速法、閃光測速法、光電碼盤測速法和霍爾元件測速法。 (1)離心式轉(zhuǎn)速表測速法 離心式轉(zhuǎn)速表是利用離心原理制成的測速儀表,可以直接讀出轉(zhuǎn)速。測轉(zhuǎn)速時,轉(zhuǎn)速表的端頭要插入電機(jī)轉(zhuǎn)軸的中心孔內(nèi),插入前,應(yīng)注意清除中心孔中的油污,并使轉(zhuǎn)速表的軸與電機(jī)的軸保持同心,不可上下左右偏斜,否則易將表軸扭壞,并影響準(zhǔn)確讀數(shù),而且轉(zhuǎn)速表要間歇使用,以減少磨損和發(fā)熱。如果要改變量程,還要將轉(zhuǎn)速表取出停轉(zhuǎn)后再改變量程[2]。 (2) 測速發(fā)電機(jī)測速法 測速發(fā)電機(jī)測轉(zhuǎn)速時,測速發(fā)電機(jī)連接到被測電機(jī)的軸端,將被測電機(jī)的機(jī)械轉(zhuǎn)速變換為電壓信號輸出E=CeFn,在輸出端接一個刻度以轉(zhuǎn)速為單位的電壓表,即可讀出轉(zhuǎn)速。 (3) 閃光測速法 閃光測速法是利用可調(diào)脈沖頻率的專用電源施加于閃光燈上,將閃光燈的燈光照到電機(jī)轉(zhuǎn)動部分(可在電機(jī)端軸上粘貼一張標(biāo)記紙片),當(dāng)調(diào)整脈沖頻率使黑色扇形片靜止不動時,此時脈沖的頻率是與電機(jī)轉(zhuǎn)動的轉(zhuǎn)速是同步的。若脈沖頻率為f,則電機(jī)的轉(zhuǎn)速為n=60f(r/min) 。 (4) 光電碼盤測速法 光電碼盤測速法是通過測出轉(zhuǎn)速信號的頻率或周期來測量電機(jī)轉(zhuǎn)速的一種無接觸測速法。光電碼盤安裝在轉(zhuǎn)子端軸上,隨著電機(jī)的轉(zhuǎn)動,光電碼盤也跟著一起轉(zhuǎn)動,如果有一個固定光源照射在碼盤上,則可利用光敏元件來接收到的光的次數(shù)就是碼盤的編碼數(shù)[6]。若編碼數(shù)為60,測量時間為t,測量到的脈沖數(shù)為N,則n=N/t。 (5) 霍爾元件測速法 霍爾元件測速法是利用霍爾開關(guān)元件測轉(zhuǎn)速的?;魻栭_關(guān)元件內(nèi)含穩(wěn)壓電路、霍爾電勢發(fā)生器、放大器、施密特觸發(fā)器和輸出電路。輸出電平與TTL電平兼容,在電機(jī)轉(zhuǎn)軸上裝一個圓盤,圓盤上裝若干對小磁鋼,小磁鋼越多,分辨率越高,霍爾開關(guān)固定在小磁鋼附近,當(dāng)電機(jī)轉(zhuǎn)動時,每當(dāng)一個小磁鋼轉(zhuǎn)過霍爾開關(guān),霍爾開關(guān)便輸出一個脈沖,計(jì)算出單位時間的脈沖數(shù),即可確定旋轉(zhuǎn)體的轉(zhuǎn)速。 在這五種測速方法中,離心式轉(zhuǎn)速表測速法和測速發(fā)電機(jī)測速法所用的都是現(xiàn)成的測速儀表,容易得到。但轉(zhuǎn)速表或測速機(jī)都要與電機(jī)同軸連接,一方面增加了電機(jī)機(jī)組安裝難度,另一方面有些微電機(jī)功率很小,轉(zhuǎn)速表或測速機(jī)消耗的功率占了微電機(jī)大部分,更有甚者微電機(jī)甚至拖不動這些儀表,所以對微特電機(jī)的測速,這二種方法不適用?;魻栐y速法和光電碼盤測速法的測速方法基本類似,都是在轉(zhuǎn)軸上裝一個很輕巧的傳感器,將電機(jī)的轉(zhuǎn)動信號通過磁(霍爾元件)或光(光電碼盤)轉(zhuǎn)換為電脈沖,從而通過計(jì)算電脈沖的個數(shù)來測速。閃光測速法目前實(shí)際應(yīng)用不廣泛,主要是光源的問題。本課題研究的是其中的光電碼盤測速法。 1.3 本論文的研究內(nèi)容 本文針對電機(jī)的轉(zhuǎn)速進(jìn)行測量,以單片機(jī)為核心對光電開關(guān)產(chǎn)生的數(shù)字信號進(jìn)行運(yùn)算,從而測得電機(jī)的轉(zhuǎn)速,然后用1602LCD液晶顯示屏把電機(jī)的轉(zhuǎn)速顯示出來。即通過光電開關(guān)將電機(jī)的轉(zhuǎn)數(shù)轉(zhuǎn)換成0,1的數(shù)字量,只要轉(zhuǎn)軸每旋轉(zhuǎn)一周,產(chǎn)生一個或固定的多個脈沖,并將脈沖送入單片機(jī)中進(jìn)行計(jì)數(shù)和計(jì)算,就可獲得轉(zhuǎn)速的信息。 2 系統(tǒng)設(shè)計(jì) 系統(tǒng)主要由AT89S52單片機(jī)處理系統(tǒng)、電機(jī)、傳感器檢測單元、信號處理單元和顯示系統(tǒng)等幾個部分組成,如圖1: 轉(zhuǎn)動系統(tǒng) 信號采集及其處理 單片機(jī)處理電路 顯示電路 圖1 系統(tǒng)組成框圖 (1) 轉(zhuǎn)動系統(tǒng) 本設(shè)計(jì)中采用對射式光電傳感器測量電機(jī)轉(zhuǎn)速。當(dāng)不透光的物體擋住發(fā)射與接收之間的間隙時,開關(guān)管關(guān)斷,反之打開。 測裝置按照發(fā)動機(jī)上傳感器的實(shí)際安裝位置進(jìn)行安裝。將信號盤固定在電動機(jī)轉(zhuǎn)軸上,光電轉(zhuǎn)速傳感器正對著信號盤。測量頭由光電轉(zhuǎn)速傳感器組成,而且測量頭兩端的距離與信號盤的距離相等。測量用器件封裝后,固定裝在貼近信號盤的位置,當(dāng)信號盤轉(zhuǎn)動時,光電元件即可輸出正負(fù)交替的周期性脈沖信號。信號盤旋轉(zhuǎn)一周產(chǎn)生的脈沖數(shù),等于其上的齒數(shù)。因此,脈沖信號的頻率大小就反映了信號盤轉(zhuǎn)速的高低。該裝置的優(yōu)點(diǎn)是輸出信號的幅值與轉(zhuǎn)速無關(guān),而且可測轉(zhuǎn)速范圍大,一般為1r/s~104 r/s以上,精確度高。 (2) 信號采集及其處理 被測物理量經(jīng)過傳感器變換后,變?yōu)殡娮?、電流、電壓、電感等某種電參數(shù)的變化值。為了進(jìn)行信號的分析、處理、顯示和記錄,須對信號作放大、運(yùn)算、分析等處理,這就引入了中間變化電路。 (3) 單片機(jī)處理電路 用于測量轉(zhuǎn)速的脈沖通過P3.5/T1輸入單片機(jī),用AT89S52的定時計(jì)數(shù)器T1對脈沖信號進(jìn)行計(jì)數(shù),用定時計(jì)數(shù)器T0進(jìn)行定時,每10ms產(chǎn)生一個中斷對1602LCD液晶顯示屏進(jìn)行刷新,產(chǎn)生500個中斷后(即5s),進(jìn)行一次轉(zhuǎn)速處理,再通過單片機(jī)對T1的脈沖數(shù)進(jìn)行運(yùn)算轉(zhuǎn)換后,用1602LCD液晶顯示屏顯示電機(jī)的轉(zhuǎn)速。 (4) 顯示電路 系統(tǒng)通過1602LCD液晶顯示屏實(shí)時顯示電機(jī)的轉(zhuǎn)速值。 3 硬件設(shè)計(jì) 硬件設(shè)計(jì)電路圖如附錄1所示。本系統(tǒng)分為信號采集與處理單元,主控單元以及顯示單元三大部分。 3.1 信號采集及其處理單元 本設(shè)計(jì)中采用對射式光電傳感器測量電機(jī)轉(zhuǎn)速。當(dāng)不透光的物體擋住發(fā)射與接收之間的間隙時,開關(guān)管關(guān)斷,反之打開。可以制作一個遮光葉片如圖2(b)所示,安裝在電機(jī)轉(zhuǎn)軸上,當(dāng)葉片轉(zhuǎn)動時,光電開關(guān)產(chǎn)生脈沖信號。當(dāng)葉片數(shù)較多時,旋轉(zhuǎn)一周可以獲得多個脈沖信號。 假設(shè)系統(tǒng)采用10個葉片,在一秒鐘的內(nèi)產(chǎn)生了100脈沖,則電機(jī)的轉(zhuǎn)速就為10r/s。 (a)傳感器 (b)轉(zhuǎn)盤 圖2 傳感器及轉(zhuǎn)盤 3.1.1 轉(zhuǎn)速測量原理 本設(shè)計(jì)采用頻率測量法,其測量原理為,在固定的測量時間內(nèi),計(jì)取轉(zhuǎn)速傳感器發(fā)生的脈沖個數(shù)(即頻率),從而算出實(shí)際轉(zhuǎn)速。設(shè)固定的測量時間T (min),計(jì)數(shù)器計(jì)取的脈沖個數(shù)m1,假定脈沖發(fā)生器每轉(zhuǎn)輸出p個脈沖,對應(yīng)被測轉(zhuǎn)速為N(r/min),就可算出實(shí)際轉(zhuǎn)速值N = 60m1/ pT。 3.1.2 檢測裝置安裝 此檢測裝置按照發(fā)動機(jī)上傳感器的實(shí)際安裝位置進(jìn)行安裝。如圖3,將信號盤固定在電動機(jī)轉(zhuǎn)軸上,光電轉(zhuǎn)速傳感器正對著信號盤。光電轉(zhuǎn)速傳感器接有4根導(dǎo)線,用于連接發(fā)光二極管和光敏三極管,其中發(fā)光二極管的紅線連接其正極,綠線連接其負(fù)極,光敏三級管的紅線連接其集電極,綠線連接其發(fā)射極。測量頭由光電轉(zhuǎn)速傳感器組成,而且測量頭兩端的距離與信號盤的距離相等。測量用器件封裝后,固定裝在貼近信號盤的位置,當(dāng)信號盤轉(zhuǎn)動時,光電元件即可輸出正負(fù)交替的周期性脈沖信號。信號盤旋轉(zhuǎn)一周產(chǎn)生的脈沖數(shù),等于其上的齒數(shù)。因此,脈沖信號的頻率大小就反映了信號盤轉(zhuǎn)速的高低。該裝置的優(yōu)點(diǎn)是輸出信號的幅值與轉(zhuǎn)速無關(guān),而且可測轉(zhuǎn)速范圍大,一般為1r/s~104 r/s以上,精確度高。 圖3 轉(zhuǎn)速檢測裝置 3.1.3 信號處理電路 被測物理量經(jīng)過傳感器變換后,變?yōu)殡娮?、電流、電壓、電感等某種電參數(shù)的變化值。為了進(jìn)行信號的分析、處理、顯示和記錄,須對信號作放大、運(yùn)算、分析等處理,這就引入了中間變化電路。根據(jù)系統(tǒng)需要設(shè)計(jì)了如圖4所示的中間變換電路。其中,R1、R4 起限流作用,R2 起分流作用,R3 為輸出電阻。當(dāng)轉(zhuǎn)盤上的梯形孔旋轉(zhuǎn)至與光電開關(guān)的透光位置重合時,輸出低電平;當(dāng)通光孔被遮住時,輸出高電平。 圖4 電路圖 目前,光電開關(guān)已被用作物位檢測、液位控制、產(chǎn)品計(jì)數(shù)、寬度判別、速度檢測、定長剪切、孔洞識別、信號延時、自動門傳感、色標(biāo)檢出、沖床和剪切機(jī)以及安全防護(hù)等諸多領(lǐng)域。此外,利用紅外線的隱蔽性,還可在銀行、倉庫、商店、辦公室以及其它需要的場合作為防盜警戒之用。 光電開關(guān)把發(fā)射端和接收端之間光的強(qiáng)弱變化轉(zhuǎn)化為電流的變化以達(dá)到探測的目的。由于光電開關(guān)輸出回路和輸入回路是電隔離的(即電緣絕),所以它可以在許多場合得到應(yīng)用。光電傳感器具有線性度好、分辨率高、噪音小和精度高、無觸點(diǎn)、無機(jī)械碰撞、響應(yīng)快、控制精度高,而且能識別色標(biāo)等優(yōu)點(diǎn),在此我們選擇光電轉(zhuǎn)速傳感器來進(jìn)行轉(zhuǎn)速的檢測。 3.1.3.1 光電開關(guān)有以下幾種類型 (1)漫反射式光電開關(guān):它是一種集發(fā)射器和接收器于一體的傳感器,當(dāng)有被檢測物體經(jīng)過時,物體將光電開關(guān)發(fā)射器發(fā)射的足夠量的光線反射到接收器,于是光電開關(guān)就產(chǎn)生了開關(guān)信號。當(dāng)被檢測物體的表面光亮或其反光率極高時,漫反射式的光電開關(guān)是首選的檢測模式 (2)鏡反射式光電開關(guān):它亦集發(fā)射器與接收器于一體,光電開關(guān)發(fā)射器發(fā)出的光線經(jīng)過反射鏡反射回接收器,當(dāng)被檢測物體經(jīng)過且完全阻斷光線時,光電開關(guān)就產(chǎn)生了檢測開關(guān)信號。 (3)對射式光電開關(guān):它包含了在結(jié)構(gòu)上相互分離且光軸相對放置的發(fā)射器和接收器,發(fā)射器發(fā)出的光線直接進(jìn)入接收器,當(dāng)被檢測物體經(jīng)過發(fā)射器和接收器之間且阻斷光線時,光電開關(guān)就產(chǎn)生了開關(guān)信號。當(dāng)檢測物體為不透明時,對射式光電開關(guān)是最合適的檢測裝置。 (4)槽式光電開關(guān):它通常采用標(biāo)準(zhǔn)的U字型結(jié)構(gòu),其發(fā)射器和接收器分別位于U型槽的兩邊,并形成一光軸,當(dāng)被檢測物體經(jīng)過U型槽且阻斷光軸時,光電開關(guān)就產(chǎn)生了開關(guān)量信號。槽式光電開關(guān)比較適合檢測高速運(yùn)動的物體,并且它能分辨透明與半透明物體,使用安全可靠。 (5)光纖式光電開關(guān):它采用塑料或玻璃光纖傳感器來引導(dǎo)光線,可以對距離遠(yuǎn)的被檢測物體進(jìn)行檢測。通常光纖傳感器分為對射式和漫反射式。 本課題中使用的光電開關(guān)是根據(jù)光敏二極管工作原理制造的一種感應(yīng)接收光強(qiáng)度變化的器件,當(dāng)它發(fā)出的光被目標(biāo)反射或阻斷時,則接收器感應(yīng)出相應(yīng)的電信號。它包含調(diào)制光源,由光敏元件等組成的光學(xué)系統(tǒng)、放大器、開關(guān)或模擬量輸出裝置,其工作原理如圖5所示。光電式傳感器由獨(dú)立且相對放置的光發(fā)射器和收光器組成。當(dāng)目標(biāo)通過光發(fā)射器和收光器之間并阻斷光線時,傳感器輸出信號。它是效率最高、最可靠的檢測裝置。槽形(U形)光電開關(guān)是對射式的變形,其優(yōu)點(diǎn)是無須調(diào)整光軸。 圖5 光電傳感器原理圖 3.2主控單元 如下圖所示,X1為12MHz的晶振,9口為復(fù)位接口,通過開關(guān)控制。用于測量轉(zhuǎn)速的脈沖通過P3.5/T1輸入單片機(jī),用AT89S52的定時計(jì)數(shù)器T1對脈沖信號進(jìn)行計(jì)數(shù),用定時計(jì)數(shù)器T0進(jìn)行定時,每10ms產(chǎn)生一個中斷對1602LCD液晶顯示屏進(jìn)行刷新,產(chǎn)生100個中斷后(即1s),進(jìn)行一次轉(zhuǎn)速處理,再通過單片機(jī)對T1的脈沖數(shù)進(jìn)行運(yùn)算轉(zhuǎn)換后,用1602LCD液晶顯示屏顯示電機(jī)的轉(zhuǎn)速。如圖8所示: 圖8 AT89S52單片機(jī)處理電路 3.2.1 時鐘電路 單片機(jī)各功能部件的運(yùn)行都是以時鐘控制信號為基準(zhǔn),有條不紊地一拍一拍地工作。因此,時鐘頻率直接影響單片機(jī)的速度,時鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。本設(shè)計(jì)中此采用內(nèi)部時鐘方式,如圖9所示,以石英晶體振蕩器和兩個片電容組成外部振蕩源。片內(nèi)的高增益反相放大器通過XTAL1、XTAL2外接,作為反饋元件的片外晶體振蕩器與電容組成的并聯(lián)諧振回路構(gòu)成一個自激振蕩器,向內(nèi)部時鐘電路提供振蕩時鐘。振蕩器的頻率取決于晶振的振蕩頻率,振蕩頻率范圍為1.2—12MHz。工程應(yīng)用時通常采用6MHz或12MHz。圖中X1為12MHz,電容C2、C4為33pF,它們一起構(gòu)成此單片機(jī)的自激振蕩器。 圖9 時鐘電路連接圖 3.2.2 復(fù)位電路 單片機(jī)的RST引腳為復(fù)位(Reset)端。當(dāng)單片機(jī)振蕩器工作時,該引腳上出現(xiàn)持續(xù)兩個機(jī)器周期的低電平,就可以實(shí)現(xiàn)系統(tǒng)復(fù)位,使單片機(jī)回到初始狀態(tài)。如圖10所示,本設(shè)計(jì)采用手動復(fù)位,用一個電容與一個10K電阻串聯(lián)組成,電阻接VCC,電容接地,RESET腳接在它們中間,RC選擇10uF,按鍵與200R電阻串聯(lián),在電容兩端并聯(lián),就成了按鍵復(fù)位電路,未上電時,RST端為高電平,只要按下這個按鍵,RST端轉(zhuǎn)換為低電平,經(jīng)過兩個機(jī)器周期后,單片機(jī)就能復(fù)位。 圖10 AT89S52單片機(jī)處理電路 3.2.3 AT89S52單片機(jī)介紹 AT89S52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 主要性能 (1)與MCS-51單片機(jī)產(chǎn)品兼容 (2)8K字節(jié)在系統(tǒng)可編程Flash存儲器 (3)1000次擦寫周期 (4)全靜態(tài)操作:0Hz~33Hz (5)三級加密程序存儲器 (6)32個可編程I/O口線 (7)三個16位定時器/計(jì)數(shù)器 (8)八個中斷源 (9)全雙工UART串行通道 (10)低功耗空閑和掉電模式 (11)掉電后中斷可喚醒 (12)看門狗定時器 (13)雙數(shù)據(jù)指針 (14)掉電標(biāo)識符 引腳功能 圖11 AT89S52引腳圖 VCC : 電源 GND : 地 P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在 flash編程時,P0口也用來接收指令字節(jié);在程序校驗(yàn)時,輸出指令字節(jié)。程序校驗(yàn)時,需要外部上拉電阻。 P1 口:P1 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。在flash編程和校驗(yàn)時,P1口接收低8位地址字節(jié)。 引腳號 第二功能 P1.0 :T2(定時器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時鐘輸出 P1.1 :T2EX(定時器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制) P1.5 :MOSI(在系統(tǒng)編程用) P1.6 :MISO(在系統(tǒng)編程用) P1.7 :SCK(在系統(tǒng)編程用) P2 口:P2 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX @DPTR)時,P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX @RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時,P2口也接收高8位地址字節(jié)和一些控制信號。 P3 口:P3 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用。在flash編程和校驗(yàn)時,P3口也接收一些控制信號。 引腳號第二功能 P3.0 RXD(串行輸入) P3.1 TXD(串行輸出) P3.2 INT0(外部中斷0) P3.3 INT0(外部中斷0) P3.4 T0(定時器0外部輸入) P3.5 T1(定時器1外部輸入) P3.6 WR(外部數(shù)據(jù)存儲器寫選通) P3.7 RD(外部數(shù)據(jù)存儲器寫選通) RST: 復(fù)位輸入。晶振工作時,RST腳持續(xù)2 個機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計(jì)時完成后,RST 腳輸出96 個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。 ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”, ALE 僅在執(zhí)行MOVX 或MOVC指令時有效。否則,ALE 將被微弱拉高。這個ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。 PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。當(dāng) AT89S52從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,PSEN將不被激活。 EA/VPP:訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12伏VPP電壓。 XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。 XTAL2:振蕩器反相放大器的輸出端。 3.2.4 定時與計(jì)數(shù)設(shè)計(jì) 根據(jù)設(shè)計(jì)需要選擇方式1比較合適,當(dāng)M1、M0為01時,定時器/計(jì)數(shù)器工作于方式1,這時定時器/計(jì)數(shù)器的等效電路如圖6所示: 圖6 定時/計(jì)數(shù)器方式1邏輯結(jié)構(gòu)框圖 此時,定時/計(jì)數(shù)器為16位的計(jì)數(shù)器,由TLX(X=0,1)的低5位和THX的高8位組成。TLX低5位溢出則向THX進(jìn)位,THX計(jì)數(shù)溢出則置位TCON中的溢出標(biāo)志位TFX。系統(tǒng)選擇定時/計(jì)數(shù)方式1,以T1作為計(jì)數(shù)器對光電開關(guān)產(chǎn)生的脈沖進(jìn)行計(jì)數(shù),用T0作為定時器,每10ms產(chǎn)生一定時中斷對1602LCD液晶顯示屏進(jìn)行刷新,產(chǎn)生100次中斷后,對T1接受到的脈沖數(shù)進(jìn)行計(jì)算處理,得出轉(zhuǎn)速。 (1)用于定時工作方式,其定時時間為: T=(216-t1的初值)振蕩周期12 此設(shè)計(jì)采用的是12MHz的晶振,定時器T0定時為10ms,將參數(shù)帶入公式 : t1=65536-10000=55536; 換成十六進(jìn)制,則t1=0xd8f0 ; 所以對于定時器T0有,TMOD = 0x01;TH0 = 0xd8;TL0 = 0xf0; (2)用于計(jì)數(shù)工作方式,計(jì)數(shù)長度為: 216=65536(個外部脈沖) 由此可知規(guī)定時間(1s)內(nèi)外部脈沖個數(shù)不超過65536即可。 3.2.4.1定時/計(jì)數(shù)器的結(jié)構(gòu) 定時/計(jì)數(shù)器的實(shí)質(zhì)是加1計(jì)數(shù)器(16位),由高8位和低8位兩個寄存器組成。TMOD是定時/計(jì)數(shù)器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動和停止及設(shè)置溢出標(biāo)志。定時/計(jì)數(shù)器結(jié)構(gòu)如圖7所示: 圖7 定時/計(jì)數(shù)器結(jié)構(gòu) 3.2.4.2定時/計(jì)數(shù)器的控制 AT89S52單片機(jī)定時/計(jì)數(shù)器的工作由兩個特殊功能寄存器控制。TMOD用于設(shè)置其工作方式;TCON用于控制其啟動和中斷申請。 1.工作方式寄存器TMOD 工作方式寄存器TMOD用于設(shè)置定時/計(jì)數(shù)器的工作方式,低四位用于T0,高四位用于T1。其格式如下: 表1 工作方式寄存器TMOD格式 GATE:門控位。 GATE=0時,以運(yùn)行控制位TRX(X=0,1)來啟動定時/計(jì)數(shù)器運(yùn)行; GATA=1時,要用軟件使TR0或TR1為1,同時外部中斷引腳或也為高電平時,才能啟動定時/計(jì)數(shù)器工作; C/T計(jì)數(shù)器模式和定時器模式選擇位 C/T=1時,選擇計(jì)數(shù)器模式,計(jì)數(shù)器對外部輸入引腳T0(P3.4)或T1(P3.5)的外部脈沖計(jì)數(shù); C/T=0時,選擇定時器模式。 M1M0:工作方式設(shè)置位。定時/計(jì)數(shù)器有四種工作方式,由M1M0進(jìn)行設(shè)置。 表 2 M1M0工作方式 2.控制寄存器TCON TCON的低4位用于控制外部中斷,已在前面介紹。TCON的高4位用于控制定時/計(jì)數(shù)器的啟動和中斷申請。其格式如下: 表 3 控制寄存器TCON格式 位 7 6 5 4 3 2 1 0 字節(jié)地址:88H TF1 TR1 TF0 TR0 TCON TF1(TCON.7): T1溢出中斷請求標(biāo)志位。T1計(jì)數(shù)溢出時由硬件自動置TF1為1。CPU響應(yīng)中斷后TF1由硬件自動清0。T1工作時,CPU可隨時查詢TF1的狀態(tài)。所以,TF1可用作查詢測試的標(biāo)志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。 TR1(TCON.6): T1運(yùn)行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時/計(jì)數(shù)器的啟動與停止。 TF0(TCON.5): T0溢出中斷請求標(biāo)志位,其功能與TF1類同。 TR0(TCON.4): T0運(yùn)行控制位,其功能與TR1類同。 中斷控制 CPU對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器IE控制的。 表4 位 7 6 5 4 3 2 1 0 字節(jié)地址:88H EA ES ET1 EX1 ET0 EX0 IE EX0(IE.0),外部中斷0允許位; ET0(IE.1),定時/計(jì)數(shù)器T0中斷允許位; EX1(IE.2),外部中斷0允許位; ET1(IE.3),定時/計(jì)數(shù)器T1中斷允許位; ES(IE.4),串行口中斷允許位; EA (IE.7), CPU中斷允許(總允許)位。 3.3 顯示單元 3.3.1 LCD原理 各種圖形的顯示原理 線段的顯示:點(diǎn)陣圖形式液晶由MN個顯示單元組成,假設(shè)LCD顯示屏有64行,每行有128列,每8列對應(yīng)1字節(jié)的8位,即每行由16字節(jié),共168=128個點(diǎn)組成,屏上6416個顯示單元與顯示RAM區(qū)1024字節(jié)相對應(yīng),每一字節(jié)的內(nèi)容和顯示屏上相應(yīng)位置的亮暗對應(yīng)。例如屏的第一行的亮暗由RAM區(qū)的000H——00FH的16字節(jié)的內(nèi)容決定,當(dāng)(000H)=FFH時,則屏幕的左上角顯示一條短亮線,長度為8個點(diǎn);當(dāng)(3FFH)=FFH時,則屏幕的右下角顯示一條短亮線;當(dāng)(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H時,則在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是LCD顯示的基本原理。 字符的顯示:LCD顯示一個字符時比較復(fù)雜,因?yàn)橐粋€字符由68或88點(diǎn)陣組成,既要找到和顯示屏幕上某幾個位置對應(yīng)的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點(diǎn)亮,為“0”的不亮。這樣一來就組成某個字符。但由于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)找出顯示RAM對應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對應(yīng)的代碼即可。 漢字的顯示:字的顯示一般采用圖形的方式,事先從微機(jī)中提取要顯示的漢字的點(diǎn)陣碼(一般用字模提取軟件),每個漢字占32B,分左右兩半,各占16B,左邊為1、3、5……右邊為2、4、6……根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)可找出顯示RAM對應(yīng)的地址,設(shè)立光標(biāo),送上要顯示的漢字的第一字節(jié),光標(biāo)位置加1,送第二個字節(jié),換行按列對齊,送第三個字節(jié)……直到32B顯示完就可以LCD上得到一個完整漢字 。 本設(shè)計(jì)選用了1602型LCD。字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點(diǎn)陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。下面以1602字符型液晶顯示器為例,介紹其用法。一般1602字符型液晶顯示器實(shí)物如圖。 圖12 1602LCD的基本參數(shù)及引腳功能 1602LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無差別,兩者尺寸差別如下圖 圖13 1602LCD分為帶背光和不帶背光 (1)LCD1602主要技術(shù)參數(shù): 顯示容量:162個字符 芯片工作電壓:4.5—5.5V 工作電流:2.0mA(5.0V) 模塊最佳工作電壓:5.0V 字符尺寸:2.954.35(WH)mm (2)引腳功能說明 1602LCD采用標(biāo)準(zhǔn)的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表 表5 引腳接口說明表 編號 符號 引腳說明 編號 符號 引腳說明 1 VSS 電源地 9 D2 數(shù)據(jù) 2 VDD 電源正極 10 D3 數(shù)據(jù) 3 VL 液晶顯示偏壓 11 D4 數(shù)據(jù) 4 RS 數(shù)據(jù)/命令選擇 12 D5 數(shù)據(jù) 5 R/W 讀/寫選擇 13 D6 數(shù)據(jù) 6 E 使能信號 14 D7 數(shù)據(jù) 7 D0 數(shù)據(jù) 15 BLA 背光源正極 8 D1 數(shù)據(jù) 16 BLK 背光源負(fù)極 第1腳:VSS為地電源。 第2腳:VDD接5V正電源。 第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。 第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。 第5腳:R/W為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時可以讀忙信號,當(dāng)RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。 第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。 第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。 第15腳:背光源正極。 第16腳:背光源負(fù)極。 3.3.2 液晶顯示模塊電路 圖14是液晶模塊LCD1602與單片機(jī)的接口電路。液晶模塊的1腳和2腳分別接入電源的地和電源。3~10腳分別接單片機(jī)的8個P2口。11、13腳接單片機(jī)P3.0、P3.2,12腳接地,表示LCD的使能,是讀取還是寫入信號,是傳輸數(shù)據(jù)還是將指令由單片機(jī)內(nèi)部程序作用實(shí)現(xiàn)。14腳通過一個10K可調(diào)電阻接地,使得LCD的顯示的對比度適中,防止由于對比度過高產(chǎn)生“鬼影”。 圖14 1602液晶顯示模塊電路原理圖 4 軟件設(shè)計(jì) 4.1 語言的選用 本設(shè)計(jì)中采用的處理器是AT89S52單片機(jī),由此可采用面向MCS-51的程序設(shè)計(jì)語言,包括ASM51匯編語言和C51高級語言,這兩種語言各有特點(diǎn)。匯編語言更接近機(jī)器語言,常用來編制與系統(tǒng)硬件相關(guān)的程序,如訪問I/O端口、中斷處理程序、實(shí)時控制程序、實(shí)時通信程序等;而數(shù)學(xué)運(yùn)算程序則適合用C51高級語言編寫,因?yàn)橛酶呒壵Z言編寫運(yùn)算程序可提高編程效率和應(yīng)用程序的可靠性。 C語言是一種通用的計(jì)算機(jī)程序設(shè)計(jì)語言,在國際上十分流行,它即可用來編寫計(jì)算機(jī)系統(tǒng)程序,也可以用來編寫一般的應(yīng)用程序。以前計(jì)算機(jī)的系統(tǒng)軟件主要是用匯編語言編寫的,對于單片機(jī)應(yīng)用系統(tǒng)來說更是如此。由于匯編語言程序的可讀性和可移植性都較差,采用匯編語言編寫單片機(jī)應(yīng)用程序的周期長,而且調(diào)試和排錯也比較困難。C語言具有很好的可移植性和硬件控制能力,表達(dá)和運(yùn)算能力也較強(qiáng)。它具有以下特點(diǎn): 1. 語言簡潔,使用方便靈活。 2. 可移植性好。 3. 表達(dá)能力強(qiáng)。 4. 表達(dá)方式靈活。 5. 可進(jìn)行架構(gòu)化程序設(shè)計(jì)。 6. 可以直接操作計(jì)算機(jī)硬件。 7. 生成的目標(biāo)代碼質(zhì)量高。 為了提高編制計(jì)算機(jī)系統(tǒng)和應(yīng)用程序的效率,改善程序的可讀性和可移植性,在此采用高級語言編程。 4.2 程序設(shè)計(jì)流程圖 本系統(tǒng)用計(jì)數(shù)程序采集信號脈沖,用定時器產(chǎn)生中斷,對1602LCD液晶顯示屏刷新和緩沖區(qū)數(shù)據(jù)進(jìn)行更新,輔以1602LCD液晶顯示屏進(jìn)行顯示。計(jì)數(shù)程序流程如圖15;定時顯示程序流程如圖16。 開始 初始化計(jì)數(shù)器T1 計(jì)數(shù)脈沖 Flag_clac=1? N 按公式: 轉(zhuǎn)速=60*脈沖數(shù)/(齒輪數(shù)*T) 計(jì)算數(shù)據(jù) 數(shù)據(jù)緩沖區(qū) 圖15 脈沖計(jì)數(shù)程序流程圖 程序說明:將定時器設(shè)置為方式1,對外部脈沖進(jìn)行計(jì)數(shù),并判斷Flag_clac的值。當(dāng)Flag_calc=1時,將脈沖的數(shù)值由十六進(jìn)制轉(zhuǎn)換成十進(jìn)制,按轉(zhuǎn)速轉(zhuǎn)換公式轉(zhuǎn)換后,載入數(shù)據(jù)緩沖區(qū)。 初始化 定時 10ms? T=500? Flag_clac=1 數(shù)據(jù)緩沖區(qū) 顯示 時間計(jì)數(shù)清零T=0 產(chǎn)生定時中斷 開始 時間計(jì)數(shù)T++ N Y 圖16 定時顯示程序流程圖 程序說明:定時器設(shè)置為方式1,定時10ms。當(dāng)定時達(dá)到10ms時,產(chǎn)生中斷,對1602LCD液晶顯示屏進(jìn)行刷新,顯示轉(zhuǎn)速,并使時間計(jì)數(shù)標(biāo)志T加1。當(dāng)時間計(jì)數(shù)標(biāo)志T=500時,使Flag_calc置1,取出計(jì)數(shù)器在此時間內(nèi)計(jì)算的脈沖數(shù),通過轉(zhuǎn)速計(jì)算程序計(jì)算得出轉(zhuǎn)速值后,存入數(shù)據(jù)緩沖區(qū),供1602LCD液晶顯示屏顯示使用。 5 系統(tǒng)仿真與電路調(diào)試 5.1 系統(tǒng)仿真 系統(tǒng)結(jié)合Keil uVersion3.0和偉福進(jìn)行編譯,通過Proteus來仿真。 5.1.1 程序編譯 與以往的80C51單片機(jī)不同,AT89S52具有在線調(diào)試和下載功能,它由支持AT89S52的開發(fā)工具包Keil uVersion2.0開發(fā)系統(tǒng)來提供。也就是說,在用戶系統(tǒng)保留AT89S52的情況下,通過開發(fā)系統(tǒng)與AT89S52的串行接口通信,直接對用戶系統(tǒng)進(jìn)行調(diào)試,并在調(diào)試完成后將調(diào)試好的程序下載到AT89S52中。Keil uVersion3.0開發(fā)系統(tǒng)提供四項(xiàng)功能:編譯、下載、調(diào)試和模擬,分別由Keil uVersion2.0提供的編譯器、在線串行下載器、調(diào)試器和模擬器來實(shí)現(xiàn)。Keil uVersion2.0編譯器可在Windows操作系統(tǒng)下直接使用,編譯C語言源程序,并生成16進(jìn)制文件和列表文件。調(diào)試器采用Windows系統(tǒng),允許用戶使用AT89S52的UART串行接口在芯片上調(diào)試代碼執(zhí)行。在典型調(diào)試對話中,調(diào)試器提供對片內(nèi)所有外圍設(shè)備的訪問、單步和設(shè)置斷點(diǎn)的代碼執(zhí)行控制方式。模擬器采用Windows系統(tǒng),能完全模擬AT89S52的所有功能。模擬器使用簡單,結(jié)合了許多標(biāo)準(zhǔn)調(diào)試特征,包括多斷點(diǎn)、單步以及代碼執(zhí)行跟蹤等能力。 同樣偉福仿真器是國內(nèi)較好的仿真器之一,它能夠仿真的CPU品種多、功能強(qiáng)。通過更換仿真頭POD,可以對不同的CPU進(jìn)行仿真??煞抡?1系列,196系列,PIC系列,飛利蒲公司的552、LPC764、DALLAS320,華邦438等51增強(qiáng)型CPU。由于偉福編譯過程沒有Keil uVersion2.0那么繁瑣,能對程序進(jìn)行直接編譯,省去了建立和設(shè)置工程等步驟,使用方便、快捷。所以本設(shè)計(jì)以Keil uVersion2.0為基礎(chǔ),運(yùn)用偉福來編譯程序。 5.1.2 電路仿真 仿真部分運(yùn)用Proteus仿真軟件來實(shí)現(xiàn),Proteus 軟件是一款強(qiáng)大的單片機(jī)仿真軟件,它除了具有和其他工具一樣的原理編輯、印制電路板(PCB)自動或人工布線及電路仿真外,最大的特色是其電路仿真是交互的、可視化的。對于單片機(jī)學(xué)習(xí)和開發(fā)幫助極大。Proteus ISIS 是英國Lab center 公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和數(shù)字集成電路,包括單片機(jī)。 通過Proteus可以繪制硬件原理圖,并設(shè)置元件參數(shù);為單片機(jī)及其程序以及外部接口電路的仿真提供可能,驗(yàn)證設(shè)計(jì)的可行性與合理性;還可以為連接實(shí)際的硬件電路做好準(zhǔn)備;如有必要時,可以利用它來設(shè)計(jì)電路板。 5.2 電路調(diào)試 通過葉片在對射式傳感器間轉(zhuǎn)動,得到光電開關(guān)產(chǎn)生脈沖信號,再經(jīng)過脈沖信號處理電路,輸入單片機(jī)的T1外部脈沖計(jì)數(shù)口(即P3.5口),由單片機(jī)處理得出轉(zhuǎn)速后,連接4連1602LCD液晶顯示屏顯示轉(zhuǎn)速。對電機(jī)的轉(zhuǎn)速進(jìn)行測量,以單片機(jī)為核心對光電開關(guān)產(chǎn)生的數(shù)字信號進(jìn)行運(yùn)算,從而測得電機(jī)的轉(zhuǎn)速,然后用1602LCD液晶顯示屏把電機(jī)的轉(zhuǎn)速顯示出來。即通過光電開關(guān)將電機(jī)的轉(zhuǎn)數(shù)轉(zhuǎn)換成0,1的數(shù)字量,只要轉(zhuǎn)軸每旋轉(zhuǎn)一周,產(chǎn)生一個或固定的多個脈沖,并將脈沖送入單片機(jī)中進(jìn)行計(jì)數(shù)和計(jì)算,就可獲得轉(zhuǎn)速的信息,實(shí)物圖如下。 圖17 實(shí)物圖 圖17中1602LCD液晶顯示屏上有兩組數(shù)字,上排為轉(zhuǎn)速,如圖7n/s,下排為預(yù)設(shè)值,如圖是8/s,如轉(zhuǎn)速小于預(yù)設(shè)值,則蜂鳴器不會報(bào)警,反正成立,如圖18 圖18 實(shí)物圖 圖19實(shí)物圖 6 小結(jié) 本設(shè)計(jì)采用光電開關(guān)測速法,利用對射式光電開關(guān)采集轉(zhuǎn)速信號,通過信號處理電路得到適合的脈沖后,輸入單片機(jī)進(jìn)行處理、計(jì)算,得出實(shí)際的轉(zhuǎn)速值,輔以1602LCD液晶顯示屏顯示。此系統(tǒng)實(shí)現(xiàn)了設(shè)計(jì)的要求: (1)光電開關(guān)與電機(jī)轉(zhuǎn)換平臺簡單適用 (2)采集電路能實(shí)時采集轉(zhuǎn)速信息 (3)單片機(jī)處理系統(tǒng)運(yùn)算快速簡單,程序可讀性強(qiáng),條理分明,能形成獨(dú)立模塊以便于其他類似系統(tǒng)的計(jì)算 (4)1602LCD液晶顯示屏為主體的人機(jī)界面能準(zhǔn)確顯示速度值 本設(shè)計(jì)存在的問題: (1)系統(tǒng)選擇位數(shù)最多的定時/計(jì)數(shù)器工作方式1(為16位),但仍有其局限性。此計(jì)數(shù)器的最大計(jì)數(shù)脈沖數(shù)為63336(216),若每秒鐘計(jì)算一次,則當(dāng)1秒內(nèi)外部脈沖的輸入數(shù)超過65536個時,計(jì)數(shù)器會溢出,從而產(chǎn)生中斷,使得測出的轉(zhuǎn)速值小于實(shí)際的轉(zhuǎn)速值。根據(jù)轉(zhuǎn)速計(jì)算方法(若轉(zhuǎn)盤齒數(shù)為10),Vmax=65536*60s/(10*1)=39321r/min,所以本系統(tǒng)不能測量范圍不能超過此值。 (2)通過T1計(jì)數(shù)時,單片機(jī)每讀取一個脈沖至少需要3個機(jī)器周期的時間來完成。本系統(tǒng)采用的晶振為12MHz,所以一個機(jī)器周期Tcy=12/f=1us。若要使單片機(jī)準(zhǔn)確讀取外部脈沖,則脈沖的輸入周期不能超過3us。如此可計(jì)算(轉(zhuǎn)盤齒數(shù)為10),系統(tǒng)能測量的轉(zhuǎn)速需低于:Vmax=60s/(3us*10)=6000000r/min。 (3)此外,光電開關(guān)的反應(yīng)速度也會對轉(zhuǎn)速測量值的大小產(chǎn)生影響。若轉(zhuǎn)速過快,則光電開關(guān)來不及處理,這樣會造成測速不準(zhǔn),甚至測不出數(shù)值。 針對存在的問題,可以采取以下方法改進(jìn): (1)采用時鐘頻率更高、定時/計(jì)數(shù)器位數(shù)更多的單片機(jī)來處理脈沖,現(xiàn)某些高速單片機(jī)可達(dá)到40MHz的處理速度,可以大大提高測速范圍。 (2)應(yīng)用反應(yīng)速度更快的傳感器來做光電開關(guān)?,F(xiàn)在高速光電開關(guān)的響應(yīng)速度可達(dá)到0.1ms,每分鐘可進(jìn)行30萬次檢測操作,這樣就能檢出高速轉(zhuǎn)動的微小物體。 綜上所述,在測速過程中,雖然由于硬件的緣故,未能實(shí)現(xiàn)對高速的測量,但本裝置結(jié)構(gòu)簡單、實(shí)用,在降低測速器成本,提高測速穩(wěn)定性及可靠性等方面有一定價值,而且可以達(dá)到一般工業(yè)測速的測量標(biāo)準(zhǔn),具有廣泛的前景。 附錄1 原理圖 附錄2 源程序 #include- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 光電傳感器測速 光電 傳感器 測速 word
鏈接地址:http://www.hcyjhs8.com/p-8549557.html