基于單片機的轉(zhuǎn)速表設計_第1頁
基于單片機的轉(zhuǎn)速表設計_第2頁
基于單片機的轉(zhuǎn)速表設計_第3頁
基于單片機的轉(zhuǎn)速表設計_第4頁
基于單片機的轉(zhuǎn)速表設計_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、中北大學信息商務學院2015屆畢業(yè)設計說明書 基于單片機的轉(zhuǎn)速表設計與實現(xiàn)摘 要 單片機又稱單片微控制器(MCU),它把一個計算機系統(tǒng)集成到一個芯片上。它的體積小、質(zhì)量輕、價格便宜、為學習、應用和開發(fā)提供了便利條件。 本文便是運用AT89C51單片機控制的轉(zhuǎn)速表設計。電機在運行過程中,需要對其進行監(jiān)控,轉(zhuǎn)速是一個必不可少的參數(shù)。數(shù)字式轉(zhuǎn)速表就是對電機轉(zhuǎn)速進行測量,并可以和PC機進行通信,顯示電機的轉(zhuǎn)速,并觀察電機運行的基本情況。本設計主要是運用了AT89C51作為控制核心,由霍爾傳感器,LED數(shù)碼顯示管,施密特觸發(fā)器等構(gòu)成。充分發(fā)揮單片機的性能。本設計優(yōu)點是電路較簡單、功能完善、測量速度快、精

2、度高、控制系統(tǒng)可靠,性價比較高等特點。關(guān)鍵字:AT89C51單片機 轉(zhuǎn)速測量 霍爾傳感器- IV -AbstractSingle-chip, also known as single-chip microcontroller (MCU), it is a computer system integrated into a chip. Its small size, light weight, cheap, for the learning, application and development of facilities provided.This article, we use the A

3、T89C51 microcontroller to control the digital tachometer. During operation, the motor needs to be monitoring, speed is an essential parameter. Digital tachometer to measure motor speed, and can communicate with a PC, display the motor speed, and observe the motor running.This design with AT89C51 as

4、control core, by the Hall sensor, LED digital display tube, the composition of the Schmitt trigger,and so on. Give full play to the performance of the microcontroller. The advantage of a simple hardware and software capabilities improve, measuring speed, high precision and control system reliable, c

5、ost-effective and so on.Keywords: AT89C51 Tachometer Digital;speeds measure; Hall element 目錄1 引 言11.1本課題研究意義11.2國內(nèi)外研究現(xiàn)狀11.3本課題研究的目的22 轉(zhuǎn)速表原理32.1 轉(zhuǎn)速表基本原理32.2 轉(zhuǎn)速計算及誤差分析42.3 轉(zhuǎn)速測量63 硬件電路73.1 單片機概述73.2 復位電路113.3 顯示電路133.4 報警電路184 軟件設計204.1 主程序框圖204.2 按鍵程序框圖214.3 顯示程序框圖234.4 報警子程序框圖24結(jié)論25參考文獻26致謝27附錄一:系統(tǒng)總圖

6、28附錄二 仿真圖29附錄三:PCB圖30附錄四:主程序31中北大學信息商務學院2015屆畢業(yè)設計說明書1 引 言1.1本課題研究意義隨著現(xiàn)代科學技術(shù)特別是微型計算機的高速發(fā)展,計量技術(shù)相應地也得到迅速發(fā)展,單片微機技術(shù)也得到了飛速發(fā)展。單片機在我國大規(guī)模的應用已有十余年歷史,單片機技術(shù)的研究和推廣正方興未艾。對轉(zhuǎn)速表的要求越來越高。轉(zhuǎn)速表性能的提高對機械行業(yè)的其他領域的發(fā)展起到不可忽視的促進作用。在這個領域中,數(shù)字儀表越來越現(xiàn)實它的優(yōu)越性和生命力:精度高、速度快、便于記錄、控制和傳遞,因而數(shù)字式儀表得到了廣泛的應用。在轉(zhuǎn)速計量方面,數(shù)字轉(zhuǎn)速表更是一種理想的測量儀器。它可以用來測定電機的轉(zhuǎn)速、

7、線速度或頻率。常用于電機、電扇、造紙、塑料化纖、洗衣機、汽車、飛機、輪船等制造業(yè)。目前廣泛使用的普通式轉(zhuǎn)速表,其電路結(jié)構(gòu)比較復雜,穩(wěn)定性差,成本高,抗干擾能力差,測量精度與范圍不能兼顧,而且采樣的時間常,難以測得瞬時轉(zhuǎn)速,更不具備如轉(zhuǎn)速值的永久存儲、報警值設置,定時打印等功能。隨著大規(guī)模集成電路的發(fā)展,微型計算機的應用愈來愈廣泛,愈來愈深入。其中單片機構(gòu)成的嵌入式系統(tǒng)已經(jīng)愈來愈受到人們的關(guān)注。1.2國內(nèi)外研究現(xiàn)狀隨著科學技術(shù)的迅速發(fā)展,轉(zhuǎn)速測量儀表已步入現(xiàn)代化、電子化的行列。過去曾經(jīng)使用過的接觸式測量儀表, 如離心式轉(zhuǎn)速表、磁性轉(zhuǎn)速表、微型發(fā)電機轉(zhuǎn)速表及鐘表是定時轉(zhuǎn)速表,均已先后受到冷落;而利

