加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專(zhuān)業(yè)用戶(hù)
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 系統(tǒng)概述
    • 2 系統(tǒng)設(shè)計(jì)的整體方案
    • 3 測(cè)速模塊的方案論證
    • 4 系統(tǒng)軟件設(shè)計(jì)
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

電路方案:基于51單片機(jī)的出租車(chē)計(jì)價(jià)器的設(shè)計(jì)

2023/08/08
212
閱讀需 18 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

在科學(xué)技術(shù)和經(jīng)濟(jì)水平快速發(fā)展的21世紀(jì),乘坐出租車(chē)和網(wǎng)約車(chē)出行已經(jīng)成為一種非常重要的交通出行方式。行業(yè)的轉(zhuǎn)型發(fā)展讓出租車(chē)行業(yè)迎來(lái)了一場(chǎng)新紀(jì)元。但是在出租車(chē)行業(yè)迅速發(fā)展的同時(shí),也出現(xiàn)了很多問(wèn)題。經(jīng)營(yíng)管理不善,司機(jī)服務(wù)不規(guī)范,隨意定價(jià)收款的現(xiàn)象也是層出不窮。為了根治這種現(xiàn)象,出租車(chē)計(jì)價(jià)器孕育而生。出租車(chē)計(jì)價(jià)器的問(wèn)世不僅減少了行業(yè)的亂象,而且讓管理者和經(jīng)營(yíng)者更加誠(chéng)信的服務(wù)乘客,在很大程度上改善了行業(yè)風(fēng)氣。

但是目前國(guó)內(nèi)廣泛使用的出租車(chē)計(jì)價(jià)器功能單一,不能滿(mǎn)足人們的需求,人們更致力于一種功能齊全,生產(chǎn)成本低的出租車(chē)計(jì)價(jià)器。伴隨著科技水平的提高,出租車(chē)計(jì)價(jià)器也迎來(lái)了新的變革,這時(shí)第二代出租車(chē)計(jì)價(jià)器問(wèn)世了。
設(shè)計(jì)選用宏晶公司生產(chǎn)的STC89C52單片機(jī),加上外圍芯片,設(shè)計(jì)出一個(gè)性能穩(wěn)定,實(shí)用性強(qiáng)的出租車(chē)計(jì)價(jià)器。電路主要由測(cè)速模塊、時(shí)鐘模塊、測(cè)溫模塊組成。設(shè)計(jì)出功能齊全、實(shí)用性強(qiáng)的出租車(chē)計(jì)價(jià)器。此設(shè)計(jì)能夠?qū)崿F(xiàn)計(jì)價(jià)器的各項(xiàng)功能要求,使用適當(dāng)?shù)慕涌谧鳛檩斎溯敵鐾ǖ?實(shí)現(xiàn)對(duì)電機(jī)驅(qū)動(dòng)模塊的運(yùn)行控制,以達(dá)到對(duì)出租車(chē)各項(xiàng)性能指標(biāo)的測(cè)量,具有很大的市場(chǎng)前景以及開(kāi)發(fā)空間。
  1. 系統(tǒng)概述

  2. 設(shè)計(jì)要求

運(yùn)用所學(xué)的知識(shí)和專(zhuān)業(yè)技能,以STC89C52系列單片機(jī)為核心設(shè)計(jì)一個(gè)簡(jiǎn)易的出租車(chē)計(jì)價(jià)器系統(tǒng),實(shí)現(xiàn)出租車(chē)計(jì)價(jià)器的穩(wěn)定運(yùn)行。用霍爾傳感器測(cè)速測(cè)量出租車(chē)的實(shí)時(shí)速度,用延時(shí)實(shí)現(xiàn)調(diào)速功能。設(shè)計(jì)的出租車(chē)計(jì)價(jià)器還需具有顯示時(shí)鐘和測(cè)量溫度的功能,并且能夠自動(dòng)計(jì)算費(fèi)用、設(shè)置起步價(jià)、設(shè)置每公里價(jià)格。設(shè)計(jì)選用STC89C52單片機(jī)作為控制器,自帶AD轉(zhuǎn)換,當(dāng)一邊有按鍵按下時(shí),另一邊以數(shù)字的形式在LCD12864顯示屏上顯示出相應(yīng)的車(chē)速、溫度、時(shí)間以及總價(jià)。

(1)能夠設(shè)置起步價(jià),每公里價(jià)格;
(2)能夠測(cè)量出出租車(chē)的速度并顯示;
(3)自動(dòng)計(jì)算總費(fèi)用;
(4)具有時(shí)鐘和溫度測(cè)量功能。
  1. 總體設(shè)計(jì)

