基于單片機的數字測速儀設計說明_第1頁
基于單片機的數字測速儀設計說明_第2頁
基于單片機的數字測速儀設計說明_第3頁
基于單片機的數字測速儀設計說明_第4頁
基于單片機的數字測速儀設計說明_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 工學院鹿山學院畢業設計(論文)題 目:基于單片機的數字測速儀設計系 別:專業班級:姓 名:學 號:指導教師:職 稱:二一一 年 五 月 二十五 日31 / 34摘 要轉速是各類電機運行過程中的一個重要監測量,測速裝置在機車控制系統中占有非常重要的地位。本文介紹了一種基于AT89C51單片機的光電傳感器轉速測量系統的設計。系統采用對射式光電傳感器產生與齒輪相對應的脈沖信號,使用AT89C51單片機采樣脈沖信號并計算每分鐘脈沖信號的數目,即電機對應的轉速值,最終系統通過LCD實時顯示電機的轉速值。經過軟硬件系統的搭建,本系統滿足設計要求,且結構簡單、實用。系統在降低測速器成本,提高測速穩定性與可

2、靠性等方面有一定價值,具有廣泛的應用前景。關鍵詞:轉速測量;單片機;光電傳感器ABSTRACTRotational Speed is an important parameter for motor.The speed detector is improtant that locomotive of Control System. A photoelectric speed measuring system which based on the MCU of AT89C51 was designed in this paper. The opposite-type photoelectric

3、were used to generate pulse signal corresponding to the gears. The AT89C51 was used to sample the pulse signal and calculate the amount of the pulse signal per minute which is the value of the motor speed. The value of the motor will be displayed real-time by LCD. Through the hardware and the softwa

4、re implementing, the system meets the design demands. Its simple and practical. It will have a broad prospects because of reducing the cost of the speed detector and improving the stability and reliability of measurement .Keywords: Speed Measurement ;SCM;Photoelectric目錄摘 要IABSTRACTII第1章 緒論11.1 課題背景意

5、義11.2 轉速測量方法現狀11.3 設計任務與方案2第2章 系統器件介紹32.1 AT89C51單片機32.1.1 定時器/計數器的結構42.1.2 定時/計數器的控制52.1.3 中斷控制62.2 光電傳感器72.2.1 光電開關的工作原理72.2.2 光電開關的分類72.2.3 光電開關的特點82.3 字符型顯示芯片LCD160292.3.1 LCD1602主要特性92.3.2 LCD1602引腳定義9第3章 硬件系統設計113.1 測速信號采集與其處理113.1.1 轉速測量原理113.1.2 檢測裝置安裝113.1.3 信號處理電路123.1.4 同步控制電路133.2 單片機處理電

6、路設計143.2.1 復位電路143.2.2 定時器與計數器的設置153.3 顯示部分15第4章 軟件設計174.1 編程語言的選用174.2 程序設計流程圖18第5章 系統仿真與電路實現225.1 系統仿真225.1.1 程序編譯225.1.2 電路仿真225.2 仿真效果235.2.1 信號處理電路仿真結果235.2.2 整體仿真結果24本文總結26參考文獻27致 28第1章 緒論1.1 課題背景意義轉速是能源設備與動力機械性能測試中的一個重要的特性參量,因為動力機械的許多特性參數是根據它們與轉速的函數關系來確定的,例如壓縮機的排氣量、軸功率、燃機的輸出功率等等,而且動力機械的振動、管道氣

7、流脈動、各種工作零件的磨損狀態等都與轉速密切相關。光電傳感器是以光電器件作為轉換元件的傳感器。它可用于檢測直接引起光量變化的非電量,也可用來檢測能轉換成光量變化的其他非電量。光電式傳感器具有非接觸、響應快、性能可等特點,因此在工業自動化裝置和機器人中獲得廣泛應用。1.2 轉速測量方法現狀目前國外常用的轉速測量方法有離心式轉速表測速法、測速發電機測速法、閃光測速法、光電碼盤測速法和霍爾元件測速法。(1) 離心式轉速表測速法離心式轉速表是利用離心原理制成的測速儀表,可以直接讀出轉速。測轉速時,轉速表的端頭要插入電機轉軸的中心孔,插入前,應注意清除中心孔中的油污,并使轉速表的軸與電機的軸保持同心,不

8、可上下左右偏斜,否則易將表軸扭壞,并影響準確讀數,而且轉速表要間歇使用,以減少磨損和發熱。如果要改變量程,還要將轉速表取出停轉后再改變量程。(2) 測速發電機測速法測速發電機測轉速時,測速發電機連接到被測電機的軸端,將被測電機的機械轉速變換為電壓信號輸出E=CeFn,在輸出端接一個刻度以轉速為單位的電壓表,即可讀出轉速。(3) 閃光測速法閃光測速法是利用可調脈沖頻率的專用電源施加于閃光燈上,將閃光燈的燈光照到電機轉動部分(可在電機端軸上粘貼一標記紙片),當調整脈沖頻率使黑色扇形片靜止不動時,此時脈沖的頻率是與電機轉動的轉速是同步的。若脈沖頻率為f,則電機的轉速為n=60f(rmin) 。(4)

