《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于AT89S51單片機的出租車計價器系統設計
基于AT89S51單片機的出租車計價器系統設計
現代電子技術
舒 濤,伍遠超,李 明
摘要: 以AT89S51單片機為核心器件,附加A44E霍爾傳感器測距,實現對出租車的計價統計。采用AT24C02實現在系統掉電時保存單價和系統時間等信息,輸出采用8段數碼顯示管。用該電路設計的計價器不但能實現基本的計價,而且還能根據白天、黑夜、中途等待來調節單價,同時在不計價的時候還能作為時鐘為司機提供方便。
Abstract:
Key words :

      隨著生活水平的提高,人們已不再滿足于衣食住的享受,出行的舒適已受到越來越多人的關注。于是,出租車行業以低價高質的服務給人們帶來了出行的享受。但是總存在買賣糾紛困擾著行業的發展。然而解決這一矛盾的最好方法就是改良出租車的計價器,用更加精良的計價器來為乘客提供更加方便快捷的服務。我國的出租車始于20世紀70年代,隨著電子技術的發展,出租車計價器" title="出租車計價器">出租車計價器的設計技術也在不斷進步和提高。國內出租車計價器的發展已經經歷了4個階段,從傳統的全部由機械元器件組成的機械式到半電子式出租車計價器,再從集成電路式到目前的基于單片機系統設計的出租車計價器。

       基于單片機系統設計的出租車計價器是以單片機作為核心的控制元件,采用靈敏的霍爾開關型器件,具有功能強,性能可靠,電路簡單,成本低的特點,加上經過優化的程序,使其具有很高的智能化水平。

1 系統硬件設計
  
出租車計價器系統以AT89S51" title="AT89S51">AT89S51單片機為核心,由按鍵電路、AT24C02掉電存儲電路、里程計算電路、數碼管顯示電路組成。利用單片機靈活的編程設計和豐富的I/O端口,及其控制的準確性,不僅能實現基本的里程計價價格調節、時鐘顯示,而且能很大程度上實現擴展功能,同時可方便日后對系統進行升級。圖1給出計價器系統框圖。


1.1 里程計算、計價電路的設計
   
里程計算是通過安裝在車輪上的霍爾傳感器" title="霍爾傳感器">霍爾傳感器A44E檢測到的信號,送到單片機,經處理計算,送給顯示單元的。A44E的檢測原理如圖2所示,P3.2口作為信號的輸入端,內部采用外部中斷0,車輪每轉一圈(設車輪的周長是1 m),霍爾開關就檢測并輸出信號,引起單片機的中斷,對脈沖計數,當計數達到1 000次時,也就是1 km,單片機就控制將金額自動增加,其計算公式為:
    當前單價×公里數=金額


1.2 數據顯示電路的設計
   
設計使用一個定時/計數器每0.1 s向主機發1次中斷請求信號,并利用并行接口電路完成對時鐘的實時顯示功能。同時,利用動態掃描電路完成對出租車的起價和當前累計價的顯示。
    由于設計要求有單價(2位)、路程(2位)、總金額(3位)顯示輸出,加上另外擴展的時鐘顯示(包含時分秒的顯示),采用LCD液晶段碼顯示,在距離屏幕1 m之外就無法看清數據,不能滿足要求,而且在白天其對比度也不能夠滿足要求,因此采用6位LED數碼管的分屏顯示。
    在出租車不走的時候,按下S1,可以實現數據的分屏顯示;車在行走的時候只有總金額和單價顯示屏在顯示,當到達目的地的時候,客戶要求查看總里程時,就可以按下S1切換到里程和單價顯示屏,供客戶查詢。
1.3 AT24C02掉電存儲電路的設計
   
存儲電路的作用是在電源斷開的時候,存儲當前設定的單價信息。存儲電路如圖3所示,采用Atmel公司推出的容量為2 KB的串行電可擦除、可編程存儲芯片AT24C02設計,傳輸方式為I2C總線。該設計優點在其簡單性和處理的高效性上。一般地址輸入端A0,A1,A2,寫保護WP接Vcc或GND;SCL,SDA接上拉電阻(上拉電阻的阻值可參考有關數據手冊選擇,通常可選用5~10kΩ的電阻,設計中選用的電阻阻值為5.1kΩ)后再接單片機的普通I/O口,這便可實現單片機對AT24C02的操作。上拉電阻的作用是減少AT24C02的靜態功耗。


1.4 啟動及清除電路
   
在系統電路中,設計一個啟動/清除按鈕,用來作為啟動里程計數或清除里程數計數的開關。將該按鈕開關接到微機系統的某個中斷請求線上,當開關被按下1次時就作為計程啟動中斷請求;再按下1次時,就作為系統的計程清零中斷處理。
1.5 按鍵電路的設計
   