總體設(shè)計(jì)框圖如圖1-1所示,設(shè)計(jì)主要由單片機(jī)模塊,按鍵控制模塊和LCD12864顯示模塊組成,它們的作用分別為:

單片機(jī)模塊:數(shù)據(jù)輸入輸出的處理。
按鍵模塊:通過(guò)按鍵處理,將相關(guān)操作指令傳送至單片機(jī)處理。
顯示模塊:用LCD12864顯示屏顯示出租車(chē)計(jì)價(jià)器的各項(xiàng)性能指標(biāo),顯示當(dāng)前車(chē)速、溫度、總費(fèi)用、起步價(jià)、每公里價(jià)格等功能。起步價(jià)和每公里價(jià)格也能通過(guò)按鍵進(jìn)行設(shè)置并且顯示過(guò)程。
其中單片機(jī)模塊包括測(cè)速模塊、RESET模塊、ds1302S時(shí)鐘模塊、測(cè)溫模塊。通過(guò)單片機(jī)內(nèi)部轉(zhuǎn)換后在LCD12864顯示屏上顯示出相關(guān)信息。再按下按鍵使電機(jī)開(kāi)始轉(zhuǎn)動(dòng),通過(guò)延時(shí)進(jìn)行調(diào)速,再通過(guò)霍爾傳感器模塊進(jìn)行測(cè)速并通過(guò)顯示模塊在LCD12864上顯示出當(dāng)前的車(chē)速。設(shè)置了復(fù)位按鍵,按下復(fù)位按鍵時(shí)出租車(chē)計(jì)價(jià)器系統(tǒng)重置至初始狀態(tài)。設(shè)有時(shí)鐘模塊將時(shí)間通過(guò)LCD12864顯示屏顯示出來(lái)。

2 系統(tǒng)設(shè)計(jì)的整體方案

2.1主控芯片的方案論證
方案一:51系列單片機(jī)
采用STC89C52作為主控芯片,管腳圖如圖2-1所示。51單片機(jī)的系統(tǒng)指令,內(nèi)部結(jié)構(gòu)相對(duì)簡(jiǎn)單。同時(shí)51單片機(jī)的I/O腳的設(shè)計(jì)和使用非常簡(jiǎn)單,指令系統(tǒng)規(guī)范。
方案二:PIC系列單片機(jī)
采用PIC系列為核心控制器。PIC單片機(jī)將各種輸入輸出的接口都集成在一塊芯片上,它較適合應(yīng)用在功能單一的設(shè)計(jì)中。

綜上所述,根據(jù)在校所學(xué)以及掌握的理論知識(shí),對(duì)51系列單片機(jī)的掌握更為熟練,同時(shí)價(jià)格也更為便宜的。51系列的單片機(jī)適用于相對(duì)簡(jiǎn)單較為容易實(shí)現(xiàn)的電路。51系列單片機(jī)比PIC系列單片機(jī)更容易實(shí)現(xiàn)設(shè)計(jì)要求,因此選擇使用方案一設(shè)計(jì)。

2.2 顯示模塊的方案論證

方案一:LED數(shù)碼管
采用LED數(shù)碼管為顯示模塊。數(shù)碼管能夠顯示的內(nèi)容單一,受到一些產(chǎn)品品質(zhì)要求和影響,不能做很小和顯示內(nèi)容很多的產(chǎn)品。數(shù)碼管厚大笨重,占用產(chǎn)品結(jié)構(gòu)尺寸較大,同時(shí)數(shù)碼管的消耗電力大,數(shù)碼管不同于液晶產(chǎn)品,受到視角限制,數(shù)碼管屬于全視角的產(chǎn)品。
方案二:LCD12864顯示屏
采用LCD12864為顯示模塊。LCD12864顯示屏具有功耗低的特點(diǎn),液晶分子由電壓驅(qū)動(dòng),液晶屏基本不用耗電。但由于液晶分子的扭曲特性,導(dǎo)致液晶屏視角上有偏差,只能有一個(gè)方向的視角是非常清楚的。LCD液晶顯示屏在玻璃中間刻畫(huà)線(xiàn)路和灌注液晶,可以做到高精度的操作,顯示內(nèi)容多樣化,顯示顏色也多姿多彩。LCD12864管腳圖如圖2-2所示。

