自行車?yán)锍虦y速儀設(shè)計(jì)本科畢業(yè)論文_第1頁
自行車?yán)锍虦y速儀設(shè)計(jì)本科畢業(yè)論文_第2頁
自行車?yán)锍虦y速儀設(shè)計(jì)本科畢業(yè)論文_第3頁
自行車?yán)锍虦y速儀設(shè)計(jì)本科畢業(yè)論文_第4頁
自行車?yán)锍虦y速儀設(shè)計(jì)本科畢業(yè)論文_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、. . . . 編號(hào):3本科畢業(yè)論文基于單片機(jī)的自行車?yán)锍虦y速儀設(shè)計(jì)36 / 42畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作與取得的成果。盡我所知,除文中特別加以標(biāo)注和致的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得與其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對(duì)本研究提供過幫助和做出過貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說明并表示了意。作 者 簽 名:日 期:指導(dǎo)教師簽名: 日期:使用授權(quán)說明本人完全了解XX大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)

2、(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉咳荨W髡吆灻?日 期:摘要隨著居民生活水平的不斷提高,自行車不再僅僅是普通的運(yùn)輸、代步的工具,而是成為人們娛樂、休閑、鍛煉的首選。自行車測速儀能夠滿足人們最基本的需求,讓人們能清楚地知道當(dāng)前的速度、里程、時(shí)間等物理量。本文介紹了一種基于單片機(jī)控制的簡易自動(dòng)自行車速度以與里程計(jì)算系統(tǒng),包括自行車?yán)锍瘫淼挠布?gòu)成,軟件邏輯以與程序代碼。該里程測速系統(tǒng)以AT89C51作為系統(tǒng)控制核心,采用霍爾傳

3、感器來檢測信號(hào),通過一定時(shí)間間隔對(duì)信號(hào)的采集,結(jié)合自行車本身車輪參數(shù),經(jīng)過單片機(jī)對(duì)采集信號(hào)進(jìn)行分析計(jì)算,最終在LCD上顯示車輛行駛里程、平均速度和瞬時(shí)速度,并且具有超速報(bào)警功能。該系統(tǒng)硬件電路簡單,子程序具有通用性,完全符合設(shè)計(jì)要求。為了便于擴(kuò)展和更改,軟件的設(shè)計(jì)采用模塊化結(jié)構(gòu),使程序設(shè)計(jì)的邏輯關(guān)系更加簡潔明了,使硬件在軟件的控制下協(xié)調(diào)運(yùn)作。正文中首先簡單描述系統(tǒng)硬件工作原理,且附以系統(tǒng)硬件設(shè)計(jì)框圖,論述了本次畢業(yè)設(shè)計(jì)所應(yīng)用的各硬件接口技術(shù)和各個(gè)接口模塊的功能與工作過程, 并具體描述了AT89C51接口的軟、硬件調(diào)試;其次闡述了程序的流程和實(shí)現(xiàn)過程。仿真實(shí)驗(yàn)表明所設(shè)計(jì)的硬件電路與軟件程序是正確

4、的,滿足設(shè)計(jì)要求。關(guān)鍵詞:里程/速度;霍爾元件;單片機(jī);LCDAbstractWith the development of peoples life, the bicycle is not only the universal tool of transportation and substitute for walking, but becomes the first choice of entertainment and exercising. The bicycle speedometer can fulfill the basic need of peoples life, so t

5、hat they can learn the speed, the mileage, time of the bicycle. This article describes a simple microcontroller-based control automatically bike speed and mileage calculation system, including bicycle odometer hardware structure, software logic, and program code. Velocity system of the mileage uses

6、AT89C51 as the control core, uses the hall sensors to detect the signal within a certain time interval the signal acquisition, combined with a bicycle wheel parameters after a single-chip signal acquisition, analysis and calculation, the mileage, average speed and instantaneous speed will finally di

7、splay on the LCD, and the system has speed alarm function. The system hardware circuit is simple, the subroutine is versatile, which fully meets the design requirements.For the sake of easy to expand with the design adoption mold a logic for turning construction, making procedure designing relation

8、that change, software more shorter and more easier to understand. Make hardware control in software descended to moderate the operation. The text inside describes the system hardware work principle in brief first, and attach with the system hardware design frame diagram, discuss this graduate design

9、 a function for applied each hardware connecting a people the technique connects with each one a mold piece and work processes, combine to describe in a specific way the AT89C51 electric circuit connects oscular and soft, the hardware adjusts to try. Expatiated the process of the procedure the next

10、in order with realizes process. The simulation results have proved that the hardware circuits design and software program is correct, and the system can meet the designing requirement completely.Keywords: Mileage / speed; Hall element; MCU; LCD目錄1 緒論11.1 課題研究的目的和意義11.2 國外的發(fā)展現(xiàn)狀分析11.3 研究的主要容22 系統(tǒng)總體設(shè)計(jì)3

11、2.1 系統(tǒng)總體設(shè)計(jì)思路32.2 結(jié)構(gòu)框圖32.3 速度測量原理42.4 傳感器的選擇42.5 顯示模塊的選擇42.6 操作說明52.7 工作原理53 硬件電路設(shè)計(jì)63.1 系統(tǒng)總電路圖63.2 AT89C51單片機(jī)簡介73.3 1602LCD液晶顯示模塊93.4 霍爾元件113.4.1 霍爾元件簡介113.4.2 霍爾傳感器測量原理123.4.3 轉(zhuǎn)速測量方法133.5 晶振復(fù)位電路133.6 報(bào)警電路144 軟件程序設(shè)計(jì)154.1 測量算法概述154.2 主程序設(shè)計(jì)154.3 中斷子程序設(shè)計(jì)175 調(diào)試與仿真185.1 Proteus與Keil軟件簡介185.1.1 Proteus軟件18

12、5.1.2 Keil軟件185.2 應(yīng)用Keil軟件進(jìn)行程序調(diào)試195.3 Proteus軟件仿真195.4 仿真結(jié)果196 結(jié)論23參考文獻(xiàn)24致25附錄261 緒論1.1 課題研究的目的和意義中國人口眾多,還是發(fā)展中國家,經(jīng)濟(jì)不發(fā)達(dá)制約了大多數(shù)人的消費(fèi)水平,人們使用的交通工具主要還是自行車,它輕巧便捷,使用簡單,很受人們的喜愛,同時(shí)也可以作為休閑運(yùn)動(dòng)工具,是人們鍛煉身體的好工具。但隨著時(shí)間的推移,人們追求的是具有更多功能的自行車,它能顯示當(dāng)前車子行駛的速度、里程、行車時(shí)間、最高行駛速度,甚至還有GPS全球定位系統(tǒng)。本文就是以這個(gè)作為出發(fā)點(diǎn),嘗試設(shè)計(jì)一款低成本多功能的測速儀,旨在讓自行車駕駛