電路共采用4個按鍵,即S1,S2,S3,S4,其功能是:S1為分屏顯示切換按鍵;S2為功能設定按鍵;S3為‘+’/白天晚上切換按鍵;S4為‘-’/中途等待開關。

2 系統軟件設計
2.1 主程序模塊

    主程序流程圖如圖4所示,在主程序模塊中,需要完成對各接口芯片的初始化、出租車起價和單價的初始化、中斷向量的設計以及開中斷、循環等待等工作。另外,在主程序模塊中還需要設置啟動/清除標志寄存器、里程寄存器和價格寄存器,并對它們進行初始化。然后,主程序將根據各標志寄存器的內容,分別完成啟動、清除、計程和計價等不同的操作。


    當按下S1時,就啟動計價,將根據里程寄存器中的內容計算和判斷出行駛里程是否已超過起價公里數。若已超過,則根據里程值、每公里的單價數和起價數來計算出當前的累計價格,并將結果存于價格寄存器中,然后將時間和當前累計價格送顯示電路顯示出來。
    當到達目的地的時候,由于霍爾開關沒有送來脈沖信號,就停止計價,顯示當前所應該付的金額和對應的單價。到下次啟動計價器時,系統自動對顯示清零,并重新進行初始化過程。
2.2 定時中斷服務程序
   
在定時中斷服務程序中,每100 ms產生一次中斷,當產生10次中斷的時候,也就到了1 s,送數據到相應的顯示緩沖單元,并調用顯示子程序實時顯示。
2.3 里程計數中斷服務程序
   
每當霍爾傳感器輸出一個低電平信號就使單片機中斷一次,當里程計數器對里程脈沖計滿1 000次時,就有程序將當前總額累加,使微機進入里程計數中斷服務程序中。在該程序中,需要完成當前行駛里程數和總額的累加操作,并將結果存入里程和總額寄存器中。
2.4 中途等待中斷服務程序
   
當在計數狀態下霍爾開關沒有輸出信號,片內的T1定時器便被啟動,每當計時到達10 min,就對當前金額加上中途等待的單價,以后每10 min都自動加上中途等待的單價。當中途等待結束時,就自動切換到正常的計價。
2.5 啟動/清除計程中斷服務程序
   
當系統有啟動/清除中斷請求產生時,可以設定第一次中斷為啟動中斷,第二次中斷為清除中斷,并在中斷服務程序中將標志寄存器的內容相應置“1”或清“0”。其中,標志為“1”時表示本次中斷是啟動中斷;為“0”時表示是清除中斷。
2.6 顯示子程序服務程序
   
由于是分屏顯示數據,所以就要用到4個顯示子程序,分別是:時分秒顯示子程序(HMS_DIS),金額單價顯示子程序(CP_DIS),路程單價顯示子程序(DP_DIS)和單價調節子程序(PA_DIS)。
2.7 鍵盤服務程序
   
鍵盤采用查詢的方式,放在主程序中,當沒有按鍵按下的時候,單片機循環主程序,一旦右鍵按下,便轉向相應的子程序處理,處理結束再返回。

3 結語
   
由于本出租車計價器采用單片機作為核心控制元件,采用靈敏的霍爾傳感器器件作為檢測,因此使其具有功能強,性能可靠,電路簡單,成本低的特點,加上經過優化的程序,使其有很高的智能化水平,解決了以往出租車計價器計價不準確,使用壽命短等缺點。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产欧美日韩高清专区ho | 亚洲欧美在线精品一区二区 | 久久久久久久网站 | 天天操天天爽天天射 | www.成人av.com| 日本天堂免费观看 | 三级网站国产 | 国产中的精品一区的 | 一97日本道伊人久久综合影院 | 国产成人在线视频播放 | 亚洲一区中文字幕 | 男人香蕉好大好爽视频 | 亚欧乱色视频 视频在线 | 521色香蕉网在线观看免费 | 色网站在线观看 | 亚洲毛片在线看 | 中国护士一级毛片免费版本 | 亚洲无线乱码高清在线观看一区 | 精品乱人伦一区二区 | 中文字幕在线一区 | 日本黄色免费网址 | 在线观看黄网 | 欧美一级鲁丝片免费看 | 天干天夜啪天天碰 | 久久久久久久久网站 | 国产成人啪精品视频免费网 | 8x福利精品第一导航 | 日韩欧美爱爱 | 国产黄色片在线播放 | 国产一区精品在线 | 日韩一级欧美一级在线观看 | 成品片a免费入口 | 日韩欧美色视频在线观看 | 亚洲欧美日韩伦中文 | 一级免费毛片 | 老司机午夜精品视频在线观看免费 | 最近中文字幕在线 | 亚洲国产黄色 | 性激烈的欧美三级高清视频 | 日本韩国免费 | 欧美一级视频 |