影音先锋男人资源在线观看,精品国产日韩亚洲一区91,中文字幕日韩国产,2018av男人天堂,青青伊人精品,久久久久久久综合日本亚洲,国产日韩欧美一区二区三区在线

《光電傳感器測速》word版

上傳人:pia****nwu 文檔編號:142941487 上傳時間:2022-08-25 格式:DOC 頁數(shù):28 大?。?07.02KB
收藏 版權(quán)申訴 舉報 下載
《光電傳感器測速》word版_第1頁
第1頁 / 共28頁
《光電傳感器測速》word版_第2頁
第2頁 / 共28頁
《光電傳感器測速》word版_第3頁
第3頁 / 共28頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《光電傳感器測速》word版》由會員分享,可在線閱讀,更多相關(guān)《《光電傳感器測速》word版(28頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、光電開關(guān)轉(zhuǎn)速測量系統(tǒng)設(shè)計 摘 要:本文設(shè)計了一種基于AT89S52單片機的光電開關(guān)轉(zhuǎn)速測量系統(tǒng)。該系統(tǒng)采用對射式光電開關(guān)產(chǎn)生與齒輪相對應(yīng)的脈沖信號,使用AT89S52單片機采樣脈沖信號并計算每分鐘內(nèi)脈沖信號的數(shù)目,即電機對應(yīng)的轉(zhuǎn)速值,最終系統(tǒng)通過1602LCD液晶顯示屏實時顯示電機的轉(zhuǎn)速值。經(jīng)過仿真測試和軟硬件系統(tǒng)的搭建,本系統(tǒng)滿足設(shè)計要求,且結(jié)構(gòu)簡單、實用。系統(tǒng)在降低測速器成本,提高測速穩(wěn)定性及可靠性等方面有一定價值,具有廣泛的應(yīng)用前景。 關(guān)鍵詞:轉(zhuǎn)速測量,單片機,光電開關(guān) 1 緒論 1.1 課題背景 一種量大面廣的產(chǎn)品,廣泛應(yīng)用于國民經(jīng)濟的各個行業(yè)中。

2、而電機的生產(chǎn)王國正在由日本轉(zhuǎn)移到中國,尤其是浙江溫州和廣東珠三角地區(qū)。廣東省佛山市順德區(qū)就有大大小小的電機生產(chǎn)廠家上百家,每年生產(chǎn)上億臺電機,同時順德有許多家電生產(chǎn)廠家,家電中也要大量用到電機,不管是電機生產(chǎn)廠家,還是將電機作為它們的產(chǎn)品中的零部件的廠家,要將它們的產(chǎn)品打到國際市場上,迫切需要IS09002認(rèn)證,IS09002要求生產(chǎn)產(chǎn)品所用的零部件以及最終的產(chǎn)品都要經(jīng)過本單位的質(zhì)量檢測,也就是說,在順德,每年要檢測幾億個電機,對電機的測試儀的需求非常迫切。電機測試的參數(shù)主要有:效率、功率因數(shù)、定子輸入電流、轉(zhuǎn)矩、轉(zhuǎn)速等,本課題主要研究轉(zhuǎn)速的測量。 1.2 國內(nèi)外發(fā)展情況 轉(zhuǎn)速是各類電機運

3、行中的一個重要物理量,如何準(zhǔn)確、快速而又方便地測量電機轉(zhuǎn)速,極為重要。目前國內(nèi)外常用的轉(zhuǎn)速測量方法有離心式轉(zhuǎn)速表測速法、測速發(fā)電機測速法、閃光測速法、光電碼盤測速法和霍爾元件測速法。 (1)離心式轉(zhuǎn)速表測速法 離心式轉(zhuǎn)速表是利用離心原理制成的測速儀表,可以直接讀出轉(zhuǎn)速。測轉(zhuǎn)速時,轉(zhuǎn)速表的端頭要插入電機轉(zhuǎn)軸的中心孔內(nèi),插入前,應(yīng)注意清除中心孔中的油污,并使轉(zhuǎn)速表的軸與電機的軸保持同心,不可上下左右偏斜,否則易將表軸扭壞,并影響準(zhǔn)確讀數(shù),而且轉(zhuǎn)速表要間歇使用,以減少磨損和發(fā)熱。如果要改變量程,還要將轉(zhuǎn)速表取出停轉(zhuǎn)后再改變量程[2]。 (2) 測速發(fā)電機測速法 測速發(fā)電機測轉(zhuǎn)速時,測速發(fā)電機

4、連接到被測電機的軸端,將被測電機的機械轉(zhuǎn)速變換為電壓信號輸出E=CeFn,在輸出端接一個刻度以轉(zhuǎn)速為單位的電壓表,即可讀出轉(zhuǎn)速。 (3) 閃光測速法 閃光測速法是利用可調(diào)脈沖頻率的專用電源施加于閃光燈上,將閃光燈的燈光照到電機轉(zhuǎn)動部分(可在電機端軸上粘貼一張標(biāo)記紙片),當(dāng)調(diào)整脈沖頻率使黑色扇形片靜止不動時,此時脈沖的頻率是與電機轉(zhuǎn)動的轉(zhuǎn)速是同步的。若脈沖頻率為f,則電機的轉(zhuǎn)速為n=60f(r/min) 。 (4) 光電碼盤測速法 光電碼盤測速法是通過測出轉(zhuǎn)速信號的頻率或周期來測量電機轉(zhuǎn)速的一種無接觸測速法。光電碼盤安裝在轉(zhuǎn)子端軸上,隨著電機的轉(zhuǎn)動,光電碼盤也跟著一起轉(zhuǎn)動,如果有一個固定

5、光源照射在碼盤上,則可利用光敏元件來接收到的光的次數(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電平兼容,在電機轉(zhuǎn)軸上裝一個圓盤,圓盤上裝若干對小磁鋼,小磁鋼越多,分辨率越高,霍爾開關(guān)固定在小磁鋼附近,當(dāng)電機轉(zhuǎn)動時,每當(dāng)一個小磁鋼轉(zhuǎn)過霍爾開關(guān),霍爾開關(guān)便輸出一個脈沖,計算出單位時間的脈沖數(shù),即可確定旋轉(zhuǎn)體的轉(zhuǎn)速。 在這五種測速方法中,離心式轉(zhuǎn)速表測速法和測速發(fā)電機測速法所用的都是現(xiàn)成的測速

6、儀表,容易得到。但轉(zhuǎn)速表或測速機都要與電機同軸連接,一方面增加了電機機組安裝難度,另一方面有些微電機功率很小,轉(zhuǎn)速表或測速機消耗的功率占了微電機大部分,更有甚者微電機甚至拖不動這些儀表,所以對微特電機的測速,這二種方法不適用?;魻栐y速法和光電碼盤測速法的測速方法基本類似,都是在轉(zhuǎn)軸上裝一個很輕巧的傳感器,將電機的轉(zhuǎn)動信號通過磁(霍爾元件)或光(光電碼盤)轉(zhuǎn)換為電脈沖,從而通過計算電脈沖的個數(shù)來測速。閃光測速法目前實際應(yīng)用不廣泛,主要是光源的問題。本課題研究的是其中的光電碼盤測速法。 1.3 本論文的研究內(nèi)容 本文針對電機的轉(zhuǎn)速進行測量,以單片機為核心對光電開關(guān)產(chǎn)生的數(shù)字信號進行運算,從

7、而測得電機的轉(zhuǎn)速,然后用1602LCD液晶顯示屏把電機的轉(zhuǎn)速顯示出來。即通過光電開關(guān)將電機的轉(zhuǎn)數(shù)轉(zhuǎn)換成0,1的數(shù)字量,只要轉(zhuǎn)軸每旋轉(zhuǎn)一周,產(chǎn)生一個或固定的多個脈沖,并將脈沖送入單片機中進行計數(shù)和計算,就可獲得轉(zhuǎn)速的信息。 2 系統(tǒng)設(shè)計 系統(tǒng)主要由AT89S52單片機處理系統(tǒng)、電機、傳感器檢測單元、信號處理單元和顯示系統(tǒng)等幾個部分組成,如圖1: 轉(zhuǎn)動系統(tǒng) 信號采集及其處理 單片機處理電路 顯示電路 圖1 系統(tǒng)組成框圖 (1) 轉(zhuǎn)動系統(tǒng) 本設(shè)計中采用對射式光電傳感器測量電機轉(zhuǎn)

8、速。當(dāng)不透光的物體擋住發(fā)射與接收之間的間隙時,開關(guān)管關(guān)斷,反之打開。 測裝置按照發(fā)動機上傳感器的實際安裝位置進行安裝。將信號盤固定在電動機轉(zhuǎn)軸上,光電轉(zhuǎn)速傳感器正對著信號盤。測量頭由光電轉(zhuǎn)速傳感器組成,而且測量頭兩端的距離與信號盤的距離相等。測量用器件封裝后,固定裝在貼近信號盤的位置,當(dāng)信號盤轉(zhuǎn)動時,光電元件即可輸出正負交替的周期性脈沖信號。信號盤旋轉(zhuǎn)一周產(chǎn)生的脈沖數(shù),等于其上的齒數(shù)。因此,脈沖信號的頻率大小就反映了信號盤轉(zhuǎn)速的高低。該裝置的優(yōu)點是輸出信號的幅值與轉(zhuǎn)速無關(guān),而且可測轉(zhuǎn)速范圍大,一般為1r/s~104 r/s以上,精確度高。 (2) 信號采集及其處理 被測物理量經(jīng)過傳感器變

9、換后,變?yōu)殡娮?、電流、電壓、電感等某種電參數(shù)的變化值。為了進行信號的分析、處理、顯示和記錄,須對信號作放大、運算、分析等處理,這就引入了中間變化電路。 (3) 單片機處理電路 用于測量轉(zhuǎn)速的脈沖通過P3.5/T1輸入單片機,用AT89S52的定時計數(shù)器T1對脈沖信號進行計數(shù),用定時計數(shù)器T0進行定時,每10ms產(chǎn)生一個中斷對1602LCD液晶顯示屏進行刷新,產(chǎn)生500個中斷后(即5s),進行一次轉(zhuǎn)速處理,再通過單片機對T1的脈沖數(shù)進行運算轉(zhuǎn)換后,用1602LCD液晶顯示屏顯示電機的轉(zhuǎn)速。 (4) 顯示電路 系統(tǒng)通過1602LCD液晶顯示屏實時顯示電機的轉(zhuǎn)速值。 3 硬件

10、設(shè)計 硬件設(shè)計電路圖如附錄1所示。本系統(tǒng)分為信號采集與處理單元,主控單元以及顯示單元三大部分。 3.1 信號采集及其處理單元 本設(shè)計中采用對射式光電傳感器測量電機轉(zhuǎn)速。當(dāng)不透光的物體擋住發(fā)射與接收之間的間隙時,開關(guān)管關(guān)斷,反之打開??梢灾谱饕粋€遮光葉片如圖2(b)所示,安裝在電機轉(zhuǎn)軸上,當(dāng)葉片轉(zhuǎn)動時,光電開關(guān)產(chǎn)生脈沖信號。當(dāng)葉片數(shù)較多時,旋轉(zhuǎn)一周可以獲得多個脈沖信號。 假設(shè)系統(tǒng)采用10個葉片,在一秒鐘的內(nèi)產(chǎn)生了100脈沖,則電機的轉(zhuǎn)速就為10r/s。 (a)傳感器 (b)轉(zhuǎn)盤 圖2 傳感器及轉(zhuǎn)盤 3.1.1 轉(zhuǎn)

11、速測量原理 本設(shè)計采用頻率測量法,其測量原理為,在固定的測量時間內(nèi),計取轉(zhuǎn)速傳感器發(fā)生的脈沖個數(shù)(即頻率),從而算出實際轉(zhuǎn)速。設(shè)固定的測量時間T (min),計數(shù)器計取的脈沖個數(shù)m1,假定脈沖發(fā)生器每轉(zhuǎn)輸出p個脈沖,對應(yīng)被測轉(zhuǎn)速為N(r/min),就可算出實際轉(zhuǎn)速值N = 60m1/ pT。 3.1.2 檢測裝置安裝 此檢測裝置按照發(fā)動機上傳感器的實際安裝位置進行安裝。如圖3,將信號盤固定在電動機轉(zhuǎn)軸上,光電轉(zhuǎn)速傳感器正對著信號盤。光電轉(zhuǎn)速傳感器接有4根導(dǎo)線,用于連接發(fā)光二極管和光敏三極管,其中發(fā)光二極管的紅線連接其正極,綠線連接其負極,光敏三級管的紅線連接其集電極,綠線連接其發(fā)射極。

12、測量頭由光電轉(zhuǎn)速傳感器組成,而且測量頭兩端的距離與信號盤的距離相等。測量用器件封裝后,固定裝在貼近信號盤的位置,當(dāng)信號盤轉(zhuǎn)動時,光電元件即可輸出正負交替的周期性脈沖信號。信號盤旋轉(zhuǎn)一周產(chǎn)生的脈沖數(shù),等于其上的齒數(shù)。因此,脈沖信號的頻率大小就反映了信號盤轉(zhuǎn)速的高低。該裝置的優(yōu)點是輸出信號的幅值與轉(zhuǎn)速無關(guān),而且可測轉(zhuǎn)速范圍大,一般為1r/s~104 r/s以上,精確度高。 圖3 轉(zhuǎn)速檢測裝置 3.1.3 信號處理電路 被測物理量經(jīng)過傳感器變換后,變?yōu)殡娮?、電流、電壓、電感等某種電參數(shù)的變化值。為了進行信號的分析、處理、顯示和記錄,須對信號作放大、運算、分析等處理,這就引入了中間變化電路