13、者在駕駛時(shí)能夠準(zhǔn)確的知道車子的行駛狀態(tài),根據(jù)周圍環(huán)境,做出正確的判斷和操作,提高了駕駛的安全性。另外自行車運(yùn)動(dòng)需一款測速裝置,以了解運(yùn)動(dòng)情況,特別是對(duì)于運(yùn)動(dòng)員,他們需要一種能對(duì)實(shí)時(shí)運(yùn)動(dòng)情況進(jìn)行測量并記錄的儀器,通過記錄的數(shù)據(jù),運(yùn)動(dòng)員可以分析自己的訓(xùn)練成績與訓(xùn)練過程,根據(jù)分析結(jié)果,可以調(diào)整自己的訓(xùn)練步驟。測速裝置是對(duì)運(yùn)動(dòng)中各種參數(shù)進(jìn)行測定?,F(xiàn)測速表的設(shè)計(jì)已很多,多數(shù)由機(jī)械式或模擬數(shù)字電路來實(shí)現(xiàn)的,都存在體積大、精度低、不直觀、功耗大、功能少等缺點(diǎn)。本文所述測速系統(tǒng)是以單片機(jī)為核心實(shí)現(xiàn)的,具有功能多、功耗小、直觀準(zhǔn)確以與可顯示時(shí)間、總里程、速度等優(yōu)點(diǎn)。1.2 國外的發(fā)展現(xiàn)狀分析隨著微型計(jì)算機(jī)可靠性

14、提高和價(jià)格的下降,用單片機(jī)測量轉(zhuǎn)速已日趨普遍。我們知道,欲提高測量精度,必須先測出準(zhǔn)確的轉(zhuǎn)速,而原先在可控硅調(diào)速電路中采用的測速發(fā)電機(jī)方式已不能滿足要求,必須采用數(shù)字測速的方法。轉(zhuǎn)速的測量方法很多,根據(jù)脈沖計(jì)數(shù)來實(shí)現(xiàn)轉(zhuǎn)速測量的方法主要有M法(測頻法)、T法(測周期法)和MPT法(頻率周期法),該系統(tǒng)采用了M法(測頻法)。本文采用頻率法,檢測的是輸入脈沖數(shù),這種方式又稱頻率法,它測出一定時(shí)間輸入的脈沖的個(gè)數(shù),在控制系統(tǒng)中占有非常重要的地位。對(duì)測速裝置的要分辨能力強(qiáng)、高精度和盡可能短的檢測時(shí)間。所設(shè)計(jì)的基于霍爾元件的脈沖發(fā)生器要求成本低,構(gòu)造簡單,性能好。在電氣控制系統(tǒng)中存在著較為惡劣的電磁環(huán)境,

15、因此要求產(chǎn)品本身要具有較強(qiáng)的抗干擾能力。由于需要采用霍爾傳感器的應(yīng)用領(lǐng)域,如汽車、電機(jī)、手機(jī)和電腦都已經(jīng)采用了該器件,而且這些市場在未來幾年的增長較為穩(wěn)定,而其他一些新的應(yīng)用市場又不足以與上述幾個(gè)市場相比,因此霍爾傳感器在全球總的市場容量是較為穩(wěn)定的,每年的增長率保持在5%到10%之間。因?yàn)楦鞣N應(yīng)用電機(jī)的部件、節(jié)氣門位置的檢測、各種閥體位置的檢測都會(huì)用到霍爾傳感器。而且,在中國市場中,國外廠商為了降低成本,陸續(xù)將零部件拿到中國進(jìn)行設(shè)計(jì)和生產(chǎn),這也進(jìn)一步提升了中國市場霍爾傳感器的應(yīng)用量。隨著它在消費(fèi)電子市場上的應(yīng)用越來越廣,如何控制功耗和成本將是廠商面臨的挑戰(zhàn),而且,它還面臨生產(chǎn)測試技術(shù)方面的挑

16、戰(zhàn)。國外現(xiàn)在都有生產(chǎn)銷售類似的自行車測速儀里程表,有些簡單的產(chǎn)品就是單單只有測速或里程的功能,比較復(fù)雜的產(chǎn)品除了測速和里程功能外,還加入了GPS全球定位、單次行車?yán)锍?、平均速度、時(shí)鐘、行車時(shí)間、車輪轉(zhuǎn)數(shù)。未來的發(fā)展趨勢(shì)可能還加入MP3和短信收發(fā)功能,使得自行車測速儀更加的人性化,相信會(huì)受到更多人的青睞。1.3 研究的主要容本課題主要任務(wù)是利用單片機(jī)等部件設(shè)計(jì)的一個(gè)可用LCD顯示時(shí)間、行駛里程與平均速度,七段數(shù)碼管顯示瞬時(shí)速度的自行車測速儀。本文主要介紹了自行車測速儀的設(shè)計(jì)思想、電路原理、方案論證以與元件的選擇等容,整體上分為硬件部分和軟件部分設(shè)計(jì)。本文首先簡要的對(duì)該課題的自行車測速儀設(shè)計(jì)進(jìn)行總

17、體的介紹;繼而具體介紹了自行車測速儀的硬件設(shè)計(jì),包括傳感器的選擇、單片機(jī)的選擇、顯示電路的設(shè)計(jì)、傳輸電路的設(shè)計(jì)等;然后闡述了該自行車測速儀的軟件設(shè)計(jì),包括主程序設(shè)計(jì)和子程序的設(shè)計(jì);最后對(duì)本次設(shè)計(jì)進(jìn)行了系統(tǒng)的仿真和總結(jié)。本設(shè)計(jì)要求對(duì)自行車進(jìn)行實(shí)時(shí)速度的測量,顯示出速度值、行車?yán)锍獭⑿熊嚂r(shí)間以與行車的平均速度。2 系統(tǒng)總體設(shè)計(jì)2.1 系統(tǒng)總體設(shè)計(jì)思路電源模塊信號(hào)輸入模塊控制器模塊顯示模塊本系統(tǒng)實(shí)現(xiàn)自行車運(yùn)行過程中對(duì)行駛里程、當(dāng)前瞬時(shí)速度、平均速度進(jìn)行測量和顯示。總體設(shè)計(jì)思路如圖2-1所示。系統(tǒng)包括控制器模塊、信號(hào)檢測采集模塊、顯示模塊、電源模塊四部分。圖2-1總體設(shè)計(jì)思路系統(tǒng)工作時(shí),采用9V的電池