9、 光電碼盤測速法光電碼盤測速法是通過測出轉速信號的頻率或周期來測量電機轉速的一種無接觸測速法。光電碼盤安裝在轉子端軸上,隨著電機的轉動,光電碼盤也跟著一起轉動,如果有一個固定光源照射在碼盤上,則可利用光敏元件來接收到的光的次數就是碼盤的編碼數。若編碼數為60,測量時間為t,測量到的脈沖數為N,則n=N/t。(5) 霍爾元件測速法霍爾元件測速法是利用霍爾開關元件測轉速的。霍爾開關元件含穩壓電路、霍爾電勢發生器、放大器、施密特觸發器和輸出電路。輸出電平與TTL電平兼容,在電機轉軸上裝一個圓盤,圓盤上裝若干對小磁鋼,小磁鋼越多,分辨率越高,霍爾開關固定在小磁鋼附近,當電機轉動時,每當一個小磁鋼轉過霍

10、爾開關,霍爾開關便輸出一個脈沖,計算出單位時間的脈沖數,即可確定旋轉體的轉速。在這五種測速方法中,離心式轉速表測速法和測速發電機測速法所用的都是現成的測速儀表,容易得到。但轉速表或測速機都要與電機同軸連接,一方面增加了電機機組安裝難度,另一方面有些微電機功率很小,轉速表或測速機消耗的功率占了微電機大部分,更有甚者微電機甚至拖不動這些儀表,所以對微特電機的測速,這二種方法不適用。霍爾元件測速法和光電碼盤測速法的測速方法基本類似,都是在轉軸上裝一個很輕巧的傳感器,將電機的轉動信號通過磁(霍爾元件)或光(光電碼盤)轉換為電脈沖,從而通過計算電脈沖的個數來測速。閃光測速法目前實際應用不廣泛,主要是光源

11、的問題。本課題設計采用光電碼盤測速法。1.3 設計任務與方案本文針對電機的轉速進行測量,以單片機為核心對光電開關產生的數字信號進行運算,從而測得電機的轉速,然后用LCD把電機的轉速顯示出來。即通過光電開關將電機的轉數轉換成0,1的數字量,只要轉軸每旋轉一周,產生一個或固定的多個脈沖,并將脈沖送入單片機中進行計數和計算,就可獲得轉速的信息。系統主要由AT89C51單片機處理系統、直流電機、光電轉換、放大電路和單穩整形電路、顯示系統等幾個部分組成,如圖1.1:圖1.1 系統組成框圖第2章 系統器件介紹2.1 AT89C51單片機引腳功能 圖2.1 AT89C51引腳圖VCC : 電源GND : 地

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

13、.0和P1.2分別作定時器/計數器2的外部計數輸入(P1.0/T2)和時器/計數器2的觸發輸入(P1.1/T2EX),具體如下表所示。在flash編程和校驗時,P1口接收低8位地址字節。P2 口:P2 口是一個具有部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅動4 個TTL 邏輯電平。對P2 端口寫“1”時,部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數據存儲器(例如執行MOVX DPTR)時,P2 口送出高八位地址。在這種應用中,P2 口使用很強的部上拉發送1。在使用8

14、位地址(如MOVX RI)訪問外部數據存儲器時,P2口輸出P2鎖存器的容。在flash編程和校驗時,P2口也接收高8位地址字節和一些控制信號。P3 口:P3 口是一個具有部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅動4 個TTL 邏輯電平。對P3 端口寫“1”時,部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89C51特殊功能(第二功能)使用,如下表所示。在flash編程和校驗時,P3口也接收一些控制信號。引腳號第二功能如表2-1。表2-1P3.0RXD(串行輸入)P3.1TXD(串行輸出)P3.

15、2INT0(外部中斷0)P3.3INT1(外部中斷1)P3.4T0(定時器0外部輸入)P3.5T1(定時器1外部輸入)P3.6WR(外部數據存儲器寫選通)P3.7RD(外部數據存儲器寫選通)RST: 復位輸入。晶振工作時,RST腳持續2 個機器周期高電平將使單片機復位。PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。EA/VPP:訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執行部程序指令,EA應該接VCC。在flash編程期間,EA也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和部時鐘發生電路的輸入端。