13、。根據(jù)系統(tǒng)需要設(shè)計了如圖4所示的中間變換電路。其中,R1、R4 起限流作用,R2 起分流作用,R3 為輸出電阻。當(dāng)轉(zhuǎn)盤上的梯形孔旋轉(zhuǎn)至與光電開關(guān)的透光位置重合時,輸出低電平;當(dāng)通光孔被遮住時,輸出高電平。 圖4 電路圖 目前,光電開關(guān)已被用作物位檢測、液位控制、產(chǎn)品計數(shù)、寬度判別、速度檢測、定長剪切、孔洞識別、信號延時、自動門傳感、色標(biāo)檢出、沖床和剪切機以及安全防護等諸多領(lǐng)域。此外,利用紅外線的隱蔽性,還可在銀行、倉庫、商店、辦公室以及其它需要的場合作為防盜警戒之用。 光電開關(guān)把發(fā)射端和接收端之間光的強弱變化轉(zhuǎn)化為電流的變化以達到探測的目的。由于光電開關(guān)輸出回路和輸入回路是電隔離的(

14、即電緣絕),所以它可以在許多場合得到應(yīng)用。光電傳感器具有線性度好、分辨率高、噪音小和精度高、無觸點、無機械碰撞、響應(yīng)快、控制精度高,而且能識別色標(biāo)等優(yōu)點,在此我們選擇光電轉(zhuǎn)速傳感器來進行轉(zhuǎn)速的檢測。 3. 光電開關(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)過且完