18、供電,進(jìn)行穩(wěn)壓處理,將9V穩(wěn)降到5V以供單片機(jī)以與各芯片使用,傳感器采集到信號(hào)(用按鍵代表脈沖或者用頻率輸入代表信號(hào)輸入)傳輸給單片機(jī),單片機(jī)計(jì)數(shù)器統(tǒng)計(jì)脈沖個(gè)數(shù),定時(shí)器記錄相應(yīng)時(shí)間長度,經(jīng)過運(yùn)算,將行駛里程、平均速度送給LCD顯示,當(dāng)前(瞬時(shí))速度送給7段數(shù)碼管顯示,根據(jù)設(shè)定的報(bào)警值決定報(bào)警燈的點(diǎn)亮情況。2.2 結(jié)構(gòu)框圖系統(tǒng)總體設(shè)計(jì)的結(jié)構(gòu)框圖如圖2-2所示。復(fù)位清零LCD顯示LED警報(bào)電池供電89C51單片機(jī)傳感器數(shù)碼管顯示頻率計(jì)模擬按鈕模擬圖2-2 系統(tǒng)結(jié)構(gòu)框圖系統(tǒng)由霍爾元件傳感器、顯示模塊、LED報(bào)警模塊、供電模塊和單片機(jī)小系統(tǒng)構(gòu)成。2.3 速度測量原理測量自行車的速度的原理有兩種:測量一

19、定時(shí)間間隔t里自行車車輪轉(zhuǎn)過的圈數(shù)q,假設(shè)車輪周長為c,則速度V=c*q/t;測量自行車車輪轉(zhuǎn)過一圈的時(shí)間t,則速度V=c/t。本里程表是根據(jù)第一個(gè)原理計(jì)算速度的。2.4 傳感器的選擇紅外光電傳感器。把紅外對(duì)管分別安裝在自行車車輪的兩側(cè),當(dāng)車輪轉(zhuǎn)動(dòng)時(shí),輻條會(huì)阻擋紅外對(duì)管的光路,接收管輸出低電平,單片機(jī)根據(jù)此信號(hào)可計(jì)算里程、速度等。紅外對(duì)管的優(yōu)點(diǎn)是測量精度高,缺點(diǎn)是安裝比較復(fù)雜和容易受外來光線、灰塵等的影響。開關(guān)型霍爾傳感器?;魻杺鞲衅魇抢没魻栃?yīng)把磁輸入信號(hào)轉(zhuǎn)換成電信號(hào)的器件。把開關(guān)型霍爾傳感器安裝在自行車貼近車輪的支架上,磁鋼安裝在輻條上,當(dāng)磁鋼靠近霍爾傳感器的時(shí)候,傳感器輸出一個(gè)無抖動(dòng)的

20、低電平,單片機(jī)根據(jù)此信號(hào)可計(jì)算里程、速度等。霍爾傳感器的優(yōu)點(diǎn)是穩(wěn)定和安裝簡易,缺點(diǎn)是成本較高。干簧管。干簧管是一種磁敏的有觸點(diǎn)無源電子開關(guān)元件,應(yīng)用在里程表上的原理與開關(guān)型霍爾傳感器類似,把干簧管安裝在自行車貼近車輪的支架上,磁鋼安裝在輻條上,當(dāng)磁鋼靠近霍爾傳感器的時(shí)候,干簧管閉合,單片機(jī)根據(jù)此信號(hào)可計(jì)算里程、速度等。干簧管的優(yōu)點(diǎn)是成本低廉和安裝簡易,缺點(diǎn)是比較脆弱和不夠穩(wěn)定。本里程表選用開關(guān)型霍爾傳感器。2.5 顯示模塊的選擇動(dòng)態(tài)掃描LED數(shù)碼管顯示。里程表的顯示容以數(shù)字為主,利用LED數(shù)碼管可基本滿足使用要求,且成本較低。但是用動(dòng)態(tài)掃描的方式驅(qū)動(dòng)數(shù)碼管,亮度太低,在下幾乎看不見顯示容,失去

21、使用價(jià)值。串行靜態(tài)LED數(shù)碼管顯示。把單片機(jī)的串行口設(shè)置為方式0(同步移位寄存器),輸出顯示信息,可實(shí)現(xiàn)LED數(shù)碼管的靜態(tài)顯示,其亮度令人滿意。但由于要使用74HC164/74LS164串并轉(zhuǎn)換芯片驅(qū)動(dòng)LED數(shù)碼管,因此會(huì)帶來體積大、成本高、功耗高等的缺點(diǎn)。LCD液晶顯示模塊。液晶顯示模塊具有體積小、功耗低、顯示容豐富等特點(diǎn),現(xiàn)在字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件了。本里程表使用1602 LCD作為顯示模塊。外加四個(gè)七段管LED用來顯示5秒的當(dāng)前速度(近似瞬時(shí)速度)。2.6 操作說明本例子所采用的是27#比賽公路自行車,換算成公制,外徑700mm,半徑為350mm,探

22、測器安裝在距離軸心200mm處,探測到一次,車輪轉(zhuǎn)動(dòng)2.15m,輪胎具體規(guī)格700*28C,28是指車胎的橫斷面的寬度為28mm,則周長2150mm。而在實(shí)際運(yùn)用中則可以根據(jù)具體的情況來通過程序來設(shè)定具體的參數(shù),以達(dá)到對(duì)各參數(shù)更精確的測量與顯示。2.7 工作原理里程、速度等都是由霍爾元器件測量。通過頻率計(jì)或者按鈕輸出脈沖,代表車輪轉(zhuǎn)動(dòng)圈數(shù),已知自行車輪胎的周長為2.15m,輪子每轉(zhuǎn)動(dòng)一圈,安裝在車輪輻條上的磁鋼接近霍爾傳感器一次,傳感器送一個(gè)脈沖信號(hào)給單片機(jī)的外部中斷計(jì)數(shù)器T1,產(chǎn)生一次中斷,圈數(shù)加一。圈數(shù)*2.15即為車前進(jìn)距離,而通過單片機(jī)T0定時(shí)器記錄時(shí)間,間隔5秒,5秒的前進(jìn)距離除以時(shí)