8、用已知頻率的閃光與被測軸轉(zhuǎn)速同步的方法來測速的閃光測速儀,雖屬非接觸式儀表,目前仍有應用,但也退居次要地位。代之而起的是非接觸式的電子與數(shù)字化的測速儀表。這類轉(zhuǎn)速儀表大多具有體積小、重量輕、讀數(shù)準確、使用方便等優(yōu)點,容易實現(xiàn)電腦熒屏顯示和打印輸出,能夠連續(xù)的反映轉(zhuǎn)速變化,既能測定發(fā)動機穩(wěn)定情況下的平均轉(zhuǎn)速,也能夠用來在足夠小的時間間隔這一特定條件下測定發(fā)動機的瞬時轉(zhuǎn)速。轉(zhuǎn)速測量的應用系統(tǒng)在工業(yè)生產(chǎn)、科技教育、民用電器等各領域的應用極為廣泛,往往成為某一產(chǎn)品或控制系統(tǒng)的核心部分,其各種參數(shù)在不同的應用中有其側(cè)重,但轉(zhuǎn)速測量系統(tǒng)作為普遍的應用在國民經(jīng)濟發(fā)展中,有重要的意義。1.3本課題研究的目的目

9、前廣泛使用的普通式轉(zhuǎn)速表,其電路結(jié)構(gòu)比較復雜,穩(wěn)定性差,成本高,抗干擾能力差,測量精度與范圍不能兼顧,而且采樣的時間常,難以測得瞬時轉(zhuǎn)速,更不具備如轉(zhuǎn)速值的永久存儲、報警值設置,定時打印等功能。轉(zhuǎn)速表性能的提高對機械行業(yè)的其他領域的發(fā)展起到不可忽視的促進作用。因此,研究單片機轉(zhuǎn)速表的設計是很重要的。本設計就是以單片機為核心的數(shù)字式轉(zhuǎn)速表,轉(zhuǎn)速表要顯示轉(zhuǎn)速要解決很多問題,比如信號數(shù)據(jù)采集、數(shù)據(jù)計算、數(shù)據(jù)傳送、數(shù)據(jù)顯示等。本設計通過由傳感器、放大電路、整形電路和單片機等組成的測量電路進行數(shù)據(jù)采集,通過設計軟件進行計算、控制。所得轉(zhuǎn)速由串行口送出到LED數(shù)碼管組成的4位靜態(tài)顯示電路,用以顯示轉(zhuǎn)速。另

10、外還有轉(zhuǎn)速超限報警功能,用與單片機輸入輸出口連接的控制鍵輸入轉(zhuǎn)速上限,當所測量的轉(zhuǎn)速超過這個值時,發(fā)出報警聲音。實現(xiàn)人機對話。這次所設計出來的轉(zhuǎn)速表的測量范圍是09999r/min,相對誤差小于±0.3%,能自動變換周期,且具有聲光報警功能。2轉(zhuǎn)速表原理2.1 轉(zhuǎn)速表基本原理目前常用的轉(zhuǎn)速測量方法有M法、T法、M/T法。M法(即測頻法)是指在固定的時間內(nèi)測出轉(zhuǎn)速傳感器輸出的脈沖個數(shù)。經(jīng)分析得知,M法在測高速時相對誤差較小。T法(即測周期法)是指在轉(zhuǎn)速傳感器輸出脈沖周期內(nèi)對時鐘信號進行計數(shù),測出轉(zhuǎn)速脈沖周期,進而計算出轉(zhuǎn)速。經(jīng)分析得知,T法在測低速時相對誤差較小。M/T法是指在M法基礎

11、上吸取了T法之優(yōu)點而形成的。其測速過程是:在轉(zhuǎn)速傳感器輸出脈沖是上升沿到來時啟動定時(定時時間為Tc),同時計傳感器輸出脈沖個數(shù)和時鐘脈沖個數(shù),定時時間到,先停止對傳感器輸出脈沖的計數(shù),待下一個傳感器輸出脈沖上升沿到來時在停止對時鐘脈沖的計數(shù),由記錄的兩脈沖m1和m2求出轉(zhuǎn)速。假定旋轉(zhuǎn)體每轉(zhuǎn)一周,轉(zhuǎn)速傳感器輸出p個脈沖,又設轉(zhuǎn)速N,時鐘頻率為f0,則 (2-1)通過式(2-1)可方便地計算出轉(zhuǎn)速,因為不存在誤差,的最大誤差為一個時鐘,所以M/T法測速時的相對誤差為: (2-2)在式(2-2)中由于m2通常較大,固相對誤差較小,即該測量方法精度較高,在本轉(zhuǎn)速表設計中,我采用的是M/T法。為了減少