15、全阻斷光線時,光電開關(guān)就產(chǎn)生了檢測開關(guān)信號。 (3)對射式光電開關(guān):它包含了在結(jié)構(gòu)上相互分離且光軸相對放置的發(fā)射器和接收器,發(fā)射器發(fā)出的光線直接進入接收器,當(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)比較適合檢測高速運動的物體,并且它能分辨透明與半透明物體,使用安全可靠。 (5)光纖式光電開關(guān):它采用塑料或玻璃光纖傳感器來引導(dǎo)光

16、線,可以對距離遠的被檢測物體進行檢測。通常光纖傳感器分為對射式和漫反射式。 本課題中使用的光電開關(guān)是根據(jù)光敏二極管工作原理制造的一種感應(yīng)接收光強度變化的器件,當(dāng)它發(fā)出的光被目標(biāo)反射或阻斷時,則接收器感應(yīng)出相應(yīng)的電信號。它包含調(diào)制光源,由光敏元件等組成的光學(xué)系統(tǒng)、放大器、開關(guān)或模擬量輸出裝置,其工作原理如圖5所示。光電式傳感器由獨立且相對放置的光發(fā)射器和收光器組成。當(dāng)目標(biāo)通過光發(fā)射器和收光器之間并阻斷光線時,傳感器輸出信號。它是效率最高、最可靠的檢測裝置。槽形(U形)光電開關(guān)是對射式的變形,其優(yōu)點是無須調(diào)整光軸。 圖5 光電傳感器原理圖 3.2主