23、間5秒,得到5秒的當(dāng)前速度。而總里程L除以總時(shí)間t得到平均速度。系統(tǒng)處理速度數(shù)據(jù)時(shí)同時(shí)刷新平均速度、當(dāng)前速度與運(yùn)行里程。若速度大于25.2km/h(7m/s)則P3.7輸出低電平,LED警示燈亮,提示速度過大。單片機(jī)定時(shí)器0定時(shí)時(shí)間為50ms,每20次刷新系統(tǒng)時(shí)鐘與計(jì)算累計(jì)行駛時(shí)間。3 硬件電路設(shè)計(jì)自行車的速度里程表的硬件電路設(shè)計(jì)是基礎(chǔ)部分,它包括信號(hào)的捕獲、放大、整形,單片機(jī)的計(jì)算處理,數(shù)碼管的實(shí)時(shí)顯示和單片機(jī)外圍基本電路的設(shè)計(jì),兩大主要器件就是傳感器和單片機(jī)。傳感器是獲取自然或生產(chǎn)領(lǐng)域息的關(guān)鍵器件,是現(xiàn)代信息系統(tǒng)和各種設(shè)備不可缺少的信息采集工具。磁傳感器是一種將磁學(xué)量信號(hào)轉(zhuǎn)變?yōu)殡娦盘?hào)的器件

24、或裝置。隨著信息產(chǎn)業(yè)、工業(yè)自動(dòng)化、醫(yī)療儀器等的飛速發(fā)展和計(jì)算機(jī)應(yīng)用的普與,需要大量的傳感器將被測或被控的非電信號(hào)轉(zhuǎn)換成可與計(jì)算機(jī)兼容的電信號(hào)。其中最具代表的磁傳感器就是霍爾傳感器,在自動(dòng)檢測系統(tǒng)中,利用霍爾傳感器測轉(zhuǎn)數(shù)是一種最基本的測量工作。單片機(jī)是本次設(shè)計(jì)的核心部件,它是信號(hào)從采集到輸出的橋梁,而且包括計(jì)算、定時(shí)、信息處理等功能。3.1 系統(tǒng)總電路圖系統(tǒng)設(shè)計(jì)的總電路圖如圖3-1所示,包括信號(hào)輸入、顯示、控制和復(fù)位等模塊。圖3-1 系統(tǒng)總電路圖3.2 AT89C51單片機(jī)簡介AT89C51是一種低功耗、高性能CMOS 8位微控制器,具有2K 在系統(tǒng)可編程Flash 存儲(chǔ)器。

25、使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89C51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89C51具有以下標(biāo)準(zhǔn)功能:4K字節(jié)Flash,128字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,2個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片晶振與時(shí)鐘電路。另外,AT89C51

26、0;可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。AT89C51系列單片機(jī)的系統(tǒng)有5個(gè)中斷源,2個(gè)優(yōu)先級(jí),可實(shí)現(xiàn)二級(jí)中斷服務(wù)嵌套。由片特殊功能寄存器中的中斷允許寄存器IE控制CPU是否響應(yīng)中斷請(qǐng)求;由中斷優(yōu)先級(jí)寄存器IP安排各優(yōu)中斷源的優(yōu)先級(jí);同一優(yōu)先級(jí)各終端同時(shí)提出中斷請(qǐng)求時(shí),由部的查詢邏輯確定其響應(yīng)次序。下面按引腳功能分為4個(gè)部分?jǐn)⑹鰝€(gè)引腳的功能,其引腳圖如圖3-2所示。*(1)電源引腳VCC和VSS

27、 VCC(40腳):接+5V電源正端; VSS(20腳):接+5V電源正端。(2)外接晶振引腳XTAL1和XTAL2 圖3-2 89C51引腳圖 XTAL1(18腳):接外部石英晶體的一端。在單片機(jī)部,它是一個(gè)反相放大器的輸入端。用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳接地;對(duì)于CHOMS單片機(jī),該引腳作為外部振蕩信號(hào)的輸入端。 XTAL2(19腳):接外部晶體的另一端。在單片機(jī)部,接至片振蕩反相放大器的輸出端。當(dāng)采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳作為外部振蕩信號(hào)的輸入端。對(duì)于CHMOS芯片,該引腳懸空不接。(3)控制信號(hào)或與其它電源復(fù)用引腳控制信號(hào)或與其它電源復(fù)用引腳有RES/VPD

28、、ALE、PSEN和VPP等4種形式。 RES/VPD(9腳):RES即為RESET,VPD為備用電源,所以該引腳為單片機(jī)的上電復(fù)位或掉電保護(hù)端。當(dāng)單片機(jī)振蕩器工作時(shí),該引腳上出現(xiàn)持續(xù)兩個(gè)機(jī)器周期的高電平,就可實(shí)現(xiàn)復(fù)位操作,使單片機(jī)復(fù)位到初始狀態(tài)。當(dāng)VCC發(fā)生故障,降低到低電平規(guī)定值或掉電時(shí),該引腳可接上備用電源VPD(+5V)為部RAM供電,以保證RAM中的數(shù)據(jù)不丟失。 ALE(30腳):當(dāng)訪問外部存儲(chǔ)器時(shí),ALE(允許地址鎖存信號(hào))以每機(jī)器周期兩次的信號(hào)輸出,用于鎖存出現(xiàn)在P0口的低8位地址。 PSEN(29腳):片外程序存儲(chǔ)器讀選通輸出端,低電平有效。當(dāng)從外部程序存儲(chǔ)器讀取指令或常數(shù)期間

29、,每個(gè)機(jī)器周期PESN兩次有效,以通過數(shù)據(jù)總線口讀回指令或常數(shù)。當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器期間,PESN信號(hào)將不出現(xiàn)。 VPP(31腳):該端為訪問外部程序儲(chǔ)器控制信號(hào),低電平有效。當(dāng)該端保持高電平時(shí),單片機(jī)訪問片程序存儲(chǔ)器4KB(MS-52子系列為8KB)。若超出該圍時(shí),自動(dòng)轉(zhuǎn)去執(zhí)行外部程序存儲(chǔ)器的程序。當(dāng)該端保持低電平時(shí),無論片有無程序存儲(chǔ)器,均只訪問外部程序存儲(chǔ)器。對(duì)于片含有EPROM的單片機(jī),在EPROM編程期間,該引腳用于接21V的編程電源VPP。(4)輸入/輸出(I/O)引腳P0口、P1口、P2口與P3口 P0口(39腳-22腳):P0.0-P0.7統(tǒng)稱為P0口。當(dāng)不接外部存儲(chǔ)器與不擴(kuò)展