12、誤差,在轉(zhuǎn)速小于3600rpn時采用T法計算轉(zhuǎn)速,而大于3600rpn就進行M法計算轉(zhuǎn)速。2.2 轉(zhuǎn)速計算及誤差分析根據(jù)轉(zhuǎn)速、周期、頻率之間的關(guān)系可知 (2-3) (2-4) (2-5)式中,被測轉(zhuǎn)速,r/min;轉(zhuǎn)速信號周期,s;轉(zhuǎn)速信號頻率,Hz;計算脈沖的周期,又稱時基,本儀表Tc=4us;將式(2-5)帶入(2-3)得 (2-6)用十六進制數(shù)表示為式中N已存入75H、74H、73H單元。利用除法子程序,即可求出轉(zhuǎn)速。下邊計算該系統(tǒng)的相對誤差。分別對式(2-3)和式(2-5)求微分 (2-7) (2-8)將式(2-7)代入(2-8),得 (2-9)式中,N-量化誤差,N=±1個

13、計數(shù)脈沖,又已知時基Tc=4us,故 (2-10)由式(2-10)可知,相對誤差與頻率成正比,即相對誤差隨轉(zhuǎn)速的升高而升高。因此,為了提高測量精度,高轉(zhuǎn)速時需要連續(xù)測量數(shù)個周期。本設計中為4個周期,即測得的N為4個周期內(nèi)的總和,所以 (2-11) (2-12)用十六進制數(shù)表示,為對式(2-12)進行微分因此可求出高速測量時的相對誤差同樣,代入Tc=4us,N=±1個脈沖,則 (2-13)將式(2-13)與(2-10)比較可知,采用多周期測量相對精度大大提高。例如,當n=3000r/min時,由式(21-10)可求出,其相對誤差為當n=6000r/min時,由式(2-12)計算出相對誤

14、差為該儀表設置的臨界轉(zhuǎn)速為3662r/min,其對應的每周期計數(shù)脈沖個數(shù)。開機時,首先按低轉(zhuǎn)速測量,然后判轉(zhuǎn)速n是高于還是低與3662r/min。若低于此臨界值,則仍按低速測量,若高于它,便主動轉(zhuǎn)入高轉(zhuǎn)速測量,即連續(xù)測量4個周期。2.3 轉(zhuǎn)速測量由式(2-6)、(2-12)可知,只要能求出脈沖個數(shù)N,即可求出轉(zhuǎn)速。為了得到計數(shù)脈沖,可采用門控方式的硬件技術(shù)方法,也可采用中斷方式的軟件計數(shù)方法。門控方式計數(shù):由AT89C51定時器/計數(shù)器T0工作原理可知,當其工作在計數(shù)方式時,只要T0口上有負跳變,計數(shù)器就加1。CPU在每個周期的S5P2狀態(tài)時,采樣T0,所以需要2個機器周期才能識別一個T0的負

15、跳變,即T0的周期至少應等于2倍機器周期。若晶振頻率為6MHz,6分頻后得到ALE信號,鼓ALE周期為1us,機器周期為2us。由此可知,最低計數(shù)脈沖周期Tc為4us,可由ALE信號經(jīng)74LS74中的兩個D觸發(fā)器4分頻后取得。中斷方式計數(shù):高轉(zhuǎn)速時為了連續(xù)測量4個輸入周期,可以采用中斷方式計數(shù)。在初始化或前一次測量結(jié)束時,單片機禁止“外部中斷0”和“定時器0溢出中斷”。設置“外部中斷0”為負跳沿觸發(fā)方式,設定“計數(shù)器0”為非門控計數(shù)方式,然后等待中斷。外部中斷負脈沖一到,立即啟動“計數(shù)器0”工作,對T0的4us計數(shù)脈沖進行計數(shù)。計到4個測量周期時,停止“計數(shù)器0”工作,禁止外“中斷”,恢復測量

16、周期常數(shù)3,并計得的脈沖數(shù)存入相應單元。門控方式和中斷方式計數(shù),有效解決了精度測量輸入脈沖周期和高低量程自動切換問題,測得計數(shù)脈沖個數(shù)后,即可轉(zhuǎn)入計算轉(zhuǎn)速n的子程序,計算結(jié)果的BCD碼相應的存入4個存儲單元,以備顯示。3 硬件電路3.1 單片機概述 單片機是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的計算機系統(tǒng)。該儀表機采用的是美國ATMEL公司生產(chǎn)的一種高性能、低功