17、控單元 如下圖所示,X1為12MHz的晶振,9口為復(fù)位接口,通過開關(guān)控制。用于測量轉(zhuǎn)速的脈沖通過P3.5/T1輸入單片機,用AT89S52的定時計數(shù)器T1對脈沖信號進行計數(shù),用定時計數(shù)器T0進行定時,每10ms產(chǎn)生一個中斷對1602LCD液晶顯示屏進行刷新,產(chǎn)生100個中斷后(即1s),進行一次轉(zhuǎn)速處理,再通過單片機對T1的脈沖數(shù)進行運算轉(zhuǎn)換后,用1602LCD液晶顯示屏顯示電機的轉(zhuǎn)速。如圖8所示: 圖8 AT89S52單片機處理電路 3.2.1 時鐘電路 單片機各功能部件的運行都是以時鐘

18、控制信號為基準(zhǔn),有條不紊地一拍一拍地工作。因此,時鐘頻率直接影響單片機的速度,時鐘電路的質(zhì)量也直接影響單片機系統(tǒng)的穩(wěn)定性。本設(shè)計中此采用內(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)成此單片機的自激振蕩器。

19、 圖9 時鐘電路連接圖 3.2.2 復(fù)位電路 單片機的RST引腳為復(fù)位(Reset)端。當(dāng)單片機振蕩器工作時,該引腳上出現(xiàn)持續(xù)兩個機器周期的低電平,就可以實現(xiàn)系統(tǒng)復(fù)位,使單片機回到初始狀態(tài)。如圖10所示,本設(shè)計采用手動復(fù)位,用一個電容與一個10K電阻串聯(lián)組成,電阻接VCC,電容接地,RESET腳接在它們中間,RC選擇10uF,按鍵與200R電阻串聯(lián),在電容兩端并聯(lián),就成了按鍵復(fù)位電路,未上電時,RST端為高電平,只要按下這個按鍵,RST端轉(zhuǎn)換為低電平,經(jīng)過兩個機器周期后,單片機就能復(fù)位。 圖10 AT89S52單片機處理電路 3.2.3 AT89S52單片機介紹

20、   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單片機產(chǎn)品兼容 (2)8K字節(jié)在系統(tǒng)可編程Flash存儲器 (3)1000次擦寫周期 (4)全靜態(tài)操作:0Hz~33Hz (5)三級加密程序存儲器 (6)