30、I/O接口時(shí),它可作為準(zhǔn)雙向8位輸入/輸出接口。當(dāng)接有外部程序存儲(chǔ)器或擴(kuò)展I/O口時(shí),P0口為地址/數(shù)據(jù)分時(shí)復(fù)用口。它分時(shí)提供8位雙向數(shù)據(jù)總線。對(duì)于片含有EPROM的單片機(jī),當(dāng)EPROM編程時(shí),從P0口輸入指令字節(jié),而當(dāng)檢驗(yàn)程序時(shí),則輸出指令字節(jié)。 P1口(1腳-8腳):P1.0-P1.7統(tǒng)稱為P1口,可作為準(zhǔn)雙向I/O接口使用。對(duì)于MCS52子系列單片機(jī),P1.0和P1.1還有第2功能:P1.0口用作定時(shí)器/計(jì)數(shù)器2的計(jì)數(shù)脈沖輸入端T2;P1.1用作定時(shí)器/計(jì)數(shù)器2的外部控制端T2EX。對(duì)于EPROM編程和進(jìn)行程序校驗(yàn)時(shí),P0口接收輸入的低8位地址。 P2口(21腳-28腳):P2.0-P2

31、.7統(tǒng)稱為P2口,一般可作為準(zhǔn)雙向I/O接口。當(dāng)接有外部程序存儲(chǔ)器或擴(kuò)展I/O接口且尋址圍超過256個(gè)字節(jié)時(shí),P2口用于高8位地址總線送出高8位地址。對(duì)于EPROM編程和進(jìn)行程序校驗(yàn)時(shí),P2口接收輸入的8位地址。 P3口(10腳-17腳):P3.0-P3.7統(tǒng)稱為P3口。它為雙功能口,可以作為一般的準(zhǔn)雙向I/O接口,也可以將每1位用于第2功能,而且P3口的每一條引腳均可獨(dú)立定義為第1功能的輸入輸出或第2功能。P3口的第2功能見表3-1。表3-1 P3管腳含義引腳第2功能P3.0RXD(串行口輸入端)P3.1TXD(串行口輸出端)P3.2(中斷0請(qǐng)求輸入端,低電平有效)P3.3(中斷1請(qǐng)求輸入端

32、,低電平有效)P3.4T0(時(shí)器/計(jì)數(shù)器0計(jì)數(shù)脈沖端)P3.5T1(時(shí)器/計(jì)數(shù)器1計(jì)數(shù)脈沖端)P3.6(部數(shù)據(jù)存儲(chǔ)器寫選通信號(hào)輸出端,低電平有效)P3.7(部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)輸出端,低電平有效)綜上所述,該系列單片機(jī)的引腳作用可歸納為以下兩點(diǎn):(1)單片機(jī)功能多,引腳數(shù)少,因而許多引腳具有第2功能。(2)單片機(jī)對(duì)外呈3總線形式,由P2、P0口組成16位地址總線;由P0口分時(shí)復(fù)用作為數(shù)據(jù)總線。3.3 1602LCD液晶顯示模塊本里程表使用常見的1602字符型LCD模塊。1602可以顯示2行16個(gè)字符,有8位數(shù)據(jù)總線D0-D7,和RS、R/W、E三個(gè)控制端口,工作電壓為5V,并且?guī)в凶址麑?duì)比度

33、調(diào)節(jié)。1602LCD采用標(biāo)準(zhǔn)的14腳(無背光)或16腳(帶背光)接口,本設(shè)計(jì)采用14腳LCD,引腳圖如圖3-3所示,各引腳接口說明如表3-2所示:圖3-3 LCD1602引腳圖表3-2 引腳接口說明表編號(hào)符號(hào)引腳說明編號(hào)符號(hào)引腳說明1VSS電源地8D1數(shù)據(jù)2VDD電源正極9D2數(shù)據(jù)3VL液晶顯示偏壓10D3數(shù)據(jù)4RS數(shù)據(jù)/命令選擇11D4數(shù)據(jù)5R/W讀/寫選擇12D5數(shù)據(jù)6E使能信號(hào)13D6數(shù)據(jù)7D0數(shù)據(jù)14D7數(shù)據(jù)第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10

34、K的電位器調(diào)整對(duì)比度。第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:R/W為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。1602 LCD相應(yīng)的控制命令如表3-3所示:表3-3 控制命令表序號(hào)指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式

35、00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L*6置功能00001DLNF*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM10要寫的數(shù)據(jù)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)容1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明:1為高電平、0為低電平)指令 1:清顯示。指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令 2:光標(biāo)復(fù)位。光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置。I/D:光標(biāo)移動(dòng)方向

36、,高電平右移,低電平左移;S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示;C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo);B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位。S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。指令6:功能設(shè)置命令。DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線;N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示;F:低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9

37、:讀忙信號(hào)和光標(biāo)地址。BF:忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。該液晶顯示模塊具有體積小、功耗低、顯示容豐富等特點(diǎn),現(xiàn)在字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件了。3.4 霍爾元件霍爾傳感器是利用霍爾效應(yīng)把磁輸入信號(hào)轉(zhuǎn)換成電信號(hào)的器件。把開關(guān)型霍爾傳感器安裝在自行車貼近車輪的支架上,磁鋼安裝在輻條上,當(dāng)磁鋼靠近霍爾傳感器的時(shí)候,傳感器輸出一個(gè)無抖動(dòng)的低電平,單片機(jī)根據(jù)此信號(hào)可計(jì)算里程、速度等?;魻杺鞲衅鞯膬?yōu)點(diǎn)是穩(wěn)定和安裝簡易,缺點(diǎn)是成本較高。3.4.1 霍爾元件簡介根據(jù)霍爾效應(yīng),人們用半導(dǎo)體材料制成

38、的元件叫霍爾元件。它具有對(duì)磁場敏感、結(jié)構(gòu)簡單、體積小、頻率響應(yīng)寬、輸出電壓變化大和使用壽命長等優(yōu)點(diǎn),因此,在測量、自動(dòng)化、計(jì)算機(jī)和信息技術(shù)等領(lǐng)域得到廣泛的應(yīng)用?;魻杺鞲衅鰽3144是寬溫、開關(guān)型霍爾效應(yīng)傳感器,其工作溫度圍可達(dá)-40150。它由電壓調(diào)整電路、反相電源保護(hù)電路、霍爾元件、溫度補(bǔ)償電路、微信號(hào)放大器、施密特觸發(fā)器和OC門輸出極構(gòu)成,通過使用上拉電阻可以將其輸出接入CMOS邏輯電路。該芯片具有尺寸小、穩(wěn)定性好、靈敏度高等特點(diǎn)。A3144E系列單極高溫霍爾效應(yīng)集成傳感器是由穩(wěn)壓電源,霍爾電壓發(fā)生器,差分放大器,施密特觸發(fā)器和輸出放大器組成的磁敏傳感電路,其輸入為磁感應(yīng)強(qiáng)度,輸出是一個(gè)數(shù)