17、耗、帶有4K字節(jié)閃爍存儲器的8位CMOS單片機(AT89C51)。它與MCS-51系列單片機的軟硬件完全兼容。內(nèi)部4K字節(jié)的存儲器既有EPROM的可編能力。又有E2PROM的電擦除特性;既有RAM的訪問速度(約60ns),又有三級加密功能。工作時,AT98C51的T0用于記錄轉(zhuǎn)速脈沖信號,T1用于內(nèi)部時鐘計數(shù),P1.7用作T0、T1計數(shù)器的門空信號,以提高測量精度。AT89C51模塊組成及功能:AT89C51是一個低功耗高性能單片機,40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,AT89C51可以按照常規(guī)方法進行編程

18、,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發(fā)成本如圖3.1所示: 圖3.1 AT89C51引腳圖AT89C51的主要功能特性: · 兼容MCS51指令系統(tǒng) · 4k可反復擦寫(>1000次) · 32個雙向I/O口 · 可編程UARL通道 · 兩個16位可編程定時/計數(shù)器 · 全靜態(tài)操作0-24MHz · 1個串行中斷 · 1288bit內(nèi)部RAM · 兩個外部中斷源 · 共6個中斷源 · 可直接驅(qū)動LED

19、· 3級加密位 · 低功耗空閑和掉電模式 · 軟件設置睡眠和喚醒功能AT89C51引腳說明:AT89C51的引腳可分為端口、控制和電源三類。1)端口線:AT89C51共有四個I/O端口,分別為P0、P1、P2、P3都是雙向的,且每個端口都有鎖存器和8條線。P0口有三個功能:外部擴充存儲器時當作數(shù)據(jù)總線(D0-D7) ;外部擴充存儲器時當作地址總線(A0-A7);不擴充時可做一般I/O使用,但內(nèi)部無上拉電阻。在Flash編程時,P0口接收指令字節(jié)而在校驗程序時,則輸出指令字節(jié)。驗證時,要求外接上拉電阻。P1口是一個帶有內(nèi)部上拉電阻的8位雙向I/O端口。P1的輸出緩沖

20、器可驅(qū)動4個TTL輸入。對端口寫1時,通過內(nèi)部的上拉電阻把端口拉倒高電位,這時可用作輸入口。P1做輸入口使用時,因為內(nèi)部有上拉電阻那些被外不信號拉低的引腳會輸出一個電流(IL)。對Flash編程和校驗程序時,P1口接收低8位地址。P2口有兩個功能:擴充外部存儲器時當作地址總線(A8-A15) ;做一般I/O 使用,其內(nèi)部有上拉電阻。對Flash編程和校驗程序時,P2口接收高8位地址。和一些控制信號。P3口有兩個功能:做一般I/O 使用,其內(nèi)部有上拉電阻;特殊功能,具體由特殊寄存器來設置如下表3.1所示。對Flash編程和校驗程序時,P3口接收一些控制信號。 表3.1 P3第二功能定義端口引腳說

21、明P3.0(串行輸入口)P3.1(串行輸出口)P3.2(外部中斷0)P3.3(外部中斷1)P3.4(定時器0 外部計數(shù)輸入)P3.5(定時器1 外部計數(shù)輸入)P3.6(外部數(shù)據(jù)存儲器寫選通輸出)P3.7(外部數(shù)據(jù)存儲器讀選通輸出)2)控制線:ALE/PROG地址鎖存允許/編程線:地址鎖存使能信號端,其功能有三:AT89C51外接RAM/ROM:ALE接地址鎖存器8282、8212 的STB 腳,74373的EN 腳。當CPU對外部存儲器進行存取時,用以鎖住地址的低位地址;AT89C51未外接RAM/ROM:在系統(tǒng)中未使用外部存儲器時,ALE 腳也會有1/6石英晶體的振蕩頻率,可作為外部時鐘;在

22、燒寫EPROM時ALE作為燒寫時鐘的輸入端。EA/VPP允許訪問片內(nèi)/外存儲器/編程電源線:其接高電平時,CPU讀取內(nèi)部程序存儲(ROM);當讀取內(nèi)部程序存儲器超過0FFFH 時,在擴充外部ROM條件下自動讀取外部ROM。PSEN片外ROM選通線:程序存儲使能端。 XTAL1片內(nèi)振蕩器反相放大器和時鐘發(fā)生線路的輸入端。使用片內(nèi)振蕩器時,連接外部石英晶體和微調(diào)電容。XTAL2片內(nèi)振蕩器反相放大器的輸入端,當使用片內(nèi)振蕩器時,外接石英晶體和微調(diào)電容。3.2 復位電路計算機在啟動運行時都需要復位,使中央處理器CPU和系統(tǒng)中的其它部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。AT89C51單片機

23、復位電路是指單片機的初始化操作。單片機啟運運行時,都需要先復位,其作用是使CPU和系統(tǒng)中其他部件處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。因而,復位是一個很重要的操作方式。但單片機本身是不能自動進行復位的,必須配合相應的外部電路才能實現(xiàn)。復位電路的基本功能是:系統(tǒng)上電時提供復位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復位信號,以防電源開關(guān)或電源插頭分-合過程中引起的抖動而影響復位。單片機的復位是由外部的復位電路來實現(xiàn)的。片內(nèi)復位電路是復位引腳RST通過一個斯密特觸發(fā)器與復位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個機器周期的S5P2,由復

