版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、河南理工大學(xué)課程設(shè)計(jì)大學(xué)單片機(jī)應(yīng)用與仿真訓(xùn)練設(shè)計(jì)報(bào)告出租車計(jì)價(jià)器姓 名: 學(xué) 號(hào): 3 姓 名: 學(xué) 號(hào): 專業(yè)班級(jí): 自動(dòng)化09-7班 指導(dǎo)老師: 所在學(xué)院: 電氣學(xué)院 2012年7月4 日摘要本設(shè)計(jì)基于at89sc51單片機(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ī)、霍爾傳感器目 錄1 概述41.1 出租車計(jì)價(jià)器概述41.2 單片機(jī)的概述42 總體方案設(shè)計(jì)62.1 設(shè)計(jì)任務(wù)要求62.1.1 設(shè)計(jì)任務(wù)62.1.2 設(shè)計(jì)要求62.2 設(shè)計(jì)的主要功能62.3 方案的選取72.3.1 硬件設(shè)計(jì)方案72.3.2 軟件設(shè)計(jì)方案73 硬件設(shè)計(jì)93.1 at89s52單片機(jī)及最小系統(tǒng)93.2 測(cè)距單元113.3 按鍵單元和狀態(tài)顯示單元143.4 數(shù)碼顯示單元154 軟件設(shè)計(jì)174.1 系統(tǒng)主程序174.2 數(shù)據(jù)處理子程序184.3 等待時(shí)間計(jì)時(shí)子程序194.4 鍵盤掃描
3、子程序205 proteus軟件仿真216課程設(shè)計(jì)過程中遇到的問題227 課程設(shè)計(jì)體會(huì)23參考文獻(xiàn)23附1、原程序代碼24附2、系統(tǒng)原理圖301 概述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)者
4、的經(jīng)濟(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)?,F(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ì)意識(shí)。1.2 單片機(jī)
5、的概述計(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ì)算簡(jiǎn)稱單片機(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)場(chǎng)控制設(shè)備中,因此單片機(jī)又叫做嵌入式微控制器(embedded mcu)。單片機(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ì)于國際市場(chǎng)我國的占有率還不到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)多功能的出租車計(jì)價(jià)器設(shè)計(jì)。2.1 設(shè)計(jì)任務(wù)要求
7、2.1.1 設(shè)計(jì)任務(wù)設(shè)計(jì)一款基于at89s52單片機(jī)的出租車數(shù)字計(jì)價(jià)器,通過對(duì)傳感器的檢測(cè),對(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è)計(jì)的出租車數(shù)字計(jì)價(jià)器的主要功能有:金
8、額輸出、路程輸出、數(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ì)電路、硬件仿真和制作電路板。2.3.1 硬件設(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所示。它由以下幾個(gè)部件組成:霍爾傳感器單元、at89s52單
9、片機(jī)、金額顯示、里程顯示、狀態(tài)指示單元。利用單片機(jī)豐富的io端口,及其控制的靈活性,實(shí)現(xiàn)基本的里程和價(jià)格的計(jì)算及顯示功能。單片機(jī)霍爾傳感器顯示設(shè)備按鍵二級(jí)管圖1 計(jì)價(jià)器系統(tǒng)框圖2.3.2 軟件設(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)檢測(cè),產(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 ;每100m產(chǎn)生的信號(hào)數(shù)為60,里程顯示為n/60×
10、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ī)at89s52單元、測(cè)距單元、顯示單元(數(shù)碼管顯示金額、等待時(shí)間和里程,指示燈對(duì)單雙程切換指示、等待計(jì)時(shí)指示)、按鍵單元和時(shí)鐘單元。3.1 at89s52單片機(jī)及最小系統(tǒng)1、at89s52單片機(jī)at89s52具有如下特點(diǎn):40個(gè)引腳,4k
11、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、 作為i/o使用外(其內(nèi)部有上拉電阻)2、 特殊功能口,由特殊寄存器來設(shè)
12、置 圖2 at89s52引腳圖 圖3 at89s52封裝圖設(shè)計(jì)中用到的單片機(jī)各管腳:設(shè)計(jì)中用到的單片機(jī)各個(gè)管腳功能以及與其他模塊連接介紹如下:vcc:接+5v電源。vss:接地。時(shí)鐘引腳:xtal1和xtal2兩端接晶振和30pf的電容,構(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:接查
13、詢/確認(rèn)鍵p0口接數(shù)碼管段選端,p2口接數(shù)碼管位選端p3.2:接霍爾傳感器的輸出口2、單片機(jī)最小系統(tǒng)復(fù)位電路和晶振電路是at89s52工作所需的最簡(jiǎn)外圍電路。單片機(jī)最小系統(tǒng)電路圖如圖4所示。 圖4 單片機(jī)最小系統(tǒng)at89s52 的復(fù)位端是一個(gè)史密特觸發(fā)輸入,高電平有效。rst端若由低電平上升到高電平并持續(xù)2個(gè)周期,系統(tǒng)將實(shí)現(xiàn)一次復(fù)位操作。在復(fù)位電路中,按一下復(fù)位開關(guān)就使在rst端出現(xiàn)一段時(shí)間的高電平,外接12m 晶振和兩個(gè)30pf 電容組成系統(tǒng)的內(nèi)部時(shí)鐘電路。3.2 測(cè)距單元本次設(shè)計(jì)我們選取了霍爾傳感器來進(jìn)行里程測(cè)量?;魻柶骷且环N磁傳感器。用它們可以檢測(cè)磁場(chǎng)及其變化,可在各種與磁場(chǎng)
14、有關(guān)的場(chǎng)合中使用?;魻柶骷曰魻栃?yīng)為其工作基礎(chǔ)?;魻柶骷哂性S多優(yōu)點(diǎn),它們的結(jié)構(gòu)牢固,體積小,重量輕,壽命長,安裝方便,功耗小,頻率高,耐震動(dòng),不怕灰塵、油污、水汽及鹽霧等的污染或腐蝕。霍爾器件分為:霍爾元件和霍爾集成電路兩大類,前者是一個(gè)簡(jiǎn)單的霍爾片,使用時(shí)常常需要將獲得的霍爾電壓進(jìn)行放大。后者將霍爾片和它的信號(hào)處理電路集成在同一個(gè)芯片上。本次設(shè)計(jì)選取了霍爾集成電路來測(cè)量里程。里程測(cè)量是通過將霍爾傳感器的集成電路安裝在車輪上方的鐵板上,將磁鐵安裝在車輪上,旋轉(zhuǎn)的車輪將磁鐵對(duì)準(zhǔn)集成電路時(shí),霍爾傳感器會(huì)輸出一個(gè)脈沖信號(hào),送到單片機(jī),經(jīng)過單片機(jī)的計(jì)算處理,將行駛的里程送到顯示單元并顯示出來。其原
15、理示意圖如下:圖5 傳感器測(cè)距示意圖 u18是一種利用霍爾效應(yīng)做成的半導(dǎo)體集成電路器件,它被設(shè)計(jì)在交變磁場(chǎng)中運(yùn)行,特別是能在低電源電壓和長時(shí)間運(yùn)行溫度范圍可達(dá)到125。這種霍爾ic可用作各種類型的傳感器(速度傳感器、位移傳感器、轉(zhuǎn)速傳感器等等),接觸開關(guān)以及相類似的應(yīng)用場(chǎng)合。其工作電壓比較寬(2.520v),可運(yùn)行在較大的溫度范圍內(nèi)(-20125), 其輸出的信號(hào)符合ttl電平標(biāo)準(zhǔn),可以直接接到單片機(jī)的io 端口上,而且其最高檢測(cè)頻率可達(dá)到1mhz。霍爾傳感器的特性如圖6所示,其中bop為工作點(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)bop時(shí),傳感器輸
16、出低電平,當(dāng)磁感應(yīng)強(qiáng)度降到動(dòng)作點(diǎn)bop以下時(shí),傳感器輸出電平不變,一直要降到釋放點(diǎn)brp時(shí),傳感器才由低電平躍變?yōu)楦唠娖?。bop與brp之間的滯后使開關(guān)動(dòng)作更為可靠。u18集成霍耳開關(guān)由穩(wěn)壓器a、霍耳電勢(shì)發(fā)生器(即硅霍耳片)b、差分放大器c、施密特觸發(fā)器d和oc門輸出e五個(gè)基本部分組成。在輸入端輸入電壓vcc,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍爾電勢(shì)發(fā)生器的兩端,根據(jù)霍爾效應(yīng)原理,當(dāng)霍爾片處在磁場(chǎng)中時(shí),在垂直于磁場(chǎng)的方向通以電流,則與這二者相垂直的方向上將會(huì)產(chǎn)生霍爾電勢(shì)差vh輸出,該vh信號(hào)經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到oc門輸出。當(dāng)施加的磁場(chǎng)達(dá)到工作點(diǎn)(即bop)時(shí),觸發(fā)器輸出高電
17、壓(相對(duì)于地電位),使三極管導(dǎo)通,此時(shí)oc門輸出端輸出低電壓,三極管截止,使oc門輸出高電壓,這種狀態(tài)為關(guān)。這樣兩次電壓變換,使霍爾開關(guān)完成了一次開關(guān)動(dòng)作。圖6 u18霍爾傳感器和其輸出特性u(píng)18霍爾傳感器有3個(gè)外接口,2個(gè)是電源的正負(fù)極接口,最后一個(gè)是脈沖信號(hào)輸出口,只要將霍爾傳感器的信號(hào)輸出端接到單片機(jī)的端口上便可以實(shí)現(xiàn)距離檢測(cè)。其中,單片機(jī)的p3.2(int0)引腳作為信號(hào)的輸入端,采用外部中斷0進(jìn)行計(jì)數(shù)。車輪每轉(zhuǎn)一圈,霍爾傳感器就產(chǎn)生一個(gè)脈沖信號(hào),根據(jù)霍爾效應(yīng)原理,當(dāng)霍爾片處在磁場(chǎng)中時(shí),霍爾傳感器的輸出端輸出低電平。當(dāng)車輪轉(zhuǎn)動(dòng)一圈時(shí)小磁鐵提供一個(gè)磁場(chǎng),則霍爾傳感器輸出一次低電平完成一次
18、數(shù)據(jù)采集,從而產(chǎn)生信號(hào)?;魻杺鞲衅鳈z測(cè)并輸出信號(hào)到單片機(jī)的int0或int1計(jì)算脈沖輸入端,引起單片機(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è)按鍵,功能分別是:p1.0口接是清零按鍵,用于對(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口)、雙程指
19、示燈(p1.6口)、暫停指示燈(p1.7口)。這些指示燈能對(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ù)位指示燈亮,一切歸零,并重新開始。圖7 按鍵單元與狀態(tài)顯示電路3.4 數(shù)碼顯示單元數(shù)碼顯示部分使用兩個(gè)四位一體的led數(shù)碼管,led顯示器是由led發(fā)光二極管發(fā)展過來的一種顯示器件,是發(fā)光二極管的改型。led是發(fā)光二極管的簡(jiǎn)稱,是一種將電能轉(zhuǎn)換成光能的設(shè)備。本身也是一種光源。led顯示器是由發(fā)光二極管排列
20、組成的顯示器件。它采用低電壓掃描驅(qū)動(dòng),具有:耗電少、使用壽命長、成本低、故障少、視角大、可視距離遠(yuǎn)等特點(diǎn)。此外,它的響應(yīng)時(shí)間短(一般不超過0.1us),亮度也比較高。它的缺點(diǎn)是工作電流比較大,每一段的工作電流在10ma左右。其中每位數(shù)碼管是由8個(gè)發(fā)光二極管演變而來,其中7個(gè)發(fā)光二極管構(gòu)成7筆字形,另一個(gè)構(gòu)成小數(shù)點(diǎn),稱為8段led。8段led數(shù)碼管是利用7個(gè)led(發(fā)光二極管)外加一個(gè)小數(shù)點(diǎn)的led組合而成的顯示設(shè)備,可以顯示09等10個(gè)數(shù)字和小數(shù)點(diǎn),使用非常廣泛,它的外觀如圖9所示: 圖9 8段數(shù)碼管這類數(shù)碼管可以分為共陽極(8個(gè)發(fā)光二極管的陽極接在起)與共陰極(8個(gè)發(fā)光二極管陰極連在一起)兩
21、種,共陽極就是把所有l(wèi)ed的陽極連接到共同接點(diǎn),而每個(gè)led的陰極分別為a、b、c、d、e、f、g及dp(小數(shù)點(diǎn));共陰極則是把所有l(wèi)ed的陰極連接到共同接點(diǎn),而每個(gè)led的陽極分別為a、b、c、d、e、f、g及dp(小數(shù)點(diǎn)),如圖10所示。 圖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口作為位選??哲嚂r(shí)顯示時(shí)間,開始計(jì)價(jià)時(shí)前四位顯示路程,后四位顯示價(jià)錢。當(dāng)查詢
22、等待時(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ù)處理子程序、等待時(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ì)以及
23、開中斷、循環(huán)等待等工作。系統(tǒng)流程圖如下圖14。圖14 系統(tǒng)主程序流程圖4.2 數(shù)據(jù)處理子程序 每當(dāng)霍爾傳感器輸出一個(gè)低電平信號(hào)就使單片機(jī)中斷一次,在計(jì)數(shù)中斷服務(wù)程序,里程和金額都相應(yīng)變化,當(dāng)然等待時(shí)間也換算成里程(當(dāng)速度小于5km/h時(shí)5分鐘想當(dāng)于1公里)。計(jì)算程序根據(jù)里程數(shù)分別進(jìn)入不同的計(jì)算公式。如果里程大于3公里,則執(zhí)行公式:金額=(里程-3)*單價(jià)+5;否則,執(zhí)行公式:總金額=起步價(jià)。程序流程圖如圖15所示。圖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)有查詢
24、鍵按下時(shí)顯示等待時(shí)間,當(dāng)有清零鍵按下時(shí)存儲(chǔ)本次金額。如圖16:4.4 鍵盤掃描子程序鍵盤采用查詢的方式,放在主程序中,當(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 :圖18 keil uvision3編譯在proteus軟件中畫出仿真電路(如圖19),把keil uvision3編譯后生成的“.hex”導(dǎo)入到單片機(jī)中,按“運(yùn)行仿真”鍵進(jìn)行仿真。圖19 proteus仿真6課程設(shè)計(jì)過程中遇到的問題1、焊接
25、過程中對(duì)某些器件,對(duì)霍爾傳感器、排針等的連接、使用方法不熟悉,不知道怎樣焊接。解決方法:上網(wǎng)查閱資料,查看這些器件的內(nèi)部結(jié)構(gòu)以及原理,了解正確的焊接方法。3、焊接完整通電后不能達(dá)到預(yù)期的結(jié)果,4位led數(shù)碼管不能正確顯示。解決方法:在確認(rèn)硬件端口焊接無誤的情況下,發(fā)現(xiàn)所給的兩個(gè)4位led數(shù)碼管的型號(hào)不一樣,結(jié)果在位選端口的設(shè)置上出現(xiàn)錯(cuò)誤,通過在網(wǎng)上查閱了正確的接法并對(duì)其進(jìn)行改正。3、 焊接好后,總是沒有脈沖,不能中斷int0,計(jì)算里程。解決方法:經(jīng)過反復(fù)檢查線路,并查找霍爾傳感器用法,終于發(fā)現(xiàn)霍爾傳感器是有方向的,必須把帶字的一面正對(duì)著磁鋼。7 課程設(shè)計(jì)體會(huì)出租車計(jì)費(fèi)器系統(tǒng)的設(shè)計(jì)已經(jīng)全部完成,
26、能按預(yù)期的效果進(jìn)行模擬汽車啟動(dòng),停止,暫停等功能并能夠通過lcd顯示車費(fèi)數(shù)目。本款出租車計(jì)價(jià)器包括單價(jià)輸出、單價(jià)調(diào)整、顯示當(dāng)前的系統(tǒng)時(shí)間等功能。另外,多功能出租車計(jì)價(jià)器還具有性能可靠、電路簡(jiǎn)單、成本低、實(shí)用性強(qiáng)等特點(diǎn),加上經(jīng)過優(yōu)化的程序,使其有很高的智能化水平。一個(gè)月來,經(jīng)過自己努力,基本上完成了設(shè)計(jì)要求的內(nèi)容,在系統(tǒng)可行性分析、原理圖設(shè)計(jì)等方面都作了許多實(shí)際工作,取得了一些成績,同時(shí)也遇到了一些問題,存在一些不足。經(jīng)過這一個(gè)月的學(xué)習(xí),我覺得自己不論是在理論知識(shí)方面還是在動(dòng)手能力方面都有了不小的進(jìn)步,自己從中受益匪淺。這次設(shè)計(jì)很好的把以前學(xué)到的理論知識(shí)應(yīng)用于實(shí)踐,使我認(rèn)識(shí)到理論知識(shí)與實(shí)踐之間有
27、一定的差距,只有通過不斷的努力學(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)。通過這次設(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é)分析問題、解決問題的思想是多么
28、的重要,只有擁有了科學(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】 侯玉寶,陳忠平,李成群. 基于proteus的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】 張淑清等
29、. 單片微型計(jì)算機(jī)接口技術(shù)及其應(yīng)用 北京:國防工業(yè)出版社, 【7】 王曉君等. mcs-51及兼容單片機(jī)原理與選型 北京:電子工業(yè)出版社【8】 張?chǎng)巍⑷A臻、陳書謙單片機(jī)原理及應(yīng)用m電子工業(yè)出版社,2005p110136附1、原程序代碼#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar qianwei,baiwei,shiwei,gewei;/顯示數(shù)據(jù)各個(gè)位置數(shù)字的臨時(shí)變量uchar led_seg_code10=0x3f,0x06,0x05b,0x04f,0x66,0x6d,0x7d,
30、0x07,0x7f,0x6f;/段碼表示0-9int tt,aa,round,distance,cost,price,wait;/定義路程、價(jià)錢、等待時(shí)間及一些全局的變量等;uchar dengdai,second,minute; unsigned long wait_ten_ms;/記錄等待時(shí)間多少個(gè)10ms/按鍵的定義,所有按鍵按下去為低電平sbit key0=p10; /清零sbit key1=p11; /切換路程與等待時(shí)間sbit key2=p12; /單程還是往返設(shè)置sbit key3=p13; /暫停按鈕sbit led1=p16;/ 雙程 sbit led2=p17;/ 暫停sb
31、it led3=p14;/ 計(jì)時(shí)sbit led4=p15; / 切換bit key1_flag;/由于按鍵會(huì)自動(dòng)復(fù)位,這個(gè)為標(biāo)志位bit key2_flag;bit key3_flag;bit flag;/初始化函數(shù)void initial_data(void)distance=0;cost=0;second=0;minute=0;wait_ten_ms=0;key1_flag=1; /key2_flag=0; /單程or往返,接指示燈;key3_flag=1; /暫停,接指示燈;flag=0;round=0;dengdai=0;led1=1; /雙程指示led2=1;/暫停指示 led3=
32、1; /堵車指示led4=1; / 等待時(shí)間切換標(biāo)志/暫停程序void zanting(void) if(key3_flag) ex0=0;/關(guān)閉中斷和定時(shí)器tr0=0;elseex0=1;tr0=1; key3_flag=!key3_flag; /計(jì)算數(shù)據(jù)處理 void jisuan() distance=round/60+wait_ten_ms/3000;/車輪轉(zhuǎn)60圈為100m,等待時(shí)間30s為100mif(distance<=30)cost=50;price=20; /單程價(jià)格 if(key2_flag)price=15; /往返價(jià)格 if(distance>30)cost
33、=price*(distance-30)/10+50;wait=minute*100+second; /顯示的輔助程序,分離一個(gè)數(shù)的各個(gè)數(shù)字 void fenli(int temp) /數(shù)據(jù)的分離處理 if(temp>9999) temp=9999;qianwei=temp/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í)間
34、-if(key1_flag) fenli(distance);elsefenli(wait);p2=0xfe; p0=led_seg_codegewei;diplay_delay(); p2=0xfd; if(key1_flag) p0=led_seg_codeshiwei|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;else p0=led_seg_codebaiwei|0x80; diplay_
35、delay();p2=0xf7;p0=led_seg_codeqianwei;diplay_delay();/-顯示價(jià)格-fenli(cost);p2=0xef;p0=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_codeqianwei;diplay_delay();p2=0xff; /延時(shí)時(shí)基為1msvoid delay(int 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市公園管理特許經(jīng)營合同
- 2024年門市租賃合同(5篇)
- 出租車運(yùn)營權(quán)買賣合同范本
- 砂光機(jī)木工產(chǎn)品入市調(diào)查研究報(bào)告
- 制作合同范本2024年
- 滑雪盤產(chǎn)品入市調(diào)查研究報(bào)告
- 水冷卻器產(chǎn)業(yè)規(guī)劃專項(xiàng)研究報(bào)告
- 2024年車展場(chǎng)地租賃合同書范本
- 機(jī)械設(shè)備技術(shù)服務(wù)合同
- 乳濁度計(jì)產(chǎn)品入市調(diào)查研究報(bào)告
- 拆除設(shè)施交接手續(xù)(參考模板)
- 古樹保護(hù)施工組織設(shè)計(jì)
- 平行四邊形和梯形整理與復(fù)習(xí)
- 肉牛屠宰公司組織機(jī)構(gòu)加各個(gè)崗位職責(zé)
- 小學(xué)英語人教PEP三年級(jí)起點(diǎn)四年級(jí)上冊(cè)英語全冊(cè)
- 基站機(jī)房設(shè)計(jì)標(biāo)準(zhǔn)規(guī)范(1)
- 鋼絲繩的安全載重表
- 高中數(shù)學(xué)函數(shù)評(píng)課稿
- 購并技巧與案例解析
- 當(dāng)代西方國家議會(huì)制度
- structure-.---中文使用手冊(cè)
評(píng)論
0/150
提交評(píng)論