




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、河南理工大學(xué)課程設(shè)計(jì)大學(xué)單片機(jī)應(yīng)用與仿真訓(xùn)練設(shè)計(jì)報(bào)告出租車計(jì)價(jià)器姓 名:學(xué) 號(hào):丄姓 名:學(xué) 號(hào):專業(yè)班級(jí): 自動(dòng)化09-7班指導(dǎo)老師:所在學(xué)院:電氣學(xué)院2012年7月4日摘要本設(shè)計(jì)基于AT89SC5單片機(jī),采用霍爾傳感器采集輪胎轉(zhuǎn)數(shù)的信息,使用 外部中斷0將霍爾傳感器采集的信息輸入到單片機(jī),實(shí)現(xiàn)對(duì)于出租車行駛里程的 計(jì)算;對(duì)于中途等待以及紅綠燈等待, 使用定時(shí)器計(jì)時(shí),并將時(shí)間轉(zhuǎn)化為里程數(shù) 以計(jì)費(fèi);輸出設(shè)備采用數(shù)碼管,本設(shè)計(jì)采用的是兩個(gè)4位一體的共陰極數(shù)碼管,輸出里程數(shù)和費(fèi)用;此外,本設(shè)計(jì)還設(shè)計(jì)了狀態(tài)指示燈,用以指示計(jì)價(jià)器的工作 狀態(tài)和顯示狀態(tài)。出租車計(jì)價(jià)器是出租車行業(yè)計(jì)費(fèi)系統(tǒng)的核心,是出租車
2、行業(yè)發(fā)展的重要標(biāo) 志,性能良好的計(jì)價(jià)器對(duì)于乘客和出租車行業(yè)都是必需的。關(guān)鍵詞:計(jì)價(jià)器、單片機(jī)、霍爾傳感器33目錄1概述4.1.1出租車計(jì)價(jià)器概述 41.2單片機(jī)的概述.4.2總體方案設(shè)計(jì)6.2.1設(shè)計(jì)任務(wù)要求&2.1.1設(shè)計(jì)任務(wù)62.1.2設(shè)計(jì)要求62.2設(shè)計(jì)的主要功能62.3方案的選取7.2.3.1硬件設(shè)計(jì)方案 72.3.2軟件設(shè)計(jì)方案83硬件設(shè)計(jì)9.3.1 AT89S52單片機(jī)及最小系統(tǒng) 93.2測距單元.1.13.3按鍵單元和狀態(tài)顯示單元 .143.4數(shù)碼顯示單元154軟件設(shè)計(jì)174.1系統(tǒng)主程序.174.2數(shù)據(jù)處理子程序184.3等待時(shí)間計(jì)時(shí)子程序.194.4鍵盤掃描子程序20
3、5 Proteus軟件仿真216課程設(shè)計(jì)過程中遇到的問題 227課程設(shè)計(jì)體會(huì)23參考文獻(xiàn)23附1、原程序代碼25附2、系統(tǒng)原理圖311概述1.1出租車計(jì)價(jià)器概述出租汽車已經(jīng)成為我國城市公共交通的重要組成部分和現(xiàn)代化城市必備的基礎(chǔ)設(shè)施,成為人們工作、生活中不可缺少的交通工具。出租汽車服務(wù)行業(yè)和出 租汽車計(jì)價(jià)器緊密相關(guān),因?yàn)槌鲎馄嚤仨毎惭b出租汽車計(jì)價(jià)器才能投入營運(yùn)。出租汽車計(jì)價(jià)器是一種能根據(jù)乘客乘坐汽車行駛距離和等候時(shí)間的多少進(jìn)行計(jì) 價(jià),并直接顯示車費(fèi)值的計(jì)量器具。計(jì)價(jià)器是出租汽車的經(jīng)營者和乘坐出租汽車 的消費(fèi)者之間用于公平貿(mào)易結(jié)算的工具, 因而計(jì)價(jià)器計(jì)價(jià)準(zhǔn)確與否,直接關(guān)系到 經(jīng)營者和消費(fèi)者的經(jīng)
4、濟(jì)利益。依據(jù)國家有關(guān)法律、法規(guī),出租汽車計(jì)價(jià)器是列入國家首批強(qiáng)制檢定的工作計(jì)量器具之一, 也是近年來國家質(zhì)量技術(shù)監(jiān)督部門強(qiáng)化 管理的六類重點(diǎn)計(jì)量器具之一。出租車行業(yè)在我國是八十年代初興起的一項(xiàng)新興行業(yè), 隨著我國國民經(jīng)濟(jì)的 高速發(fā)展,出租汽車已成為城市公共交通的重要組成部分。 多年來國內(nèi)普遍使用 的計(jì)價(jià)器只具備單一的計(jì)量功能。目前全世界的計(jì)價(jià)器中有 90%為臺(tái)灣所生產(chǎn)。 現(xiàn)今我國生產(chǎn)計(jì)價(jià)器的企業(yè)有上百家,主要是集中在北京,上海, 沈陽和廣州等 地。本次設(shè)計(jì)的目的在于通過的日常最常見的計(jì)價(jià)器的實(shí)際的設(shè)計(jì)來進(jìn)一步理 解和掌握單片機(jī)的功能特點(diǎn),并通過實(shí)踐應(yīng)用,鍛煉自己的動(dòng)手能力、培養(yǎng)與人合作的團(tuán)隊(duì)意
5、識(shí)。1.2單片機(jī)的概述計(jì)算機(jī)系統(tǒng)已明顯地朝巨型化、 單片化、網(wǎng)絡(luò)化三個(gè)方向發(fā)展。巨型化發(fā)展 的目的在于不斷提高計(jì)算機(jī)的運(yùn)算速度和處理能力,以解決復(fù)雜系統(tǒng)計(jì)算和高速數(shù)據(jù)處理,比如系統(tǒng)仿真和模擬、實(shí)時(shí)運(yùn)算和處理。單片化是把計(jì)算機(jī)系統(tǒng)盡可 能集成在一塊半導(dǎo)體芯片上,其目的在于計(jì)算機(jī)微型化和提高系統(tǒng)的可靠性, 這 種單片計(jì)算簡稱單片機(jī)。單片機(jī)的內(nèi)部硬件結(jié)構(gòu)和指令系統(tǒng)主要是針對(duì)自動(dòng)控制應(yīng)用而設(shè)計(jì)的所以單片機(jī)又稱微控制器 MCU(Micro Controller Unit)。用它可以很容易地將計(jì)算機(jī)嵌入到各種儀器和現(xiàn)場控制設(shè)備中,因此單片機(jī)又叫做嵌入式微控制器(Embedded MC)單片機(jī)自20世紀(jì)70
6、年代問世以來,以其鮮明的 特點(diǎn)得到迅猛發(fā)展,已廣泛應(yīng)用于家用電器、智能玩具、智能儀器儀表、工業(yè)控 制、航空航天等領(lǐng)域,經(jīng)過30多年的發(fā)展,性能不斷提高,品種不斷豐富,已 經(jīng)形成自動(dòng)控制的一支中堅(jiān)力量。 據(jù)統(tǒng)計(jì),我國的單片機(jī)年容量已達(dá)13億片, 且每年以大約16%的速度增長,但相對(duì)于國際市場我國的占有率還不到 1%。這 說明單片機(jī)應(yīng)用在我國有著廣闊的前景。對(duì)于從事自動(dòng)控制的技術(shù)人員來講,掌 握單片機(jī)原理及其應(yīng)用已經(jīng)成為必不可少的學(xué)習(xí)任務(wù)。2總體方案設(shè)計(jì)本系統(tǒng)的硬件設(shè)計(jì)主要包括單片機(jī) AT89S51數(shù)據(jù)顯示部件、模擬行駛路程 單元、及計(jì)價(jià)單元的設(shè)計(jì)。在硬件設(shè)計(jì)過程中,充分利用各部件的功能,實(shí)現(xiàn)多
7、功能的出租車計(jì)價(jià)器設(shè)計(jì)。2.1設(shè)計(jì)任務(wù)要求2.1.1設(shè)計(jì)任務(wù)設(shè)計(jì)一款基于AT89S5單片機(jī)的出租車數(shù)字計(jì)價(jià)器,通過對(duì)傳感器的檢測, 對(duì)數(shù)值進(jìn)行處理和顯示。2.1.2設(shè)計(jì)要求1、能顯示里程,單位為公里,最后一位為小數(shù)位。2、能顯示金額數(shù),單位為元,最后一位為小數(shù)位。3、可設(shè)定單程價(jià)格和往返價(jià)格,單程價(jià)格為 2元/公里,往返價(jià)格為1.5元/公 里。4、車速3公里/小時(shí)的時(shí)間累積為總等待時(shí)間,每5分鐘等待時(shí)間相當(dāng)于里程 數(shù)增加1公里。5、起步公里數(shù)為3公里,價(jià)格為5元,若實(shí)際距離大于3公里,按規(guī)則3計(jì)算價(jià) 格。6、按暫停鍵,計(jì)價(jià)器可暫停計(jì)價(jià),按查詢鍵,可顯示總等待時(shí)間。2.2設(shè)計(jì)的主要功能本設(shè)計(jì)所設(shè)
8、計(jì)的出租車數(shù)字計(jì)價(jià)器的主要功能有:金額輸出、路程輸出、數(shù)據(jù)復(fù)位、計(jì)時(shí)計(jì)價(jià)等。輸出采用2個(gè)4位一體的8段共陰數(shù)碼管,車輛行走時(shí)前4位顯示路程,后4位顯示金額。車輛候車時(shí),前4位顯示等待時(shí)間,后4位顯示等待金額2.3方案的選取本設(shè)計(jì)是由軟件設(shè)計(jì)和硬件設(shè)計(jì)兩部分組成的。軟件設(shè)計(jì)要進(jìn)行程序的編寫和軟件仿真;硬件設(shè)計(jì)要設(shè)計(jì)電路、硬件仿真和制作電路板。聯(lián)機(jī)總調(diào)性能測定231硬件設(shè)計(jì)方案本系統(tǒng)的硬件設(shè)計(jì)主要包括單片機(jī) AT89S52數(shù)據(jù)顯示部件、U18霍爾傳感器 電路、里程計(jì)算及計(jì)價(jià)單元的設(shè)計(jì)。在硬件設(shè)計(jì)過程中,充分利用各部件的功能, 實(shí)現(xiàn)多功能的出租車計(jì)價(jià)器設(shè)計(jì)。計(jì)價(jià)器的單片機(jī)系統(tǒng)框圖如圖1所示。它由以下
9、幾個(gè)部件組成:霍爾傳感器單元、 AT89S5單片機(jī)、金額顯示、里 程顯示、狀態(tài)指示單元。利用單片機(jī)豐富的10端口,及其控制的靈活性,實(shí)現(xiàn)基 本的里程和價(jià)格的計(jì)算及顯示功能。二級(jí)管霍爾傳感器D 單片機(jī)顯示設(shè)備JJ*/按鍵圖1計(jì)價(jià)器系統(tǒng)框圖232軟件設(shè)計(jì)方案本設(shè)計(jì)程序的采取C語言進(jìn)行編寫,使用Keil uVision4編譯和Proteus 7.4a 仿真軟件進(jìn)行仿真調(diào)試。其中的里程計(jì)算和費(fèi)用計(jì)算方案如下。1、里程計(jì)算(1) 霍爾傳感器對(duì)車輪進(jìn)行信號(hào)檢測,產(chǎn)生并輸出脈沖信號(hào)到單片機(jī);(2) 單片機(jī)對(duì)傳感器輸出的脈沖信號(hào)進(jìn)行計(jì)數(shù),并進(jìn)行km計(jì)算:每一個(gè)信號(hào)代表輪胎旋轉(zhuǎn)一周,設(shè)輪胎的周長為1.67m ;
10、每100n產(chǎn)生的信號(hào)數(shù)為60,里程 顯示為N/60 X 0.1 (km),速度5公里時(shí)將等待時(shí)間折算為公里數(shù)進(jìn)行計(jì)費(fèi),等待時(shí)間30s為0.1km。歷程為兩者之和。2、費(fèi)用計(jì)算(1) 出租車的起步費(fèi)為5元,并且3km內(nèi)不需額外計(jì)價(jià);(2) 出租車行駛3km后,單程2元/km,雙程1.5元/km。(3)等待收費(fèi)的標(biāo)準(zhǔn)為5分鐘算一公里;(4)暫停時(shí)計(jì)價(jià)器暫停計(jì)價(jià),暫停費(fèi)用的計(jì)算。3硬件設(shè)計(jì)本設(shè)計(jì)的硬件設(shè)計(jì)包括單片機(jī) AT89S5單元、測距單元、顯示單元(數(shù)碼管 顯示金額、等待時(shí)間和里程,指示燈對(duì)單雙程切換指示、等待計(jì)時(shí)指示)、按鍵單元和時(shí)鐘單元。3.1 AT89S52單片機(jī)及最小系統(tǒng)1、AT89S5
11、2單片機(jī)AT89S5具有如下特點(diǎn):40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM,32個(gè)外部雙向輸入/輸出(I/O ) 口,5個(gè)中 斷優(yōu)先級(jí)2層中斷嵌套,2個(gè) 16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門 狗(WDT電路,片內(nèi)時(shí)鐘振蕩器。P0 口 :1、外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)作數(shù)據(jù)/地址總線。2、不擴(kuò)展時(shí),可做一般的I/O使用,內(nèi)部無上拉電阻,作為輸入或輸出時(shí)應(yīng) 在外部接上拉電阻。P1 口:只做I/O 口使用:其內(nèi)部有上拉電阻。P2口 : 1、擴(kuò)展外部存儲(chǔ)器時(shí),當(dāng)作地址總線使用。2、做一般I/O 口使用,其內(nèi)部有上拉電阻P3 口:1、
12、作為I/O使用外(其內(nèi)部有上拉電阻)2、特殊功能口,由特殊寄存器來設(shè)置PDIPPiLOCP1JI 匚P1.2CP1.3 匚P1I 4 匚 (MOS1) P1LSL (MISO) P1,6 匚 (SCK) P1.7CRSTC (RXD) P3.0E (TXD) P3.1 匚 (INTO) P3-2 C (INTT) P3-3 匚 (TO) P3_4 匚 (T1)已點(diǎn)匚 (WR) P3.6 匚 麗)P3.7CXTAL2EXTAL1I 匚GIMDC1402393304375366357348339321<J311130122&1314271526251724is2319222Q21 V
13、CC PO.O (DO) PO.1 (AD1) PO.2 (AD2) P0.3 (AD3) Pd4 (AD4)卩0.5 (AD5) P0.6 (ADS) P0.7 (AD7) EVPP ALE/PROG PSEiN PZ7(A15J P2lG (A1I4J P2.5(A13) P2.4 (A12)_l P2.3 (All) P2 2 (A10) P2.1 (A9) P2 0 (AB)圖2 AT89S52引腳圖圖3 AT89S52封裝圖設(shè)計(jì)中用到的單片機(jī)各管腳:設(shè)計(jì)中用到的單片機(jī)各個(gè)管腳功能以及與其他模塊連接介紹如下:VCC接+5V電源。VSS 接 地。時(shí)鐘引腳:XTAL和XTAL兩端接晶振和3
14、0PF勺電容,構(gòu)成時(shí)鐘電路,它可以 使單片機(jī)穩(wěn)定可靠的運(yùn)行。RST復(fù)位信號(hào)輸入端,高電平有效。當(dāng)在此引腳加兩個(gè)機(jī)器周期的高電平時(shí), 就可以完成復(fù)位操作。P1.0 :接清零鍵。P1.1 :接切換鍵,表示等待時(shí)間和里程顯示切換。P1.2 :接單程和往返計(jì)費(fèi)切換鍵P1.3 :接暫停鍵P1.4:接堵車指示燈P1.5:接查詢指示燈P1.6 :接往返計(jì)費(fèi)指示燈P1.7:接暫停指示燈P3.0:接杳詢/確認(rèn)鍵P0 口接數(shù)碼管段選端,P2 口接數(shù)碼管位選端P3.2 :接霍爾傳感器的輸出口2、單片機(jī)最小系統(tǒng)復(fù)位電路和晶振電路是AT89S5工作所需的最簡外圍電路。單片機(jī)最小系統(tǒng)電路圖如圖4所示。31;KTAL1KT
15、AL2R&TPlEffALE EAP I JOPtlPI JP1.3 卩2 Ptfi pi.ePL7(TEXT:P0.D/AD0P0.1/AD1PDJ2/AD2 Pg心 P0.4/AD 斗 P0.5/AD5 P0.C/AD6 P0.7/AD7P2.0/«P2.2/A10P2.3/A11P2.4/M2P2.5/A13P2J6/A14P.2.7/A15P3.0/RXDP3.im(DF3.2/1NT0P3.34NTT PN4fTOP3如P3.6/WRP37/RD33212S1011 立13151617圖4單片機(jī)最小系統(tǒng)AT89S52的復(fù)位端是一個(gè)史密特觸發(fā)輸入,高電平有效。RST端
16、若由低電平上升到高電平并持續(xù)2個(gè)周期,系統(tǒng)將實(shí)現(xiàn)一次復(fù)位操作。在復(fù)位電路中,按一 下復(fù)位開關(guān)就使在RS端出現(xiàn)一段時(shí)間的高電平,外接12M晶振和兩個(gè)30pF電容 組成系統(tǒng)的內(nèi)部時(shí)鐘電路。3.2測距單元本次設(shè)計(jì)我們選取了霍爾傳感器來進(jìn)行里程測量??稍诟鞣N與磁場霍爾器件是一種磁傳感器。用它們可以檢測磁場及其變化, 有關(guān)的場合中使用?;魻柶骷曰魻栃?yīng)為其工作基礎(chǔ)?;魻柶骷哂性S多優(yōu)點(diǎn),它們的結(jié)構(gòu)牢固,體積小,重量輕,壽命長,安裝方便,功耗小,頻率高,耐震動(dòng),不怕灰塵、油污、水汽及鹽霧等的污染或腐蝕霍爾器件分為:霍爾元件和霍爾集成電路兩大類,前者是一個(gè)簡單的霍爾片, 使用時(shí)常常需要將獲得的霍爾電壓進(jìn)行
17、放大。后者將霍爾片和它的信號(hào)處理電路 集成在同一個(gè)芯片上。本次設(shè)計(jì)選取了霍爾集成電路來測量里程。里程測量是通過將霍爾傳感器的集成電路安裝在車輪上方的鐵板上,將磁鐵安裝在車輪上,旋轉(zhuǎn)的車輪將磁鐵對(duì)準(zhǔn)集成電路時(shí), 霍爾傳感器會(huì)輸出一個(gè)脈沖 信號(hào),送到單片機(jī),經(jīng)過單片機(jī)的計(jì)算處理,將行駛的里程送到顯示單元并顯示 出來。其原理示意圖如下:圖5傳感器測距示意圖U18是一種利用霍爾效應(yīng)做成的半導(dǎo)體集成電路器件,它被設(shè)計(jì)在交變磁場中運(yùn)行,特別是能在低電源電壓和長時(shí)間運(yùn)行溫度范圍可達(dá)到125C。這種霍爾IC可用作各種類型的傳感器(速度傳感器、位移傳感器、轉(zhuǎn)速傳感器等等),接觸開關(guān)以及相類似的應(yīng)用場合。其工作電
18、壓比較寬(2.520V),可運(yùn)行在較大 的溫度范圍內(nèi)(-20 C125C),其輸出的信號(hào)符合TTL電平標(biāo)準(zhǔn),可以直接接 到單片機(jī)的10端口上,而且其最高檢測頻率可達(dá)到1MHZ霍爾傳感器的特性如圖6所示,其中BO為工作點(diǎn)“開”的磁感應(yīng)強(qiáng)度,BRP 為釋放點(diǎn)“關(guān)”的磁感應(yīng)強(qiáng)度。當(dāng)外加的磁感應(yīng)強(qiáng)度超過動(dòng)作點(diǎn)BO時(shí),傳感器輸出低電平,當(dāng)磁感應(yīng)強(qiáng)度降到動(dòng)作點(diǎn) BO以下時(shí),傳感器輸出電平不變,一直 要降到釋放點(diǎn)BRP寸,傳感器才由低電平躍變?yōu)楦唠娖健?B0與BR之間的滯后使 開關(guān)動(dòng)作更為可靠。U18集成霍耳開關(guān)由穩(wěn)壓器A、霍耳電勢發(fā)生器(即硅霍耳片)B、差分放大器C、 施密特觸發(fā)器D和0C1輸出E五個(gè)基本
19、部分組成。在輸入端輸入電壓VCC經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍爾電勢發(fā)生器的兩端,根據(jù) 霍爾效應(yīng)原理,當(dāng)霍爾片處在磁場中時(shí), 在垂直于磁場的方向通以電流, 則與這 二者相垂直的方向上將會(huì)產(chǎn)生霍爾電勢差 VH俞出,該VH言號(hào)經(jīng)放大器放大后送至 施密特觸發(fā)器整形,使其成為方波輸送到0C1輸出。當(dāng)施加的磁場達(dá)到工作點(diǎn)(即 Bop)時(shí),觸發(fā)器輸出高電壓(相對(duì)于地電位),使三極管導(dǎo)通,此時(shí)0C1輸出端 輸出低電壓,三極管截止,使0C1輸出高電壓,這種狀態(tài)為關(guān)。這樣兩次電壓變 換,使霍爾開關(guān)完成了一次開關(guān)動(dòng)作。Marked fa<eL Vcc N GND3. OutputBh4>r lBrpBopVou
20、tH0Magnetic flux densitySIP-3圖6 U18霍爾傳感器和其輸出特性U18霍爾傳感器有3個(gè)外接口,2個(gè)是電源的正負(fù)極接口,最后一個(gè)是脈沖信 號(hào)輸出口,只要將霍爾傳感器的信號(hào)輸出端接到單片機(jī)的端口上便可以實(shí)現(xiàn)距離 檢測。其中,單片機(jī)的P3.2 (INTO)弓I腳作為信號(hào)的輸入端,采用外部中斷 0進(jìn)行 計(jì)數(shù)。車輪每轉(zhuǎn)一圈,霍爾傳感器就產(chǎn)生一個(gè)脈沖信號(hào),根據(jù)霍爾效應(yīng)原理,當(dāng) 霍爾片處在磁場中時(shí),霍爾傳感器的輸出端輸出低電平。 當(dāng)車輪轉(zhuǎn)動(dòng)一圈時(shí)小磁 鐵提供一個(gè)磁場,則霍爾傳感器輸出一次低電平完成一次數(shù)據(jù)采集,從而產(chǎn)生信號(hào)?;魻杺鞲衅鳈z測并輸出信號(hào)到單片機(jī)的INT0或INT1計(jì)算
21、脈沖輸入端,引起單片機(jī)的中斷,對(duì)脈沖計(jì)數(shù),當(dāng)計(jì)數(shù)達(dá)到特定的次數(shù)時(shí),里程就會(huì)增加,單片機(jī)對(duì) 里程進(jìn)行計(jì)算后,通過接口電路將計(jì)算好的結(jié)果傳送到數(shù)碼管并顯示出來。3.3按鍵單元和狀態(tài)顯示單元本設(shè)計(jì)的按鍵單元電路(如圖7)有4個(gè)按鍵,功能分別是:pl.O 口接是清零 按鍵,用于對(duì)新旅客的重新計(jì)費(fèi);p1.1 口為路程和等待時(shí)間切換按鈕,;p1.2 口按 鍵可進(jìn)行單程和雙程之間切換,燈亮?xí)r表示往返計(jì)費(fèi);p1.3 口按鍵對(duì)本次計(jì)費(fèi)進(jìn) 行暫停。狀態(tài)顯示使用四個(gè)發(fā)光二極管來指示,包括計(jì)時(shí)指示燈(p1.4 口)、等待時(shí)間查詢指示(p1.5 口)、雙程指示燈(p1.6 口)、暫停指示燈(p1.7 口)。這些指示燈
22、能對(duì)出租車的每一種狀態(tài)進(jìn)行指示,當(dāng)汽車速度小于5km/h時(shí)開始計(jì)時(shí),計(jì)時(shí)指示燈亮(包括堵車、過紅綠燈、等人等等);計(jì)價(jià)前如果按下雙程鍵雙程指示燈 亮,表示為雙程;計(jì)價(jià)或計(jì)時(shí)過程中按下暫停鍵,則暫停指示燈亮,計(jì)價(jià)、計(jì)時(shí) 暫停;若按下復(fù)位鍵,則復(fù)位指示燈亮,一切歸零,并重新開始。C2XTAL3Li1kPEEALE 麗: D1 : lie - «TExFT煜TEE31-piutzP12 P13 PI.*P15P1SP117PlirFXD'pa.imwpiyri37弗a*F*21''PZ3Z42&-z?二.-FZJ/JW PNEMEl P23A11IP2S13
23、 P2JSAUPomtiDIF 口期臨PD.WAO* POSTAOS paja*AD6 p 口 ?rA&?圖7按鍵單元與狀態(tài)顯示電路3.4數(shù)碼顯示單元數(shù)碼顯示部分使用兩個(gè)四位一體的LED碼管,LEES示器是由LED發(fā)光二極 管發(fā)展過來的一種顯示器件,是發(fā)光二極管的改型。LED是發(fā)光二極管的簡稱,是一種將電能轉(zhuǎn)換成光能的設(shè)備。本身也是一種光源。LEE顯示器是由發(fā)光二極管排列組成的顯示器件。它采用低電壓掃描驅(qū)動(dòng),具有:耗電少、使用壽命長、 成本低、故障少、視角大、可視距離遠(yuǎn)等特點(diǎn)。此外,它的響應(yīng)時(shí)間短(一般不 超過O.lus ),亮度也比較高。它的缺點(diǎn)是工作電流比較大,每一段的工作電流在
24、10m竝右。其中每位數(shù)碼管是由8個(gè)發(fā)光二極管演變而來,其中7個(gè)發(fā)光二極管構(gòu)成7筆 字形,另一個(gè)構(gòu)成小數(shù)點(diǎn),稱為8段LED 8段LE數(shù)碼管是利用7個(gè)LED(發(fā)光二極 管)外加一個(gè)小數(shù)點(diǎn)的LEDS合而成的顯示設(shè)備,可以顯示09等10個(gè)數(shù)字和小 數(shù)點(diǎn),使用非常廣泛,它的外觀如圖9所示:圖9 8段數(shù)碼管這類數(shù)碼管可以分為共陽極(8個(gè)發(fā)光二極管的陽極接在一起)與共陰極(8個(gè) 發(fā)光二極管陰極連在一起)兩種,共陽極就是把所有LED勺陽極連接到共同接點(diǎn), 而每個(gè)LED勺陰極分別為a、b、c、d、e、f、g及dp (小數(shù)點(diǎn));共陰極則是把所 有LED勺陰極連接到共同接點(diǎn),而每個(gè)LED勺陽極分別為a、b、c、d、
25、e、f、g及dp (小數(shù)點(diǎn)),如圖10所示。10共陰3,810DP圖10共陽和共陰數(shù)碼管結(jié)構(gòu)通過控制這個(gè)公共端,則該位顯示器有效,反之無效。本設(shè)計(jì)采用共陰可使該位亮或暗。如共陰極端接地或共陽極接高電平,LED數(shù)碼管。數(shù)碼管有靜態(tài)顯示和動(dòng)態(tài)顯示兩種,這里采用動(dòng)態(tài)顯示。它具有低功耗、接口少等特點(diǎn)。如圖11兩個(gè)四位一體數(shù)碼管接P0口作為段選,接P2口作為位選???車時(shí)顯示時(shí)間,開始計(jì)價(jià)時(shí)前四位顯示路程,后四位顯示價(jià)錢。當(dāng)查詢等待時(shí)間 時(shí)顯示為等待時(shí)間時(shí),左側(cè)的里程顯示轉(zhuǎn)換為等待時(shí)間顯示, 計(jì)費(fèi)顯示保持原有 動(dòng)作圖11顯示單元(數(shù)碼管顯示部分)4軟件設(shè)計(jì)本系統(tǒng)的軟件設(shè)計(jì)主要分為系統(tǒng)主程序、數(shù)據(jù)處理子程
26、序、等待時(shí)間及時(shí)子 程序和鍵盤掃描子程序五個(gè)模塊,下面對(duì)每一塊進(jìn)行介紹。4.1系統(tǒng)主程序本設(shè)計(jì)中,軟件設(shè)計(jì)采用模塊化操作,利用各個(gè)模塊之間的相互聯(lián)系,在設(shè) 計(jì)中采用主程序調(diào)用各個(gè)子程序的方法,使程序通俗易懂,我們?cè)O(shè)計(jì)了整體程序 流程圖。在main函數(shù)編寫開始,要進(jìn)行初始化,包括對(duì)系統(tǒng)初始化和對(duì)硬件設(shè)備進(jìn)行 初始化,并使硬件處于就緒狀態(tài)。在主程序模塊中,需要完成對(duì)各接口芯片的初始化、 出租車起價(jià)和單價(jià)的初 始化、中斷向量的設(shè)計(jì)以及開中斷、循環(huán)等待等工作。系統(tǒng)流程圖如下圖14。圖14系統(tǒng)主程序流程圖4.2數(shù)據(jù)處理子程序每當(dāng)霍爾傳感器輸出一個(gè)低電平信號(hào)就使單片機(jī)中斷一次,在計(jì)數(shù)中斷服務(wù)程序,里程和金
27、額都相應(yīng)變化,當(dāng)然等待時(shí)間也換算成里程(當(dāng)速度小于5km/h 時(shí)5分鐘想當(dāng)于1公里)o計(jì)算程序根據(jù)里程數(shù)分別進(jìn)入不同的計(jì)算公式。如果里 程大于3公里,則執(zhí)行公式:金額=(里程-3) *單價(jià)+5;否則,執(zhí)行公式:總金 額二起步價(jià)。程序流程圖如圖15所示。金額=5元金額=單價(jià)* (里程-3)+5*顯示金額圖15數(shù)據(jù)處理子程序流程圖4.3等待時(shí)間計(jì)時(shí)子程序當(dāng)出租車的速度5km/h時(shí)等待時(shí)間開始計(jì)時(shí),并被換算里程,進(jìn)行計(jì)算顯示 等待時(shí)間和金額。當(dāng)結(jié)算時(shí)停止計(jì)時(shí)和計(jì)費(fèi)并顯示金額,當(dāng)有查詢鍵按下時(shí)顯示 等待時(shí)間,當(dāng)有清零鍵按下時(shí)存儲(chǔ)本次金額。如圖16:4.4鍵盤掃描子程序鍵盤采用查詢的方式,放在主程序中,
28、當(dāng)沒有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序,一旦右按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。圖16等待時(shí)間計(jì)時(shí)子程序5 Proteus軟件仿真本設(shè)計(jì)需要用Keil uVision3 對(duì)C51程序進(jìn)行編譯,生成“ .hex ”文件,如圖18 :7t Wort EPKV于 XooiElffinclude<reg52, h>002 define uchar unsigned charM3 define uint unsigned irituchar qianwei, baiweij shiwei, gewei ; ff顯不數(shù)據(jù)各個(gè)、 005 uchar led_seg_code10
29、= 0x3f, 0x06, 0x05b, 0s04f, 0x66 dob int ttj aa.t rounds distance, cost, price wait ; j*走乂巳、 即丁 uchar dengdai. second, minute;ooe unsigned longf?記錄等待E血按鍵的定義,所有按鍵按下去為低電¥ 汕 sbit kev0=Pl"0;/清率012 sbi七kevlPri;ff切換路程與等待巧冊(cè)sbit kev2=Pl 2:門單理還是銓渥汝畫014 sbit kev3=Pl"3;暫俘技鏗(Jissbitledl=Pr6;/雙程Di
30、esbitled2=Plj;/晉僂時(shí)sbitled3=Pl 4 ;/計(jì)靈018sbitled4=Pr5:/切換盹bitkeyl flag;門由手按鍵會(huì)自動(dòng)復(fù)020 bit key2_flag;021 bit key3 flag;022 i)it flag?nr 園 STARTUP屈514-園 Testi222.cQj *11自 T«tl222. c“建目標(biāo)'目標(biāo)1'"51 匯編 STARTUP.A51 .訂譯 Testl222.c .匚接l oqram Size: data = 44.4 xdata = 0 code= 1320i|M HEX 文件 H1HH
31、 111" - 0個(gè)錨課” 個(gè)薯告"圖 18 Keil uVision3 編譯在Proteus軟件中畫出仿真電路(如圖19),把Keil uVision3 編譯后生成的.hex ”導(dǎo)入到單片機(jī)中,按“運(yùn)行仿真”鍵進(jìn)行仿真。-:iRYffTTB一-ILAL _k二r13-ZE ill u£3»6"汁2=iBCDEFG &PNDL-HAD1 FDA&2FD 曲 D + PCLSADS PDfADG 沏泊軒TZD'.fiEvi PIAID FZ3A11 FZjtfA12 皤網(wǎng)口 FZAUFZ7A15SWI:swe* DTdUK
32、>5005 IOFatVAXD F11TXD PJiMTD FiJfiiTT «.4m30?圖19 Proteus仿真HE&PAJC4&E6課程設(shè)計(jì)過程中遇到的問題1、焊接過程中對(duì)某些器件,對(duì)霍爾傳感器、排針等的連接、使用方法不熟 悉,不知道怎樣焊接。解決方法:上網(wǎng)查閱資料,查看這些器件的內(nèi)部結(jié)構(gòu)以及原理,了解正確的 焊接方法。3、焊接完整通電后不能達(dá)到預(yù)期的結(jié)果,4位LED碼管不能正確顯示。解決方法:在確認(rèn)硬件端口焊接無誤的情況下, 發(fā)現(xiàn)所給的兩個(gè)4位LE數(shù)碼 管的型號(hào)不一樣,結(jié)果在位選端口的設(shè)置上出現(xiàn)錯(cuò)誤, 通過在網(wǎng)上查閱了正確的 接法并對(duì)其進(jìn)行改正。3、焊
33、接好后,總是沒有脈沖,不能中斷INTO,計(jì)算里程。解決方法:經(jīng)過反復(fù)檢查線路,并查找霍爾傳感器用法,終于發(fā)現(xiàn)霍爾傳感 器是有方向的,必須把帶字的一面正對(duì)著磁鋼。7課程設(shè)計(jì)體會(huì)出租車計(jì)費(fèi)器系統(tǒng)的設(shè)計(jì)已經(jīng)全部完成,能按預(yù)期的效果進(jìn)行模擬汽車啟 動(dòng),停止,暫停等功能并能夠通過LCD顯示車費(fèi)數(shù)目。本款出租車計(jì)價(jià)器包括單 價(jià)輸出、單價(jià)調(diào)整、顯示當(dāng)前的系統(tǒng)時(shí)間等功能。另外,多功能出租車計(jì)價(jià)器還 具有性能可靠、電路簡單、成本低、實(shí)用性強(qiáng)等特點(diǎn),加上經(jīng)過優(yōu)化的程序,使 其有很高的智能化水平。一個(gè)月來,經(jīng)過自己努力,基本上完成了設(shè)計(jì)要求的內(nèi)容,在系統(tǒng)可行性分 析、原理圖設(shè)計(jì)等方面都作了許多實(shí)際工作, 取得了一些
34、成績,同時(shí)也遇到了一 些問題,存在一些不足。經(jīng)過這一個(gè)月的學(xué)習(xí),我覺得自己不論是在理論知識(shí)方 面還是在動(dòng)手能力方面都有了不小的進(jìn)步,自己從中受益匪淺。這次設(shè)計(jì)很好的把以前學(xué)到的理論知識(shí)應(yīng)用于實(shí)踐,使我認(rèn)識(shí)到理論知識(shí)與實(shí)踐之間有一定的差 距,只有通過不斷的努力學(xué)習(xí)和實(shí)踐才能很好的把理論知識(shí)應(yīng)用到實(shí)踐當(dāng)中,也只有通過不斷的實(shí)踐才能對(duì)理論知識(shí)的理解。通過這次設(shè)計(jì)不僅學(xué)會(huì)了如何去查找相關(guān)資料,更重要的是通過查找資料和 翻閱書籍學(xué)到了不少知識(shí),擴(kuò)大了知識(shí)面, 提高了知識(shí)水平。經(jīng)過單元設(shè)計(jì)和系 統(tǒng)設(shè)計(jì)鞏固了以前所學(xué)的專業(yè)知識(shí),自己真正認(rèn)識(shí)到理論聯(lián)系實(shí)際的重要性, 為 以后的學(xué)習(xí)和工作提供了很多有價(jià)值的經(jīng)驗(yàn)
35、。 通過這次設(shè)計(jì)不僅增強(qiáng)了自己的動(dòng) 腦能力和動(dòng)手能力,也提高了我思考問題、分析問題、解決問題的能力,更重要 的是學(xué)會(huì)用工程化的思想來解決問題。這在以前的學(xué)習(xí)過程中是不曾學(xué)到的。這次設(shè)計(jì)是我認(rèn)真認(rèn)識(shí)到完整、嚴(yán)謹(jǐn)、科學(xué)分析問題、解決問題的思想是多 么的重要,只有擁有了科學(xué)的態(tài)度才能設(shè)計(jì)出有用的產(chǎn)品。另外通過本次設(shè)計(jì), 是我認(rèn)識(shí)到自己理論知識(shí)的應(yīng)用能力有很大的欠缺, 需要在以后的學(xué)習(xí)中進(jìn)一步參考文獻(xiàn)【1】 戴佳,陳斌,苗龍.51單片機(jī)應(yīng)用系統(tǒng)開發(fā)典型實(shí)例、中國電力出版社,2005【2】余發(fā)山,王福忠.單片機(jī)原理及應(yīng)用技術(shù)、中國礦業(yè)大學(xué)出版社,2008.6【3】 侯玉寶,陳忠平,李成群.基于Prote
36、us的51系列單片機(jī)設(shè)計(jì)與仿真、電子工業(yè)出版社,2008【4】 李玉梅.基于MCS-51系列單片機(jī)原理的應(yīng)用設(shè)計(jì)、國防工業(yè)出版社,2006【5】 邊春元,李文濤,江杰.C51單片機(jī)典型模塊設(shè)計(jì)與應(yīng)用、機(jī)械工業(yè)出版社,2008【6】張淑清等單片微型計(jì)算機(jī)接口技術(shù)及其應(yīng)用北京:國防工業(yè)出版社,【7】王曉君等.MCS-51及兼容單片機(jī)原理與選型北京:電子工業(yè)出版社【8】 張鑫、華臻、陳書謙.單片機(jī)原理及應(yīng)用M.電子工業(yè)出版社,2005. P110136.sbit key 仁 PM1;/切換路程與等待時(shí)間/單程還是往返設(shè)置/暫停按鈕/雙程sbit Ied4=P1A5;/ 切換bit keyl flag
37、;/key1_flag;/切換/由于按鍵會(huì)自動(dòng)復(fù)位,這個(gè)為標(biāo)志位附1、原程序代碼#in clude<reg52.h>#defi ne uchar un sig ned char#defi ne uint un sig ned intuchar qianwei,baiwei,shiwei,gewei;/顯示數(shù)據(jù)各個(gè)位置數(shù)字的臨時(shí)變量uchar Ied_seg_code10=0x3f,0x06,0x05b,0x04f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /段碼表示0-9int tt,aa,round,distance,cost,price,wait;定義路程、
38、價(jià)錢、等待時(shí)間及一些全局的變量等;uchar den gdai,sec ond,minu te;unsigned long wait_ten_ms;/ 記錄等待時(shí)間多少個(gè) 10ms /按鍵的定義,所有按鍵按下去為低電平sbit key0=P1A0;/ 清sbit key2=PM2;/sbit key3=P1A3;/ 暫停sbit led 仁 P1A6;/sbit Ied2=P1A7;/sbit Ied3=P1A4;/bitbitbitkey2_flag; key3_flag; flag;/初始化函數(shù)void in itial_data(void)dista nce=O;cost=0;sec o
39、n d=0;minu te=O;wait_te n_ms=0;key1_flag=1; /key2_flag=0; /單程or往返,接指示燈;key3_flag=1; /暫停,接指示燈; flag=0;roun d=0;den gdai=0;led1=1;/雙程指示led2=1;/暫停指示led3=1;/堵車指示led4=1;/等待時(shí)間切換標(biāo)志/暫停程序void zan ti ng(void) if(key3_flag) _EX0=0;/關(guān)閉中斷和定時(shí)器TR0=0;elseEX0=1;TR0=1;key3_flag=!key3_flag; 一 一/計(jì)算數(shù)據(jù)處理void jisua n()dis
40、tance=round/60+wait_ten_ms/3000;/ 車輪轉(zhuǎn) 60 圈為 100m,等待時(shí)間 30s 為 100m-if(dista nce<=30)cost=50;price=20;/單程價(jià)格if(key2_flag) price=15; / 往返價(jià)格if(dista nce>30)cost=price*(dista nce-30)/10+50;wait=minu te*100+sec ond;/顯示的輔助程序,分離一個(gè)數(shù)的各個(gè)數(shù)字void fenli(int temp) /數(shù)據(jù)的分離處理if(temp>9999) temp=9999;qia nwei=tem
41、p/1000;baiwei=temp/100%10;shiwei=temp%100/10;gewei=temp%10;/延時(shí)約1ms,數(shù)碼管顯示時(shí)使用void diplay_delay(void) _int i;for(i=0;i<290;i+);/顯示程序;void led_show() _/-顯示路程或者等待時(shí)間-if(key1_flag) fenl i(dista nee);elsefen li(wait);P2=0xfe;P0=led_seg_codegewei;diplay_delay();P2=0xfd;if(key1_flag) P0=led_seg_codeshiwei|
42、0x80; / 如果是路程,點(diǎn)亮小數(shù)點(diǎn) 兒一一else P0=led_seg_codeshiwei; /如果是時(shí)間,不需要點(diǎn)亮小數(shù)點(diǎn)兒diplay_delay();P2=0xfb;if(key1_flag) P0=led_seg_codebaiwei;elseP0=led_seg_codebaiwei|0x80;diplay_delay();P2=0xf7;P0=led_seg_codeqia nwei;diplay_delay();/-顯示價(jià)格-fen li(cost);P2=0xef;PO=led_seg_codegewei; diplay_delay();P2=0xdf;P0=led_seg_codeshiwei|0x80;diplay_delay();P2=0xbf;P0=led_seg_codebaiwei;diplay_delay();P2=0x7f;P0=led_seg_codeqia nwei;diplay_delay();P2=0xff;/延時(shí)時(shí)基為1msvoid delay(i nt x)int i,j;f
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司節(jié)日回顧活動(dòng)方案
- 公司籃球組織活動(dòng)方案
- 公司放假團(tuán)建策劃方案
- 公司漢堡活動(dòng)策劃方案
- 公司節(jié)日套餐活動(dòng)方案
- 公司每月vip活動(dòng)方案
- 公司組織廣場舞活動(dòng)方案
- 公司標(biāo)準(zhǔn)化活動(dòng)方案
- 公司美食大賽策劃方案
- 公司生日會(huì)西餐策劃方案
- 揚(yáng)州印象城市介紹旅游宣傳
- 歷史明清時(shí)期的科技與文化課件-2024-2025學(xué)年統(tǒng)編版七年級(jí)歷史下冊(cè)
- 初三道法補(bǔ)考試卷及答案
- 2025年上海國企中鐵十五局集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 2025年自然災(zāi)害預(yù)防與應(yīng)急處理安全培訓(xùn)考試試題匯編
- 土地確權(quán)確權(quán)合同范本
- 東營市廣饒縣2025屆五年級(jí)數(shù)學(xué)第二學(xué)期期末學(xué)業(yè)水平測試模擬試題含答案
- 自行車智能化發(fā)展趨勢-深度研究
- 2022火電廠鐵路專用線安全管理標(biāo)準(zhǔn)
- 《2025年煤礦開工第一課培訓(xùn)》專題講座
- 食品檢驗(yàn)員持證上崗培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論