24、位電路采樣一次。復位電路通常采用上電自動復位、按鈕復位和按鈕脈沖復位。AT89C51單片機有一個復位引腳RST,它是史密特觸發(fā)輸入(對于CHMOS單片機,RST引腳的內(nèi)部有一個拉低電阻),當振蕩器起振后該引腳上出現(xiàn)2個機器周期(即24個時鐘周期)以上的高電平,使器件復位,只要RST保持高電平,AT89C51保持復位狀態(tài)。此時ALE、PSEN、P0、P1、P2、P3口都輸出高電平。RST變?yōu)榈碗娖胶?,退出復位,CPU從初始狀態(tài)開始工作。單片機采用的復位方式是采用芯片TCM812進行復位。 TCM812是高性價比的系統(tǒng)監(jiān)控電路,用于對數(shù)字系統(tǒng)的電源電壓VDD 進行監(jiān)控,并在必要時向主處理器提供復位

25、信號。提供的手動復位輸入可以替代復位監(jiān)控器,適合使用按鍵來復位。無需外部元件。該器件由SOT-143方式 封裝,工作溫度范圍為-40 至+85。其引腳如下:圖3.2 TCM812芯片的引腳圖TCM812芯片的引腳功能:(1)GND 地(2)RESET 當VDD 低于復位電壓門限值和VDD恢復上升到高于復位電壓門限值之后的140 ms(最小值)內(nèi),RESET推挽輸出保持高電平。 (3)MR 手動復位輸入,當MR 低于VIL 時產(chǎn)生復位。 (4)VDD 電源電壓 由于TCM812芯片的特點,本設計中采用該芯片進行復位,其電路圖如下:圖3.3 復位電路3.3 顯示電路顯示電路采用LED數(shù)碼管顯示,L

26、ED(Light-Emitting Diode)是一種外加電壓從而渡過電流并發(fā)出可見光的器件。LED是屬于電流控制器件,使用時必須加限流電阻。LED有單個LED和八段LED之分,也有共陰和共陽兩種。3.3.1 LED顯示器的結(jié)構(gòu)及其工作原理常用的七段顯示器的結(jié)構(gòu)如圖3-13所示。發(fā)光二極管的陽極連在一起的稱為共陽極顯示器,陰極連在一起的稱為共陰極顯示器。1位顯示器由八個發(fā)光二極管組成,其中七個發(fā)光二極管ag控制七個筆畫(段)的亮或暗,另一個控制一個小數(shù)點的亮和暗,這種筆畫式的七段顯示器能顯示的字符較少,字符的開頭有些失真,但控制簡單,使用方便。此外,要畫出電路圖,首先還要搞清楚他的引腳圖的分布

27、,在了解了正確的引腳圖后才能進行正確的字型段碼編碼。才能顯示出正確的數(shù)字來,如圖3.4所示,為七段數(shù)碼管的管腳圖。圖3.4 七段發(fā)光顯示器的結(jié)構(gòu)LED數(shù)碼管通過點亮特定的字段來顯示數(shù)字或符號。共陰與共陽七段LED數(shù)碼管的顯示字符與對應的顯示段碼如下表所示,共陽七段數(shù)碼管的段碼剛好是共陰七段數(shù)碼管段碼的反碼。表3.2 共陰極七段LED數(shù)碼管和共陽極七段LED數(shù)碼管的顯示段碼表LED數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)位,因此根據(jù)LED數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。A靜態(tài)顯示驅(qū)動靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都

28、由一個單片機的I/O口進行驅(qū)動,或者使用如BCD碼二-十進位器進行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O埠多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要5×840根I/O口來驅(qū)動,要知道一個89C51單片機可用的I/O口才32個呢。故實際應用時必須增加驅(qū)動器進行驅(qū)動,增加了硬體電路的復雜性。B動態(tài)顯示驅(qū)動  數(shù)碼管動態(tài)顯示介面是單片機中應用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,. "的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位元選通控制電路,位元選通由各自獨立的I/O線控制,當單

29、片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位元選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。3.3.2 顯示器接口 在單片機系統(tǒng)中,最常用的兩種顯示器是發(fā)光二極管顯示器(LED)和液晶顯示器(LCD)。本次設計,我采用發(fā)光二極管顯示器。七段LED有共陰極與共陽極兩種。為了在七段LED上顯示字母或數(shù)字,必須將其轉(zhuǎn)換可通過硬件譯碼或軟件來實現(xiàn)。本系統(tǒng)的輸出部分就是LED顯示驅(qū)動。驅(qū)動電路的主要作用是將從單片機傳送出來的脈沖進行功率驅(qū)動,以便于在數(shù)碼管上顯示。它由集成電路MC14