16、XTAL2:振蕩器反相放大器的輸出端。2.1.1 定時器/計數器的結構定時/計數器的實質是加1計數器(16位),由高8位和低8位兩個寄存器組成。TMOD是定時/計數器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動和停止與設置溢出標志。定時/計數器結構如圖2.2所示: 圖2.2 定時/計數器結構2.1.2 定時/計數器的控制AT89C51單片機定時/計數器的工作由兩個特殊功能寄存器控制。TMOD用于設置其工作方式;TCON用于控制其啟動和中斷申請9。(1)工作方式寄存器TMOD工作方式寄存器TMOD用于設置定時/計數器的工作方式,低四位用于T0,高四位用于T1。

17、其格式如下:表2-2 TOMD的格式位號D7D6D5D4D3D2D1D0符號GATEC/TM1M0GATEC/TM1M0定時器T1定時器T0GATE:門控位。GATE0時,以運行控制位TRX(X=0,1)來啟動定時/計數器運行;GATA1時,設置TR0或TR1為1,同時相對應的外部中斷引腳也為高電平時,才能啟動定時/計數器工作;C/T計數器模式和定時器模式選擇位C/T=1時,選擇計數器模式,計數器對外部輸入引腳T0(P3.4)或T1(P3.5)的外部脈沖計數;C/T=0時,選擇定時器模式。M1M0:工作方式設置位。定時/計數器有四種工作方式,由M1M0進行設置。表2-3 M1M0的格式M1 M

18、0工作方式功 能00工作方式013位計數器01工作方式116位計數器10工作方式2自動再裝入8位計數器11工作方式3定時器0:分成兩個8位計數器定時器1:停止計數(2)控制寄存器TCONTCON的低4位用于控制外部中斷,已在前面介紹。TCON的高4位用于控制定時/計數器的啟動和中斷申請。其格式如下:表2-4 TCON的格式TCOND7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0TF1(TCON.7):T1溢出中斷請求標志位。T1計數溢出時由硬件自動置TF1為1。CPU響應中斷后TF1由硬件自動清0。T1工作時,CPU可隨時查詢TF1的狀態。所以,TF1可用作查詢

19、測試的標志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。TR1(TCON.6):T1運行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時/計數器的啟動與停止。TF0(TCON.5):T0溢出中斷請求標志位,其功能與TF1類同。TR0(TCON.4):T0運行控制位,其功能與TR1類同。2.1.3 中斷控制CPU對中斷系統所有中斷以與某個中斷源的開放和屏蔽是由中斷允許寄存器IE控制的。表2-5 IE的格式IED7D6D5D4D3D2D10EAESET1EX1ET0EX0 EX0(IE.0),外部中斷0允許位; ET0(I

20、E.1),定時/計數器T0中斷允許位; EX1(IE.2),外部中斷0允許位; ET1(IE.3),定時/計數器T1中斷允許位; ES(IE.4),串行口中斷允許位; EA (IE.7), CPU中斷允許(總允許)位。2.2 光電傳感器目前,光電開關已被用作物位檢測、液位控制、產品計數、寬度判別、速度檢測、定長剪切、孔洞識別、信號延時、自動門傳感、色標檢出、沖床和剪切機以與安全防護等諸多領域。此外,利用紅外線的隱蔽性,還可在銀行、倉庫、商店、辦公室以與其它需要的場合作為防盜警戒之用。光電開關把發射端和接收端之間光的強弱變化轉化為電流的變化以達到探測的目的。由于光電開關輸出回路和輸入回路是電隔離

21、的(即電緣絕),所以它可以在許多場合得到應用。光電傳感器具有線性度好、分辨率高、噪音小和精度高、無觸點、無機械碰撞、響應快、控制精度高,而且能識別色標等優點,在此我們選擇光電轉速傳感器來進行轉速的檢測。2.2.1 光電開關的工作原理本課題中使用的光電開關是根據光敏二極管工作原理制造的一種感應接收光強度變化的器件,當它發出的光被目標反射或阻斷時,則接收器感應出相應的電信號。它包含調制光源,由光敏元件等組成的光學系統、放大器、開關或模擬量輸出裝置,其工作原理如圖2.3 所示。光電式傳感器由獨立且相對放置的光發射器和收光器組成。當目標通過光發射器和收光器之間并阻斷光線時,傳感器輸出信號。它是效率最高

22、、最可靠的檢測裝置。槽形(U形)光電開關是對射式的變形,其優點是無須調整光軸。圖2.3 光電傳感器原理圖2.2.2 光電開關的分類(1)漫反射式光電開關:它是一種集發射器和接收器于一體的傳感器,當有被檢測物體經過時,物體將光電開關發射器發射的足夠量的光線反射到接收器,于是光電開關就產生了開關信號。當被檢測物體的表面光亮或其反光率極高時,漫反射式的光電開關是首選的檢測模式(2)鏡反射式光電開關:它亦集發射器與接收器于一體,光電開關發射器發出的光線經過反射鏡反射回接收器,當被檢測物體經過且完全阻斷光線時,光電開關就產生了檢測開關信號。(3)對射式光電開關:它包含了在結構上相互分離且光軸相對放置的發