21、32個可編程I/O口線 (7)三個16位定時器/計數(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端

22、口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在 flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。 P1 口:P1 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和時器/計數(shù)器2的觸

23、發(fā)輸入(P1.1/T2EX),具體如下表所示。在flash編程和校驗時,P1口接收低8位地址字節(jié)。 引腳號 第二功能 P1.0 :T2(定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出 P1.1 :T2EX(定時器/計數(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)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于

24、內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX @DPTR)時,P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX @RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。 P3 口:P3 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流

25、(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用。在flash編程和校驗時,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 個機器周期高電平將使單片機復(fù)位。看門狗計時完成后,RST 腳輸出96 個晶振周期的高電平。特殊寄存器AUXR(地址8E

26、H)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。 ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”, ALE 僅在執(zhí)行MOVX 或MOVC指令時有效。否則,ALE 將被微弱拉高。這個ALE 使能標(biāo)志位(地址為8EH的SF

27、R的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。 PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。當(dāng) AT89S52從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部數(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 定時與計數(shù)設(shè)計

28、 根據(jù)設(shè)計需要選擇方式1比較合適,當(dāng)M1、M0為01時,定時器/計數(shù)器工作于方式1,這時定時器/計數(shù)器的等效電路如圖6所示: 圖6 定時/計數(shù)器方式1邏輯結(jié)構(gòu)框圖 此時,定時/計數(shù)器為16位的計數(shù)器,由TLX(X=0,1)的低5位和THX的高8位組成。TLX低5位溢出則向THX進位,THX計數(shù)溢出則置位TCON中的溢出標(biāo)志位TFX。系統(tǒng)選擇定時/計數(shù)方式1,以T1作為計數(shù)器對光電開關(guān)產(chǎn)生的脈沖進行計數(shù),用T0作為定時器,每10ms產(chǎn)生一定時中斷對1602LCD液晶顯示屏進行刷新,產(chǎn)生100次中斷后,對T1接受到的脈沖數(shù)進行計算處理,得出轉(zhuǎn)速。 (1)用于定時工作方式,其定時時間為:

29、 T=(216-t1的初值)×振蕩周期×12 此設(shè)計采用的是12MHz的晶振,定時器T0定時為10ms,將參數(shù)帶入公式 : t1=65536-10000=55536; 換成十六進制,則t1=0xd8f0 ; 所以對于定時器T0有,TMOD = 0x01;TH0 = 0xd8;TL0 = 0xf0; (2)用于計數(shù)工作方式,計數(shù)長度為: 216=65536(個外部脈沖) 由此可知規(guī)定時間(1s)內(nèi)外部脈沖個數(shù)不超過65536即可。 定時/計數(shù)器的結(jié)構(gòu) 定時/計數(shù)器的實質(zhì)是加1計數(shù)器(16位),由高8位和低8位兩個寄存器組成。TMOD是定時

30、/計數(shù)器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動和停止及設(shè)置溢出標(biāo)志。定時/計數(shù)器結(jié)構(gòu)如圖7所示: 圖7 定時/計數(shù)器結(jié)構(gòu) 定時/計數(shù)器的控制 AT89S52單片機定時/計數(shù)器的工作由兩個特殊功能寄存器控制。TMOD用于設(shè)置其工作方式;TCON用于控制其啟動和中斷申請。 1.工作方式寄存器TMOD 工作方式寄存器TMOD用于設(shè)置定時/計數(shù)器的工作方式,低四位用于T0,高四位用于T1。其格式如下: 表1 工作方式寄存器TMOD格式 GATE:門控位。 GATE=0時,以運行控制位TRX(X=0,1)來啟動定時/計數(shù)器運行;

31、GATA=1時,要用軟件使TR0或TR1為1,同時外部中斷引腳或也為高電平時,才能啟動定時/計數(shù)器工作; C/T計數(shù)器模式和定時器模式選擇位 C/T=1時,選擇計數(shù)器模式,計數(shù)器對外部輸入引腳T0(P3.4)或T1(P3.5)的外部脈沖計數(shù); C/T=0時,選擇定時器模式。 M1M0:工作方式設(shè)置位。定時/計數(shù)器有四種工作方式,由M1M0進行設(shè)置。 表 2 M1M0工作方式 2.控制寄存器TCON TCON的低4位用于控制外部中斷,已在前面介紹。TCON的高4位用于控制定時/計數(shù)器的啟動和中斷申請。其格式如下: 表 3 控制寄存器TCON格式 位 7 6

32、5 4 3 2 1 0 字節(jié)地址:88H TF1 TR1 TF0 TR0 TCON TF1(TCON.7): T1溢出中斷請求標(biāo)志位。T1計數(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運行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時/計數(shù)器的啟動與停止。 TF0(TCON.5): T0溢

33、出中斷請求標(biāo)志位,其功能與TF1類同。 TR0(TCON.4): T0運行控制位,其功能與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),定時/計數(shù)器T0中斷允許位; § EX1(IE.2),外部中斷0允許位; § ET1(IE.3),定時/計數(shù)器T1中斷允許位; § ES(IE.4),串行口

34、中斷允許位; § EA (IE.7), CPU中斷允許(總允許)位。 3.3 顯示單元 3.3.1 LCD原理 各種圖形的顯示原理 線段的顯示:點陣圖形式液晶由M×N個顯示單元組成,假設(shè)LCD顯示屏有64行,每行有128列,每8列對應(yīng)1字節(jié)的8位,即每行由16字節(jié),共16×8=128個點組成,屏上64×16個顯示單元與顯示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個點;當(dāng)(3FFH)=FFH時,則屏幕的右下角顯示

35、一條短亮線;當(dāng)(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H時,則在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是LCD顯示的基本原理。 字符的顯示:LCD顯示一個字符時比較復(fù)雜,因為一個字符由6×8或8×8點陣組成,既要找到和顯示屏幕上某幾個位置對應(yīng)的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點亮,為“0”的不亮。這樣一來就組成某個字符。但由于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)找出顯示R

36、AM對應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對應(yīng)的代碼即可。 漢字的顯示:字的顯示一般采用圖形的方式,事先從微機中提取要顯示的漢字的點陣碼(一般用字模提取軟件),每個漢字占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è)計選用了1602型LCD。字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點陣式LCD,目前常用16*1,16*2,20

37、*2和40*2行等的模塊。下面以1602字符型液晶顯示器為例,介紹其用法。一般1602字符型液晶顯示器實物如圖。 圖12 1602LCD的基本參數(shù)及引腳功能 1602LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無差別,兩者尺寸差別如下圖 圖13 1602LCD分為帶背光和不帶背光 (1)LCD1602主要技術(shù)參數(shù): 顯示容量:16×2個字符 芯片工作電壓:4.5—5.5V 工作電流:2.0mA(5.0V) 模塊最佳工作電壓:5.0V 字符尺寸:2.95×4.35(W×H)mm (2)引腳功

38、能說明 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 背光源負極 第1

39、腳:VSS為地電源。 第2腳:VDD接5V正電源。 第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。 第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。 第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當(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

40、為8位雙向數(shù)據(jù)線。 第15腳:背光源正極。 第16腳:背光源負極。 3.3.2 液晶顯示模塊電路 圖14是液晶模塊LCD1602與單片機的接口電路。液晶模塊的1腳和2腳分別接入電源的地和電源。3~10腳分別接單片機的8個P2口。11、13腳接單片機P3.0、P3.2,12腳接地,表示LCD的使能,是讀取還是寫入信號,是傳輸數(shù)據(jù)還是將指令由單片機內(nèi)部程序作用實現(xiàn)。14腳通過一個10K可調(diào)電阻接地,使得LCD的顯示的對比度適中,防止由于對比度過高產(chǎn)生“鬼影”。 圖14 1602液晶顯示模塊電路原理圖 4 軟件設(shè)計 4.1 語言的選用 本設(shè)計中采用的處理器是AT

41、89S52單片機,由此可采用面向MCS-51的程序設(shè)計語言,包括ASM51匯編語言和C51高級語言,這兩種語言各有特點。匯編語言更接近機器語言,常用來編制與系統(tǒng)硬件相關(guān)的程序,如訪問I/O端口、中斷處理程序、實時控制程序、實時通信程序等;而數(shù)學(xué)運算程序則適合用C51高級語言編寫,因為用高級語言編寫運算程序可提高編程效率和應(yīng)用程序的可靠性。 C語言是一種通用的計算機程序設(shè)計語言,在國際上十分流行,它即可用來編寫計算機系統(tǒng)程序,也可以用來編寫一般的應(yīng)用程序。以前計算機的系統(tǒng)軟件主要是用匯編語言編寫的,對于單片機應(yīng)用系統(tǒng)來說更是如此。由于匯編語言程序的可讀性和可移植性都較差,采用匯編語言編寫單片

42、機應(yīng)用程序的周期長,而且調(diào)試和排錯也比較困難。C語言具有很好的可移植性和硬件控制能力,表達和運算能力也較強。它具有以下特點: 1. 語言簡潔,使用方便靈活。 2. 可移植性好。 3. 表達能力強。 4. 表達方式靈活。 5. 可進行架構(gòu)化程序設(shè)計。 6. 可以直接操作計算機硬件。 7. 生成的目標(biāo)代碼質(zhì)量高。 為了提高編制計算機系統(tǒng)和應(yīng)用程序的效率,改善程序的可讀性和可移植性,在此采用高級語言編程。 4.2 程序設(shè)計流程圖 本系統(tǒng)用計數(shù)程序采集信號脈沖,用定時器產(chǎn)生中斷,對1602LCD液晶顯示屏刷新和緩沖區(qū)數(shù)據(jù)進行更新,輔以1602LCD液晶顯示屏進行顯示。計數(shù)程序流程如

43、圖15;定時顯示程序流程如圖16。 開始 初始化計數(shù)器T1 計數(shù)脈沖 Flag_clac=1? N 按公式: 轉(zhuǎn)速=60*脈沖數(shù)/(齒輪數(shù)*T) 計算數(shù)據(jù) 數(shù)據(jù)緩沖區(qū) 圖1

44、5 脈沖計數(shù)程序流程圖 程序說明:將定時器設(shè)置為方式1,對外部脈沖進行計數(shù),并判斷Flag_clac的值。當(dāng)Flag_calc=1時,將脈沖的數(shù)值由十六進制轉(zhuǎn)換成十進制,按轉(zhuǎn)速轉(zhuǎn)換公式轉(zhuǎn)換后,載入數(shù)據(jù)緩沖區(qū)。 初始化 定時 10ms? T=500? Flag_clac=1 數(shù)據(jù)緩沖區(qū) 顯示 時間計數(shù)清零T=0 產(chǎn)生定時中斷 開始 時間計數(shù)T++ N Y

45、 圖16 定時顯示程序流程圖 程序說明:定時器設(shè)置為方式1,定時10ms。當(dāng)定時達到10ms時,產(chǎn)生中斷,對1602LCD液晶顯示屏進行刷新,顯示轉(zhuǎn)速,并使時間計數(shù)標(biāo)志T加1。當(dāng)時間計數(shù)標(biāo)志T=500時,使Flag_calc置1,取出計數(shù)器在此

46、時間內(nèi)計算的脈沖數(shù),通過轉(zhuǎn)速計算程序計算得出轉(zhuǎn)速值后,存入數(shù)據(jù)緩沖區(qū),供1602LCD液晶顯示屏顯示使用。 5 系統(tǒng)仿真與電路調(diào)試 5.1 系統(tǒng)仿真 系統(tǒng)結(jié)合Keil uVersion3.0和偉福進行編譯,通過Proteus來仿真。 5.1.1 程序編譯 與以往的80C51單片機不同,AT89S52具有在線調(diào)試和下載功能,它由支持AT89S52的開發(fā)工具包Keil uVersion2.0開發(fā)系統(tǒng)來提供。也就是說,在用戶系統(tǒng)保留AT89S52的情況下,通過開發(fā)系統(tǒng)與AT89S52的串行接口通信,直接對用戶系統(tǒng)進行調(diào)試,并在調(diào)試完成后將調(diào)試好的程序下載到AT89S52中。Keil uVe

47、rsion3.0開發(fā)系統(tǒng)提供四項功能:編譯、下載、調(diào)試和模擬,分別由Keil uVersion2.0提供的編譯器、在線串行下載器、調(diào)試器和模擬器來實現(xiàn)。Keil uVersion2.0編譯器可在Windows操作系統(tǒng)下直接使用,編譯C語言源程序,并生成16進制文件和列表文件。調(diào)試器采用Windows系統(tǒng),允許用戶使用AT89S52的UART串行接口在芯片上調(diào)試代碼執(zhí)行。在典型調(diào)試對話中,調(diào)試器提供對片內(nèi)所有外圍設(shè)備的訪問、單步和設(shè)置斷點的代碼執(zhí)行控制方式。模擬器采用Windows系統(tǒng),能完全模擬AT89S52的所有功能。模擬器使用簡單,結(jié)合了許多標(biāo)準(zhǔn)調(diào)試特征,包括多斷點、單步以及代碼執(zhí)行跟蹤等

48、能力。 同樣偉福仿真器是國內(nèi)較好的仿真器之一,它能夠仿真的CPU品種多、功能強。通過更換仿真頭POD,可以對不同的CPU進行仿真。可仿真51系列,196系列,PIC系列,飛利蒲公司的552、LPC764、DALLAS320,華邦438等51增強型CPU。由于偉福編譯過程沒有Keil uVersion2.0那么繁瑣,能對程序進行直接編譯,省去了建立和設(shè)置工程等步驟,使用方便、快捷。所以本設(shè)計以Keil uVersion2.0為基礎(chǔ),運用偉福來編譯程序。 5.1.2 電路仿真 仿真部分運用Proteus仿真軟件來實現(xiàn),Proteus 軟件是一款強大的單片機仿真軟件,它除了具有和其他工具一樣的

49、原理編輯、印制電路板(PCB)自動或人工布線及電路仿真外,最大的特色是其電路仿真是交互的、可視化的。對于單片機學(xué)習(xí)和開發(fā)幫助極大。Proteus ISIS 是英國Lab center 公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和數(shù)字集成電路,包括單片機。 通過Proteus可以繪制硬件原理圖,并設(shè)置元件參數(shù);為單片機及其程序以及外部接口電路的仿真提供可能,驗證設(shè)計的可行性與合理性;還可以為連接實際的硬件電路做好準(zhǔn)備;如有必要時,可以利用它來設(shè)計電路板。 5.2 電路調(diào)試 通過葉片在對射式傳感器間轉(zhuǎn)動,得到光電開關(guān)產(chǎn)生脈沖信

50、號,再經(jīng)過脈沖信號處理電路,輸入單片機的T1外部脈沖計數(shù)口(即P3.5口),由單片機處理得出轉(zhuǎn)速后,連接4連1602LCD液晶顯示屏顯示轉(zhuǎn)速。對電機的轉(zhuǎn)速進行測量,以單片機為核心對光電開關(guān)產(chǎn)生的數(shù)字信號進行運算,從而測得電機的轉(zhuǎn)速,然后用1602LCD液晶顯示屏把電機的轉(zhuǎn)速顯示出來。即通過光電開關(guān)將電機的轉(zhuǎn)數(shù)轉(zhuǎn)換成0,1的數(shù)字量,只要轉(zhuǎn)軸每旋轉(zhuǎn)一周,產(chǎn)生一個或固定的多個脈沖,并將脈沖送入單片機中進行計數(shù)和計算,就可獲得轉(zhuǎn)速的信息,實物圖如下。 圖17 實物圖 圖17中1602LCD液晶顯示屏上有兩組數(shù)字,上排為轉(zhuǎn)速,如圖7n/s,下排為預(yù)設(shè)值,如圖是8/s,如轉(zhuǎn)速小于預(yù)設(shè)值,則蜂鳴

51、器不會報警,反正成立,如圖18 圖18 實物圖 圖19實物圖 6 小結(jié) 本設(shè)計采用光電開關(guān)測速法,利用對射式光電開關(guān)采集轉(zhuǎn)速信號,通過信號處理電路得到適合的脈沖后,輸入單片機進行處理、計算,得出實際的轉(zhuǎn)速值,輔以1602LCD液晶顯示屏顯示。此系統(tǒng)實現(xiàn)了設(shè)計的要求: (1)光電開關(guān)與電機轉(zhuǎn)換平臺簡單適用 (2)采集電路能實時采集轉(zhuǎn)速信息 (3)單片機處理系統(tǒng)運算快速簡單,程序可讀性強,條理分明,能形成獨立模塊以便于其他類似系統(tǒng)的計算 (4)1602LCD液晶顯示屏為主體的人機界面能準(zhǔn)確顯示速度值 本設(shè)計存在的問題: (1)系統(tǒng)選擇位數(shù)最多的定

52、時/計數(shù)器工作方式1(為16位),但仍有其局限性。此計數(shù)器的最大計數(shù)脈沖數(shù)為63336(216),若每秒鐘計算一次,則當(dāng)1秒內(nèi)外部脈沖的輸入數(shù)超過65536個時,計數(shù)器會溢出,從而產(chǎn)生中斷,使得測出的轉(zhuǎn)速值小于實際的轉(zhuǎn)速值。根據(jù)轉(zhuǎn)速計算方法(若轉(zhuǎn)盤齒數(shù)為10),Vmax=65536*60s/(10*1)=39321r/min,所以本系統(tǒng)不能測量范圍不能超過此值。 (2)通過T1計數(shù)時,單片機每讀取一個脈沖至少需要3個機器周期的時間來完成。本系統(tǒng)采用的晶振為12MHz,所以一個機器周期Tcy=12/f=1us。若要使單片機準(zhǔn)確讀取外部脈沖,則脈沖的輸入周期不能超過3us。如此可計算(轉(zhuǎn)盤齒數(shù)為

53、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ù)值。 針對存在的問題,可以采取以下方法改進: (1)采用時鐘頻率更高、定時/計數(shù)器位數(shù)更多的單片機來處理脈沖,現(xiàn)某些高速單片機可達到40MHz的處理速度,可以大大提高測速范圍。 (2)應(yīng)用反應(yīng)速度更快的傳感器來做光電開關(guān)?,F(xiàn)在高速光電開關(guān)的響應(yīng)速度可達到0.1ms,每分鐘可進行30萬次檢測操作,這樣就能檢出高速轉(zhuǎn)動的微小物體。 綜上所述,在測速過程中,雖然由于硬件

54、的緣故,未能實現(xiàn)對高速的測量,但本裝置結(jié)構(gòu)簡單、實用,在降低測速器成本,提高測速穩(wěn)定性及可靠性等方面有一定價值,而且可以達到一般工業(yè)測速的測量標(biāo)準(zhǔn),具有廣泛的前景。 附錄1 原理圖 附錄2 源程序 #include #include #define uchar unsigned char #define uint unsigned int sbit lcden=P2^6;//定義1602使能端 sbit lcdrs=P2^4; s

55、bit lcdrw=P2^5; sbit a=P1^0;//對射傳感器的信號輸出端 sbit add=P3^4;//按鍵加一變量 sbit jian=P3^5;//按鍵減一變量 sbit bj=P2^3;//蜂鳴器端口 char zhuan[16];//設(shè)置臨時數(shù)組 uint num2;//每秒的轉(zhuǎn)速 uint number=7;//設(shè)定轉(zhuǎn)速的初值,在其基礎(chǔ)上按鍵加一或按鍵減一 uint num=0;//轉(zhuǎn)數(shù)變量 void Init_Timer0(void); void delay(uint z)//延遲函數(shù) { uint x,y; for(x=z;x>0

56、;x--) for(y=110;y>0;y--); } void write_com(uchar com)//1602寫命令 { lcdrs=0; P0=com; delay(5); lcden=1; delay(5); lcden=0; } void write_date(uchar date)//1602寫數(shù)據(jù) { lcdrs=1; lcden=1; P0=date; delay(5); lcden=0; } void LCD_Write_String(uchar x,uchar y,uchar *s) //向160

57、2寫字符串 { if (y == 0) { write_com(0x80 + x); //表示第一行 } else { write_com(0xC0 + x); //表示第二行 } while (*s) { write_date( *s); s++; } } void LCD_Write_Char(uchar x,uchar y,uchar Data) //向1602寫字符 { if (y =

58、= 0) { write_com(0x80 + x); } else { write_com(0xC0 + x); } write_date( Data); } void init() //初始化 { bj=0; //蜂鳴器初始化 write_com(0x01); //1602初始化 lcdrw=0; lcden=0; write_com(0x38); write_com(0x0e); write_com(0x06); LCD

59、_Write_Char(13,0,'n'); LCD_Write_Char(14,0,'/'); LCD_Write_Char(15,0,'s'); LCD_Write_Char(13,1,'n'); LCD_Write_Char(14,1,'/'); LCD_Write_Char(15,1,'s'); } void main() { init(); while(1) { if(a==1)//對射傳感器檢測障礙物 {num++;//計轉(zhuǎn)數(shù) while(a);} sprintf(zhuan,"zhuansu%2d",nu

60、m); LCD_Write_String(0,0,zhuan); Init_Timer0();//定時1s sprintf(zhuan,"zhuansu %2d",num2);//輸出一秒的轉(zhuǎn)速 LCD_Write_String(0,0,zhuan); if(num2>=number)//轉(zhuǎn)速超過設(shè)定值報警 bj=1; if(num2

61、 if(!add) { number=number+1; sprintf(zhuan,"yushe %7d",number);//打印溫度值 LCD_Write_String(0,1,zhuan);//顯示第二行 while(!add); } } if(!jian) { //按下相應(yīng)的按鍵,1602LCD液晶顯示屏顯示相應(yīng)的碼值 delay(5);

62、if(!jian) { number--; sprintf(zhuan,"yushe %7d",number);//打印溫度值 LCD_Write_String(0,1,zhuan);//顯示第二行 while(!jian); } } } } void Init_Timer0(void) { TMOD |= 0x01; //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響

63、//TH0=0x00; //給定初值 //TL0=0x00; EA=1; //總中斷打開 ET0=1; //定時器中斷打開 TR0=1; //定時器開關(guān)打開 } /*------------------------------------------------ 定時器中斷子程序 ------------------------------------------------*/ void Timer0_isr(void) interrupt 1 { static unsigned int num1; TH0=(65536-2000)/256; //重新賦值 2ms TL0=(65536-2000)%256; num1++; if(num1==500) //計時1s { num1=0; num2=num; num=0; //讀標(biāo)志位置1 } }

展開閱讀全文
溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!