30、499和74LS06來擔當。MC14499是MOTOROLA公司的高集成度LED顯示驅(qū)動器,采用動態(tài)掃描方式顯示驅(qū)動4個LED數(shù)碼管。它集鎖存、譯碼、驅(qū)動、掃描、時鐘于一體。(它包括1個20位移位寄存器、1個鎖存器、1個多路輸出器)。它所需的輔助電路簡單,在單片機數(shù)據(jù)傳送時采用串行同步方式。用MC14499組成的單片機的顯示電路,具有占用單片機軟件資源小,不再外加電路即可于單片機協(xié)調(diào)工作,使用靈活方便,電路簡單可靠,無需外加驅(qū)動器等特點。(1)引腳排列如圖3.5所示。圖3.5 MC14499引腳圖(2)引腳說明:VDD:正電源端;VSS:電源地;ag:七段顯示輸出;dp:小數(shù)點顯示輸出;:4個

31、位選通端;OSC:晶振輸入端,外接電容,片內(nèi)可產(chǎn)生200800Hz的掃描信號;D:串行數(shù)據(jù)輸入端;CLK:時鐘輸入端,作為串行數(shù)據(jù)接收的同步信號;EN:使能端,為低電平時,允許MC14499接收串行輸入數(shù)據(jù);為高電平時,片內(nèi)移位寄存器將數(shù)據(jù)送入鎖存器中鎖存。MC14499每次接收20位串行輸入數(shù)據(jù),前4位為4個LED的小數(shù)點選擇位,后16位是4個LED的BCD碼輸入數(shù)據(jù),一幀數(shù)據(jù)的傳輸格式如下表3.3所示:表3.3 MC14499 一幀數(shù)據(jù)表20 19 18 1716 15 14 1312 11 10 987654321LSB MSBIV段碼LSB MSBIII段碼LSB MSB II段碼LS

32、B MSBI段碼LSB MSB小數(shù)點選擇一幀數(shù)據(jù)輸入完后,便被鎖存起來,供4位LED顯示使用,CPU只提供顯示用的數(shù)據(jù),數(shù)據(jù)的顯示則是由MC14499對各位進行動態(tài)掃描實現(xiàn),掃描頻率由OSC端外接電容決定。MC14499的BCD碼顯示字節(jié)如表3.4所示:表3.4 MC14499的BCD碼顯示表BCD碼顯示字節(jié)BCD碼顯示字節(jié)00000100080001110019001021010A001131011I010041100II010151101U011061101-011171111熄滅由于MC14499的這4個位選通端必須通過一個反相驅(qū)動器后才能控制4個LED,所以在這次設計中我使用的是集電極

33、開路高壓輸出的六反相緩沖器/驅(qū)動器74LS06,其引腳排列如圖3.6所示。如圖3.6 74LS06的引腳排列其管腳1,3,5,9,11,13為輸入端;管腳2,4,6,8,10,12為輸出端。74LS06輸出低電平電流為40mA,為了能夠驅(qū)動4個顯示器,限流電阻的大小要配備合適。電源電壓是5V,一個發(fā)光二極管的管壓降約為1.2V,經(jīng)過計算,限流電阻選1K左右合適。在串行口方式下,AT89C51單片機的串行輸出端TXD提供時鐘信號,串行口輸入端RXD輸出串行數(shù)據(jù),選定P1口或P3口任意一根I/O線以提供MC14499所需的使能信號。在串行口方式下,應將AT89C51單片機串行口的工作方式置為0方式

34、。串行口方式特別適合于系統(tǒng)硬件無相互間通道的情況。在該控制方式下應注意:AT89C51單片機串行口輸出數(shù)據(jù)時,發(fā)送順序為從數(shù)據(jù)低位到高位,而MC14499將BCD碼數(shù)據(jù)譯為十進制數(shù)時,卻是將原數(shù)據(jù)的低位作為高位處理的,如將某次數(shù)據(jù)的最后八位10001001B(84H)送入MC14499時,從低位到高位被分布于其移位寄存器的1320單元中,即最低位0在13單元,最高位1在20單元,MC14499進行譯碼時,卻是將0作為最高位,1作為最低位處理時,于是成為00100001B(21H),即段碼3數(shù)據(jù)為0010B,顯示器顯示“2”,段碼4數(shù)據(jù)為0001B,顯示器顯示“1”因此,必須將欲顯示的壓縮BCD

35、碼進行循環(huán)位移(即將最低位移至最高位,第二位移至第七位,其余以次類推)后再送入MC14499,以保證顯示的正確性。MC14499 每次可接收的串行數(shù)據(jù)最多為20位,而AT89C51單片機由于8位機,每次送出的數(shù)據(jù)并非一定是20位,特別是在串行口控制方式下,串行口每次送出數(shù)據(jù)為8位,因此MC14499每次接收的數(shù)據(jù)必然多于或少于20位。當AT89C51單片機送出的數(shù)據(jù)多于20位時,MC14499接收的將是最后20位數(shù)據(jù),20位以前多余的數(shù)據(jù)在移位過程中被后來的數(shù)據(jù)擠出;當AT89C51單片機送出的數(shù)據(jù)少于20位時,MC14499在接收移位過程中將保留一部分移位寄存器中原來的數(shù)據(jù)。AT89C51單

