

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 本科畢業(yè)設(shè)計</b></p><p><b> ?。?0 屆)</b></p><p> 智能出租車計價器設(shè)計</p><p> 所在學(xué)院 </p><p> 專業(yè)班級 電子信息工程
2、 </p><p> 學(xué)生姓名 學(xué)號 </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘 要</b></p&g
3、t;<p> 當(dāng)前各個城市的出租車都有著不同的收費標(biāo)準(zhǔn),而傳統(tǒng)的出租車計價器往往是通過更改其代碼的方式對收費方式進(jìn)行更改,比較麻煩。并且傳統(tǒng)的計價器都是采用LED數(shù)碼管顯示,無法做到顯示清楚詳盡。本課題研究的出租車計價系統(tǒng),附帶有價格更改功能,可以根據(jù)地區(qū)情況,對初始價,行駛單價,等候單價,行駛路程,等待時間等數(shù)據(jù)進(jìn)行更改操作,方便快捷。同時為了防止出租車司機隨意更改數(shù)據(jù),還同時具備有數(shù)據(jù)更改加密功能,以及數(shù)據(jù)實時顯示功
4、能。而且本系統(tǒng)采用LCD12864液晶屏作為顯示器,放棄傳統(tǒng)的LED數(shù)碼管,顯示清楚明了,可以詳細(xì)地顯示初始價,行駛單價,等候單價,行駛路程,等待時間并能動態(tài)顯示停車價和行駛價的自動切換過程。</p><p> 課題主要內(nèi)容包括硬件設(shè)計和軟件設(shè)計。硬件主要可分為磁性霍爾傳感器、STC89C51微處理器、液晶顯示模塊和鍵盤模塊有四大模塊。軟件設(shè)計可分為主程序、萬年歷、計價模塊、顯示模塊、單價調(diào)節(jié)模塊五大模塊。&l
5、t;/p><p> 關(guān)鍵詞:STC89C51;12864;鍵盤加密</p><p><b> Abstract</b></p><p> Taxis are the current cities have different charges, and the traditional taxi meter is often code the s
6、ame way had to change their way of fee changes, more trouble, the taxi meter of the research system, with a price Change the function, according to regional circumstances, the initial price, driving unit, pending price,
7、distance traveled, waiting time data changing operation, convenient and quick. Meanwhile, in order to prevent taxi drivers at random to change the data, but at the same time cha</p><p> Main topics include
8、hardware and software design. Hardware can be divided into magnetic sensor, STC89C51microprocessor, LCD display module and keyboard module has four modules. Software design can be divided into the main program, calendar,
9、 pricing module, display module, unit price adjustment module five modules.</p><p> Key Words: STC89C51;12864;Keyboard Encryption</p><p><b> 目 錄</b></p><p><b>
10、 1.引言1</b></p><p> 2 系統(tǒng)方案設(shè)計2</p><p><b> 3 硬件設(shè)計5</b></p><p> 3.1.磁性霍爾傳感器5</p><p> 3.2 微處理器6</p><p> 3.2.1 時鐘電路6</p><
11、p> 3.2.2 復(fù)位電路6</p><p> 3.3液晶顯示模塊7</p><p> 3.3.1顯示模塊選擇7</p><p> 3.3.2 液晶顯示電路7</p><p> 3.4 鍵盤模塊8</p><p><b> 4 軟件設(shè)計10</b></p>
12、<p> 4.1 主程序10</p><p> 4.2萬年歷模塊12</p><p> 4.3 計價模塊14</p><p> 4.3.1 計算距離15</p><p> 4.3.2 起步價內(nèi)的運算16</p><p> 4.3.3 行駛價的計算17</p>&
13、lt;p> 4.3.4 等候價的計算17</p><p> 4.4 液晶顯示模塊18</p><p> 4.4.1 寫指令19</p><p> 4.4.2寫數(shù)據(jù)21</p><p> 4.5 單價調(diào)節(jié)模塊22</p><p> 4.5.1 鍵盤模塊22</p>
14、<p> 4.5.2 密碼模塊24</p><p> 5系統(tǒng)電路圖以及PCB28</p><p><b> 6 結(jié)論29</b></p><p> 致 謝錯誤!未定義書簽。</p><p><b> 參考文獻(xiàn)30</b></p><p>
15、附錄1 系統(tǒng)程序31</p><p><b> 1.引言</b></p><p> 隨著電子技術(shù)的發(fā)展出租車計價器技術(shù)也在不斷進(jìn)步和提高,國內(nèi)出租車計價器已經(jīng)經(jīng)歷了四個階段的發(fā)展:從傳統(tǒng)的全部由機械元器件組成的機械式,到半電子式即用電子線路代替部分機械元器件的出租車計價器,再從集成電路式到目前的單片機系統(tǒng)設(shè)計的出租車計價器。</p><p
16、> 單片機系統(tǒng)的出租車計價器,有方便,準(zhǔn)確,直觀等優(yōu)點,但是目前市面上所流行的計價器往往都是在出廠時就將其內(nèi)部數(shù)據(jù)設(shè)定好,不利于不同地方的使用,而且基本都是采用以LED作為顯示屏幕的計價器,這種計價器顯示的是一個起步價,當(dāng)在超過一定的公里數(shù)后,就能按照預(yù)定的單價進(jìn)行計算,從而得出最終的價格。這種計價器雖然顯示比較直觀方便,但在現(xiàn)在多元化的情況下,就顯得比較的單一。例如,不同城市之間的起步價,起步距離不同,更換城市后計價器就需要對
17、其代碼進(jìn)行修改,非常麻煩;還有傳統(tǒng)的LED數(shù)碼管,無法具體的將價格所有參數(shù)都顯示出來,無法做到清楚詳盡。 </p><p> 本課題主要任務(wù)是設(shè)計一個可以對數(shù)據(jù)詳實顯示并能對其中參數(shù)進(jìn)行方便更改設(shè)定的出租車計價器。其可以通過傳感器完成對車速的測量,轉(zhuǎn)換為行駛距離,通過單片機的處理計算得出價格;并能在停車等待一定時間后進(jìn)行等待價計算,同時可以在啟動后繼續(xù)計算行駛價。具有價格調(diào)整功能,可以對起步價,行駛價單價,等待
18、價單價進(jìn)行調(diào)整,并能對其進(jìn)行加密,防止被隨意更改,還能將數(shù)據(jù)詳實顯示在顯示屏上。顯示模塊使用液晶,保證顯示內(nèi)容的詳細(xì)完整,共顯示:起步價,總價,行駛路程,等待時間,等待單價,行駛單價。</p><p> 課題主要內(nèi)容包括硬件設(shè)計和軟件設(shè)計。在硬件設(shè)計部分包括微處理器部分,鍵盤,并口傳輸以及顯示模塊。軟件包括液晶顯示文字圖像,價格計算,鍵盤輸入,車速車距換算等內(nèi)容。并要求計價準(zhǔn)確,顯示清晰正確。</p>
19、;<p><b> 2 系統(tǒng)方案設(shè)計</b></p><p> 出租車計價系統(tǒng)中,如何快速得出車輛行駛路程,是計價器工作的前提,目前流行的測速,測距方式有很多:如基于磁性霍爾傳感器的測速方式、超聲波測速方式、激光測速方式等等。</p><p> 1、基于磁性霍爾傳感器的測速儀</p><p> 應(yīng)用于車速檢測中的磁性霍爾傳
20、感器,是基于霍爾效應(yīng)的一種磁電傳感器,它具備有許多特點包括對磁場敏感度高、輸出信號穩(wěn)定、頻率響應(yīng)高、抗電磁干擾能力強、響應(yīng)速度快、溫度性能好、結(jié)構(gòu)簡單、使用方便等等。</p><p> 它是由磁極對應(yīng)的永磁鐵、轉(zhuǎn)子、霍爾元件、輸入插件以及輸出插件構(gòu)成。當(dāng)傳感器的轉(zhuǎn)子在外力作用下旋轉(zhuǎn)時帶動永磁鐵轉(zhuǎn)動,使霍爾元件與永磁鐵周期性的接觸,引起霍爾元件輸出的電壓產(chǎn)生周期性變化,通過后續(xù)電路處理形成穩(wěn)定的脈沖電壓信號,作為
21、輸出信號進(jìn)行處理運算從而得出單位時間內(nèi)轉(zhuǎn)子轉(zhuǎn)動的次數(shù),通過與轉(zhuǎn)子的外徑的線性關(guān)系計算得出最終結(jié)果。</p><p> 其中比較有代表性的是利用微處理器的高速計數(shù)器端口進(jìn)行車速傳感器的數(shù)據(jù)采集,并利用軟件控制實現(xiàn)對采集數(shù)據(jù)的計算和圖形化顯示處理。該測速裝置具有測試精度高、數(shù)據(jù)通信可靠、圖表化的良好用戶界面、抗干擾能力強、檢測過程簡單直觀、系統(tǒng)開發(fā)成本低等優(yōu)點,具有較好的推廣應(yīng)用前景。</p><
22、;p><b> 2、超聲波測速儀</b></p><p> 超聲波的頻率超過20KHz+人耳已經(jīng)聽不見,也不影響家用電器運行。超聲測速就是通過測量聲波的多普勒頻移,進(jìn)而測得轉(zhuǎn)動物體的轉(zhuǎn)速,并通過A/D轉(zhuǎn)換表頭顯示轉(zhuǎn)速大小。</p><p> 超聲波測速儀的工作原理是通過超聲波的反射來進(jìn)行定位和確定時間,所以測量的有效作用距離比較短,而單靠提高超聲換能器的發(fā)
23、射功率并不能很好的解決問題;而且若只是單純的對反射波進(jìn)行放大,其的信噪比并不能得到很好的改善,會造成測量的精度不高。所以這些問題嚴(yán)重制約了超聲檢測手段在大作用距離、高精度測量中的應(yīng)用。</p><p> 而超聲波的特點則是其的指向性強,能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn)等,所以利用超聲波檢測具有迅速、方便、計算簡單、易于做到實時控制等優(yōu)點,通過引入定時器進(jìn)行計時,可以保證其可以很方便得運用于工業(yè)或其他的一些方
24、面,擁有良好的兼容性。</p><p><b> 3、激光測速儀</b></p><p> 自1960年第一臺激光器——紅寶石激光器發(fā)明以來,人們便開始了對激光測速的研究?;诠潭〞r間間隔連續(xù)多次激光測距而實現(xiàn)的機動車激光測速儀,是上世紀(jì)90年代發(fā)展起來的一種新型機動車行駛速度的測量儀器,一般為移動式,只能用于靜態(tài)測量。</p><p>
25、 機動車激光測速儀按其工作方式可以分為單光束長距離紅外機動車激光測速儀和雙光束短距離紅外機動車激光測速儀,工作方式是通過半導(dǎo)體激光器向目標(biāo)區(qū)域發(fā)射窄脈沖信號,對其接收到的反射波進(jìn)行時間軸上的處理運算,從而得出目標(biāo)與發(fā)射點之間的距離。而機動車激光測速是在激光測距的基礎(chǔ)上對被測目標(biāo)發(fā)射脈沖激光串,進(jìn)行連續(xù)的一系列固定時間間隔的激光測距,得到被測目標(biāo)相對于測量點單位時間內(nèi)的位移的變化速率,從而最終獲得被測目標(biāo)移動的速度及方向。</p&g
26、t;<p> 激光測速系統(tǒng)在實際應(yīng)用中有很好的使用效果與工業(yè)兼容性。以反射式激光測速系統(tǒng)為例,該系統(tǒng)可以連續(xù)測量各種高速物體的速度變化,其工作距離和光斑大小都可以調(diào)整,具有很好的通用性。 通過比對目前主流測速方式,本課題中選用設(shè)計簡便,成本低廉,結(jié)果精確的磁性霍爾傳感器測速儀。本系統(tǒng)中其他的硬件模塊:選用功耗低、輕薄短小、平面直角顯示以及影象穩(wěn)定不閃爍,可視面積大,畫面效果好,抗干擾能力強等特點的LCD液晶屏作為
27、顯示模塊,采用使用方便成本低廉的靜態(tài)矩陣編碼鍵盤作為按鍵模塊。開發(fā)環(huán)境采用Keil C,編程語言為C51語言。文中對每個部分功能、實現(xiàn)過程作了詳細(xì)介紹。本設(shè)計系統(tǒng)的基礎(chǔ)是對行駛距離的測控?fù)Q算與數(shù)據(jù)通信。系統(tǒng)的框圖如圖2-1所示。</p><p> 圖2-1 系統(tǒng)框圖</p><p><b> 3 硬件設(shè)計</b></p><p> 本系
28、統(tǒng)硬件主要有四大模塊組成:磁性霍爾傳感器、微處理器、液晶顯示模塊和鍵盤模塊。</p><p> 3.1.磁性霍爾傳感器</p><p> 應(yīng)用于車速檢測中的磁性霍爾傳感器,是基于霍爾效應(yīng)的一種磁電傳感器,它是由磁極對應(yīng)的永磁鐵、轉(zhuǎn)子、霍爾元件、輸入插件以及輸出插件構(gòu)成。當(dāng)傳感器的轉(zhuǎn)子在外力作用下旋轉(zhuǎn)時帶動永磁鐵轉(zhuǎn)動,使霍爾元件與永磁鐵周期性的接觸,引起霍爾元件輸出的電壓產(chǎn)生周期性變化,
29、通過后續(xù)電路處理形成穩(wěn)定的脈沖電壓信號,作為車速傳感器的輸出信號。</p><p> 本系統(tǒng)中采用的是霍爾傳感器A3144,其電路圖如圖3-1所示?;魻杺鞲衅鰽3144是Allegro公司生產(chǎn)的寬溫、開關(guān)型霍爾效應(yīng)傳感器,其工作溫度范圍可達(dá)一40℃一150℃。它由電壓調(diào)整電路、反相電源保護電路、霍爾元件、溫度補償電路、微信號放大器、施密特觸發(fā)器和OC門輸出級構(gòu)成,通過使用上拉電路可以將其輸出接人CMOS邏輯電路
30、。該芯片具有尺寸小、穩(wěn)定性好、靈敏度高等特點。</p><p> 圖3-1 霍爾傳感器電路</p><p> 3腳為電源,2腳接地,1腳輸出端。由于是OC門輸出,所有添加上拉電阻。當(dāng)霍爾傳感器沒遇到磁鐵時輸出為高電平,遇到時產(chǎn)生低電平。</p><p><b> 3.2 微處理器</b></p><p> 系統(tǒng)
31、采用STC89C51作為微處理器系統(tǒng)。STC89C51是51單片機中較為普及的一款,該系列單片機的始祖是Intel的8031單片機,STC的51系列的單片機,可以完全兼容傳統(tǒng)的8051單片機。12時鐘/機器周期和6時鐘/機器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051。并且具有EEPROM功能。</p><p> 在本系統(tǒng)中,微處理器是主控器,此芯片內(nèi)具有可編程程序存儲器, 減少了外部存儲器的擴充,提高了系統(tǒng)
32、的可靠性。它主要可以完成高速數(shù)據(jù)采集、控制,數(shù)據(jù)處理,數(shù)據(jù)顯示與信號提取、反饋。</p><p> 由于使用內(nèi)部程序存儲器,所以EA接高電平,P0接液晶屏數(shù)據(jù)端口,P26,P27接液晶使能端,P1接鍵盤模塊。X1,X2接晶振。</p><p> 3.2.1 時鐘電路</p><p> 單片機內(nèi)部有一個高增益反相放大器,為單片機提供時鐘控制信號。其電路圖如圖3-
33、2所示。輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。在芯片外部XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,成為了一個穩(wěn)定的自激振蕩器。本系統(tǒng)中使用振蕩頻率為12MHz的石英晶體。其電路圖如圖3-3所示。為了讓晶振可以方便快速的起振,在晶振兩端加了2個30pF的起振電容C1、C2。</p><p> 圖3-2 晶振時鐘電路</p><p> 3.2.2 復(fù)位電路<
34、/p><p> 復(fù)位是單片機的初始化操作,其作用是使CPU和系統(tǒng)中其他部件都處于一個確定的初始化狀態(tài),單片機所有工作都從初始狀態(tài)開始。本設(shè)計采用按鍵電平復(fù)位,電平復(fù)位是通過RST端經(jīng)電阻與VCC接通而實現(xiàn)的。其電路圖如圖3-3所示。</p><p> 圖3-3 復(fù)位電路</p><p> 如果復(fù)位電路中R、C的值選擇不當(dāng),使的復(fù)位時間過長,單片機將處于循環(huán)復(fù)位狀
35、態(tài)。RESET引腳是復(fù)位信號的輸入端,復(fù)位信號是高電平有效。</p><p><b> 3.3液晶顯示模塊</b></p><p> 3.3.1顯示模塊選擇</p><p> 目前主流的顯示模塊主要包括LED點陣屏、LED數(shù)碼管、LCD液晶屏等。LED點陣屏優(yōu)點是壽命長、亮度高、遠(yuǎn)距離效果較好,缺點是體積龐大、發(fā)熱量高、分辨率低,不適合近
36、距離觀看。LED數(shù)碼管優(yōu)點是價格低廉、使用方便,缺點是顯示內(nèi)容少。液晶顯示屏與其他顯示模塊相比, LCD具有功耗低、輕薄短小、平面直角顯示以及影象穩(wěn)定不閃爍,可視面積大,畫面效果好,抗干擾能力強等特點。所以本系統(tǒng)選用LCD液晶屏作為顯示模塊。</p><p> 3.3.2 液晶顯示電路</p><p> 本系統(tǒng)采用的是12864,其硬件特性如下:提供8位,4位并行接口及串行接口可選,并
37、行接口適配M6800時序,自動電源啟動復(fù)位功能,內(nèi)部自建振蕩源,64×16位字符顯示RAM(DDRAM最多16字符×4行,LCD顯示范圍16×2行),2M位中文字型ROM(CGROM),總共提供8192個中文字型(16×16點陣),16K位半寬字型ROM(HCGROM),總共提供126個西文字型(16×8點陣),64×16位字符產(chǎn)生RAM(CGRAM),15×16位總
38、共240點的ICON RAM(ICONRAM)。</p><p> 軟件特性如下:文字與圖形混合顯示功能,畫面清除功能,光標(biāo)歸位功能,顯示開/關(guān)功能,光標(biāo)顯示/隱藏功能,顯示字體閃爍功能,光標(biāo)移位功能功能,顯示移位功能,垂直畫面旋轉(zhuǎn)功能,反白顯示功能,休眠模式。</p><p> 圖3-6 液晶電路圖</p><p> 液晶引腳圖如3-6所示。電
39、路中GND端接地,VCC端接5V電源。DB0-DB7接單片機,RW,RS,E接單片機。RS與RW與單片機P26,P27相連,控制數(shù)據(jù)和命令的讀寫。</p><p><b> 3.4 鍵盤模塊</b></p><p> 鍵盤是各種電子儀器不可缺少的最常用的、最基本的輸入工具,通過它可以輸入程序和數(shù)據(jù);鍵盤的研制也 已經(jīng)達(dá)到相當(dāng)高的水準(zhǔn) ,根據(jù)其不同的代碼轉(zhuǎn)換方式可以
40、分為編碼鍵盤和非編碼鍵盤。根據(jù)其不同的掃描方式還可以分為靜態(tài)鍵盤和動態(tài)鍵盤。表3-1對比了不同鍵盤的性能。</p><p> 表3-1 各種鍵盤電路的性能比較</p><p> 通過對比不同鍵盤的性能,本系統(tǒng)選定為4*2的動態(tài)非編碼鍵盤既矩陣非編碼鍵盤。矩陣鍵盤接在STC89S51的P1口,由硬件或軟件隨時對矩陣掃描,一旦某一鍵被按下,該鍵的行列信息即被轉(zhuǎn)換為位置碼并送入主機,再由鍵
41、盤驅(qū)動程序查表,從而得到按鍵的ASCⅡ碼,最后送入內(nèi)存中的鍵盤緩沖區(qū)供主機分析執(zhí)行。矩陣鍵盤是由2條I/O線作為行線,4條I/O線作為列線組成的鍵盤。在行線和列線的每一個交叉點上,設(shè)置一個按鍵。</p><p> 圖3-7 按鍵電路</p><p> 鍵盤與單片機P1口相連,P2,P3與行線相連,P4,P5,P6,P7與列線相連。通過判斷行列線電平來判斷按鍵是否按下。</p&g
42、t;<p> 按鍵S1:開始按鍵。按下該鍵,里程隨脈沖數(shù)成正比累加,在里程大于3公里后,金額數(shù)按單程價格為2元/公里進(jìn)行累加。</p><p> 按鍵S2:調(diào)節(jié)按鍵。按下該鍵,光標(biāo)在各數(shù)據(jù)之間移動,可以按S6和S7進(jìn)行加減更改數(shù)據(jù). </p><p> 按鍵S3:暫停按鍵。到達(dá)目的地后,按“暫?!?鍵,計價器可暫停計價。</p><p> 按鍵
43、S4:清除按鍵。按“清除” 鍵,計價器能將記錄數(shù)據(jù)(里程、等待時間與價格等)自動清0。</p><p> 按鍵S5:返回按鍵。按下該鍵,回到顯示里程數(shù)、金額狀態(tài)。。</p><p> 按鍵S6: 在更改數(shù)據(jù)模式下,對數(shù)據(jù)進(jìn)行+操作。</p><p> 按鍵S7: 在更改數(shù)據(jù)模式下,對數(shù)據(jù)進(jìn)行-操作。</p><p> 按鍵S8: 加密
44、按鍵,按下后鍵入正確密碼進(jìn)入更改單價界面。</p><p><b> 4 軟件設(shè)計</b></p><p> 本系統(tǒng)的軟件設(shè)計主要可分為主程序、萬年歷模塊、計價模塊、顯示模塊、單價調(diào)節(jié)模塊五大模塊。</p><p><b> 4.1 主程序</b></p><p> 在主程序中,需要完成對各
45、接口芯片的初始化、片內(nèi)資源的初始化以及開中斷、循環(huán)等待等工作。另外,在主程序模塊中還需要設(shè)置啟動/清除標(biāo)志寄存器、里程寄存器和價格寄存器,并對它們進(jìn)行初始化。然后,主程序?qū)⒏鶕?jù)各標(biāo)志寄存器的內(nèi)容,分別完成啟動、清除、計程和計價等不同的操作。當(dāng)按下S1時,就啟動計價,將根據(jù)里程寄存器中的內(nèi)容計算和判斷出行駛里程是否已超過起價公里數(shù)。若已超過,則根據(jù)里程值、每公里的單價數(shù)和起價數(shù)來計算出當(dāng)前的累計價格,并將結(jié)果存于價格寄存器中,然后將時間和
46、當(dāng)前累計價格送顯示電路顯示出來。當(dāng)?shù)竭_(dá)目的地的時候,由于霍爾開關(guān)沒有送來脈沖信號,就停止計價,顯示當(dāng)前所應(yīng)該付的金額和對應(yīng)的單價,到下次啟動計價時,系統(tǒng)自動對顯示清零,并重新進(jìn)行初始化過程。主程序流程圖如圖4-1所示。</p><p> 圖4-1 主程序流程圖</p><p> 主程序?qū)Ω鱾€模塊進(jìn)行初始化,然后,根據(jù)系統(tǒng)的功能要求,調(diào)用不同的子函數(shù),完成路程讀取、計算價格、液晶顯示等
47、工作。初始化主要作用是初始化定時計數(shù)器,選擇定時器的工作方式,其代碼如下:</p><p> TMOD=0x11;</p><p><b> ET0=1;</b></p><p> TR0=0; //開始時關(guān)定時器0</p><p> TH0=(65536-48000)/256;</p><
48、p> TL0=(65536-48000)%256;</p><p><b> ET1=1;</b></p><p><b> TR1=1;</b></p><p> TH1=(65536-48000)/256;</p><p> TL1=(65536-48000)%256;</
49、p><p> EX0=0; //開始時關(guān)外部中斷0</p><p><b> IT0=1;</b></p><p><b> EA=1; </b></p><p> TMOD是定時/計數(shù)器工作方式控制寄存器,將定時/計數(shù)器0和定時/計數(shù)器1都選擇工作方式1,為16位計數(shù)器,ET0=1允許定時器
50、中斷,TRO=0開始時關(guān)閉定時器0,設(shè)定計時器計時時間為48000us, ET1打開定時器1中斷,啟動定時器1,設(shè)定計時為48000us,IT0=1設(shè)置INT0為負(fù)跳變觸發(fā)中斷,EA打開總中斷。定時器0計算行駛單價,定時器1計算等候單價。</p><p><b> 4.2萬年歷模塊</b></p><p> 由出租車的性質(zhì)所決定,對于出租車計價器而言路程和時間是兩
51、個很關(guān)鍵的因素,設(shè)置萬年歷模塊的主要作用是做到在等候價計算時時間顯示的直觀清楚,更可以方便出租車司機和乘客對時間的掌握。電子萬年歷,包括顯示年月日時分秒以及星期信息,具備可調(diào)節(jié)時間和日期功能,并能保持與即時時間的一致性。該萬年歷選用12MHZ晶振,實現(xiàn)24小時為一個周期,同時顯示時間信息。萬年歷模塊流程圖如圖4-2所示。</p><p> 初始化后首先判斷是否需要修改日期,若需要修改,則通過鍵盤的控制,對年月日
52、時分秒進(jìn)行修改;若不需要修改日期,直接讀取日期,通過顯示程序顯示。</p><p> 圖4-2 萬年歷模塊流程圖</p><p> 萬年歷模塊計數(shù)/進(jìn)位主要代碼如下:</p><p> TH0=(65536-48000)/256;</p><p> TL0=(65536-48000)%256;</p><p>
53、;<b> M++;</b></p><p> if(M>=40) </p><p><b> {Sec++;</b></p><p><b> M=0;}</b></p><p> If(sec>=60)</p><p><
54、;b> {Min++;</b></p><p><b> Sec=0;}</b></p><p> if(Min>=60)</p><p><b> {hour++;</b></p><p><b> Min=0;}</b></p>
55、<p> 年月日時分秒星期共分7次完成讀取和寫入,定時器0計25ms,當(dāng)M自加到40時,Sec自加1。進(jìn)位以秒單位和分單位為例,當(dāng)其小于60時,其+1,當(dāng)其=60時,清零并進(jìn)位。</p><p><b> 4.3 計價模塊</b></p><p> 通過讀取霍爾傳感器產(chǎn)生的脈沖信號并換算可以計算得出出租車行駛的距離,在得到行駛距離后通過計價模塊的運
56、算即可得出總價。本計價模塊設(shè)有起步價。并具有行使價,等候價自動的切換功能,將價格累計后得出總價。計價模塊流程圖如圖4-3所示。</p><p> 圖4-3 計價模塊流程圖</p><p> 磁性霍爾傳感器發(fā)出脈沖信號,微處理器在接收后,通過脈沖數(shù)*距離/脈沖的換算得出行駛的距離。當(dāng)行駛距離在起步距離之內(nèi)時,讀取起步價,當(dāng)行駛距離大于起步距離時,根據(jù)超過的距離計算總價。若停車并且設(shè)定時
57、間內(nèi)未產(chǎn)生脈沖信號時,轉(zhuǎn)換計時器0為計時器1,啟動等候價計價。當(dāng)再次產(chǎn)生脈沖信號,就切換回計時器0計時,繼續(xù)計算行駛價格。</p><p> 4.3.1 計算距離</p><p> 在車輪轉(zhuǎn)動時,霍爾傳感器的定子和轉(zhuǎn)子相接觸時就會產(chǎn)生一個脈沖信號,每讀取一個脈沖信號即可認(rèn)定汽車行駛了車輪周長的距離,通過讀取脈沖信號的個數(shù),就可以計算出前行的總里程。距離計算的流程圖如圖4-4所示。&l
58、t;/p><p> 圖4-4 距離計算流程圖</p><p> 在按下開始鍵后,調(diào)用距離計算模塊,通過讀取霍爾傳感器產(chǎn)生的脈沖,可以計算出行駛的距離。其主要代碼如下:</p><p> X_Length=X_Length+2; //2m 霍爾的脈沖</p><p><b> K++;</b></p>
59、<p> X_Length為霍爾的脈沖,每產(chǎn)生一個脈沖,其自加Xm。由于目前車輪直徑都為25cm-30cm之間,所以本系統(tǒng)設(shè)其轉(zhuǎn)動一圈行駛距離為2m。K為出租車行駛標(biāo)志位。</p><p> 4.3.2 起步價內(nèi)的運算</p><p> 按下開始鍵后,對路程的計算就開始了,通過與設(shè)定的路程相對比,判斷是否在起步距離之內(nèi),若在起步距離之內(nèi),就在LCD上顯示設(shè)定起步距離
60、和起步價。起步價的計算流程圖如圖4-5所示。</p><p> 圖4-5 起步價計算流程圖</p><p> 在開始后即進(jìn)入對路程的對比過程,當(dāng)路程小于設(shè)定路程,即為起步價內(nèi),顯示起步路程和起步價。其主要代碼如下:</p><p> if(Flag==0) //起步里程內(nèi)</p><p> if(X_Length>=1000
61、)</p><p><b> Z_Sum++;</b></p><p> X_Length=0;</p><p> if(Z_Sum>=Li_Cheng)</p><p><b> Flag=1;</b></p><p><b> Flag_g=1;
62、</b></p><p> Li_Cheng為設(shè)定的起步里程, X_Length>=1000,既霍爾產(chǎn)生500個脈沖信號,行駛距離為1公里,Z_Sum自加1,并將X_Length清零。諾Z_Sum小于Li_Cheng,只顯示起步價,諾Z_Sum大于Li_Cheng,跳出起步價程序,進(jìn)入行駛價計算。</p><p> 4.3.3 行駛價的計算</p>&
63、lt;p> 通過起步價判斷,在實際行駛的路程已經(jīng)大于起步路程后,就進(jìn)入行駛價的計算環(huán)節(jié)。進(jìn)入行駛價計算后,每公里都按設(shè)定的行駛單價累計,同時將更新的價格和距離實時的顯示在液晶屏上。行使價計算的流程圖如圖4-6所示。</p><p> 圖4-6 行使價計算流程圖</p><p> 跳出起步價的程序就自動啟動行駛價的計算,通過確認(rèn)行駛路程得出總價,并實時顯示。其主要代碼如下:<
64、;/p><p> if(X_Length>=1000) //起步里程之后每大于等于1公里</p><p><b> Z_Sum++;</b></p><p> X_Length=0;</p><p> if(Hou>=7&&Min>=0&&Hou<22)&l
65、t;/p><p> X_Money=X_Money+S_Money;</p><p> 當(dāng)進(jìn)入行駛價計算時,X_Length>=1000為每行駛一公里,根據(jù)設(shè)定的單價進(jìn)行價格累計運算。S_Money為設(shè)定每公里單價,X_Money為總價,單位為角。</p><p> 4.3.4 等候價的計算</p><p> 在碰到堵車等車輛長時
66、間停車的情況時,等候價定時器開始計時,通過與設(shè)定的時間對比,判斷是否進(jìn)入等候價的計算。若超過設(shè)定的等待時間就開始計算等候價。等候價計算的流程圖如圖4-7所示。</p><p> 圖4-7 等候價計算流程圖</p><p> 首先通過停車標(biāo)志位確認(rèn)是否為停車狀態(tài),若確實在停車狀態(tài),定時器開始計時,與設(shè)定時間比較,超過時間以角/每分鐘為單位開始累積等候價。其主要代碼如下:</p>
67、;<p> if(K<3) //停車標(biāo)志 (k的大小表示轉(zhuǎn)速)</p><p> TH1=(65536-48000)/256;</p><p> TL1=(65536-48000)%256;</p><p><b> M++;</b></p><p> if(M>=120)
68、</p><p><b> Flag_c=1;</b></p><p> if(Flag_c==1)</p><p><b> C_Sec=0;</b></p><p><b> C_Min++;</b></p><p> X_Money= X
69、_Money+D_Money; //每等一分鐘加x“角”</p><p> 當(dāng)K<3時,既認(rèn)定停車,開啟定時器1,M自加,當(dāng)M大于額定值時,開始計算等候價,每隔1分鐘X_Money開始自加x,單位是角。D_Money為可調(diào)節(jié)變量。由于X_Money為行駛價,等候價共用參數(shù),故等候價直接累計進(jìn)行駛價內(nèi)。</p><p> 4.4 液晶顯示模塊</p><p&g
70、t; 出租車計價器的各項數(shù)據(jù)以及計算結(jié)果,通過液晶顯示程序顯示。STC89C51將信息發(fā)送給液晶顯示模塊,在LCD上顯示時間、價格、單價等各種狀態(tài)量。液晶顯示模塊的流程圖如圖4-8所示。</p><p> 圖4-8 液晶顯示程序流程圖</p><p> 液晶顯示流程中先選中選擇數(shù)據(jù)/指令寄存器,再進(jìn)行寫操作,E端為使能端,在寫入數(shù)據(jù)/指令程序后,當(dāng)EN端由高電平跳變成低電平時,液晶
71、模塊執(zhí)行命令。</p><p> 4.4.1 寫指令</p><p> 在寫指令時先選中指令寄存器,指令寄存器(IR )用來保存當(dāng)前正在執(zhí)行的一條指令。給使能端低電平,將指令寫入指令寄存器后,再加一個上升沿,將指令保存。寫指令的流程圖如圖4-9所示。</p><p> 圖4-9 液晶寫指令流程圖</p><p> 液晶寫指令時先檢
72、測忙信號,然后選擇指令寄存器,選擇寫操作,將指令寫入后,在使能端加上升沿保存數(shù)據(jù)。其主要代碼如下:</p><p> lcd_checkBusy(); //檢測忙碌狀態(tài)</p><p> LCD_RS = 0; //RS至低,指令操作</p><p> LCD_RW = 0; //RW至低,寫操作</p><p> LCD_EN =
73、0;</p><p> P0 = cmd; //指令數(shù)據(jù)</p><p> LCD_EN = 1; //給使能端一個上升沿保存數(shù)據(jù)</p><p> LCD_EN = 0; </p><p> void lcd_checkBusy(void)是lcm用來檢測信號是否忙的信號函數(shù);RS定義為P2.5腳,為數(shù)據(jù)/命令端;RW定義為P2.6
74、腳,為讀/寫選擇端;EN定義為P2.7腳,為使能端。LCD_RS=0選擇指令寄存器。LCD_RW = 0時,開始執(zhí)行寫操作,LCD_EN=0時,液晶模塊開始執(zhí)行命令,寫入數(shù)據(jù)后,給使能端加一個上升沿保存數(shù)據(jù)。</p><p><b> 寫數(shù)據(jù)</b></p><p> 在寫數(shù)據(jù)時,將RS端置低電平即選中數(shù)據(jù)寄存器。 數(shù)據(jù)寄存器是存放操作數(shù)、運算結(jié)果和運算的中間結(jié)果
75、,以減少訪問存儲器的次數(shù),或者存放從存儲器讀取的數(shù)據(jù)以及寫入存儲器的數(shù)據(jù)的寄存器。寫數(shù)據(jù)的流程圖如圖4-10所示。</p><p> 圖4-10 液晶寫數(shù)據(jù)流程圖</p><p> 液晶寫數(shù)據(jù)時先檢測忙信號,然后選擇數(shù)據(jù)寄存器,選擇寫操作,將數(shù)據(jù)寫入后,在使能端加上升沿保存數(shù)據(jù)。其主要代碼如下:</p><p> lcd_checkBusy(); //檢測忙
76、碌狀態(tài) </p><p> LCD_RS = 1; //RS至高,數(shù)據(jù)操作</p><p> LCD_RW = 0;</p><p> LCD_EN = 0;</p><p> P0 = dat; //給LCD要顯示的數(shù)據(jù)</p><p> LCD_EN = 1; //給使能端一個上升沿保存數(shù)據(jù)</p&
77、gt;<p> LCD_EN = 0; </p><p> LCD_RS=1是選擇數(shù)據(jù)寄存器。LCD_RW = 0時,開始執(zhí)行寫操作,LCD_EN=0時,液晶模塊開始執(zhí)行命令,寫入數(shù)據(jù)后,給使能端加一個上升沿保存數(shù)據(jù)。</p><p> RS為高電平時,選擇數(shù)據(jù)寄存器,寫入讀出數(shù)據(jù);為低電平時,選擇指令寄存器,寫入讀出指令。RW為高電平時,進(jìn)行讀操作;為低電平時,進(jìn)行寫
78、操作。EN從高電平轉(zhuǎn)換到低電平時,執(zhí)行命令。將變量傳給數(shù)據(jù)端P0口后,選擇數(shù)據(jù)寄存器,再進(jìn)行寫操作,將芯片進(jìn)行使能操作,當(dāng)E端由高電平跳變成低電平時,液晶模塊開始執(zhí)行命令,數(shù)據(jù)就寫入LCD了。</p><p> 4.5 單價調(diào)節(jié)模塊</p><p> 本模塊實現(xiàn)對起步價,行駛單價,等候單價等計價器參數(shù)的調(diào)節(jié)。同時為了防止司機隨意更改單價,侵害消費者利益,還設(shè)置了加密程序,只有輸入正確
79、的密碼后才能進(jìn)入單價的調(diào)節(jié)程序。本模塊,通過鍵盤模塊和加密模塊兩分模塊來實現(xiàn)功能。</p><p> 4.5.1 鍵盤模塊</p><p> 密碼的輸入和參數(shù)的修改都需要運用鍵盤控制模塊。鍵盤模塊主要的工作是消抖和確認(rèn)鍵值。消抖分為消除前沿抖動和后沿抖動,消除前沿抖動的方法是通過設(shè)置延時命令,確定按下按鍵是否達(dá)到延時的時間;消除后延抖動則是通過閉合按鍵后發(fā)送數(shù)據(jù)防止按鍵按下后連續(xù)發(fā)送
80、同一鍵值。鍵盤模塊流程圖如圖4-11所示。</p><p> 圖4-11 鍵盤模塊流程圖</p><p> 在開始后,判斷是否有鍵閉合,若無按鍵,延遲6ms后返回閉合判定;若有按鍵則調(diào)用兩次延遲,進(jìn)行消抖判定,若為抖動返回閉合判定;若不是抖動求出閉合的鍵值,為了防止按鍵時鍵值的多次輸入,所以只有在按鍵釋放后才進(jìn)行賦值。按鍵主要程序如下:</p><p> P
81、1=0x0f; </p><p> if(P1==0x0f) return(0); //無鍵按下返回0.</p><p><b> else</b></p><p> mling(12); //調(diào)用延時函數(shù),去前沿鍵抖</p><p> for
82、(a=0;a<4;a++)</p><p> P1=_cror_(0x3f,a); //計算鍵值,依次將輸出線置低電平,檢查輸入線。</p><p> if(P12==0) break;</p><p> if(P13==0) break;</p><p> Key=P1; //取得鍵值</p>
83、<p> for(;P1!=0x0f;P1=0x0f) ; //等待按鍵釋放,去后沿鍵抖</p><p> return(Key); //帶鍵值返回</p><p> 設(shè)置P1,若P1=0X0f,既無按鍵。若有就調(diào)用延遲子函數(shù),判斷是否為前沿抖動。P1=_cror_(0x7f,a)將輸入線置0檢查輸入線,逐行掃描輸出線,確定按鍵。取得鍵值后,等待
84、按鍵釋放后帶鍵值返回。</p><p> 4.5.2 密碼模塊</p><p> 在讀取了按鍵鍵入的鍵值后,需要與原來設(shè)定的密碼進(jìn)行比對,若錯誤就跳出程序,若正確即可更具程序,對密碼進(jìn)行更改或者跳過開始對單價的更改。密碼模塊流程圖如圖4-12所示。</p><p> 圖4-12 密碼模塊流程圖</p><p> 對于鍵盤輸入的鍵值
85、,在識別后與存儲的原密碼相比較,判斷是否為正確密碼,錯誤跳回輸入。若正確則進(jìn)入更改密碼環(huán)節(jié),可以輸入新密碼或跳過設(shè)置新密碼。在設(shè)置新密碼時需要兩次輸入相同密碼,否者重新輸入。若跳過更改密碼環(huán)節(jié)就進(jìn)入調(diào)節(jié)價格程序。</p><p><b> 一、密碼存儲</b></p><p> 對于設(shè)定的密碼需要對其進(jìn)行存儲,以便可以長久保持。采用EEPROM存儲,具備有掉電保存
86、數(shù)據(jù)的功能。EEPROM (Electrically Erasable Programmable Read-Only Memory),電可擦可編程只讀存儲器--一種掉電后數(shù)據(jù)不丟失的存儲芯片。 EEPROM 可以在電腦上或?qū)S迷O(shè)備上擦除已有信息,重新編程。</p><p> 1、先設(shè)置EEPROM的存儲空間</p><p> EEPROM可以進(jìn)行讀取、寫入、和擦除。在開始工作之間,需要
87、對其各自不同的命令設(shè)置不同的存儲空間。其代碼如下:</p><p> #define Read_CMD 0x01 //字節(jié)讀數(shù)據(jù)存儲區(qū)</p><p> #define Write_CMD 0x02 //字節(jié)編程數(shù)據(jù)存儲區(qū)</p><p> #define Dele_CMD 0x03 //扇區(qū)擦除數(shù)據(jù)存儲區(qū)</p><p>
88、 #define Read_CMD 0x01為設(shè)置讀數(shù)據(jù)存儲區(qū);#define Write_CMD 0x02為設(shè)置寫入數(shù)據(jù)存儲區(qū);#define Dele_CMD 0x03為設(shè)置扇區(qū)擦除數(shù)據(jù)存儲區(qū)</p><p><b> 2、進(jìn)行讀操作</b></p><p> EEPROM讀操作的代碼如下:</p><p> ISP_CONTR=E
89、n_Wait_Time; //開啟ISP/IAP;并送等待時間 </p><p> ISP_CMD=Read_CMD; //送字節(jié)讀指令</p><p> ISP_ADDRH=Byte_Addr/256;</p><p> ISP_ADDRL=Byte_Addr%256;</p><p><b> EA=0;</
90、b></p><p> ISP_TRIG=0x46;//送觸發(fā)指令0x46,0xb9</p><p> ISP_TRIG=0xb9;</p><p><b> EA=1;</b></p><p> ISP_CONTR=0x00;//禁止ISP/IAP 操作</p><p>
91、 ISP_CMD=0x00;//去除ISP/IAP 命令</p><p> 首先開啟ISP/IAP,發(fā)送等候時間,ISP_CMD=Read_CMD即送字節(jié)讀指令。ISP_ADDRH=Byte_Addr/256;;ISP_ADDRL=Byte_Addr%256將數(shù)據(jù)存儲于ISP的高8位低8位中,關(guān)閉中斷,送觸發(fā)指令0x46,0xb9,開啟中斷,最后關(guān)閉ISP/IAP。</p><p>&
92、lt;b> 3、進(jìn)行寫操作</b></p><p> EEPROM寫操作的代碼如下:</p><p> ISP_CMD=Write_CMD; //送字節(jié)寫指令</p><p> 寫操作與讀操作代碼比較類似,ISP_CMD=Write_CMD送字節(jié)讀指令。</p><p><b> 4、擦除扇區(qū)<
93、;/b></p><p> EEPROM擦除扇區(qū)的代碼如下:</p><p> ISP_CMD=Dele_CMD; //送字節(jié)擦除指令</p><p> ISP_ADDRH=Sector_Addr/256;</p><p> ISP_ADDRL=Sector_Addr%256;</p><p>
94、擦除扇區(qū)與寫操作代碼類似,ISP_CMD=Dele_CMD為送字節(jié)擦除指令,指令存儲區(qū)為Sector_Addr。</p><p><b> 二、密碼的比對</b></p><p> 在輸入數(shù)字之后,需要對輸入的數(shù)字與在存儲區(qū)內(nèi)設(shè)置的密碼進(jìn)行對比,判定輸入的數(shù)字是否正確。若錯誤跳出操作。密碼對比流程圖如圖4-13所示。</p><p> 圖
95、4-13 密碼對比流程圖</p><p> 密碼的比對通過兩個步驟完成,首先對比數(shù)據(jù)位數(shù)是否正確,然后逐個數(shù)字對比時候全部正確。密碼比對的主要代碼如下:</p><p> unsigned char ps[]={a1,a2,a3,a4,a5};</p><p> unsigned char key; //輸入值</p><
96、p> unsigned char keycount;//記錄輸入個數(shù)</p><p> unsigned char getps[6]; //保存得到的密碼</p><p> unsigned char pslen=5;//密碼長度</p><p> if(keycount<6) //輸入少于6位</p>
97、<p> getps[keycount]=key; //獲得的一位密碼</p><p> keycount++; //等待取下一位</p><p> if(keycount==6) //已經(jīng)輸入完了</p><p> if(keycount!=pslen) //密碼長度不對,輸入錯誤<
98、;/p><p> errorflag=1; </p><p> for(i=0;i<keycount;i++) //逐個比較</p><p> if(getps[i]!=ps[i]) //發(fā)現(xiàn)錯誤</p><p> errorflag=1; </p><p><b> else&l
99、t;/b></p><p> rightflag=1; </p><p> 設(shè)置密碼為5位,定義為ps[],key為輸入值,keycount為輸入個數(shù),將輸入的密碼保存在gets[6]內(nèi)。當(dāng)keycount小于6時,密碼未輸完全,可以繼續(xù)輸入新的位數(shù),直到keycount=6,當(dāng)輸入密碼位數(shù)不等于設(shè)定密碼位數(shù)時,判定輸入錯誤。當(dāng)相同時,開始逐個對比輸入的數(shù)字,諾發(fā)現(xiàn)錯誤,判定輸入
100、錯誤,諾未發(fā)現(xiàn)錯誤,則判定輸入正確。</p><p> 5系統(tǒng)電路圖以及PCB</p><p> 圖5-1 系統(tǒng)電路圖</p><p> 圖5-2 系統(tǒng)PCB圖</p><p><b> 6 結(jié)論</b></p><p> 本設(shè)計按照任務(wù)書的要求,基本完成了任務(wù)書規(guī)定的任務(wù)。制作出的
101、出租車計價系統(tǒng),所有模塊都能正常運行,顯示清楚明了,計算迅速快捷,密碼識別準(zhǔn)確,調(diào)節(jié)方便。</p><p> 由于條件的不足,沒有將課題做進(jìn)一步研究。比如,可以增加模塊,可設(shè)溫度模塊、語音模塊等,這樣可以使本系統(tǒng)功能更強大,使用更方便。但這些措施勢必要增加系統(tǒng)設(shè)計的難度和成本,由于時間有限所以沒有采用,有待在以后的工作學(xué)習(xí)中不斷進(jìn)步。</p><p> 通過本次課程設(shè)計,又使我學(xué)到了許
102、多書本上無法學(xué)到的知識,也使也深該體會到單片機技術(shù)應(yīng)用領(lǐng)域的廣泛,不僅使我對學(xué)過的單片機知識有了很多的鞏固,同時也對單片機這一門課程產(chǎn)生了更大的興趣。</p><p> 在本次課程設(shè)計過程中,我學(xué)會了在網(wǎng)絡(luò)上查找有關(guān)本設(shè)計的各硬件的資源,其中包括:STC89C51單片機及其引腳說明、12864引腳圖及其引腳功能等,為本次課程設(shè)計提供了一定的資料。也為以后的進(jìn)一步學(xué)習(xí)打下了堅實的基礎(chǔ)。</p>&l
103、t;p><b> 參考文獻(xiàn)</b></p><p> [1]李俊松,宋仲康.汽車車速傳感器測試系統(tǒng)的開發(fā)[J].汽車電器,2002,41(2):13-15.</p><p> [2]鄭發(fā)農(nóng).電子式車速里程表[J].自動化儀表,2000,21(6):19-20.</p><p> [3]杜錫勇,張弘,馮榮彪,駱明兒.光遮擋式激光測速
104、方法的研究[J].激光雜志,2009(4):10-12.</p><p> [4]劉建生,程鐵棟.楊麗榮.基于CPLD和單片機的高精度超聲波測距研究[J].微計算機信息, 2006(5):21-22.</p><p> [5]張和生,宋明耀.車載超聲測距儀的研制[J].儀表技術(shù)與傳感器,2003(2):11-13.</p><p> [6]孫存英,俞嘉隆,喬衛(wèi)
105、平.超聲波探測技術(shù)原理實驗[J].大學(xué)物理實驗,2010,23(1):31-34.</p><p> [7]臧懷剛,趙保軍,陶然.可測速的智能超聲波液位儀[N].計量學(xué)報,2006,27(4):17-18</p><p> [8]陸晶晶,張為公,周耀群.基于GPS和加速度計的車速測量系統(tǒng)的開發(fā)與研制[J].測控技術(shù),2007(08):24-26.</p><p>
106、; [9]林紹華.霍爾傳感器原理及在車速傳感器中的應(yīng)用[J].輕型汽車技術(shù),2003,31(12):14-16.</p><p> [10]田漢波,趙英俊.一種基于線性霍爾傳感器的直流電機轉(zhuǎn)速測量方法[J].機械與電子,2007,23(1):31-34.</p><p> [11]Cabric D,Mishra S M,Brodersen R W.Implementation Iss
107、ues inSpectrum Sensing for Cognitive Radios[J].The Thirty-eighthAsilomar Conference on Signals,Systems and Computers,Sep.2004,1:772~776.</p><p> [12]beunen,Raoul;jaarsma,Catharinus F.& Kramer,Rob N.A. c
108、ounting of visitor in the Meijendel dunes,The Netherlands [J].Journal of Coastal Conservation 10 .2004:109~118.</p><p> 附錄1 系統(tǒng)程序</p><p> //STC8051 22M晶振</p><p> #include<re
109、g52.h></p><p> #include<intrins.h></p><p> #include<ds1302.h></p><p> #include<eeprom.h></p><p> #include<Key_Scan.h> </p><p&g
110、t; volatile unsigned int X_Length=0;//X_Length:路程:0-1000m</p><p> volatile unsigned char Z_Sum=0;//Z_Sum: 路程整數(shù)部分</p><p> volatile unsigned char X_Money=0;//(單位:角)X_Money:</p><p&
111、gt; volatile unsigned char M_Sum=0;//(單位:元)M_Sum:車費整數(shù)部分(起步價)</p><p> volatile unsigned char S_Money=16;//(單位:角)S_Money:每公里單價</p><p> volatile unsigned char B_Money=6;//(單位:元)S_Sum: 起步里程價&l
112、t;/p><p> //volatile unsigned char Min=0,Hou=8,Sec,N;</p><p> volatile unsigned char C_Min,C_Hou,C_Sec,M;</p><p> volatile unsigned char Li_Cheng=2; //起步里程</p><p> vol
113、atile unsigned int Num=0; //載客次數(shù)</p><p> //volatile unsigned char W_SBUF[1];</p><p> volatile unsigned char K=0; //出租車行駛標(biāo)志</p><p> volatile unsigned char Flag_e; //使單片機斷電再上電具
114、有記憶功能</p><p> bit Flag=0; //起步里程內(nèi)</p><p> bit Flag_g=0;//起步里程之后的瞬間時刻</p><p> bit Flag_c=0;//出租車等待標(biāo)志位</p><p> bit Flag_k=0;//有無承載顧客</p><p> bit
115、Flag_ck=0;//載客次數(shù)查看與清除標(biāo)志位</p><p> sbit P00=P0^0; //是否停車標(biāo)志</p><p> sbit P01=P0^1; //有無載客標(biāo)志</p><p> sbit P02=P0^2;</p><p> sbit P03=P0^3;</p><p> sbi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出租車計價器設(shè)計畢業(yè)論文
- 出租車計價器畢業(yè)論文設(shè)計
- 出租車計價器畢業(yè)論文
- 畢業(yè)論文-出租車計價器系統(tǒng)設(shè)計.doc
- 畢業(yè)設(shè)計----出租車計價器
- 出租車計價器畢業(yè)設(shè)計
- 智能出租車計價器設(shè)計【開題報告】
- 畢業(yè)設(shè)計--出租車計價器設(shè)計
- 畢業(yè)論文--基于fpga的出租車計價器的設(shè)計
- 畢業(yè)論文--基于fpga的出租車計價器的設(shè)計
- 出租車計價器課程設(shè)計論文
- 出租車計價器(20170824174838)
- 多功能出租車計價器畢業(yè)設(shè)計論文
- 帶語音提示的出租車計價器【畢業(yè)論文】
- 智能出租車計價器設(shè)計【任務(wù)書】
- 出租車計價器的設(shè)計 畢業(yè)設(shè)計
- 畢業(yè)論文--基于單片機的出租車計價器設(shè)計
- 基于單片機的出租車計價器設(shè)計畢業(yè)論文
- 基于單片機的出租車計價器設(shè)計【畢業(yè)論文】
- 出租車計價器課程設(shè)計
評論
0/150
提交評論