《光電傳感器測速》word版

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

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

9.9 積分

下載資源

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

資源描述:

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

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

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

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

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

5、光源照射在碼盤上,則可利用光敏元件來接收到的光的次數(shù)就是碼盤的編碼數(shù)[6]。若編碼數(shù)為60,測量時間為t,測量到的脈沖數(shù)為N,則n=N/t。 (5) 霍爾元件測速法 霍爾元件測速法是利用霍爾開關元件測轉速的?;魻栭_關元件內含穩(wěn)壓電路、霍爾電勢發(fā)生器、放大器、施密特觸發(fā)器和輸出電路。輸出電平與TTL電平兼容,在電機轉軸上裝一個圓盤,圓盤上裝若干對小磁鋼,小磁鋼越多,分辨率越高,霍爾開關固定在小磁鋼附近,當電機轉動時,每當一個小磁鋼轉過霍爾開關,霍爾開關便輸出一個脈沖,計算出單位時間的脈沖數(shù),即可確定旋轉體的轉速。 在這五種測速方法中,離心式轉速表測速法和測速發(fā)電機測速法所用的都是現(xiàn)成的測速

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

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

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

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

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

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

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

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

14、即電緣絕),所以它可以在許多場合得到應用。光電傳感器具有線性度好、分辨率高、噪音小和精度高、無觸點、無機械碰撞、響應快、控制精度高,而且能識別色標等優(yōu)點,在此我們選擇光電轉速傳感器來進行轉速的檢測。 3. 光電開關有以下幾種類型 (1)漫反射式光電開關:它是一種集發(fā)射器和接收器于一體的傳感器,當有被檢測物體經(jīng)過時,物體將光電開關發(fā)射器發(fā)射的足夠量的光線反射到接收器,于是光電開關就產(chǎn)生了開關信號。當被檢測物體的表面光亮或其反光率極高時,漫反射式的光電開關是首選的檢測模式 (2)鏡反射式光電開關:它亦集發(fā)射器與接收器于一體,光電開關發(fā)射器發(fā)出的光線經(jīng)過反射鏡反射回接收器,當被檢測物體經(jīng)過且完

15、全阻斷光線時,光電開關就產(chǎn)生了檢測開關信號。 (3)對射式光電開關:它包含了在結構上相互分離且光軸相對放置的發(fā)射器和接收器,發(fā)射器發(fā)出的光線直接進入接收器,當被檢測物體經(jīng)過發(fā)射器和接收器之間且阻斷光線時,光電開關就產(chǎn)生了開關信號。當檢測物體為不透明時,對射式光電開關是最合適的檢測裝置。 (4)槽式光電開關:它通常采用標準的U字型結構,其發(fā)射器和接收器分別位于U型槽的兩邊,并形成一光軸,當被檢測物體經(jīng)過U型槽且阻斷光軸時,光電開關就產(chǎn)生了開關量信號。槽式光電開關比較適合檢測高速運動的物體,并且它能分辨透明與半透明物體,使用安全可靠。 (5)光纖式光電開關:它采用塑料或玻璃光纖傳感器來引導光

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

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

18、控制信號為基準,有條不紊地一拍一拍地工作。因此,時鐘頻率直接影響單片機的速度,時鐘電路的質量也直接影響單片機系統(tǒng)的穩(wěn)定性。本設計中此采用內部時鐘方式,如圖9所示,以石英晶體振蕩器和兩個片電容組成外部振蕩源。片內的高增益反相放大器通過XTAL1、XTAL2外接,作為反饋元件的片外晶體振蕩器與電容組成的并聯(lián)諧振回路構成一個自激振蕩器,向內部時鐘電路提供振蕩時鐘。振蕩器的頻率取決于晶振的振蕩頻率,振蕩頻率范圍為1.2—12MHz。工程應用時通常采用6MHz或12MHz。圖中X1為12MHz,電容C2、C4為33pF,它們一起構成此單片機的自激振蕩器。

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

20、   AT89S52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應用系統(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)掉電標識符 引腳功能 圖11 AT89S52引腳圖 VCC : 電源 GND : 地 P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏輯電平。對P0端