23、射器和接收器,發射器發出的光線直接進入接收器,當被檢測物體經過發射器和接收器之間且阻斷光線時,光電開關就產生了開關信號。當檢測物體為不透明時,對射式光電開關是最合適的檢測裝置(4)槽式光電開關:它通常采用標準的U字型結構,其發射器和接收器分別位于U型槽的兩邊,并形成一光軸,當被檢測物體經過U型槽且阻斷光軸時,光電開關就產生了開關量信號。槽式光電開關比較適合檢測高速運動的物體,并且它能分辨透明與半透明物體,使用安全可靠(5)光纖式光電開關:它采用塑料或玻璃光纖傳感器來引導光線,可以對距離遠的被檢測物體進行檢測。通常光纖傳感器分為對射式和漫反射式。 本文課題設計采用對射式光電開關。2.2.3 光電

24、開關的特點MGK系列光電開關是現代微電子技術發展的產物,是HGK系列紅外光電開關的升級換代產品。與以往的光電開關相比具有自己顯著的特點:(1)具有自診斷穩定工作區指示功能,可與時告知工作狀態是否可靠;(2)對射式、反射式、鏡面反射式光電開關都有防止相互干擾功能,安裝方便;(3)對ES外同步(外診斷)控制端的進行設置可在運行前預檢光電開關是否正常工作。并可隨時接受計算機或可編程控制器的中斷或檢測指令,外診斷與自診斷的適當組合可使光電開關智能化;(4)響應速度快,高速光電開關的響應速度可達到0.1ms,每分鐘可進行30萬次檢測操作,能檢出高速移動的微小物體;(5)采用專用集成電路和先進的SMT表面

25、安裝工藝,具有很高的可靠性;(6)體積小(最小僅203112mm)、重量輕,安裝調試簡單,并具有短路保護功能。2.3 字符型顯示芯片LCD16022.3.1 LCD1602主要特性LCD1602為液晶顯示器。由于LCD的控制必須使用專用的驅動電路,且LCD面板的接線需要采用特殊技巧,再加上LCD面板十分脆弱,因此一般不會單獨使用,而是將LCD面板、驅動與控制電路組合成LCM模塊一起使用。LCM是一種很省電的電子設備,常被應用于數字或單片機控制系統中,在全國大學生設計競賽中使用頻率也很高。字符型1602LCM通常采用日立公司生產的控制器HD44780作為LCM的控制芯片。字符型LCM的特點:(1

26、)具有字符型發生器ROM。可顯示192個5*7點陣字符,LCM顯示的數字和字母部分的碼值,剛好與ASCLL碼中的數字和字母一樣,所以在需要的顯示數字和字母時,只需要向LCM送入ASCLL碼即可。(2)具有64B的自定義字符RAM,可自行定義8個5*7點陣字符。(3)具有80B的數據顯示存儲器。2.3.2 LCD1602引腳定義字符型1602LCM通常有16個引腳,也有少數有14個引腳,當選用14個引腳的LCM時,該LCM沒有背光,1602型LCM的16個引腳定義如下:表2-6 LCD1602引腳定義引腳號符 號狀 態功 能1Vss電源地2Vdd+5V邏輯電源3V0液晶驅動電源(用于調節對比度)

27、4RS輸入寄存器選擇(=1:數據;=0:指令)5R/W輸入讀、寫操作選擇(=1:讀;=0:寫)6E輸入使能信號7DB0三態數據總線(最低位LSB)8DB1三態數據總線9DB2三態數據總線10DB3三態數據總線11DB4三態數據總線12DB5三態數據總線13DB6三態數據總線14DB7三態數據總線(最高位MSB)15E1背光電源線16E2背光電源地線第3章 硬件系統設計3.1 測速信號采集與其處理本設計中采用對射式光電傳感器測量電機轉速。當不透光的物體擋住發射與接收之間的間隙時,開關管關斷,反之打開。可以制作一個遮光葉片,安裝在電機轉軸上,當葉片轉動時,光電開關產生脈沖信號。當葉片數較多時,旋轉