39、字電壓訊號(hào)。它是一種單磁極工作的磁敏電路,適用于矩形或者柱形磁體下工作?;魻杺鞲衅鞯耐庑螆D和與引腳圖如圖3-4所示。磁場由磁鋼提供,所以霍爾傳感器和磁鋼需要配對(duì)使用?;魻栐痛配摴苣_圖圖3-4 霍爾傳感器的外形圖該霍爾傳感器的接線圖如圖3-5所示。圖3-5 霍爾傳感器的接線圖3.4.2 霍爾傳感器測量原理測量轉(zhuǎn)速的第一步就是要將車輪的轉(zhuǎn)速表示為單片機(jī)可以識(shí)別的脈沖信號(hào),從而進(jìn)行脈沖計(jì)數(shù)。霍爾器件作為一種轉(zhuǎn)速測量系統(tǒng)的傳感器,它有結(jié)構(gòu)牢固、體積小、重量輕、壽命長、安裝方便等優(yōu)點(diǎn),因此選用霍爾傳感器檢測脈沖信號(hào),其基本的測量原理如圖3-6所示,當(dāng)車輪轉(zhuǎn)動(dòng)時(shí),帶動(dòng)傳感器運(yùn)動(dòng),產(chǎn)生對(duì)應(yīng)頻率的脈沖信號(hào)

40、,經(jīng)過信號(hào)處理后輸出到計(jì)數(shù)器或其他的脈沖計(jì)數(shù)裝置,進(jìn)行轉(zhuǎn)速的測量?;魻杺鞲衅鞔配搱D3-6 霍爾傳感器測量原理3.4.3 轉(zhuǎn)速測量方法轉(zhuǎn)速的測量方法很多,根據(jù)脈沖計(jì)數(shù)來實(shí)現(xiàn)轉(zhuǎn)速測量的方法主要有M法(測頻法)、T法(測周期法)和MPT法(頻率周期法),該系統(tǒng)采用了M法(測頻法)。由于轉(zhuǎn)速是以單位時(shí)間轉(zhuǎn)數(shù)來衡量,在變換過程中多數(shù)是有規(guī)律的重復(fù)運(yùn)動(dòng)。根據(jù)霍爾效應(yīng)原理,將一塊永久磁鋼固定在電機(jī)轉(zhuǎn)軸上的轉(zhuǎn)盤邊沿,轉(zhuǎn)盤隨側(cè)軸旋轉(zhuǎn),磁鋼也將跟著同步旋轉(zhuǎn),在轉(zhuǎn)盤下方安裝一個(gè)霍爾器件,轉(zhuǎn)盤隨軸旋轉(zhuǎn)時(shí),受磁鋼所產(chǎn)生的磁場的影響,霍爾器件輸出脈沖信號(hào),其頻率和轉(zhuǎn)速成正比。脈沖信號(hào)的周期與電機(jī)的轉(zhuǎn)速有以下關(guān)系:n=式中

41、:n為電機(jī)轉(zhuǎn)速;P為電機(jī)轉(zhuǎn)一圈的脈沖數(shù);T為輸出方波信號(hào)周期。根據(jù)上式即可計(jì)算出直流電機(jī)的轉(zhuǎn)速?;魻柶骷怯砂雽?dǎo)體材料制成的一種薄片,在垂直于平面方向上施加外磁場B,在沿平面方向兩端加外電場,則使電子在磁場中運(yùn)動(dòng),結(jié)果在器件的兩個(gè)側(cè)面之間產(chǎn)生霍爾電勢(shì)。其大小和外磁場與電流大小成比例。霍爾開關(guān)傳感器由于其體積小,無觸點(diǎn),動(dòng)態(tài)特性好,使用壽命長等特點(diǎn),故在測量轉(zhuǎn)動(dòng)物體旋轉(zhuǎn)速度領(lǐng)域得到了廣泛應(yīng)用。在本設(shè)計(jì)的仿真中,因缺少霍爾元件,所以用按鍵代表脈沖或者用頻率輸入代表信號(hào)輸入,以達(dá)到系統(tǒng)的仿真。3.5 晶振復(fù)位電路晶振電路為單片機(jī)89C51工作提供時(shí)鐘信號(hào),芯片中有一個(gè)用于構(gòu)成部振蕩器的高增益反相放大

42、器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。電路中的外接石英晶體與電容C11、C12接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路,系統(tǒng)的晶振電路如圖3-7所示。由于外接電容C11、C12的容量大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度與溫度穩(wěn)定性,如果使用石英晶體,電容的容量大小圍為10pF-30pF;如果使用瓷諧振,則電容容量圍大小為10pF-40pF。本設(shè)計(jì)中使用石英晶體,電容的容值設(shè)定為30pF。復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號(hào)。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào),以防電源開關(guān)或電源插頭分合

43、過程中引起的抖動(dòng)而影響復(fù)位。單片機(jī)在啟動(dòng)時(shí)都需要復(fù)位,以使CPU與系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89C51的復(fù)位信號(hào)是從RES引腳輸入到芯片的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果RES引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動(dòng)按鈕復(fù)位和上電復(fù)位,本設(shè)計(jì)采用的是手動(dòng)按鈕復(fù)位。手動(dòng)按鈕復(fù)位需要人為在復(fù)位輸入端RES上加入高電平,采用的辦法是在REST端和正電源VCC之間接一個(gè)按鈕。當(dāng)人為按下按鈕時(shí),則VCC的+5V電平就會(huì)直接加到RES端,系統(tǒng)復(fù)位。由于人的動(dòng)作再快也會(huì)使按鈕

44、保持接通達(dá)數(shù)十毫秒,所以,設(shè)計(jì)完全能夠滿足復(fù)位的時(shí)間要求。復(fù)位電路中開關(guān)為手動(dòng)復(fù)位開關(guān),電容C9可避免高頻諧波對(duì)電路的干擾。89C51的復(fù)位電路如圖3-7所示。圖3-7 晶振復(fù)位電路3.6 報(bào)警電路本次報(bào)警電路采用LED報(bào)警燈報(bào)警,當(dāng)即時(shí)速度超過預(yù)定值是燈亮報(bào)警,指示燈亮,提示應(yīng)該減速。報(bào)警電路圖如圖3-8所示。圖3-8 報(bào)警電路4 軟件程序設(shè)計(jì)4.1 測量算法概述速度測量是工控系統(tǒng)中最基本的需求之一,最常用的是用數(shù)字脈沖測量某根軸的轉(zhuǎn)速,再根據(jù)機(jī)械比、直徑換算成線速度。脈沖測速最典型的方法有測頻率(M法)和測周期(T法)。M法是測量單位時(shí)間的脈數(shù)換算成頻率,因存在測量時(shí)間首尾的半個(gè)脈沖問題,