36、片機每次發(fā)送完數(shù)據(jù)后,必須將MC14499使能端置位。這是因為MC14499進行譯碼輸出的并非是其移位寄存器內(nèi)的數(shù)據(jù),而是其鎖存器內(nèi)的數(shù)據(jù)。將使能端置位有兩個作用:第一,禁止MC14499再接收外來數(shù)據(jù);第二,將移位寄存器內(nèi)的數(shù)據(jù)送入鎖存器中,以提供譯碼輸出。3.4報警電路在AT89C51單片機的P1.1口上接上一個報警電路。如圖3.7所示,單片機P1.1口發(fā)出一串脈沖信號,經(jīng)共射集復合放大電路放大后,使PS導通,發(fā)生振動;單片機沒有脈沖信號時,電路工作為穩(wěn)定狀態(tài)(即不工作)。就這樣SP兩端形成振蕩回路,發(fā)出報警聲音。通過按鍵取消報警聲,結(jié)束后又恢復穩(wěn)態(tài),等待下一串脈沖信號的到來。圖3.7 系

37、統(tǒng)報警電路4 軟件設計硬件電路完成以后,進行系統(tǒng)軟件設計。首先要分析系統(tǒng)對軟件的要求,然后進行軟件的總體的設計,包括程序的總體設計和對程序的模塊化設計。按整體功能分為多個不同的模塊,單獨設計、編程、調(diào)試,然后將各個模塊裝配聯(lián)調(diào),組成完整的軟件。根據(jù)設計的要求,單片機的任務是:內(nèi)部進行計數(shù),在計算出速度后顯示。軟件編程用C語言完成的,需要能掌握C語言,還要熟練AT89C51單片機。從程序流程圖、編寫程序、編譯,到最后的調(diào)試,是很復雜的。4.1 主程序框圖本系統(tǒng)主程序流程如圖所示。其功能是通過計數(shù)脈沖個數(shù),通過單片機內(nèi)部計算后,輸入到顯示器上顯示轉(zhuǎn)速。在運行中又加入了報警系統(tǒng),和功能鍵,使整個系統(tǒng)

38、智能化。如圖4.1所示:圖4.1 主程序框圖4.2 按鍵程序框圖功能按鍵的作用就是置入報警初值,KEY1、KEY2、KEY3、KEY4、KEY5、分別實現(xiàn)“報警值置入”、“+1”、“左移一位”、“完成報警值置入”、“解除報警信號”。圖4.2 按鍵程序框圖4.3 顯示程序框圖圖4.3 顯示程序框圖4.4 報警子程序框圖圖4.4報警子程序框圖結(jié)論通過各方面努力,本次畢業(yè)設計任務基本完成。在設計中遇到很多我在平時學習沒有掌握好的知識,模擬電子技術(shù)和數(shù)字電子技術(shù),在單片機方面有有串行口應用和定時計數(shù)器的使用,還要對單片機整個系統(tǒng)進行抗干擾和調(diào)試處理。最重要的是單片機的程序設計。通過此次設計使我對以前學

39、過的知識得到了重新的認識,我覺得這種學習知識的方法能很效的掌握知識,我也應該通過這種理論聯(lián)系實踐的方法學習書本知識,這樣才能更合理的、更科學的學習知識。在此次畢業(yè)設計中遇到的問題,通過查找資料然后請教老師、同學,逐步對此畢業(yè)設計有了清晰的設計方案,我同時也更深的了解自己大學所學的知識,我也了解了自己所學的專業(yè)知識在以后工作方面的作用,也對自己找工作明確了方向。另外,由于時間關(guān)系和能力的局限性,錯誤之處難免,還請老師體諒。參考文獻1 張毅剛.單片機原理及應用M. 北京:高等教育出版社,2010.2 張娟.protel電路設計教程M. 北京:清華大學出版社,2010.3 周定頤.電機及電力拖動M.

40、 北京:機械工業(yè)出版社,2010.4 王兆安.電力電子技術(shù)M. 北京:機械工業(yè)出版社,2010.5 王學文.傳感器原理及應用M. 北京:航空航天大學出版社,2008.6 王建.實用單片機技術(shù)M. 遼寧:遼寧科學技術(shù)出版社,2012.7 嚴東海.電子技術(shù)課程實驗與設計指導Z. 樂山:成都理工大學工程技術(shù)學院電子技術(shù)實驗室,2005.8 袁凡.基于單片機的數(shù)顯轉(zhuǎn)速表J. 學術(shù)2010年第五期:69-70.9 吳曉男.飛機數(shù)顯轉(zhuǎn)數(shù)表設計J. 電子產(chǎn)品世界2011年第8期:48-59.10 劉遙生.單片機數(shù)顯轉(zhuǎn)速表設計與制作J. 電子制作2009年02期:9-12.11 祥賢.多用途單片機數(shù)顯表J.