28、一周可以獲得多個脈沖信號。 假設系統采用10個葉片,在一分鐘的產生了10000脈沖,則電機的轉速就為1000r/min。圖3.1 信號采集示意圖3.1.1 轉速測量原理轉速閉環控制系統中,電機轉速作為反饋量構成閉環控制,轉速測量的精度對控制系統性能的影響是不言而喻的。光電碼盤是目前廣泛采用的測速手段。它具有精度高、線性度好的優點。采用光電碼盤測速時,常用的測速方法有M法、T法和M/T法。其中M/T法兼顧高低轉速,是綜合性能最佳的一種。在此采用M/T測量法,其測量原理為,在固定的測量時間,計取轉速傳感器發生的脈沖個數(即頻率),從而算出實際轉速。設固定的測量時間T (min),計數器計取的脈沖個

29、數m1,假定脈沖發生器每轉輸出p個脈沖,對應被測轉速為N(r/min),就可算出實際轉速值N = 60m1/ pT。本檢測裝置中發動機的轉速傳感器信號盤安裝在曲軸上,工作時傳感器輸出信號經整形后可得到相應的方波脈沖信號。3.1.2 檢測裝置安裝此檢測裝置按照發動機上傳感器的實際安裝位置進行安裝。如圖3.2,將信號盤固定在電動機轉軸上,光電轉速傳感器正對著信號盤。光電轉速傳感器接有4根導線,用于連接發光二極管和光敏三極管。測量頭由光電轉速傳感器組成,而且測量頭兩端的距離與信號盤的距離相等。測量用器件封裝后,固定裝在貼近信號盤的位置,當信號盤轉動時,光電元件即可輸出正負交替的周期性脈沖信號。信號盤

30、旋轉一周產生的脈沖數,等于其上的齒數。因此,脈沖信號的頻率大小就反映了信號盤轉速的高低。該裝置的優點是輸出信號的幅值與轉速無關,而且可測轉速圍大,一般為1r/s104 r/s以上,精確度高。圖3.2 轉速測量裝置3.1.3 信號處理電路由于電機每次轉動的時候,光線每次透過光電碼盤的小孔照射光傳感器都使光傳感器產生一個電信號,但是因為光電信號較弱,而且產生的脈沖波形不整,所以會影響單片機對信號的處理。 圖3.3 信號處理電路光傳感器信號放大后的信號單穩整形信號圖3.4 信號處理效果如圖3.3,Q1為光感三極管,當無光源照射時,Q1工作在截止區(Q1截止),Q2工作在飽和區(Q2導通),555定時

31、器TR引腳為低電平;當有光源照射時,Q1工作在飽和區(Q1導通),Q2工作在截止區(Q2截止),555定時器的TR引腳為5V電平。兩個三極管導通和截止過程產生的信號通過555定時器構成的單穩態整形電路,整形為標準的方波脈沖并由Q端輸出。信號處理效果如圖3.4。該電路特點是只要輸入電壓達到三極管的工作電壓,通過三極管的導通和截止,保證了向555定時器輸入的波形在0-5V之間跳變,免去了對三極管放大電壓的計算。3.1.4 同步控制電路在計數時會出現如圖3.5所示的脈沖丟失情況。第一個丟失的情況是由于開始檢測時的脈沖寬度已經小于機器周期T;第二個丟失的脈沖是由于脈沖的負跳變在定時之外。定時時間出現脈

32、沖丟失,將會引起測量精度的降低。為解決圖3.5的脈沖丟失現象,可以采用雙D觸發器與門控位GATE的配合使用實現計數開始和脈沖上升沿同步控制。如圖3.6。定時 定時時間輸入脈沖丟失 丟失圖3.5 脈沖丟失現象圖3.6 同步控制電路與單片機的連接 單片機的GATE=1:由外部引腳信號P3.2(INT0)或P3.3(INT1)的高電平和TR0或TR1的狀態的組合分別啟動定時器/計數器T0或T1。本設計采用引腳P3.2(INT0)/P3.3(INT1)分別和TR0/TR1的組合狀態啟動定時器0/計數器1(TR0和TR1在程序中被置1,等待外部中斷引腳的高電平信號到來)。圖3.6中,由雙D觸發器構成邊沿

33、觸發器。初始狀態,P1.6輸出高電平,保證觸發器的Q端可以時刻輸出高電平,P1.7輸出低電平,使雙D觸發器處于復位狀態(復位為低電平觸發),雙D觸發器向P3.2和P3.3引腳輸出低電平,關閉定時器0和計數器1;開始計數時,P1.7輸出高電平,D觸發器取消復位狀態,信號XH經過觸發器保證上升沿到來時,同時啟動定時器0和計數器1。3.2 單片機處理電路設計單片機各功能部件的運行都是以時鐘控制信號為基準,有條不紊地一拍一拍地工作。因此,時鐘頻率直接影響單片機的速度,時鐘電路的質量也直接影響單片機系統的穩定性。本設計中此采用部時鐘方式,如圖3.7所示,以石英晶體振蕩器和兩個片電容組成外部振蕩源。片的高