綜上所述,再結(jié)合出租車(chē)計(jì)價(jià)器的設(shè)計(jì)要求,選擇LCD顯示屏作為設(shè)計(jì)的顯示模塊。因?yàn)樵O(shè)計(jì)需要實(shí)現(xiàn)的功能較多,LED數(shù)碼管能夠顯示的的內(nèi)容單一,選用LED數(shù)碼管,無(wú)法滿(mǎn)足設(shè)計(jì)的顯示需要。相反LCD12864顯示屏具有顯示多樣化,可承載的內(nèi)容多,可以做到高精度的操作。綜上所述,顯示模塊采用方案二設(shè)計(jì)。

2.3電動(dòng)機(jī)的方案論證

方案一:直流電機(jī)
采用直流電機(jī)為動(dòng)力元件。安裝較為簡(jiǎn)單,價(jià)格較為便宜。在給定的負(fù)載條件下,可以根據(jù)設(shè)計(jì)需要人為改變電機(jī)轉(zhuǎn)速,更加有利于出租車(chē)計(jì)價(jià)器調(diào)速測(cè)速功能的實(shí)現(xiàn)。
采用步進(jìn)電機(jī)為動(dòng)力元件。步進(jìn)電機(jī)不會(huì)以連續(xù)的方式旋轉(zhuǎn),而是以離散的步長(zhǎng)或增量移動(dòng),不適合模擬出租車(chē)的運(yùn)行速度。步進(jìn)電機(jī)適用于對(duì)精度要求大的設(shè)計(jì)。
綜上所述,由于本設(shè)計(jì)需要穩(wěn)定的改變速度,同時(shí)速度變化較大。另一方面直流電機(jī)較為便宜,因此設(shè)計(jì)選擇方案一,用直流電機(jī)作為電動(dòng)機(jī)。
2.4 電機(jī)驅(qū)動(dòng)模塊的方案論證
方案一:L298N驅(qū)動(dòng)
采用L298N電機(jī)驅(qū)動(dòng)為控制器。如果改變輸入,能夠?qū)崿F(xiàn)電機(jī)的轉(zhuǎn)向。更適用于模擬小車(chē)行駛。它擁有雙通道輸出,A輸出和B輸出,可以實(shí)現(xiàn)兩路電機(jī)進(jìn)行不同的控制與操作。
方案二:ULN2003驅(qū)動(dòng)
采用ULN2003芯片作為控制器。ULN2003能夠承受高壓,內(nèi)部是非門(mén),輸入與輸出是相反的。它的電壓增益高,溫度范圍寬。在工作時(shí)電壓高。
綜上所述,電機(jī)選用5V直流電機(jī),設(shè)計(jì)只需要用電機(jī)模擬車(chē)輪轉(zhuǎn)動(dòng),對(duì)電機(jī)的控制與操作要求低。用ULN2003驅(qū)動(dòng)較為簡(jiǎn)單,更容易實(shí)現(xiàn)要求,因此選用ULN2003驅(qū)動(dòng)作為本次設(shè)計(jì)的電機(jī)驅(qū)動(dòng)模塊。

3 測(cè)速模塊的方案論證

方案一:霍爾傳感器測(cè)速
采用霍爾傳感器測(cè)速?;魻杺鞲衅骶哂蝎@取信息準(zhǔn)確、體積小、測(cè)量范圍廣、精度高等優(yōu)點(diǎn)?;魻杺鞲衅鲗?duì)環(huán)境的要求低,同時(shí)結(jié)構(gòu)簡(jiǎn)單。但是該方案利用線(xiàn)圈切割磁感線(xiàn)產(chǎn)生感應(yīng)電動(dòng)勢(shì),易受到電磁波干擾。
方案二:采用光電式轉(zhuǎn)速傳感器,
采用光電式測(cè)速。主要原理是將光信號(hào)轉(zhuǎn)化為電信號(hào)。它獲取信息準(zhǔn)確,但對(duì)環(huán)境的要求較高,容易受到環(huán)境中的光干擾。

綜上所述,由于光電轉(zhuǎn)速傳感器對(duì)環(huán)境的要求較大同時(shí)需要光源才能進(jìn)行測(cè)速,相反霍爾傳感器測(cè)速對(duì)環(huán)境要求較低,結(jié)構(gòu)簡(jiǎn)單,再加上學(xué)習(xí)過(guò)霍爾傳感器的相關(guān)理論知識(shí),對(duì)霍爾傳感器掌握程度遠(yuǎn)高于光電式轉(zhuǎn)速傳感器。因此選用霍爾傳感器作為設(shè)計(jì)的測(cè)速模塊。

  1. 單片機(jī)最小系統(tǒng)的電路設(shè)計(jì)
  2. STC89C52芯片模塊電路設(shè)計(jì)

