版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p> 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)</p><p> The Design of Taximeter based on MCU </p><p> 下屬學(xué)院 理工學(xué)院 </p><p> 專 業(yè) 電子信息工程 </p&g
2、t;<p> 班 級(jí) 08電子信息工程 </p><p><b> 摘 要</b></p><p> 【摘要】本文介紹了基于單片機(jī)STC89C52的出租車計(jì)價(jià)器的設(shè)計(jì)過(guò)程。該計(jì)價(jià)器模仿實(shí)際的出租車計(jì)價(jià)器所設(shè)計(jì),具備時(shí)間顯示、里程計(jì)算、里程顯示、金額顯示等幾大功能。本文首先介紹該計(jì)價(jià)器的設(shè)計(jì)要求和設(shè)計(jì)思路。其次給出軟硬件系統(tǒng)的設(shè)計(jì)
3、框圖和硬件電路原理圖。硬件系統(tǒng)主要由液晶顯示屏1602,霍爾傳感器A44E,時(shí)鐘芯片DS1302以及三端穩(wěn)壓集成電路7805等構(gòu)成,軟件系統(tǒng)在keil中采用C語(yǔ)言開(kāi)發(fā)完成。整個(gè)系統(tǒng)先在Proteus軟件中完成驗(yàn)證,然后制作電路板進(jìn)行硬件驗(yàn)證。結(jié)果表明,本系統(tǒng)正常完成時(shí)間顯示以及計(jì)價(jià)等功能,可實(shí)現(xiàn)預(yù)期效果。</p><p> 【關(guān)鍵詞】單片機(jī);出租車計(jì)價(jià)器; Proteus;Keil </p>&l
4、t;p><b> Abstract</b></p><p> 【ABSTRACT】This paper introduces the design of taximeter based on MCU STC89C52. The system mimics actual Taximeter functions such as time display, mileage calcula
5、tion and display, money display. At first, this paper introduces the requirements of meter design and design ideas. Secondly, the system hardware and software design block diagram are given. The hardware system includes
6、LCD1602, Holzer sensor A44E, real-time clock chip DS1302 and three terminal voltage regulators IC7805. Software part is</p><p> 【KEYWORDS】SCM; taximeter; Proteus; Keil</p><p><b> 目 錄<
7、/b></p><p><b> 1 緒論1</b></p><p> 1.1 課題研究的背景1</p><p> 1.2 研究的目的及意義1</p><p> 1.2.1 設(shè)計(jì)要求2</p><p> 1.2.2 設(shè)計(jì)原理2</p><p>
8、1.3 開(kāi)發(fā)環(huán)境和開(kāi)發(fā)工具2</p><p> 1.3.1 Keil軟件2</p><p> 1.3.2 Protel DXP軟件3</p><p> 2 出租車計(jì)價(jià)器方案設(shè)計(jì)5</p><p> 2.1 系統(tǒng)的總體框架5</p><p> 2.2 硬件系統(tǒng)設(shè)計(jì)5</p><p
9、> 2.3 總體軟件系統(tǒng)設(shè)計(jì)6</p><p><b> 3 硬件設(shè)計(jì)7</b></p><p> 3.1 主要器件簡(jiǎn)介7</p><p> 3.1.1 STC89C527</p><p> 3.1.2 霍爾傳感器A44E7</p><p> 3.1.3 液晶顯示屏16
10、028</p><p> 3.1.4 時(shí)鐘芯片DS130210</p><p> 3.1.5 NE555芯片11</p><p> 3.2 各模塊電路11</p><p> 3.2.1 晶振模塊11</p><p> 3.2.2 顯示模塊11</p><p> 3.2.3
11、 里程模塊12</p><p> 3.2.4 電源模塊12</p><p> 3.2.5 鍵盤模塊13</p><p> 3.2.6 時(shí)間模塊13</p><p> 3.2.7 電機(jī)模塊14</p><p> 4系統(tǒng)軟件設(shè)計(jì)15</p><p> 4.1模塊功能綜述15
12、</p><p> 4.2主控模塊15</p><p> 4.3 顯示模塊17</p><p> 4.4霍爾傳感器A44E18</p><p> 4.5按鍵處理模塊18</p><p><b> 5 系統(tǒng)調(diào)試20</b></p><p> 5.1 Pr
13、oteus簡(jiǎn)介20</p><p> 5.2系統(tǒng)的軟件調(diào)試21</p><p> 5.3系統(tǒng)的硬件調(diào)試23</p><p> 5.4 電路板運(yùn)行圖24</p><p> 6設(shè)計(jì)體會(huì)及展望26</p><p> 6.1 設(shè)計(jì)體會(huì)26</p><p> 6.2 設(shè)計(jì)展望26
14、</p><p><b> 參考文獻(xiàn)27</b></p><p><b> 致謝28</b></p><p><b> 1 緒論</b></p><p> 1.1 課題研究的背景</p><p> 出租車是如今人們重要的交通工具,而出租車的
15、計(jì)價(jià)系統(tǒng)的安全性和先進(jìn)性是人們普遍關(guān)心的問(wèn)題,要求計(jì)價(jià)器性能穩(wěn)定,計(jì)價(jià)準(zhǔn)確,以及預(yù)防司機(jī)作弊行為等等都關(guān)系到乘客的切身利益。近年來(lái),我國(guó)出租汽車行業(yè)迅猛發(fā)展,出租汽車已經(jīng)成為我國(guó)城市公共交通的重要組成部分和現(xiàn)代化城市必備的基礎(chǔ)設(shè)施,成為人們工作、生活中不可缺少的交通工具。出租車服務(wù)行業(yè)和出租汽車計(jì)價(jià)器緊密相關(guān),因?yàn)槌鲎廛嚤仨毎惭b出租車計(jì)價(jià)器才能投入營(yíng)運(yùn)。出租車計(jì)價(jià)器是一種能根據(jù)乘客乘坐汽車行駛距離和等候時(shí)間的多少進(jìn)行計(jì)價(jià),并直接顯示車費(fèi)
16、值的計(jì)量器具。我國(guó)在70年代開(kāi)始出現(xiàn)出租車,但那時(shí)的計(jì)費(fèi)系統(tǒng)大都是國(guó)外進(jìn)口不但不夠準(zhǔn)確,價(jià)格還十分昂貴。隨著改革開(kāi)放日益深入,出租車行業(yè)的發(fā)展勢(shì)頭已十分突出,國(guó)內(nèi)各機(jī)械廠家紛紛推出國(guó)產(chǎn)計(jì)價(jià)器。出租車計(jì)價(jià)器的功能從剛開(kāi)始的只顯示路程(需要司機(jī)自己定價(jià),計(jì)算后四舍五入),到能夠自主計(jì)費(fèi),以及現(xiàn)在的能夠打印發(fā)票和語(yǔ)音提示、按時(shí)間自主變動(dòng)單價(jià)等功能。</p><p> 眾所周知,出租車計(jì)價(jià)器在我們坐上車時(shí)開(kāi)始計(jì)價(jià),計(jì)價(jià)
17、器顯示的金額由起步價(jià)(比如10元)開(kāi)始變化,當(dāng)車行駛到一定的距離以后(比如說(shuō)2.5km),隨著汽車行駛的公里數(shù)的增加,總金額按照每公里乘以單價(jià)(比如2元)開(kāi)始增加,當(dāng)乘客到達(dá)目的地時(shí),計(jì)價(jià)器上顯示的便是乘客所經(jīng)過(guò)的總路程以及所需支付的總金額。</p><p> 1.2 研究的目的及意義</p><p> 汽車計(jì)價(jià)器是乘客與司機(jī)雙方的交易準(zhǔn)則,它是出租車行業(yè)發(fā)展的重要標(biāo)志,是經(jīng)營(yíng)者和乘坐
18、出租汽車的消費(fèi)者之間用于公平貿(mào)易結(jié)算的工具,因而計(jì)價(jià)器計(jì)價(jià)準(zhǔn)確與否,直接關(guān)系到經(jīng)營(yíng)者和消費(fèi)者的經(jīng)濟(jì)利益。具有良好性能的計(jì)價(jià)器無(wú)論是對(duì)廣大出租車司機(jī)朋友還是乘客來(lái)說(shuō)都是很必要的。因此,出租車車計(jì)價(jià)器的研究也是十分有一個(gè)應(yīng)用價(jià)值的。本次設(shè)計(jì)的目的在于現(xiàn)在各大中城市出租車行業(yè)都已普及自動(dòng)計(jì)價(jià)器,所以計(jì)價(jià)器技術(shù)的發(fā)展已成定局。而部分小城市尚未普及,但隨著城市建設(shè)日益加快,象征著城市面貌的出租車行業(yè)也將加速發(fā)展,計(jì)價(jià)器的普及也是毫無(wú)疑問(wèn)的,所以未
19、來(lái)汽車計(jì)價(jià)器的市場(chǎng)還是十分有潛力的。這次畢業(yè)設(shè)計(jì)是將理論和實(shí)際相結(jié)合,綜合運(yùn)用教材及其他各種資料,把所學(xué)的知識(shí)進(jìn)一步加深和拓展。同時(shí)培養(yǎng)設(shè)計(jì)能力和解決實(shí)際問(wèn)題的能力,進(jìn)行基本技能的訓(xùn)練, 進(jìn)一步熟練的操作Proteus,Keil等軟件。</p><p> 1.2.1 設(shè)計(jì)要求</p><p> 本設(shè)計(jì)實(shí)現(xiàn)出租車行駛里程和總金額的顯示,預(yù)設(shè)起步價(jià)和起步公里數(shù),實(shí)現(xiàn)計(jì)價(jià)、復(fù)位和時(shí)間顯示功能
20、,并能夠?qū)蝺r(jià)調(diào)整。設(shè)計(jì)的主要要求如下:</p><p> 按下上車按鍵,顯示起步里程、起步價(jià)、等待時(shí)間和總金額;</p><p> 工作時(shí)能實(shí)時(shí)顯示行駛里程和總金額,同時(shí)能切換到系統(tǒng)時(shí)間界面;</p><p> 手動(dòng)調(diào)整系統(tǒng)時(shí)間、復(fù)位、白天/夜晚單價(jià)切換;</p><p> 不同情況下(白天、晚上、等待)具有不同的收費(fèi)標(biāo)準(zhǔn);<
21、/p><p> 起步單價(jià)、里程數(shù)及總金額通過(guò)LCD顯示。</p><p> 此系統(tǒng)能夠手動(dòng)設(shè)置當(dāng)前系統(tǒng)的時(shí)間、顯示當(dāng)前的系統(tǒng)時(shí)間、白天/晚上單價(jià)切換、途中等待(>3 min 開(kāi)始收費(fèi));路程、總金額、單價(jià)、等待時(shí)間等所有數(shù)據(jù)輸出在液晶屏上顯示。本電路設(shè)計(jì)的計(jì)價(jià)器不但能實(shí)現(xiàn)基本的計(jì)價(jià),而且還能在白天、夜晚、中途等待等不同狀態(tài)下的計(jì)價(jià),同時(shí)在不計(jì)價(jià)的時(shí)候還能作為時(shí)鐘為司機(jī)同志提供方便。&
22、lt;/p><p> 1.2.2 設(shè)計(jì)原理</p><p> 本系統(tǒng)是基于單片機(jī)STC89C52的智能化時(shí)間顯示、計(jì)程、計(jì)時(shí)的出租車計(jì)價(jià)系統(tǒng)。無(wú)乘客時(shí),芯片DS1302給計(jì)價(jià)器提供時(shí)間數(shù)據(jù),LCD顯示當(dāng)前系統(tǒng)時(shí)間,設(shè)有按鍵可以對(duì)系統(tǒng)時(shí)間進(jìn)行調(diào)節(jié);乘客上車時(shí),按下時(shí)間/計(jì)價(jià)鍵進(jìn)入計(jì)價(jià)模式,利用直流電機(jī)帶動(dòng)一塊塑料片來(lái)模擬汽車車輪,并在塑料片上貼上兩塊磁片,霍爾傳感器A44E感受到磁性產(chǎn)生脈沖
23、被單片機(jī)的外部中斷0捕獲,由此采集到的電機(jī)轉(zhuǎn)速外加系數(shù)的加權(quán)來(lái)模擬車速。當(dāng)需要停車等待時(shí),按下等待按鍵開(kāi)始計(jì)時(shí),超過(guò)一定時(shí)間后開(kāi)始每分鐘收費(fèi)。計(jì)費(fèi)模式下,按下時(shí)間/計(jì)價(jià)鍵可以再計(jì)價(jià)界面和時(shí)間顯示界面進(jìn)行切換。當(dāng)乘客下車時(shí),按下復(fù)位鍵,重新回到時(shí)間顯示界面,回到初始狀態(tài),代表空車。所有的數(shù)據(jù)將在液晶顯示屏LCD1602顯示,包括:等待時(shí)間、路程、單價(jià)、總金額。設(shè)置了7個(gè)按鍵,用來(lái)實(shí)現(xiàn)時(shí)間調(diào)節(jié),單價(jià)切換,等待暫停以及復(fù)位等功能。電源部分使用
24、7805穩(wěn)壓電路提供穩(wěn)定的5V電壓,使單片機(jī)能夠正常的運(yùn)行。</p><p> 1.3 開(kāi)發(fā)環(huán)境和開(kāi)發(fā)工具</p><p> 1.3.1 Keil軟件</p><p> Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil提供了
25、包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部分組合在一起。Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。C51工具包的整體結(jié)構(gòu),uVisio
26、n與Ishell分別是C51 for Windows和for Dos的集成開(kāi)發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程。開(kāi)發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS</p><p> 圖1-1 Keil軟件界面
27、</p><p> 1.3.2 Protel DXP軟件</p><p> Altium公司作為EDA領(lǐng)域里的一個(gè)領(lǐng)先公司,在原來(lái)Protel 99SE的基礎(chǔ)上推出了一款基于Windows2000和Windows XP操作系統(tǒng)的EDA設(shè)計(jì)軟件Protel DXP。該軟件能實(shí)現(xiàn)從概念設(shè)計(jì),頂層設(shè)計(jì)直到輸出生產(chǎn)數(shù)據(jù)以及這之間的所有分析驗(yàn)證和設(shè)計(jì)數(shù)據(jù)的管理。</p><p
28、> Protel DXP在前版本的基礎(chǔ)上增加了許多新的功能。新的可定制設(shè)計(jì)環(huán)境功能包括雙顯示器支持,可固定、浮動(dòng)以及彈出面板,強(qiáng)大的過(guò)濾和對(duì)象定位功能及增強(qiáng)的用戶界面等。Protel DXP是第一個(gè)將所有設(shè)計(jì)工具集于一身的板級(jí)設(shè)計(jì)系統(tǒng),電子設(shè)計(jì)者從最初的項(xiàng)目模塊規(guī)劃到最終形成生產(chǎn)數(shù)據(jù)都可以按照自己的設(shè)計(jì)方式實(shí)現(xiàn)。Protel DXP運(yùn)行在優(yōu)化的設(shè)計(jì)瀏覽器平臺(tái)上,并且具備當(dāng)今所有先進(jìn)的設(shè)計(jì)特點(diǎn),能夠處理各種復(fù)雜的PCB設(shè)計(jì)過(guò)程。通
29、過(guò)設(shè)計(jì)輸入仿真、PCB繪制編輯、拓?fù)渥詣?dòng)布線、信號(hào)完整性分析和設(shè)計(jì)輸出等技術(shù)融合,Protel DXP提供了全面的設(shè)計(jì)解決方案。</p><p> Protel DXP 2004已不是單純的PCB(印制電路板)設(shè)計(jì)工具,而是由多個(gè)模塊組成的系統(tǒng)工具,分別是SCH(原理圖)設(shè)計(jì)、SCH(原理圖)仿真、PCB(印制電路板)設(shè)計(jì)、Auto Router(自動(dòng)布線器)和FPGA設(shè)計(jì)等,覆蓋了以PCB為核心的整個(gè)物理設(shè)計(jì)
30、。該軟件將項(xiàng)目管理方式、原理圖和PCB圖的雙向同步技術(shù)、多通道設(shè)計(jì)、拓樸自動(dòng)布線以及電路仿真等技術(shù)結(jié)合在一起,為電路設(shè)計(jì)提供了強(qiáng)大的支持。</p><p> 圖1-2 Protel軟件界面</p><p> 2 出租車計(jì)價(jià)器方案設(shè)計(jì)</p><p> 2.1 系統(tǒng)的總體框架</p><p> 該出租車計(jì)價(jià)器的設(shè)計(jì)是模仿實(shí)際的計(jì)價(jià)器來(lái)設(shè)
31、計(jì)的,使用直流電機(jī)來(lái)模擬汽車引擎,配合霍爾傳感器A44E產(chǎn)生脈沖傳遞給單片機(jī)來(lái)進(jìn)行路程的計(jì)算,接著將計(jì)價(jià)器所必須顯示的數(shù)據(jù)比如:等待時(shí)間,路程,金額等在LCD液晶顯示屏1602上面顯示出來(lái),具體系統(tǒng)設(shè)計(jì)圖如下。</p><p> 圖2-1系統(tǒng)的總體框架</p><p> 2.2 硬件系統(tǒng)設(shè)計(jì)</p><p> 硬件電路主要由單片機(jī)STC89C52、顯示電路(L
32、CD液晶顯示屏1602)、DS1302時(shí)鐘電路、按鍵電路、霍爾傳感器A44E電路、7805的5V穩(wěn)壓電源電路等幾部分組成。每一個(gè)單獨(dú)的電路在同一塊PCB板子上構(gòu)成一個(gè)完整的出租車計(jì)價(jià)器,實(shí)現(xiàn)功能。</p><p><b> 系統(tǒng)引腳分配如下:</b></p><p> (1) LCD液晶顯示屏1602接P0口。</p><p> (2)
33、按鍵電路接P1.0~P1.5。</p><p> (3) 晶振電路接X(jué)TAL1和XTAL2。</p><p> (4) 霍爾傳感器A44E接外部中斷INT0。</p><p> (5) 時(shí)鐘芯片DS1302接P2.0~P2.2。 </p><p> 硬件模塊引腳分配如圖2-2所示。</p><p> 圖2-2
34、 系統(tǒng)引腳分配</p><p> 2.3 總體軟件系統(tǒng)設(shè)計(jì)</p><p> 軟件系統(tǒng)的設(shè)計(jì)是基于硬件的幾個(gè)模塊編寫的,具體的是LCD顯示模塊,時(shí)鐘模塊,按鍵模塊以及里程模塊,而這些模塊功能也是在主控模塊下才能得到實(shí)現(xiàn),形成一個(gè)有機(jī)的整體。</p><p> 各個(gè)模塊功能說(shuō)明如下:</p><p> (1) 主控模塊:負(fù)責(zé)調(diào)用其他模塊
35、完成相關(guān)功能,從而實(shí)現(xiàn)這個(gè)系統(tǒng)全部的功能。</p><p> (2) LCD顯示模塊:無(wú)乘客時(shí),顯示當(dāng)前系統(tǒng)的時(shí)間,包括年月日,星期,時(shí)分秒;有乘客時(shí),切換屏幕顯示等待時(shí)間,里程數(shù),單價(jià)以及總金額。</p><p> (3) 按鍵輸入模塊:實(shí)現(xiàn)按鍵輸入功能:共有7個(gè)按鍵開(kāi)關(guān),其中P1.0是時(shí)間調(diào)節(jié)按鍵,實(shí)現(xiàn)在無(wú)乘客時(shí)對(duì)系統(tǒng)當(dāng)前時(shí)間的修改以及各參數(shù)之間切換功能;P1.1和P1.2分別是增
36、大和減小的按鍵,實(shí)現(xiàn)對(duì)時(shí)間各個(gè)參數(shù)的調(diào)整功能;P1.3是乘客時(shí)間/計(jì)價(jià)的切換鍵,乘客上車時(shí)按下該鍵開(kāi)始計(jì)費(fèi),途中可以按下該鍵回到時(shí)間顯示模式來(lái)觀看時(shí)間,再按一次回到計(jì)價(jià)界面;P1.4是對(duì)白天及黑夜不同單價(jià)進(jìn)行切換的按鍵;P1.5是汽車停止時(shí)按下該鍵進(jìn)入等待狀態(tài),等待時(shí)間開(kāi)始增加,超過(guò)3分鐘開(kāi)始每分鐘計(jì)費(fèi)。</p><p> (4) 時(shí)鐘模塊:將DS1302所儲(chǔ)存的BCD碼形式的數(shù)據(jù)讀取并轉(zhuǎn)化成十進(jìn)制的數(shù)據(jù),送給
37、1602進(jìn)行顯示。系統(tǒng)功能中有白天/夜晚的計(jì)價(jià)的區(qū)分涉及到時(shí)間的判別,在我的設(shè)計(jì)中該功能由按鍵來(lái)處理完成,故DS1302在系統(tǒng)中的功能是為系統(tǒng)提供時(shí)間。</p><p> (5) 里程轉(zhuǎn)換計(jì)算模塊:霍爾傳感器A44E感受到磁性,產(chǎn)生脈沖送到外部中斷0,單片機(jī)接收到脈沖后記錄電機(jī)每秒鐘所轉(zhuǎn)的圈數(shù),再經(jīng)過(guò)自己聲明的函數(shù),根據(jù)圓形塑料片的周長(zhǎng)加上系數(shù)的加權(quán)換算成乘客途經(jīng)的里程數(shù)。</p><p&g
38、t;<b> 3 硬件設(shè)計(jì)</b></p><p> 3.1 主要器件簡(jiǎn)介</p><p> 3.1.1 STC89C52</p><p> STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)
39、用系統(tǒng)提供高靈活、有效的解決方案。具有以下標(biāo)準(zhǔn)功能: 8K字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,三個(gè)16位定時(shí)器/計(jì)數(shù)器,全雙工串行口。</p><p> 圖3-1 STC89C52封裝圖</p><p> 3.1.2 霍爾傳感器A44E</p><p> 霍爾器件是一種磁傳感器。用它
40、們可以檢測(cè)磁場(chǎng)及其變化,可在各種與磁場(chǎng)有關(guān)的場(chǎng)合中使用?;魻柶骷曰魻栃?yīng)為其工作基礎(chǔ)。 霍爾器件具有許多優(yōu)點(diǎn),它們的結(jié)構(gòu)牢固,體積小,重量輕,壽命長(zhǎng),安裝方便,功耗小,頻率高(可達(dá) 1MHz),工作溫度范圍寬(-55℃~150℃),耐震動(dòng),不怕灰塵、油污、水汽及鹽霧等的污染或腐蝕?;魻柧€性器件的精度高、線性度好;霍爾開(kāi)關(guān)器件無(wú)觸點(diǎn)、無(wú)磨損、輸出波形清晰、無(wú)抖動(dòng)、無(wú)回跳、位置重復(fù)精度高(可達(dá)μm級(jí))。</p><p&
41、gt; 按被檢測(cè)的對(duì)象的性質(zhì)可將它們的應(yīng)用分為:直接應(yīng)用和間接應(yīng)用。前者是直接檢測(cè)出受檢測(cè)對(duì)象本身的磁場(chǎng)或磁特性,后者是檢測(cè)受檢對(duì)象上人為設(shè)置的磁場(chǎng),用這個(gè)磁場(chǎng)來(lái)作被檢測(cè)的信息的載體,通過(guò)它,將許多非電、非磁的物理量例如力、力矩、壓力、應(yīng)力、位置、位移、速度、加速度、角度、角速度、轉(zhuǎn)數(shù)、轉(zhuǎn)速以及工作狀態(tài)發(fā)生變化的時(shí)間等,轉(zhuǎn)變成電量來(lái)進(jìn)行檢測(cè)和控制。</p><p><b> 霍爾效應(yīng)</b&g
42、t;</p><p> 如圖 3-2 所示,在一塊通電的半導(dǎo)體薄片上,加上和片子表面垂直的磁場(chǎng)B,在薄片的橫向兩側(cè)會(huì)出現(xiàn)一個(gè)電壓,如圖中的VH,這種現(xiàn)象就是霍爾效應(yīng),是由科學(xué)家愛(ài)德文·霍爾在1879年發(fā)現(xiàn)的。VH稱為霍爾電壓 。</p><p><b> 圖3-2霍爾效應(yīng)</b></p><p> 這種現(xiàn)象的產(chǎn)生,是因?yàn)橥姲雽?dǎo)
43、體片中的載流子在磁場(chǎng)產(chǎn)生的洛倫茲力的作用下,分別向片子橫向兩側(cè)偏轉(zhuǎn)和積聚,因而形成一個(gè)電場(chǎng),稱作霍爾電場(chǎng)。</p><p> 3.1.3 液晶顯示屏1602</p><p> 字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。一般1602字符型液晶顯示器實(shí)物如圖。</p><p> 圖
44、3-3 1602正面 圖3-4 1602背面</p><p> LCD1602主要技術(shù)參數(shù)</p><p> 顯示容量:16×2個(gè)字符</p><p> 2.芯片工作電壓:4.5—5.5V</p><p> 工作電流:2.0mA(5.0V)</p>&
45、lt;p> 模塊最佳工作電壓:5.0V</p><p><b> 引腳功能說(shuō)明</b></p><p> 1602LCD采用標(biāo)準(zhǔn)的14腳(無(wú)背光)或16腳(帶背光)接口,各引腳接口說(shuō)明如下:</p><p> 表3-1 引腳接口說(shuō)明表</p><p> 第1腳:VSS為地電源。</p>&l
46、t;p> 第2腳:VDD接5V正電源。</p><p> 第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高。</p><p> 第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。</p><p> 第5腳:R/W為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫入
47、指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。</p><p> 第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。</p><p> 第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。</p><p> 第15腳:背光源正極。</p><p> 第16腳:背光源
48、負(fù)極。</p><p> 1602液晶模塊內(nèi)部的控制器控制指令,如下表所示:</p><p> 表3-2 1602內(nèi)部控制指令</p><p> 1602液晶模塊的讀寫操作,屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的(說(shuō)明1為高電平,0為低電平)。</p><p> 指令1:清屏,指令碼01H,光標(biāo)復(fù)位到地址00H位置</p>
49、;<p> 指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H</p><p> 指令3:光標(biāo)和顯示位置設(shè)置I/D,光標(biāo)移動(dòng)方向,高電平右移,低電平左移,S:屏幕上所有文字是否左移或右移,高電平表示有效,低電平表示無(wú)效。</p><p> 指令4:顯示開(kāi)關(guān)控制。D:控制整體的顯示開(kāi)與關(guān),高電平表示開(kāi)顯示,低電平表示關(guān)顯示。C:控制光標(biāo)的開(kāi)與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) B
50、:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。</p><p> 指令5:光標(biāo)或顯示移位 S/C :高電平時(shí)顯示移動(dòng)的文字,低電平時(shí)移動(dòng)光標(biāo)。</p><p> 指令6:功能設(shè)置命令 DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線 N:低電平時(shí)為單行顯示,高電平時(shí)為雙行顯示,F(xiàn):低電平時(shí)顯示5X7的點(diǎn)陣字符,高電平時(shí)顯示5X10的顯示字符。</p><p> 指
51、令7:字符發(fā)生器RAM地址設(shè)置。</p><p> 指令8:DDRAM地址設(shè)置。</p><p> 指令9:讀忙信號(hào)和光標(biāo)地址 BF:忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或數(shù)據(jù),如果為低電平表示不忙。</p><p> 3.1.4 時(shí)鐘芯片DS1302</p><p> DS1302是美國(guó) DALLAS 公司推出的一種高性能、
52、低功耗的實(shí)時(shí)時(shí)鐘芯片,附加31字節(jié)靜態(tài) RAM,采用 SPI 三線接口與 CPU 進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)和 RAM數(shù)據(jù)。實(shí)時(shí)時(shí)鐘可提供秒、分、時(shí)、日、星期、月和年,一個(gè)月小與31天時(shí)可以自動(dòng)調(diào)整,且具有閏年補(bǔ)償功能。工作電壓寬達(dá)2.5~5V,采用雙電源供電(主電源和備用電源),可設(shè)置備用電源充電5V。采用雙電源供電(主電源和備用電源)方式,提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力。</p>
53、<p> 圖3-5 DS1302封裝圖</p><p> 正是因?yàn)镈S1302能夠提供秒、分、時(shí)、日、星期、月和年等時(shí)間數(shù)據(jù),在我的系統(tǒng)設(shè)計(jì)中需要這些參數(shù)的顯示,為出租車的司機(jī)或是乘客在需要的時(shí)候提供可靠的時(shí)間信息,因此我采用這塊芯片,并為其單獨(dú)提供一個(gè)主電源,保證時(shí)間不會(huì)在系統(tǒng)斷電再上電后回到初始狀態(tài)。</p><p> 3.1.5 NE555芯片</p>
54、<p> 555 集成電路開(kāi)始是作定時(shí)器應(yīng)用的,所以叫做 555 定時(shí)器或 555 時(shí)基電路。后來(lái)經(jīng)過(guò)開(kāi)發(fā),除了作定時(shí)延時(shí)控制外,還可用于調(diào)光、調(diào)溫、調(diào)壓、調(diào)速等多種控制及計(jì)量檢測(cè)。此外,還可以組成脈沖振蕩、單穩(wěn)、雙穩(wěn)和脈沖調(diào)制電路,用于交流信號(hào)源、電源變換、頻率變換、脈沖調(diào)制等。555 集成電路內(nèi)部有幾十個(gè)元器件,有分壓器、比較器、基本 R-S 觸發(fā)器、放電管以及緩沖器等。</p><p> 圖3
55、-6 NE555封裝圖</p><p> 為了模擬汽車在實(shí)際行駛過(guò)程中有快有慢的情況,我使用NE555芯片設(shè)計(jì)了一個(gè)占空比可調(diào)的多諧振蕩電路來(lái)控制直流電機(jī)的轉(zhuǎn)速快慢。在電路中加入一個(gè)電位器實(shí)現(xiàn)占空比可調(diào)的目的,從而改變電驅(qū)電流的大小控制電機(jī)的轉(zhuǎn)速。</p><p><b> 3.2 各模塊電路</b></p><p> 3.2.1 晶振模
56、塊</p><p> 單片機(jī)內(nèi)部有一個(gè)高增益、反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。通過(guò)這兩個(gè)引腳在芯片外并接石英晶體振蕩器和兩只電容(30pF),電容的大小可起到頻率微調(diào)作用,這樣就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。晶振電路如圖3-7所示。</p><p> 圖 3-7 晶振電路</p><p> 3.2.2 顯示模塊</p>
57、;<p> 對(duì)于顯示電路我們可以采用數(shù)碼管,也可以采用液晶顯示,液晶又分字符型和點(diǎn)陣型,我們使用的液晶是字符型液晶1602,自身帶有字符庫(kù),但不支持漢字的顯示,英文字符可以顯示。顯示電路如圖3-8所示。</p><p><b> 圖3-8 顯示電路</b></p><p> 3.2.3 里程模塊</p><p> 脈沖計(jì)數(shù)
58、法是智能測(cè)速系統(tǒng)中常用的方法。只要轉(zhuǎn)軸每旋轉(zhuǎn)一周, 產(chǎn)生一個(gè)或固定的多個(gè)脈沖, 并將脈沖送入微處理器中進(jìn)行計(jì)數(shù), 即可獲得轉(zhuǎn)速的信息??梢杂卸喾N方式來(lái)獲得脈沖信號(hào)。將光電傳感器安裝在轉(zhuǎn)軸上,當(dāng)扇葉經(jīng)過(guò)時(shí),可產(chǎn)生脈沖信號(hào)。但是光電傳感器對(duì)灰塵、油污等比較敏感,因此不灰塵和油污,且都廣泛應(yīng)用于工業(yè)現(xiàn)場(chǎng)。而且光電編碼器價(jià)格較昂貴,霍爾傳感器價(jià)格便宜且具有體積小、靈敏度高、響應(yīng)速度快、溫度性能好、精確度高、可靠性高等特點(diǎn),能很好地滿足車輪測(cè)速系
59、統(tǒng)設(shè)計(jì)的需要。</p><p> 霍爾傳感器A44E在測(cè)速系統(tǒng)中的主要作用是車輪轉(zhuǎn)速采集。車輪每轉(zhuǎn)一周,磁鐵經(jīng)過(guò)A44E一次。A44E的第3腳就輸出一個(gè)脈沖信號(hào)作為單片機(jī)ST89C52的外中斷信號(hào)(從INT0(P3.2)口輸入),根據(jù)脈沖信號(hào)的個(gè)數(shù)與模擬實(shí)際車輪塑料片的周長(zhǎng)外加系數(shù)的加權(quán)計(jì)算出里程。</p><p> A44E與單片機(jī)的硬件電路連接如下圖所示。</p>&
60、lt;p><b> 圖3-9 里程電路</b></p><p> 3.2.4 電源模塊</p><p> 單片機(jī)的理想工作電壓是5V,集成穩(wěn)壓器7805可以勝任這個(gè)工作,電路也較簡(jiǎn)單。下圖便是輸出正5V直流電壓的穩(wěn)壓電源電路。其中C1、C2、C3、C4為輸入端和輸出端濾波電容,R1為負(fù)載電阻。電路中加了一個(gè)開(kāi)關(guān)起到控制作用,L1為發(fā)光二極管,電路工作則L1
61、發(fā)亮。電路圖如圖3-10所示。</p><p> 圖3-10 電源電路</p><p> 3.2.5 鍵盤模塊</p><p> 獨(dú)立式鍵盤:獨(dú)立式鍵盤中,每個(gè)按鍵占用一根I/O口線,每個(gè)按鍵電路相對(duì)獨(dú)立。I/O口通過(guò)按鍵與地相連,I/O口有上拉電阻,無(wú)鍵按下時(shí),引腳端為高電平,有鍵按下時(shí),引腳電平被拉低。I/O口內(nèi)部有上拉電阻時(shí),外部可不接上拉電阻。鍵盤接口
62、電路如圖3-11所示。</p><p> 圖3-11 按鍵電路</p><p> 3.2.6 時(shí)間模塊</p><p> DS1302是DALLAS公司的一種具有涓細(xì)電流充電能力的電路,電路的接口簡(jiǎn)單、價(jià)格低廉、使用方便,被廣泛地采用。主要特點(diǎn)是采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,并且可以關(guān)閉充電功能。采用32.768KHz晶振。這里我使用
63、3V的紐扣電池為這塊芯片持續(xù)供電,這樣可以保證芯片內(nèi)的時(shí)間不是初始化時(shí)的時(shí)間,保證其與實(shí)際的時(shí)間保持一致。圖中給該芯片的獨(dú)立電源電路中添加了一個(gè)10K的電阻,存在一定的耗電,實(shí)際電路中已去除。</p><p> 時(shí)間電路如圖3-12所示。</p><p> 圖3-12 時(shí)間電路</p><p> 3.2.7 電機(jī)模塊</p><p>
64、 使用NE555芯片構(gòu)成的一個(gè)占空比可調(diào)的脈沖振蕩電路,電機(jī)M是用它的輸出脈沖驅(qū)動(dòng)的,脈沖占空比越大,電機(jī)電驅(qū)電流就越小,轉(zhuǎn)速減慢;脈沖占空比越小,電機(jī)電驅(qū)電流就越大,轉(zhuǎn)速加快。因此調(diào)節(jié)電位器VR1可以調(diào)整電機(jī)的速度。電機(jī)電路如圖3-13所示。</p><p> 圖3-13 電機(jī)電路</p><p><b> 4系統(tǒng)軟件設(shè)計(jì)</b></p><
65、p><b> 4.1模塊功能綜述</b></p><p> 出租車計(jì)價(jià)器整個(gè)系統(tǒng)是是由以下5個(gè)模塊有機(jī)構(gòu)成的:主控模塊,LCD顯示模塊,里程轉(zhuǎn)化計(jì)算模塊,按鍵模塊,時(shí)鐘模塊。下面將對(duì)各個(gè)模塊程序設(shè)計(jì)進(jìn)行綜述:</p><p> (1)主控模塊:調(diào)用下面的各個(gè)函數(shù),是整個(gè)系統(tǒng)能夠正常的運(yùn)行。</p><p> (2)LCD顯示模塊:
66、主要是一些1602相關(guān)的寫數(shù)據(jù),寫指令函數(shù)的調(diào)用,以及控制1602光標(biāo)的閃爍,位置等,實(shí)現(xiàn)顯示功能。</p><p> (3) 里程轉(zhuǎn)化計(jì)算模塊:根據(jù)單片機(jī)上外部中斷0從霍爾傳感器接收到的脈沖數(shù),申明函數(shù)設(shè)置變量將脈沖數(shù)轉(zhuǎn)化計(jì)算為出租車經(jīng)過(guò)的里程數(shù)。</p><p> (4) 按鍵模塊:包括按鍵的防抖程序,實(shí)現(xiàn)系統(tǒng)時(shí)間設(shè)置,乘客上下車,時(shí)間計(jì)價(jià)界面切換,白天夜晚單價(jià)切換,等待模式切換等
67、功能。</p><p> (5) 時(shí)鐘模塊:為系統(tǒng)提供時(shí)間,包含1302的相關(guān)函數(shù)。</p><p><b> 4.2主控模塊</b></p><p> 主程序先對(duì)系統(tǒng)環(huán)境初始化,設(shè)置8位定時(shí)器T0,讀入ds1302 的時(shí)間數(shù)據(jù),判斷是否有按鍵動(dòng)作,若按下時(shí)間設(shè)置鍵,則屏幕出現(xiàn)光標(biāo)閃爍,繼續(xù)按則在不同時(shí)間參數(shù)之間切換;若按時(shí)間/計(jì)價(jià)鍵,屏
68、幕顯示計(jì)價(jià)界面,繼續(xù)等待按鍵動(dòng)作,按時(shí)間/計(jì)價(jià)鍵則回到時(shí)間顯示界面,再按一次回到計(jì)價(jià)界面。按下等待鍵則進(jìn)入等待模式,等待時(shí)間增加,超過(guò)3分鐘開(kāi)始計(jì)費(fèi),再按一下跳出等待模式。復(fù)位鍵使單片機(jī)回到初始狀態(tài)(空車狀態(tài)),按下即代表乘客下車。主程序流程圖如圖4-1所示。</p><p> 圖4-1主程序流程圖</p><p> K1為時(shí)間設(shè)置按鍵,如果系統(tǒng)時(shí)間出現(xiàn)錯(cuò)誤,可按下該鍵進(jìn)入時(shí)間設(shè)置模式
69、,同時(shí)在K2(增大),K3(減小)兩個(gè)按鍵的配合下對(duì)時(shí)間的各個(gè)參數(shù)進(jìn)行調(diào)整。</p><p> K4為時(shí)間/計(jì)價(jià)按鍵,若有乘客上車按下該鍵進(jìn)入計(jì)價(jià)模式,若再按一次該鍵LCD跳到時(shí)間顯示界面,按第三次跳回到計(jì)價(jià)界面。K5為等待模式按鍵,碰到有紅綠燈等需停車等待的情況,按下此鍵進(jìn)入等待模式,再按一次則跳出等待模式,回到計(jì)價(jià)模式。</p><p> 主程序部分關(guān)鍵代碼如下:</p>
70、;<p> void main()</p><p><b> {</b></p><p> init();//初始化</p><p> TMOD=0x01; //定時(shí)器工作在方式1</p><p><b> ET0=1; </b></p><p>&
71、lt;b> EA=1; </b></p><p> TR0=1; //開(kāi)始計(jì)時(shí)</p><p><b> while(1)</b></p><p><b> {</b></p><p> if(biao==0)//標(biāo)志位,正常走時(shí)進(jìn)入 </p><
72、;p><b> {</b></p><p> du();//從1302讀出數(shù)據(jù)</p><p> xs();//時(shí)間刷新</p><p><b> }</b></p><p><b> anj();</b></p><p> anj2(
73、);//計(jì)費(fèi)與時(shí)鐘切換</p><p> if(ding==1) //計(jì)費(fèi)和空閑標(biāo)志位</p><p> chushihua();//計(jì)費(fèi)初始化</p><p> while(ding)</p><p><b> {</b></p><p><b> key();</b
74、></p><p><b> aq();</b></p><p> anj2();//計(jì)費(fèi)與時(shí)鐘切換</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b>&
75、lt;/p><p><b> 4.3 顯示模塊</b></p><p> 顯示部分是采用LCD1602是常見(jiàn)的16 × 2行,6 × 8 字符點(diǎn)陣液晶模塊。因?yàn)?602本身是不支持漢字的顯示,本來(lái)打算使用描點(diǎn)法來(lái)顯示中文,但是對(duì)于一些相對(duì)比較復(fù)雜的漢字描點(diǎn)法行不通。因此只能用字母來(lái)代替了。這一塊的程序比較簡(jiǎn)單,需要注意兩點(diǎn):</p>
76、<p> 1602是2行顯示的,對(duì)于字符顯示位置的控制需要注意的是,第二行第一個(gè)字符的地址是40H,在指令控制的時(shí)候需要加上80H,因?yàn)閷懭腼@示地址時(shí)要求最高位D7恒定為高電平1,所以實(shí)際寫入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H) =11000000B (C0H)。</p><p> 1602在顯示數(shù)字的時(shí)候,需要在我們所設(shè)的變量后面加上0x30,只有這樣,1602才
77、能顯示我們所需要的數(shù)字。</p><p> 顯示模塊部分程序如下:</p><p> void init()//初始化</p><p><b> {</b></p><p> write_com(0x38); //數(shù)據(jù)為8位,顯示2行</p><p> write_com(0x0c);
78、 //顯示功能開(kāi),無(wú)光標(biāo),光標(biāo)不閃爍</p><p> write_com(0x06); //寫入新數(shù)據(jù)后光標(biāo)右移1位</p><p> write_com(0x01); //清屏</p><p> write_com(0x80); //第一行第一個(gè)位置</p><p> for(num=0;num<16;num++)/
79、/顯示年月日,星期</p><p><b> {</b></p><p> write_date(tad[num]);</p><p><b> delay(1);</b></p><p><b> }</b></p><p> write_c
80、om(0x80+0x40); //第二行起始位</p><p> for(num=0;num<16;num++) //顯示時(shí)間</p><p><b> {</b></p><p> write_date(tad1[num]);</p><p><b> delay(1);</b>
81、</p><p><b> }</b></p><p><b> }</b></p><p> 4.4霍爾傳感器A44E</p><p> 該模塊由霍爾傳感器A44E感受到磁感應(yīng),產(chǎn)生脈沖傳遞給單片機(jī)的外部中斷0,這部分的程序主要是將外部中斷0所接收到的脈沖數(shù)按照一定的計(jì)算,即計(jì)算車輪周長(zhǎng)乘
82、以所轉(zhuǎn)的圈數(shù),這樣得到的便是汽車所經(jīng)過(guò)的路程。</p><p> 里程轉(zhuǎn)換計(jì)算模塊部分程序如下:</p><p> void int0() interrupt 0//外部中斷int0</p><p><b> {</b></p><p><b> k++;</b></p>&
83、lt;p> zs[s1]=(k*5);</p><p><b> }</b></p><p> void jslc() </p><p><b> {</b></p><p> zs[3]=zs[s1]/2;//每過(guò)一秒算次路程</p>
84、;<p> zs[2]=zs[2]+zs[3];</p><p><b> }</b></p><p><b> 4.5按鍵處理模塊</b></p><p> 系統(tǒng)的各個(gè)功能之間的切換都是由按鍵模塊來(lái)實(shí)現(xiàn)的。P1.0是時(shí)間設(shè)置鍵,當(dāng)被按下時(shí),1602顯示光標(biāo)跳躍(默認(rèn)秒的個(gè)位跳躍),進(jìn)入時(shí)間設(shè)置模式,
85、再按一次則跳到分的個(gè)位,可以持續(xù)按6次,第7次跳出該模式,光標(biāo)消失; P1.1和P1.2是增大、減小按鍵,當(dāng)進(jìn)入時(shí)間設(shè)置模式,可以對(duì)分秒時(shí),星期以及年月日進(jìn)行設(shè)置;P1.3是時(shí)間/計(jì)價(jià)按鍵,當(dāng)被按下時(shí)進(jìn)入計(jì)價(jià)模式,屏幕顯示等待時(shí)間,里程,單價(jià),總金額,當(dāng)被第二次按下時(shí)顯示系統(tǒng)時(shí)間,再按一次回到計(jì)價(jià)界面。P1.4是白天和夜晚的單價(jià)切換按鍵;P1.5是等待按鍵,在計(jì)價(jià)模式中有效,當(dāng)被按下時(shí)定時(shí)器1開(kāi)始工作,等待時(shí)間開(kāi)始增加,超過(guò)3分鐘收費(fèi),
86、第二次按下此鍵跳出等待模式;REST是復(fù)位鍵,使整個(gè)系統(tǒng)恢復(fù)到初始狀態(tài)。</p><p> 按鍵處理模塊關(guān)鍵代碼如下:</p><p> uchar anj1(uchar m,uchar o,uchar m1) //加減按鍵 通用函數(shù)</p><p><b> {</b></p><p><b> if
87、(k2==0)</b></p><p><b> {</b></p><p><b> delay(2);</b></p><p><b> f(k2==0)</b></p><p><b> {</b></p><
88、p><b> a1++;</b></p><p> if(a1==60)</p><p><b> a1=0;</b></p><p> while(!k2);//等待按鍵釋放</p><p> if(o==0)//o顯示的位置</p><p>
89、 write_sfm1(m,a1);//送顯示</p><p><b> if(o!=0)</b></p><p> write_sfm(m,a1);//送顯示</p><p> write_com(0x80+o+m1);//重新定位光標(biāo)閃爍的位置</p><p><b> }</b>&
90、lt;/p><p><b> }</b></p><p><b> if(k3==0)</b></p><p><b> {</b></p><p><b> delay(2);</b></p><p><b> i
91、f(k3==0)</b></p><p><b> {</b></p><p><b> a1--;</b></p><p> if(a1==-1)</p><p><b> a1=59;</b></p><p> while(!k
92、3); </p><p><b> if(o==0)</b></p><p> write_sfm1(m,a1);//送顯示</p><p><b> if(o!=0)</b></p><p> write_sfm(m,a1);</p><p&
93、gt; write_com(0x80+o+m1);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 5 系統(tǒng)調(diào)試</b></p><p
94、> 5.1 Proteus簡(jiǎn)介</p><p> Proteus軟件是英國(guó)Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。Proteus軟件有十多年的歷史,在全球廣泛使用,除了其具有和其它EDA工具一樣的原理布圖、PCB自動(dòng)或人工布線及電路仿真的功能外,其革命性的功能是,他的電
95、路仿真是互動(dòng)的,針對(duì)微處理器的應(yīng)用,還可以直接在基于原理圖的虛擬原型上編程,并實(shí)現(xiàn)軟件源碼級(jí)的實(shí)時(shí)調(diào)試,如有顯示及輸出,還能看到運(yùn)行后輸入輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等,您不需要?jiǎng)e的,Proteus為您建立了完備的電子設(shè)計(jì)開(kāi)發(fā)環(huán)境!</p><p> Proteus主要由ISIS和ARES兩部分組成,ISIS的主要功能是原理圖設(shè)計(jì)及與電路原理圖的交互仿真,ARES主要用于印制電路板的設(shè)
96、計(jì)。原理圖設(shè)計(jì)版面如下圖5-1所示。</p><p> 圖5-1 Proteus仿真原理圖</p><p> 當(dāng)原理圖編輯完成之后可點(diǎn)擊所添加的單片機(jī),出現(xiàn)如圖5-2所示的界面,找到在Keil中聲稱的Hex文件,單擊確定完成添加文件,便可以開(kāi)始仿真工作。</p><p> 圖5-2添加Hex文件界面</p><p> Proteus與
97、其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU的工作情況,也能仿真單片機(jī)外圍電路或沒(méi)有單片機(jī)參與的其它電路的工作情況。因此在仿真和程序調(diào)試時(shí),關(guān)心的不再是某些語(yǔ)句執(zhí)行時(shí)單片機(jī)寄存器和存儲(chǔ)器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作的過(guò)程和結(jié)果。對(duì)于這樣的仿真實(shí)驗(yàn),從某種意義上講,是彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。</p><p> 5.2系統(tǒng)的軟件調(diào)試</p><p&
98、gt; 本設(shè)計(jì)采用的軟件調(diào)試基于Proteus軟件,根據(jù)硬件電路在Proteus畫出仿真電路圖如圖5-3所示。</p><p> 畫好仿真電路圖后,在確保所有連線都正確的情況下,下面正式進(jìn)入軟件調(diào)試階段,主要分為以下幾個(gè)步驟:</p><p> 程序的燒入。將編寫完成的程序的Hex文件導(dǎo)入到STC89C52芯片中。</p><p> 系統(tǒng)調(diào)試。仿真開(kāi)始后,效
99、果如圖5-4與5-5所示。</p><p> 若未按下任何按鍵,系統(tǒng)上電后則顯示當(dāng)前系統(tǒng)的時(shí)間,包括年月日、星期、時(shí)分秒,仿真結(jié)果如下圖5-4所示。</p><p> 若按時(shí)間/計(jì)價(jià)鍵,系統(tǒng)處于計(jì)價(jià)模式,LCD顯示等待時(shí)間(W)、里程數(shù)(DT)、單價(jià)(UP)以及總金額(GA),仿真結(jié)果如下圖5-5所示。</p><p> 圖5-3 出租車計(jì)價(jià)器仿真電路<
100、/p><p> 圖5-4 系統(tǒng)通電以后的狀態(tài)</p><p> 圖5-5 運(yùn)行了一段時(shí)間后的截圖</p><p> 通過(guò)Proteus軟件的測(cè)試,可以看到整個(gè)系統(tǒng)都能良好的運(yùn)行,基本能夠說(shuō)明整體的程序沒(méi)什么問(wèn)題。在仿真的過(guò)程中,每一個(gè)按鍵都能正常地實(shí)現(xiàn)其功能,計(jì)價(jià)器涉及的到幾個(gè)參數(shù)也能夠隨著里程以及等待時(shí)間的增加而改變,1602上顯示也一切正常,可以看出軟件部分的
101、測(cè)試一切正常,仿真成功。</p><p> 5.3系統(tǒng)的硬件調(diào)試</p><p> 單片機(jī)系統(tǒng)的硬件調(diào)試主要是檢查焊接中是否存在虛焊、漏焊、錯(cuò)焊等問(wèn)題。硬件電路可能出現(xiàn)的問(wèn)題種類很多,對(duì)于不同的問(wèn)題相應(yīng)的對(duì)策也不一樣。硬件系統(tǒng)測(cè)試前,首先仔細(xì)地推敲系統(tǒng)原理,確認(rèn)無(wú)誤;其次對(duì)照設(shè)計(jì)圖紙檢查外圍連接是否有誤,通過(guò)這幾個(gè)方面的反復(fù)調(diào)試,可確保電路板的的正確性。</p><
102、p> 在本系統(tǒng)的硬件調(diào)試主要分以下幾個(gè)過(guò)程:</p><p> 通電調(diào)試之前,認(rèn)真檢查電路連線是否有錯(cuò)誤。對(duì)照電路圖,按一定的順序逐級(jí)對(duì)應(yīng)檢查。注意檢查電源是否接錯(cuò),電源與地是否短路,二極管方向和電解電容的極性是否接反,觀察是否錯(cuò)焊、虛焊等。</p><p> 確定電路板電源端無(wú)短路現(xiàn)象后,給電路接通電源。觀察是否有異?,F(xiàn)象,如冒煙、異常氣味、元器件發(fā)燙等現(xiàn)象。</p&g
103、t;<p> 通電一切都正常的情況下,開(kāi)始對(duì)系統(tǒng)的基本功能開(kāi)始測(cè)試,觀察電機(jī)轉(zhuǎn)動(dòng)是否正常,電位器是否正常工作,按鍵能否完成預(yù)期功能等等。</p><p> 焊接后得到的電路板如下圖5-6所示:</p><p> 圖5-6 實(shí)際硬件電路</p><p> 圖5-6 實(shí)際硬件電路背面</p><p> 5.4 電路板運(yùn)行圖
104、</p><p> 調(diào)試結(jié)束后,將程序下載到硬件電路板上,電路開(kāi)始工作,其運(yùn)行圖如下所示:</p><p> 圖5-7 系統(tǒng)上電后</p><p> 系統(tǒng)上電后,發(fā)光二級(jí)管變亮,說(shuō)明系統(tǒng)已經(jīng)通電。電機(jī)開(kāi)始轉(zhuǎn)動(dòng)。LCD顯示系統(tǒng)當(dāng)前的時(shí)間,包括年月日,星期,時(shí)分秒。</p><p> 圖5-8 進(jìn)入計(jì)價(jià)模式的等待模式</p>
105、<p> 按下時(shí)間/計(jì)價(jià)鍵后進(jìn)入計(jì)價(jià)模式,界面如上圖,W代表等待時(shí)間,DT代表里程,UP代表單價(jià),GA代表總金額。上圖中等待時(shí)間為5分鐘,默認(rèn)超過(guò)3分鐘開(kāi)始計(jì)時(shí),超過(guò)3分鐘每分鐘0.5元,而里程仍在默認(rèn)3公里之內(nèi),故顯示金額為11元(起步價(jià)10元)。</p><p><b> 圖5-9 計(jì)價(jià)模式</b></p><p> 上圖是在圖5-8之后跳出了等
106、待模式,回到計(jì)價(jià)模式且里程到達(dá)3.4Km時(shí)的界面,里程超過(guò)3公里開(kāi)始計(jì)費(fèi),途中單價(jià)為2.2元/公里,故顯示金額為11.8元(起步價(jià)10元+等待超時(shí)2分鐘1元+0.4Km*2.2元/公里=11.8元)。</p><p><b> 6設(shè)計(jì)體會(huì)及展望</b></p><p><b> 6.1 設(shè)計(jì)體會(huì)</b></p><p>
107、; 通過(guò)本次畢業(yè)設(shè)計(jì),讓我更熟悉了DXP , Proteus和Keil程序的使用,對(duì)于所使用到的元器件以及其本身的一些指令也有了一定的了解,在編寫程序的時(shí)候方便了很多。在板子實(shí)際焊接的過(guò)程中還算比較順利,但是在直流電機(jī)的安裝時(shí)不太方便,板子上面留出的空間大小與電機(jī)的大小不相符,因此不得不使用工具擴(kuò)大。同時(shí)為了固定住電機(jī),考慮到電機(jī)在轉(zhuǎn)動(dòng)的時(shí)候會(huì)有一定的震動(dòng),使用了熱熔膠來(lái)固定電機(jī)。同時(shí)霍爾傳感器硬件較小,當(dāng)時(shí)在做的時(shí)候也找不到好的辦法
108、,好在熱熔膠在冷卻后可以很好的定型,可以方便地做到盡可能的靠近電機(jī)上的磁片。不過(guò)熱熔膠影響到系統(tǒng)整體的美觀性,也算有利有弊吧。還有掉電保護(hù)模塊程序的編寫,效果始終無(wú)法出來(lái),在圖書館和網(wǎng)絡(luò)上都查過(guò)了很多資料,還是沒(méi)能把這個(gè)功能實(shí)現(xiàn)是本次設(shè)計(jì)最大的不足。對(duì)電子器件的不夠熟悉也是原因之一,導(dǎo)致在實(shí)際的操作過(guò)程中無(wú)法實(shí)現(xiàn)預(yù)期的效果。</p><p><b> 6.2 設(shè)計(jì)展望</b></p&
109、gt;<p> 對(duì)于本次設(shè)計(jì)的出租車計(jì)價(jià)器我認(rèn)為還可以有一定的功能拓展,比如說(shuō)語(yǔ)音播報(bào)功能,以及發(fā)票的打印功能。這些也是實(shí)際的出租車計(jì)價(jià)器所具備的一些功能。其他的還可以增加車內(nèi)溫度檢測(cè)的功能,來(lái)提醒司機(jī)做好車內(nèi)溫度的控制和把握,讓乘客有一個(gè)舒適的乘車環(huán)境。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]袁益林, 韓云東, 宮崇
110、陽(yáng), 魏騰飛. 利用89s51單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)[J]. 電腦編程技巧與維護(hù), 2011(9): 19-23.</p><p> [2]肖衛(wèi)初, 陳偉宏, 楊明. 基于單片機(jī)的多功能出租車計(jì)價(jià)器的設(shè)計(jì)[J]. 現(xiàn)代電子技術(shù),2008(16): 180-185.</p><p> [3]陳偉宏, 肖衛(wèi)初, 邱飚. 基于Proteus的多功能出租車計(jì)價(jià)器設(shè)計(jì)[J]. 重慶工學(xué)院學(xué)報(bào),
111、 2009(6): 83-86.</p><p> [4]楊世品, 陳林. 基于Proteus的單片機(jī)出租車計(jì)價(jià)器設(shè)計(jì)[J]. 現(xiàn)場(chǎng)總線技術(shù)應(yīng)用200例, 2007(23): 106-108.</p><p> [5]何俊池, 張婷婷, 裴文龍. 基于AT89S51的出租車計(jì)價(jià)器的設(shè)計(jì)[J]. 科技致富向?qū)? 2011(21): 14, 39.</p><p>
112、 [6]舒濤, 伍遠(yuǎn)超, 李明. 基于AT89S51單片機(jī)的出租車計(jì)價(jià)器系統(tǒng)設(shè)計(jì)[J]. 現(xiàn)代電子技術(shù),2010(22): 57-59.</p><p> [7]陳愛(ài)文. 基于AT89C51單片機(jī)的多功能出租車計(jì)價(jià)器[J]. 機(jī)電工程技術(shù), 2008(11): 67-68,106.</p><p> [8]張穎. 多功能出租車計(jì)價(jià)器的設(shè)計(jì)[J]. 廣西輕工業(yè), 2009(9): 96
113、-97.</p><p> [9]孫曉琳. 16位單片機(jī)在出租車計(jì)價(jià)器中的應(yīng)用[J]. 計(jì)量與測(cè)試技術(shù), 2009(1): 21-25.</p><p> [10]張曉虎, 劉潔. 基于單片機(jī)的出租車計(jì)價(jià)器編碼傳感器的設(shè)計(jì)[J]. 自動(dòng)化技術(shù)與應(yīng)用, 2005[10]: 63-65.</p><p> [11]劉小莉, 徐廣振. 出租車計(jì)價(jià)器設(shè)計(jì)與應(yīng)用[J].
114、 自動(dòng)化信息, 2010(12): 47-48.</p><p> [12]S.Jantarang, P.Potipantong, A.Worapishet. A LOW COST REAL-TIME INTEL LIGHT TAXIMETER SENSOR[J]. Circuits and Systems, 2002(2):217-220.</p><p> [13]Bedair S
115、.S. A multi-channel electronic digital taximeter that can deal with more than one passenger simultaneously[J]. Vehicular Technology Conference, 1987(3):458-463.</p><p><b> 致謝</b></p><
116、p> 一轉(zhuǎn)眼,四年的象牙塔生活就要結(jié)束了,天下沒(méi)有不散的宴席?,F(xiàn)在回想過(guò)去的四年很多往事歷歷在目,在這個(gè)畢業(yè)的季節(jié)里充滿了離別的傷感和不舍,但是大家在自己學(xué)業(yè)有成之后,走出校園將有一番作為也是值得高興的事情。在這里我要感謝大學(xué)四年里陪我一起度過(guò)的人。</p><p> 首先要感謝的的是指導(dǎo)老師**老師,論文能夠順利的完成離不開(kāi)**老師仔細(xì)耐心的指導(dǎo)。他嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,循循善誘的指導(dǎo)一直給我很大的幫助。當(dāng)
117、我對(duì)論文的思路感到迷茫時(shí),您為我理清思路,指導(dǎo)我往一條比較清晰的思路上進(jìn)行修改。在論文的不斷修改過(guò)程中,對(duì)于任何細(xì)小的問(wèn)題**老師也絕不放過(guò),哪怕是一個(gè)標(biāo)點(diǎn)符號(hào),因此我稱他是完美主義者。也正是因?yàn)?*老師做事情時(shí)刻都保持著這樣的態(tài)度,我深受感染,對(duì)于論文的修改我都嚴(yán)格按照**老師的要求。</p><p> 其次我要感謝大學(xué)里每一個(gè)給我上過(guò)課的老師,我的成長(zhǎng)離不開(kāi)各個(gè)老師的教導(dǎo)和栽培。尤其是劉老師之前給我傳授的知
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)論文---基于單片機(jī)的出租車計(jì)價(jià)器的設(shè)計(jì)
- 畢業(yè)論文(設(shè)計(jì))基于單片機(jī)的出租車計(jì)價(jià)器的設(shè)計(jì)
- 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)
- 基于單片機(jī)的出租車計(jì)價(jià)器
- 畢業(yè)論文-- 基于單片機(jī)的出租車計(jì)價(jià)器軟件設(shè)計(jì)
- 基于單片機(jī)的出租車計(jì)價(jià)器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的出租車計(jì)價(jià)器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的出租車計(jì)價(jià)器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 基于51單片機(jī)的出租車計(jì)價(jià)器畢業(yè)設(shè)計(jì)論文
- 基于51單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)論文---出租車計(jì)價(jià)器
- 畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的出租車計(jì)價(jià)器的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的出租車計(jì)價(jià)器系統(tǒng)
- 單片機(jī)課程設(shè)計(jì)--出租車計(jì)價(jià)器
- 基于單片機(jī)的出租車計(jì)價(jià)器的設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的出租車計(jì)價(jià)器的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論