34、增益反相放大器通過XTAL1、XTAL2外接,作為反饋元件的片外晶體振蕩器與電容組成的并聯諧振回路構成一個自激振蕩器,向部時鐘電路提供振蕩時鐘。振蕩器的頻率取決于晶振的振蕩頻率,振蕩頻率圍為1.212MHz。工程應用時通常采用6MHz或12MHz。圖中X1為12MHz,電容C2、C4為33pF,它們一起構成此單片機的自激振蕩器。3.2.1 復位電路單片機的RST引腳為復位(Reset)端。當單片機振蕩器工作時,該引腳上出現持續兩個機器周期的低電平,就可以實現系統復位,使單片機回到初始狀態。如圖3.8所示,本設計采用手動復位,用一個電容與一個10K電阻串聯組成,電阻接VCC,電容接地,RESET

35、腳接在它們中間,RC選擇10uF,按鍵與200R電阻串聯,在電容兩端并聯,就成了按鍵復位電路,未上電時,RST端為高電平,只要按下這個按鍵,RST端轉換為低電平,經過兩個機器周期后,單片機就能復位。 圖3.7 晶振 圖3.8 復位電路3.2.2 定時器與計數器的設置根據設計選用定時方式1比較合適。方式1是16位計數結構的工作方式,計數器由TH0的全部8位和TL0的全部8位構成,器邏輯電路和工作情況與方式0完全一樣,所不同的只是組成計數器的位數。方式1的計數圍和定時圍: 當定時器/計數器在方式1下做計數器用時,其計數圍是1-65536(216)。 當定時器/計數器在方式1下做定時器用時,其定時時

36、間計算公式為:Td=(216-X)*Tosc*12式中,Td為定時時間,X為計數初值,Tosc為晶振周期。3.3 顯示部分1602字符型LCM與單片機的連接主要由兩種:直接訪問方式連接和間接控制方式連接。直接訪問方式連接由于構成三總線的結構,所以在軟件控制上比較簡單,用通過訪問外部地址的方式就能訪問LCM,但是,在使用這種連接方式時需要注意單片機的控制總線時序和地址總線時序必須要與LCM所需要的時序相匹配否則無法訪問。間接控制方式連接是利用HD44780所具的4位數據總線功能簡化電路接口的一種連接方式。但是由于LCM本身為速度較慢的器件,每一次數據傳輸大概需要幾十微秒至幾毫秒的時間,如采用間接

37、控制方式訪問,每傳輸一個字節的數據需要訪問2次LCM,這將占用大量的時間,使CPU變得繁忙,甚至影響CPU處理其他數據的傳輸速度。在實際中常采用如圖3.9所示電路。采用這種連接方式不能構成三總線的結構,所以不能通過地址形式直接訪問,而是需要通過LCM的方式進行數據的傳輸,同時由于數據總線使用了8條,所以在數據傳輸的時間上與直接訪問的時間一樣,速度較間接控制方式提高了一倍,縮短了CPU對LCM的訪問時間。又因為單片機的輸出電流較低,所以需外接上拉電阻。圖3.9 LCM電路第4章 軟件設計4.1 編程語言的選用本設計中采用的處理器是AT89C51單片機,由此可采用面向MCS-51的程序設計語言,包

38、括ASM51匯編語言和C51高級語言,這兩種語言各有特點。匯編語言更接近機器語言,常用來編制與系統硬件相關的程序,如訪問I/O端口、中斷處理程序、實時控制程序、實時通信程序等;而數學運算程序則適合用C51高級語言編寫,因為用高級語言編寫運算程序可提高編程效率和應用程序的可靠性。 C語言是一種通用的計算機程序設計語言,在國際上十分流行,它即可用來編寫計算機系統程序,也可以用來編寫一般的應用程序。以前計算機的系統軟件主要是用匯編語言編寫的,對于單片機應用系統來說更是如此。由于匯編語言程序的可讀性和可移植性都較差,采用匯編語言編寫單片機應用程序的周期長,而且調試和排錯也比較困難。C語言具有很好的可移

39、植性和硬件控制能力,表達和運算能力也較強。它具有以下特點:(1)語言簡潔,使用方便靈活。(2)可移植性好。(3)表達能力強。(4)表達方式靈活。(5)可進行架構化程序設計。(6)可以直接操作計算機硬件。(7)生成的目標代碼質量高。為了提高編制計算機系統和應用程序的效率,改善程序的可讀性和可移植性,在此采用高級語言編程。4.2 程序設計流程圖本設計采用計數程序采集脈沖,定時程序產生中斷,通過LCD顯示器顯示轉速值。 圖4.1 總體流程圖程序說明:GATA1時,設置TR0或TR1為1,同時相對應的外部中斷引腳也為高電平時,才能啟動定時/計數器工作。通過對定時器/計數器門控位GATE和TR的設置,使