依據(jù)所選的方案,選用STC89C52作為出租車(chē)計(jì)價(jià)器的主控芯片,利用STC89C52的各個(gè)端口,實(shí)現(xiàn)設(shè)計(jì)所需要的各個(gè)功能。單片機(jī)端口可以控制顯示模塊、驅(qū)動(dòng)電機(jī)模塊、溫度傳感器模塊、霍爾傳感器模塊以及DS1302時(shí)鐘模塊,還能控制各個(gè)按鍵的功能。設(shè)計(jì)使用單片機(jī)的P10,P11接口和直流電機(jī)驅(qū)動(dòng)模塊相連。使用P37接口與溫度傳感器模塊相連。使用P12,P13,P14接口連接K1,K2,K3按鍵。用P32接口連接霍爾傳感器模塊。用P20,P21,P22接口連接DS1302時(shí)鐘芯片。P9接口連接復(fù)位電路。P18,P19接口連接晶振電路。電路設(shè)計(jì)簡(jiǎn)單,STC89C52芯片模塊電路設(shè)計(jì)如圖3-1所示。

3.1.2 系統(tǒng)晶振電路設(shè)計(jì)

晶振電路能夠產(chǎn)生和時(shí)鐘一樣準(zhǔn)確的振蕩電路,產(chǎn)生時(shí)鐘脈沖信號(hào),用于控制單片機(jī)程序執(zhí)行的節(jié)拍和時(shí)序。Y1兩端接入單片機(jī)的XTAL1和XTAL2,接入兩個(gè)大小為30PF的電容。晶振電路設(shè)計(jì)如圖3-2所示。

3.1.3 復(fù)位電路設(shè)計(jì)

使用單片機(jī)的RST接口連接復(fù)位電路,設(shè)計(jì)的復(fù)位電路由10uF的電容和10k的電阻接入RESET按鍵組成復(fù)位電路,設(shè)計(jì)如圖3-3所示。

3.1.4 電源電路設(shè)計(jì)

本設(shè)計(jì)采用經(jīng)典的5V電源供電,為單片機(jī)提供電源,保障單片機(jī)工作電壓的溫度。電源電路設(shè)計(jì)如圖3-4所示。

???????3.2 按鍵控制電路設(shè)計(jì)

根據(jù)設(shè)計(jì)功能要求,設(shè)置三個(gè)控制按鍵,分別命名K1、K2、K3。利用單片機(jī)的P12,P13,P14接口實(shí)現(xiàn)對(duì)出租車(chē)計(jì)價(jià)器設(shè)計(jì)的各個(gè)功能要求。通過(guò)編寫(xiě)軟件代碼,當(dāng)通電時(shí),初始狀態(tài)為空車(chē),初始狀態(tài)會(huì)顯示時(shí)鐘和溫度。按下K2按鍵可以驅(qū)動(dòng)直流電機(jī)轉(zhuǎn)動(dòng),通過(guò)延時(shí)實(shí)現(xiàn)調(diào)速,再長(zhǎng)按K2實(shí)現(xiàn)加速,長(zhǎng)按K3實(shí)現(xiàn)減速。在電機(jī)轉(zhuǎn)動(dòng)的同時(shí)可以利用霍爾傳感器測(cè)速,并且將速度顯示在LCD12864顯示屏上,這就實(shí)現(xiàn)了出租車(chē)計(jì)價(jià)器的測(cè)速并且顯示的功能。按下K1按鍵進(jìn)入乘客已上車(chē)界面,在電機(jī)轉(zhuǎn)動(dòng)的同時(shí)進(jìn)行測(cè)速,自動(dòng)計(jì)算總費(fèi)用并且將費(fèi)用顯示在LCD12864顯示屏上。再次按下K1按鍵進(jìn)入乘客已下車(chē)界面并且顯示總費(fèi)用。再按下K1將進(jìn)入設(shè)置起步價(jià)的界面按下K2起步價(jià)加1,按下K3起步價(jià)減1,設(shè)置完起步價(jià)后按下K1保存退出,這樣就實(shí)現(xiàn)了設(shè)置起步價(jià)的功能。繼續(xù)按下K1進(jìn)入設(shè)置每公里價(jià)格界面,按K2加一,按K3減一。設(shè)置完成后按下K1保存退出。按鍵控制電路設(shè)計(jì)如圖3-5所示。

3.3 顯示電路設(shè)計(jì)

根據(jù)設(shè)計(jì)的性能要求,設(shè)計(jì)了顯示燈電路設(shè)計(jì),顯示燈電路由1K電阻R4和LED燈組成,當(dāng)出租車(chē)超速時(shí),紅燈亮起提示超速。顯示電路設(shè)計(jì)如圖3-6所示。