22、口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復用。在這種模式下,P0具有內部上拉電阻。在 flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。 P1 口:P1 口是一個具有內部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅動4 個TTL 邏輯電平。對P1 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(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 口是一個具有內部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅動4 個TTL 邏輯電平。對P2 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于

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

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: 復位輸入。晶振工作時,RST腳持續(xù)2 個機器周期高電平將使單片機復位。看門狗計時完成后,RST 腳輸出96 個晶振周期的高電平。特殊寄存器AUXR(地址8E

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

27、R的第0位)的設置對微控制器處于外部執(zhí)行模式下無效。 PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。當 AT89S52從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,PSEN將不被激活。 EA/VPP:訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執(zhí)行內部程序指令,EA應該接VCC。在flash編程期間,EA也接收12伏VPP電壓。 XTAL1:振蕩器反相放大器和內部時鐘發(fā)生電路的輸入端。 XTAL2:振蕩器反相放大器的輸出端。 3.2.4 定時與計數(shù)設計

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

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

30、/計數(shù)器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動和停止及設置溢出標志。定時/計數(shù)器結構如圖7所示: 圖7 定時/計數(shù)器結構 定時/計數(shù)器的控制 AT89S52單片機定時/計數(shù)器的工作由兩個特殊功能寄存器控制。TMOD用于設置其工作方式;TCON用于控制其啟動和中斷申請。 1.工作方式寄存器TMOD 工作方式寄存器TMOD用于設置定時/計數(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ù)器有四種工作方式,由M1M0進行設置。 表 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溢出中斷請求標志位。T1計數(shù)溢出時由硬件自動置TF1為1。CPU響應中斷后TF1由硬件自動清0。T1工作時,CPU可隨時查詢TF1的狀態(tài)。所以,TF1可用作查詢測試的標志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。 TR1(TCON.6): T1運行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時/計數(shù)器的啟動與停止。 TF0(TCON.5): T0溢

33、出中斷請求標志位,其功能與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個顯示單元組成,假設LCD顯示屏有64行,每行有128列,每8列對應1字節(jié)的8位,即每行由16字節(jié),共16×8=128個點組成,屏上64×16個顯示單元與顯示RAM區(qū)1024字節(jié)相對應,每一字節(jié)的內容和顯示屏上相應位置的亮暗對應。例如屏的第一行的亮暗由RAM區(qū)的000H——00FH的16字節(jié)的內容決定,當(000H)=FFH時,則屏幕的左上角顯示一條短亮線,長度為8個點;當(3FFH)=FFH時,則屏幕的右下角顯示

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

36、AM對應的地址,設立光標,在此送上該字符對應的代碼即可。 漢字的顯示:字的顯示一般采用圖形的方式,事先從微機中提取要顯示的漢字的點陣碼(一般用字模提取軟件),每個漢字占32B,分左右兩半,各占16B,左邊為1、3、5……右邊為2、4、6……根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)可找出顯示RAM對應的地址,設立光標,送上要顯示的漢字的第一字節(jié),光標位置加1,送第二個字節(jié),換行按列對齊,送第三個字節(jié)……直到32B顯示完就可以LCD上得到一個完整漢字 。 本設計選用了1602型LCD。字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點陣式LCD,目前常用16*1,16*2,20

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

38、能說明 1602LCD采用標準的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為液晶顯示器對比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調整對比度。 第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。 第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。 第6腳:E端為使能端,當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ù)還是將指令由單片機內部程序作用實現(xiàn)。14腳通過一個10K可調電阻接地,使得LCD的顯示的對比度適中,防止由于對比度過高產(chǎn)生“鬼影”。 圖14 1602液晶顯示模塊電路原理圖 4 軟件設計 4.1 語言的選用 本設計中采用的處理器是AT

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

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

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

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

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

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

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

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

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

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

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

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

53、10),系統(tǒng)能測量的轉速需低于:Vmax=60s/(3us*10)=6000000r/min。 (3)此外,光電開關的反應速度也會對轉速測量值的大小產(chǎn)生影響。若轉速過快,則光電開關來不及處理,這樣會造成測速不準,甚至測不出數(shù)值。 針對存在的問題,可以采取以下方法改進: (1)采用時鐘頻率更高、定時/計數(shù)器位數(shù)更多的單片機來處理脈沖,現(xiàn)某些高速單片機可達到40MHz的處理速度,可以大大提高測速范圍。 (2)應用反應速度更快的傳感器來做光電開關。現(xiàn)在高速光電開關的響應速度可達到0.1ms,每分鐘可進行30萬次檢測操作,這樣就能檢出高速轉動的微小物體。 綜上所述,在測速過程中,雖然由于硬件

54、的緣故,未能實現(xiàn)對高速的測量,但本裝置結構簡單、實用,在降低測速器成本,提高測速穩(wěn)定性及可靠性等方面有一定價值,而且可以達到一般工業(yè)測速的測量標準,具有廣泛的前景。 附錄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ù)組 uint num2;//每秒的轉速 uint number=7;//設定轉速的初值,在其基礎上按鍵加一或按鍵減一 uint num=0;//轉數(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++;//計轉數(shù) while(a);} sprintf(zhuan,"zhuansu%2d",nu

60、m); LCD_Write_String(0,0,zhuan); Init_Timer0();//定時1s sprintf(zhuan,"zhuansu %2d",num2);//輸出一秒的轉速 LCD_Write_String(0,0,zhuan); if(num2>=number)//轉速超過設定值報警 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) { //按下相應的按鍵,1602LCD液晶顯示屏顯示相應的碼值 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; //定時器開關打開 } /*------------------------------------------------ 定時器中斷子程序 ------------------------------------------------*/ 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; //讀標志位置1 } }

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

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

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

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


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