41、電子與自動化1994年第1期:19-22.12 潘永雄.新編單片機原理與應用,西安:西安電子科技大學出版社,200313 徐愛鈞.智能化測量控制儀表原理與設計M. 北京:航空航天大學出版社,1995.14 谷金花;基于霍爾傳感器的轉(zhuǎn)速測量系統(tǒng)設計J;大眾科技;2007年05期15 許戴銘;基于單片機與霍爾傳感器的轉(zhuǎn)速測量設計J;價值工程;2012年08期 致謝經(jīng)過這幾個月的忙碌,本次畢業(yè)設計將近尾聲。通過本次設計,鍛煉了我獨立動手能力,并且也認識到了自己所學知識的不足,所以在這我必須感謝幫助過我的人。首先,我要感謝指導老師張倫老師。雖然張老師平時工作比較繁忙,但還總是抽時間給我重要的

42、指導,細心的幫我指出我在設計中所犯的錯誤,他的指導讓我更加明確了目標最后,我還要感謝的是我的同學們,在我做畢業(yè)設計的每個階段,她們都給了我細心的指導和幫助。附錄一:系統(tǒng)總圖附錄二 仿真圖 附錄三:PCB圖 附錄四:主程序#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit COUNT_IN=P32;/定義1602相關(guān)管腳sbit rs=P27;sbit en=P26;/按鍵定義sbit add=P33;sbit dec=P34;sbit BUZZ=P10;uint count,m,n;un

43、signed long RPM;long shangxian=10000;bit flag;uchar code tab1=" VH: r/min " /一行顯示的固定字符uchar code tab2=" RV: r/min "/轉(zhuǎn)速顯示的固定字符void delay(uint x)uint i,j;for(i=0;i<x;i+)for(j=0;j<110;j+);void init()IT0=1;/INT0負跳變觸發(fā) TMOD=0x01;/定時器工作于方式1TH0=0xfc; /1msTL0=0x18;EA=1; /CPU開中斷總允許ET

44、0=1;/開定時中斷EX0=1;/開外部INTO中斷 TR0=1;/啟動定時/*液晶寫入指令函數(shù)與寫入數(shù)據(jù)函數(shù),以后可調(diào)用*/void write_1602com(uchar com)/*液晶寫入指令函數(shù)*rs=0;/數(shù)據(jù)/指令選擇置為指令P0=com;/送入數(shù)據(jù)delay(1);en=1;/拉高使能端,為制造有效的下降沿做準備delay(1);en=0;/en由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令void write_1602dat(uchar dat)/*液晶寫入數(shù)據(jù)函數(shù)*rs=1;/數(shù)據(jù)/指令選擇置為數(shù)據(jù)P0=dat;/送入數(shù)據(jù)delay(1);en=1; /en置高電平,為制造下降沿做準備

45、delay(1);en=0; /en由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令void lcd_init()/*液晶初始化函數(shù)*uchar a;write_1602com(0x38);/設置液晶工作模式,意思:16*2行顯示,5*7點陣,8位數(shù)據(jù)write_1602com(0x0c);/開顯示不顯示光標write_1602com(0x06);/整屏不移動,光標自動右移write_1602com(0x01);/清顯示write_1602com(0x80);/顯示固定符號從第一行第1個位置之后開始顯示for(a=0;a<16;a+)write_1602dat(tab1a);/向液晶屏寫固定符號部分w

46、rite_1602com(0x80+0x40);/顯示固定符號寫入位置,從第2個位置后開始顯示for(a=0;a<16;a+)write_1602dat(tab2a);/寫顯示固定符號void display()uchar gw,sw,bw,qw,ww;if(RPM<=99999) /范圍內(nèi)時ww=RPM/10000;qw=RPM%10000/1000;bw=RPM%1000/100;/取得百位sw=RPM%100/10;/取得十位數(shù)字gw=RPM%10;/取得個位數(shù)字write_1602com(0x80+0x40+5);if(ww=0)write_1602dat(' &#

47、39;);elsewrite_1602dat(0x30+ww);if(ww+qw)=0)write_1602dat(' ');elsewrite_1602dat(0x30+qw);if(ww+qw+bw)=0)write_1602dat(' ');elsewrite_1602dat(0x30+bw);if(ww+qw+bw+sw)=0)write_1602dat(' ');elsewrite_1602dat(0x30+sw);write_1602dat(0x30+gw);/數(shù)字+30得到該數(shù)字的LCD1602顯示碼else /超過范圍時顯示-write_1602com(0x80+0x40+2);write_1602dat('-');write_1602dat('-');write_1602dat('-');write_1602dat('-');write_1602dat

溫馨提示

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

評論

0/150

提交評論