45、可能會(huì)有2個(gè)脈的誤差。速度較低時(shí),因測量時(shí)間的脈沖數(shù)變少,誤差所占的比例會(huì)變大,所以M法宜測量高速。如要降低測量的速度下限,可以提高編碼器線數(shù)或加大測量的單位時(shí)間,使用一次采集的脈沖數(shù)盡可能多。T法是測量兩個(gè)脈沖之間的時(shí)間換算成周期,從而得到頻率。因存在半個(gè)時(shí)間單位的問題,可能會(huì)有1個(gè)時(shí)間單位的誤差。速度較高時(shí),測得的周期較小,誤差所占的比例變大,所以T法宜測量低速。如要增加速度測量的上限,可以減小編碼器的脈沖數(shù),或使用更小更精確的計(jì)時(shí)單位,使一次測量的時(shí)間值盡可能大。設(shè)計(jì)中綜合考慮測速精度和系統(tǒng)反應(yīng)時(shí)間,本設(shè)計(jì)用測量脈沖頻率來計(jì)算歷程,因而具有較高的測距精度。在計(jì)算里程時(shí)取了自行車的理想狀態(tài)

46、。實(shí)際中,誤差控制在幾米之,相對(duì)于整個(gè)里程來說不是很大。另外,還應(yīng)盡量保證其他子模塊在編程時(shí)的通用性和高效性。4.2 主程序設(shè)計(jì)在硬件設(shè)計(jì)完畢之后就是設(shè)計(jì)中最核心和最為主要的軟件部分設(shè)計(jì)。所謂軟件設(shè)計(jì)就是把軟件需求變換成軟件的具體設(shè)計(jì)方案(即模塊結(jié)構(gòu))的過程。模塊化結(jié)構(gòu)設(shè)計(jì)即是根據(jù)要求和硬件設(shè)計(jì)的結(jié)構(gòu),將整個(gè)系統(tǒng)的功能分成許多小的功能模塊,再根據(jù)這些小的功能模塊進(jìn)行程序編寫的過程。這樣的設(shè)計(jì)方法使得系統(tǒng)的整個(gè)功能和各部分的功能趨于明朗化。當(dāng)系統(tǒng)出現(xiàn)問題就可以根據(jù)功能設(shè)置找出問題的根源,從而更快地解決問題。所以在整個(gè)設(shè)計(jì)過程中軟件設(shè)計(jì)必須與硬件設(shè)計(jì)結(jié)合在一起。在主程序模塊中,需要完成對(duì)各接口芯片

47、的初始化、自行車?yán)锍毯退俣鹊某跏蓟?、中斷向量的設(shè)計(jì)以與開中斷、循環(huán)等待等工作。另外,在主程序模塊中還需要設(shè)置啟動(dòng)/清除標(biāo)志寄存器、里程寄存器、速度寄存器,并對(duì)它們進(jìn)行初始化。然后主程序?qū)⒏鶕?jù)各標(biāo)志寄存器的容,分別完成啟動(dòng)、清除、計(jì)程和計(jì)速等不同的操作。開始計(jì)算平均速度顯示時(shí)間、速度與里程 LCD初始化初始化并啟動(dòng)T0和T1計(jì)算圈數(shù)和行駛距離計(jì)算速度判斷是否超速送數(shù)據(jù)到數(shù)碼管點(diǎn)亮led警示燈否是P1.0和P1.1口分別用于顯示里程狀態(tài)和速度狀態(tài)。P1.2、P1.3、P1.6和P1.7口分別用于設(shè)置輪圈的大小,低電平有效。P3.0是用于里程和速度切換的,低電平為顯示速度,高電平為顯示里程。中斷0用

48、于對(duì)輪子圈數(shù)的計(jì)數(shù)輸入,輪子每轉(zhuǎn)一圈,霍爾傳感器輸出一個(gè)低電平脈沖。將根據(jù)里程寄存器中的容計(jì)算和判斷出行駛里程數(shù)。中斷1用于控制定時(shí)器T1的啟/停,當(dāng)輸入為0時(shí)關(guān)閉定時(shí)器。此控制信號(hào)是將輪子圈數(shù)的計(jì)數(shù)經(jīng)二分頻后形成。這樣,每次定時(shí)器T1的開啟時(shí)間剛好為轉(zhuǎn)一圈的時(shí)間,根據(jù)輪子的周長就可以計(jì)算出自行車的速度。其程序流程如圖4-1所示。圖4-1 程序流程圖4.3 中斷子程序設(shè)計(jì)定時(shí)中斷是為滿足定時(shí)或計(jì)數(shù)的需要而設(shè)置的。在單片機(jī)部有兩個(gè)定時(shí)/計(jì)數(shù)器,以對(duì)其中的計(jì)數(shù)結(jié)構(gòu)進(jìn)行計(jì)數(shù)的方法,來實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能。當(dāng)結(jié)構(gòu)發(fā)生計(jì)數(shù)溢出時(shí),即表明定時(shí)時(shí)間或計(jì)數(shù)值已滿,這時(shí)就以計(jì)數(shù)溢出信號(hào)作為中斷請(qǐng)求,去置位一個(gè)溢出

49、標(biāo)志,作為單片機(jī)接受中斷請(qǐng)求的標(biāo)志。這種中斷請(qǐng)?jiān)趩纹瑱C(jī)芯片部發(fā)生的,因此無須在芯片上設(shè)置引入端。定時(shí)/計(jì)數(shù)器控制寄存器TCON是8位寄存器,地址為88H,可以位尋址。其高4位用于定時(shí)/計(jì)數(shù)器中斷控制,低4位借給外部中斷,用做中斷標(biāo)志和觸發(fā)方式選擇位。本設(shè)計(jì)采用定時(shí)中斷,對(duì)自行車的里程和速度進(jìn)行計(jì)數(shù)。中斷子程序流程圖如圖4-2。初始化設(shè)置特殊寄存器設(shè)置定時(shí)常數(shù)設(shè)置計(jì)數(shù)器開中斷等待中斷刷新時(shí)間、里程、時(shí)間等INT0T0定時(shí)器自動(dòng)加1是否到1秒依次秒、分、時(shí)進(jìn)位中斷開始否是中斷返回開始圖4-2 中斷子程序流程圖5 調(diào)試與仿真5.1 Proteus與Keil軟件簡介5.1.1 Proteus軟件Pro