40、外部中斷引腳的高電平控制定時器/計數器的開啟。P1.6引腳接D觸發器的D端,它的高電平使雙D觸發器在上升沿到達時始終保持高電平的輸出。P1.7引腳接雙D觸發器的復位端(低電平有效),它為低電平時復位雙D觸發器,雙D觸發器輸出低電平,關閉定時器/計數器0和1。圖4.2 定時器流程圖程序說明:通過對定時器0的門控位GATE的置1,使定時器0的啟動可以由INT0(P3.2)引腳的高電平狀態開啟。定時器0的定時時間為50ms,運行20次可以得到1s的定時時間。定時1s時間到時向P1.7引腳輸出低電平信號,P1.7引腳接雙D觸發器的復位端 (低電平復位),復位后觸發器向P3.2和P3.3引腳輸出低電平,

41、關閉定時器0/計數器1。將定時1s時間到的信號(timeflag=1)送給主程序。圖4.3 計數器流程圖程序說明:通過對計數器1的門控位GATE的置1,使計數器1的啟動可以由INT1(P3.3)引腳的高電平狀態開啟。定時1s時間到,定時器復位雙D觸發器,使雙D觸發器的輸出端向P3.3引腳輸出低電平,關閉計數器1。將計數到的脈沖個數,送入主程序處理。圖4.4 液晶顯示器流程圖程序說明:向LCD輸入數據,逐步經過判忙程序分別輸入命令函數和寫入數據函數,并顯示。第5章 系統仿真與電路實現5.1 系統仿真系統結合Keil uVersion3.0,通過Proteus來仿真。5.1.1 程序編譯與以往的8

42、0C51單片機不同,AT89C51具有在線調試和下載功能,它由支持AT89C51的開發工具包Keil uVersion2.0開發系統來提供。也就是說,在用戶系統保留AT89C51的情況下,通過開發系統與AT89C51的串行接口通信,直接對用戶系統進行調試,并在調試完成后將調試好的程序下載到AT89C51中。Keil uVersion3.0開發系統提供四項功能:編譯、下載、調試和模擬,分別由Keil uVersion2.0提供的編譯器、在線串行下載器、調試器和模擬器來實現。Keil uVersion2.0編譯器可在Windows操作系統下直接使用,編譯C語言源程序,并生成16進制文件和列表文件。

43、調試器采用Windows系統,允許用戶使用AT89C51的UART串行接口在芯片上調試代碼執行。在典型調試對話中,調試器提供對片所有外圍設備的訪問、單步和設置斷點的代碼執行控制方式。模擬器采用Windows系統,能完全模擬AT89C51的所有功能。模擬器使用簡單,結合了許多標準調試特征,包括多斷點、單步以與代碼執行跟蹤等能力。同樣偉福仿真器是國較好的仿真器之一,它能夠仿真的CPU品種多、功能強。通過更換仿真頭POD,可以對不同的CPU進行仿真。可仿真51系列,196系列,PIC系列,飛利蒲公司的552、LPC764、DALLAS320,華邦438等51增強型CPU。由于偉福編譯過程沒有Keil

44、 uVersion2.0那么繁瑣,能對程序進行直接編譯,省去了建立和設置工程等步驟,使用方便、快捷。所以本設計以Keil uVersion2.0為基礎,運用偉福來編譯程序。5.1.2 電路仿真仿真部分運用Proteus仿真軟件來實現,Proteus 軟件是一款強大的單片機仿真軟件,它除了具有和其他工具一樣的原理編輯、印制電路板(PCB)自動或人工布線與電路仿真外,最大的特色是其電路仿真是交互的、可視化的。對于單片機學習和開發幫助極大。Proteus ISIS 是英國Labcenter 公司開發的電路分析與實物仿真軟件。它運行于Windows操作系統上,可以仿真、分析(SPICE)各種模擬器件和

45、數字集成電路,包括單片機。通過Proteus可以繪制硬件原理圖,并設置元件參數;為單片機與其程序以與外部接口電路的仿真提供可能,驗證設計的可行性與合理性;還可以為連接實際的硬件電路做好準備;如有必要時,可以利用它來設計電路板。5.2 仿真效果將設計好的電路,通過proteus進行仿真,把設定好的輸入參數和電路仿真實現的數據進行對比,驗證電路設計的可行性。5.2.1 信號處理電路仿真結果因為電機的轉速通過光感元件后,表現為一定頻率的脈沖波形,所以,可以通過proteus的仿真功能,給信號處理電路輸入一定周期的非標準方波脈沖信號,再通過仿真示波器,檢測信號處理電路的輸出波形是否達到,信號處理電路預