系統(tǒng)設(shè)計(jì)采用ULN2003模塊作為電機(jī)的驅(qū)動(dòng)模塊。ULN2003由七個(gè)NPN組成,如果直接用芯片的管腳驅(qū)動(dòng)直流電機(jī)的話(huà)會(huì)使直流電機(jī)燒壞或者無(wú)法驅(qū)動(dòng)。IN1-IN7是輸入接口,OUT1-OUT7是輸出接口。其內(nèi)部是一個(gè)非門(mén),輸入與輸出相反,ULN2003芯片不能直接輸出高電平,需在外部接入上拉電阻,但是設(shè)計(jì)沒(méi)有采用接入上拉電阻的方案。因此設(shè)計(jì)的電機(jī)電路在COM公共端接高電平,IN1輸入通道連接單片機(jī)的P10接口接入高電平信號(hào),IN2輸入通道連接單片機(jī)P11接口,OUT1輸出通道輸出低電平,這樣就能完成對(duì)電機(jī)的驅(qū)動(dòng),設(shè)計(jì)的電路圖如圖3-7所示。

4 系統(tǒng)軟件設(shè)計(jì)

4.1主函數(shù)軟件設(shè)計(jì)

系統(tǒng)需要使用到一下五種模式:無(wú)乘客、乘客以上車(chē)、乘客已下車(chē)、設(shè)置起步價(jià)、設(shè)置每公里價(jià)格。系統(tǒng)主函數(shù)程序設(shè)計(jì)流程如圖4-1所示。前三個(gè)模式下操作基本相同,模式一的基本參數(shù)比模式二和模式三少,因?yàn)楹竺鎯煞N模式涉及到計(jì)算公里數(shù)和總價(jià)等等參數(shù)?;緟?shù)包括溫度、時(shí)間、起步價(jià)、是否有乘客乘坐或乘客上下車(chē)狀態(tài)。以上所有模式按下K1都是切換到下一個(gè)模式,區(qū)別不同的是前三種模式下K2和K3是用于調(diào)速使用,后兩種模式是用于調(diào)節(jié)價(jià)格。初始化系統(tǒng)采集時(shí)鐘參數(shù)采集溫度參數(shù)顯示基本參數(shù),接到乘客開(kāi)始計(jì)費(fèi),乘客下車(chē)設(shè)置下一次起步價(jià)和設(shè)置下一次每公里價(jià)格。

部分程序:
#include "lcd12864.h"
#include "pwm.h"
#include "ds1302.h"
#include "key.h"
#include "ds18b20.h"
?
sbit MOTER=P1^0;
sbit LED=P1^1;
u8 t=0;
u8 key_value=0;
u8 flag=0;
u8 Ttemp_value=0;
u8 PF=5;
u8 duty=0;
u8 time=0;
float zprice=0;
void show_base();
void flagzero();
void flagone();
void flagtwo();
void flagthree();
?
void getandshow();
void main()
{
lcd12864_init();
ds18b20_init();
PWM_Init();
Exter0_Init();
Timer1_Init();
// ds1302_init();
while(1)
{
if(flag==0) flagzero();
else if(flag==1) flagone();
else if(flag==2) flagtwo();
else if(flag==3) flagthree();
}
}
?
void flagzero()
{
u8 flag0key=0;
zprice=0;
duty=0;
MOTER=0;
TR0=0;
show_base();
lcd12864_show_string(4,1,"乘客未上車(chē)!");
while(flag==0)
{
if(t==255) getandshow();
flag0key=key_scan(0);
if(flag0key==1) flag++;
else if(flag0key==2&&duty<=90)
{
duty+=10;
}
else if(flag0key==3&&duty>=10)
{
duty-=10;
}
內(nèi)容包括:

需要完整的資料可以加入我的紛傳圈子,里面有資源壓縮包的百度網(wǎng)盤(pán)下載地址及提取碼。

?

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠(chǎng)商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
SN74LVC2G07DCKR 1 Texas Instruments 2-ch, 1.65-V to 5.5-V buffers with open-drain outputs 6-SC70 -40 to 125

ECAD模型

下載ECAD模型
$0.57 查看
AT24C64D-XHM-T 1 Atmel Corporation EEPROM, 8KX8, Serial, CMOS, PDSO8, 4.40 MM, GREEN, PLASTIC, MO-153AA, TSSOP-8

ECAD模型

下載ECAD模型
$0.39 查看
KSZ8001LI-TR 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, PQFP48

ECAD模型

下載ECAD模型
$4.89 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