50、teus軟件是一種低投資的電子設(shè)計(jì)自動(dòng)化軟件,提供可仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件和多達(dá)30多個(gè)元件庫。Proteus軟件提供多種現(xiàn)實(shí)存在的虛擬儀器儀表。此外,Proteus還提供圖形顯示功能,可以將線路上變化的信號(hào),以圖形的方式實(shí)時(shí)地顯示出來。這些虛擬儀器儀表具有理想的參數(shù)指標(biāo),例如極高的輸入阻抗、極低的輸出阻抗,盡可能減少儀器對(duì)測量結(jié)果的影響,Proteus軟件提供豐富的測試信號(hào)用于電路的測試。這些測試信號(hào)包括模擬信號(hào)和數(shù)字信號(hào)。提供Schematic Drawing、SPICE仿真與PCB設(shè)計(jì)功能,同時(shí)可以仿真單片機(jī)和周邊設(shè)備,可以仿真51系列、AVR、PIC等常用的MCU,并

51、提供周邊設(shè)備的仿真,例如LED、示波器等。Proteus提供了大量的元件庫,有RAM、ROM、鍵盤、馬達(dá)、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,編譯方面支持Keil和MPLAB等編譯器。一臺(tái)計(jì)算機(jī)、一套電子仿真軟件,在加上一本虛擬實(shí)驗(yàn)教程,就可相當(dāng)于一個(gè)設(shè)備先進(jìn)的實(shí)驗(yàn)室。以虛代實(shí)、以軟代硬,就建立一個(gè)完善的虛擬實(shí)驗(yàn)室。在計(jì)算機(jī)上學(xué)習(xí)電工基礎(chǔ)、模擬電路、數(shù)字電路、單片機(jī)應(yīng)用系統(tǒng)等課程,并進(jìn)行電路設(shè)計(jì)、仿真、調(diào)試等工作。5.1.2 Keil軟件KeilC51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng)。與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀

52、性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻。KeilC51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。Uvision與Ishell分別是C51 for Windows和For Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件,然后分別由C51與A51編譯器編譯生

53、成目標(biāo)文件(OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器DScope51或TScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。5.2 應(yīng)用Keil軟件進(jìn)行程序調(diào)試軟件的調(diào)試必須在開發(fā)系統(tǒng)的支持下進(jìn)行。先分別調(diào)試通過各個(gè)模塊程序,然后調(diào)試中斷服務(wù)程序,最后調(diào)試主程序,將各部分連接進(jìn)行調(diào)試。調(diào)試的圍可以由小到大,逐步增加,必要的中間信號(hào)可以先做設(shè)定。通常交叉使用單步運(yùn)行,斷點(diǎn)運(yùn)行,連續(xù)運(yùn)行等多種方式,每次執(zhí)行完畢后,

54、檢查CPU執(zhí)行現(xiàn)場,RAM的有關(guān)容,I/O接口的狀態(tài)等,發(fā)現(xiàn)一個(gè)問題,解決一個(gè)問題,直至全部通過。首先新建一個(gè)工程項(xiàng)目文件;其次為工程選擇目標(biāo)器件;再次為工程項(xiàng)目設(shè)置軟硬件調(diào)試環(huán)境;并創(chuàng)建源程序文件并輸入程序代碼,與保存創(chuàng)建的源程序項(xiàng)目文件;最后把源程序文件添加到項(xiàng)目中。5.3 Proteus軟件仿真原理圖是在原理圖編輯窗口中的藍(lán)色方框繪制完成的,通過文件中的新建設(shè)計(jì)選項(xiàng),可以調(diào)整原理圖設(shè)計(jì)頁面大小。繪制原理圖時(shí)首先應(yīng)根據(jù)需要選取元器件,Proteus庫中提供了大量元器件原理圖符號(hào),利用Proteus的搜索功能能很方便地查找需要的元器件。首先根據(jù)需要選擇器件。單擊元器件列表窗口上邊的按鈕P,彈

55、出元器件選擇窗口。在該窗口左上方的關(guān)鍵字欄鍵入AT89C51,窗口中間的結(jié)果欄將顯示出元器件庫中所有AT89C51單片機(jī)芯片,選擇其中的AT89C51,窗口右上方將顯示出AT89C51圖形符號(hào),同時(shí)顯示該器件的虛擬仿真模型,單擊確定按鈕后,AT89C51將出現(xiàn)在器件列表窗口,照此方法選擇所有需要的元器件。器件選擇完畢后,就可以開始繪制原理圖了。先用鼠標(biāo)從器件選擇窗口選中需要的器件,預(yù)覽窗口將出現(xiàn)該器件的圖標(biāo)。再將鼠標(biāo)指向編輯窗口并單擊左鍵,將選中的器件放置到原理圖中。放置電源和地線端時(shí),要從終端按鈕欄中選取。在兩個(gè)元器件之間進(jìn)行連線的方式很簡單,先將鼠標(biāo)指向第一個(gè)器件的連接點(diǎn)并單擊左鍵,再將鼠

56、標(biāo)移到另一個(gè)器件的連接點(diǎn)并單擊左鍵,這兩個(gè)點(diǎn)就連接到一起了。對(duì)于相隔較遠(yuǎn),直接連線不方便的器件,可以用標(biāo)號(hào)的方式進(jìn)行連接。5.4 仿真結(jié)果(1)頻率計(jì)輸入用頻率計(jì)輸入頻率為5HZ和1HZ的信號(hào)時(shí),仿真結(jié)果分別如圖5-1、5-2所示。圖5-1 頻率計(jì)輸入5HZ的信號(hào)所得值用頻率計(jì)輸入頻率為5HZ的信號(hào),得到速度10.75m/s,其中LCD顯示的分別為歷程L、全程平均速度、運(yùn)行時(shí)間,LED顯示的偉瞬時(shí)速度。圖5-2頻率計(jì)輸入1HZ的信號(hào)所得值用頻率計(jì)輸入頻率為1HZ的信號(hào),得到速度2.15m/s,其中LCD顯示的分別為歷程L、全程平均速度、運(yùn)行時(shí)間,LED顯示的偉瞬時(shí)速度。(2)手動(dòng)按鈕手動(dòng)按鈕,得到當(dāng)前速度3.44m/s,按鈕按得越快,速度越高,相反,不按按鈕的話,速度回慢慢降為0。這是因?yàn)榘粹o按一下相當(dāng)于一個(gè)脈沖信號(hào),按的越快,脈沖的頻率越高,則所得的速度越高。仿真結(jié)果如圖5-3所示。圖5-3手動(dòng)按鈕

溫馨提示

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

評(píng)論

0/150

提交評(píng)論