46、期的放大、整形功能。如圖5.1。由波形發生器向光敏三極管Q1輸入一定頻率的脈沖以代表光電碼盤轉動時產生的脈沖,示波器D端檢測輸入信號,A端檢測信號處理電路的輸出波形。設定輸入幅值為1.5V,頻率為3KHz的正弦波如圖5.2,示波器檢測到的值如圖5.3。圖5.1 信號處理電路的仿真檢測圖5.2 波形發生器參數設定圖5.3 示波器檢測到的參數仿真結論:通過向信號處理電路輸入幅值為1.5V,頻率為3KHz的正弦波(綠色波形),檢測到信號處理電路輸出波形(黃色波形)的幅值為大約5V的標準方波;信號處理電路理論上達到要求。5.2.2 整體仿真結果整體仿真如圖5.4。輸入參數如圖5.2。圖5.4 整體仿真

47、圖 整體仿真結論:在輸入幅值為1.5V,頻率為3KHz的正弦波后,LCD顯示1800M/min。通過程序計算:count=TH1*256+TL1;count=count*60/100;程序中:count為計數得到的波形脈沖;100為電機旋轉每周產生的脈沖數;count*60/100得到了電機每分鐘轉動的圈數;因為輸入為3KHz;所以通過計算得到1800M/min;仿真得到的結果與計算值完全符合,設計的電路在理論上可行。設計達到要求。本文總結本設計采用光電開關測速法,利用對射式光電開關采集轉速信號,通過信號處理電路得到適合的脈沖后,輸入單片機進行處理、計算,得出實際的轉速值,輔以LCD顯示。此系

48、統實現了設計的要求:(1)光電開關與電機轉換平臺簡單適用;(2)采集電路能實時采集轉速信息;(3)單片機處理系統運算快速簡單,程序可讀性強,條理分明,能形成獨立模塊以便于其他類似系統的計算;(4)LCD為主體的人機界面能準確顯示速度值;存在問題:(1) 系統選擇位數最多的定時/計數器工作方式1(為16位),但仍有其局限性。此計數器的最大計數脈沖數為63336(216),若每秒鐘計算一次,則當1秒外部脈沖的輸入數超過65536個時,計數器會溢出,從而產生中斷,使得測出的轉速值小于實際的轉速值。根據計算方法(若轉盤齒數為100),Vmax=65536*60s/100=39321r/min,所以本系

49、統不能測量圍不能超過此值。(2) 通過T1計數時,單片機每讀取一個脈沖至少需要3個機器周期的時間來完成。本系統采用的晶振為12MHz,所以一個機器周期Tcy=12/f=1us。若要使單片機準確讀取外部脈沖,則脈沖的輸入周期不能超過3us。如此可計算(轉盤齒數為100),系統能測量的轉速需低于:Vmax=60s/(3us*100)=200000r/min。(3) 光電開關的反應速度也會對轉速測量值的大小產生影響。若轉速過快,則光電開關來不與處理,這樣會造成測速不準,甚至測不出數值。改進方法:(1)采用時鐘頻率更高、定時/計數器位數更多的單片機來處理脈沖,現某些高速單片機可達到40MHz的處理速度

50、,可以大大提高測速圍。(2)應用反應速度更快的傳感器來做光電開關。現在高速光電開關的響應速度可達到0.1ms,每分鐘可進行30萬次檢測操作,這樣就能檢出高速轉動的微小物體。綜上所述,本裝置結構簡單、實用,在降低測速器成本,提高測速穩定性與可靠性等方面有一定價值,可以達到一般測速的測量標準,具有廣泛的前景。參考文獻1 馬西自動檢測技術M機械工業,2001:210-2302 雷思孝,育長單片機系統設計與工程應用M.電子科技大學,2005:79-853 雷玉堂.光電檢測技術(第2版)M.中國計量,2009:254-2594 郭培源,付揚.光電檢測技術與應用M.航空航天大學出版,2006:221-22

51、45 道德.單片機接口技術(C51版)M.中國水利水電,2007:112-1156 汪云.基于霍爾傳感器的轉速檢測裝置J.傳感器技術2003,22(10):45-47 7 路明.C語言程序設計M.郵電大學,2005:1-78 徐瑋,徐富軍,建良.C51單片機高效入門M.機械工業,2006.43-459 王為青,程國鋼.單片機Keil Cx51應用開發技術M.人民郵電,2007:31-3810 林志琦,郎建軍,會杰,佟大鵬.基于Proteus的單片機可視化軟硬件仿真M.航空航天大學出版,2006:1-511 丁英麗. 智能光電計數系統的設計J. 計量與測試技術, 2004,5(2): 313212 照章,朱湘臨.光電測速傳感器與其信號調理電路J.傳感技術, 2002,1(8);53-5513 Car systems integrate more f

溫馨提示

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

評論

0/150

提交評論