仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png (29.84 KB, 下載次數(shù): 137)
下載附件
2021-4-19 15:28 上傳
0.png (59.27 KB, 下載次數(shù): 131)
下載附件
2021-4-19 15:21 上傳
51hei.png (17.64 KB, 下載次數(shù): 141)
下載附件
2021-4-19 15:29 上傳
本設(shè)計(jì)是針對(duì)城市出租車運(yùn)營(yíng)的一個(gè)計(jì)價(jià)器。設(shè)計(jì)基于STC15F2K60S2單片機(jī)為主控制芯片,通過霍爾傳感器來給單片機(jī)產(chǎn)生脈沖,從而累計(jì)車輪旋轉(zhuǎn)的圈數(shù),利用算法來計(jì)算出行駛的路程,并根據(jù)相應(yīng)的收費(fèi)標(biāo)準(zhǔn)計(jì)算出應(yīng)當(dāng)收取的費(fèi)用,通過LCD1602液晶顯示屏來顯示路程,單價(jià),消費(fèi)金額,路程中等待的時(shí)間等信息。本設(shè)計(jì)還可以根據(jù)自身的需要對(duì)收費(fèi)的標(biāo)準(zhǔn)進(jìn)行調(diào)整。系統(tǒng)硬件包括CPU控制模塊、按鍵模塊、顯示模塊、電源模塊等四部分。軟件設(shè)計(jì)包括系統(tǒng)總流程圖與每個(gè)模塊的流程圖,最后將軟件與硬件聯(lián)調(diào),達(dá)到所需功能要求。
(1)不同情況具有不同的收費(fèi)標(biāo)準(zhǔn)。
白天,晚上,途中等待(>=10min 開始收費(fèi))
(2)能進(jìn)行手動(dòng)修改單價(jià)
(3)具有數(shù)據(jù)的復(fù)位功能
(4)具有啟動(dòng)計(jì)時(shí)開關(guān)、白天/晚上收費(fèi)標(biāo)準(zhǔn)的轉(zhuǎn)換開關(guān)、數(shù)據(jù)的清零開關(guān)、單價(jià)的調(diào)整(最好使用+和-按鍵)
(5) 數(shù)據(jù)輸出:?jiǎn)蝺r(jià)輸出 2 位(要能輸入小數(shù)),路程輸出 2 位,總金額輸出 3 位(有 1 位小數(shù))。
一個(gè)基于單片機(jī)STC15F2K60S2的出租車自動(dòng)計(jì)價(jià)器,附帶有鍵盤電路,顯示模塊等。在上電時(shí)LCD1602顯示最初的起步價(jià),里程單價(jià),等待時(shí)間收費(fèi)三種收費(fèi),通過按鍵可以調(diào)整起步價(jià)、里程單價(jià)和等待時(shí)間收費(fèi)。通過電機(jī)來模擬出租車輪胎的轉(zhuǎn)動(dòng)和停止。在LCD1602液晶上可以顯示運(yùn)行的路程,運(yùn)行時(shí)暫停的時(shí)間,通過軟件計(jì)算可以得出乘客所需要支付的費(fèi)用。在這里主要是以STC15F2K60S2單片機(jī)為核心控制器,P0口接1602液晶顯示模塊,P1口接按鍵原理電路,霍爾傳感器連接在外部中斷0口向單片機(jī)輸入脈沖,一個(gè)脈沖代表車輪轉(zhuǎn)動(dòng)一周,從而計(jì)算出運(yùn)行的路程和費(fèi)用。
設(shè)計(jì)方案
通過單片機(jī)作為主控器,利用1602字符液晶作為顯示電路,采用內(nèi)部時(shí)鐘脈沖,通過按鍵可以方便調(diào)節(jié),而且控制簡(jiǎn)單,成本低廉,設(shè)計(jì)電路簡(jiǎn)單,易操作,以下是系統(tǒng)流程圖。如圖1.1所示。
當(dāng)我們乘坐出租車時(shí),出租車司機(jī)通過電源啟動(dòng)計(jì)價(jià)器后,只要汽車一啟動(dòng),隨著行駛里程的增加,當(dāng)小于某一個(gè)值的時(shí)候<如3km>時(shí),就會(huì)看到出租車?yán)锩娴挠?jì)價(jià)器里程數(shù)字顯示的讀數(shù)為起步價(jià),而當(dāng)行駛到某一值<如3km)計(jì)費(fèi)數(shù)字顯示開始從起步價(jià)<如7.7元)增加。當(dāng)出租車到達(dá)某地需要在那里等候時(shí),司機(jī)只要按一下“等待”鍵,每等候一定的時(shí)間<如10分鐘),計(jì)費(fèi)顯示就增加一個(gè)該收的等候費(fèi)用<如每10 分鐘收取3.3元)。出租車?yán)^續(xù)行駛時(shí),停止計(jì)算等候費(fèi)用,繼續(xù)增加里程計(jì)費(fèi)。到達(dá)目的地,便可按顯示的數(shù)字收費(fèi)。然后關(guān)閉計(jì)費(fèi)器,對(duì)計(jì)數(shù)器清零,等待下次計(jì)費(fèi)開始。 由stc15f2k60s2作為主控制芯片,并連接按鍵系統(tǒng)和lcd1602顯示系統(tǒng),用電機(jī)來模擬車輪的轉(zhuǎn)動(dòng),通過霍爾傳感器對(duì)單片機(jī)輸入一個(gè)脈沖,一個(gè)脈沖待變車輪轉(zhuǎn)動(dòng)一周,假設(shè)轉(zhuǎn)動(dòng)一周的距離為0.01km,由此來判斷出租車行駛的距離,從而計(jì)算出乘客應(yīng)付的價(jià)錢。 在司機(jī)等待時(shí)按下等待按鍵,則計(jì)時(shí)器開始工作,等待10分鐘則開始加價(jià),停止等待時(shí),頁(yè)面會(huì)自動(dòng)返回到初始計(jì)價(jià)頁(yè)面,等待價(jià)錢和時(shí)間不清零,結(jié)束計(jì)價(jià)時(shí)則把等待價(jià)錢和顯示價(jià)錢一起算。 本次設(shè)計(jì)利用單片機(jī)技術(shù)來實(shí)現(xiàn)一臺(tái)出租車計(jì)價(jià)器,具有性能可靠、電路簡(jiǎn)單、成本低等特點(diǎn)。本次設(shè)計(jì)所設(shè)計(jì)的出租車計(jì)價(jià)器的主要功能有:數(shù)據(jù)的復(fù)位、白天/晚上轉(zhuǎn)換、數(shù)據(jù)輸出、計(jì)時(shí)計(jì)價(jià)、單價(jià)輸出及調(diào)整、路程輸出、等功能。輸出采用LCD1602液晶。本電路設(shè)計(jì)的計(jì)價(jià)器不但能實(shí)現(xiàn)基本的計(jì)價(jià),而且還能根據(jù)白天、黑夜、中途等待來調(diào)節(jié)單價(jià), 第二章 硬件電路設(shè)計(jì) 2.1按鍵電路 采用獨(dú)立式鍵盤,每個(gè)按鍵占用一個(gè)I/O口,每個(gè)按鍵相對(duì)獨(dú)立,I/O口通過按鍵與地相連,無鍵按下時(shí),引腳端為高電平,有鍵按下時(shí),引腳端為低電平。所以可以通過判斷每個(gè)引腳端是否為低電平,就可以知道是否有鍵按下。圖2.1為按鍵電路。 
圖2.1 按鍵電路 S1:接P1.0口,開始計(jì)費(fèi)和結(jié)束計(jì)費(fèi)按鍵,按單次為開始計(jì)費(fèi),按雙次為結(jié)束計(jì)費(fèi)。 S2:接P1.1口,是暫停按鍵,按下后,開啟定時(shí)器0,LCD1602會(huì)開始顯示等待時(shí)間并且在等待開始十分鐘后開始增加等待價(jià)錢,在按下結(jié)束鍵之前,等待時(shí)間和金錢不會(huì)清零。 S3:接P1.2口,是設(shè)置按鍵,在結(jié)束計(jì)價(jià)的時(shí)候,按一次,對(duì)起步價(jià)可以進(jìn)行調(diào)整;按兩次,對(duì)等待10分鐘的等待價(jià)錢可以進(jìn)行調(diào)整;按三次,對(duì)晚上可以單價(jià)進(jìn)行調(diào)整;按四次,可以對(duì)白天單價(jià)進(jìn)行調(diào)整;按第五次時(shí),回到初始界面,然后循環(huán)。 S4:接P1.3口,是用來調(diào)整單價(jià)增加的鍵。 S5:接P1.4口,是用來調(diào)整單價(jià)減少的鍵。 S6:接P1.5口,復(fù)位鍵,按下之后所有的數(shù)據(jù)恢復(fù)到剛開始的狀態(tài)。 2.2直流電機(jī)電路 該直流電機(jī)主要是通過驅(qū)動(dòng)芯片L298來驅(qū)動(dòng),這款芯片可以同時(shí)驅(qū)動(dòng)2個(gè)直流電機(jī),可以用直流電或PWM脈沖波驅(qū)動(dòng)第5,7腳為控制電機(jī)的正反轉(zhuǎn),一個(gè)接負(fù)電壓,一個(gè)接正電壓,第6腳ENA控制電機(jī)的轉(zhuǎn)速,通過PWM可以控制轉(zhuǎn)速,.這里我們給它-一個(gè)高電平就可以了。直流電機(jī)電路如圖2.2所示。 
圖2.2 直流電機(jī)電路 2.3顯示電路 2.3.1 LCD1602的基本參數(shù)及引腳功能 引腳功能說明: 1602LCD采用標(biāo)準(zhǔn)的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表1所示。 2.4脈沖輸入電路 利用霍爾傳感器來對(duì)單片機(jī)輸入一個(gè)脈沖,從而計(jì)算出租車行駛的路程,將霍爾傳感器接到單片機(jī)外部中斷0上,觸發(fā)中斷,計(jì)算公里數(shù)。 由于A44E屬于開關(guān)型的霍爾器件,其工作電壓范圍比較寬<4.5~18V),其輸出的信號(hào)符合TTL電平標(biāo)準(zhǔn),可以直接接到單片機(jī)的I0端口上,而且其最高檢測(cè)頻率可達(dá)到1MHz。 A44E集成霍耳開關(guān)由穩(wěn)壓器A、霍耳電勢(shì)發(fā)生器(即硅霍耳片>B、差分放大器C、施密特觸發(fā)器D和0CI門輸出E五個(gè)基本部分組成。 如圖2.4所示為霍爾傳感器連接電路。 
圖2.4 霍爾傳感器連接電路 2.5 STC15F2K60S2的引腳連接和說明 2.5.1 STC15F2K60S2的引腳連接 P2口連接LCD1602D0-D7口; P0.0連接LCD1602RS口,P0.1連接LCD1602的R/W口,P0.2連接LCD1602的EN口; P1.0-P1.5為按鍵連接口; P3.2為外部中斷0連接口,連接霍爾傳感器輸入端,向單片機(jī)輸入脈沖來計(jì)算行車途中的行駛里程; P3.0和P3.1口連接驅(qū)動(dòng)芯片L298N的輸入端IN1和IN2,用來控制電機(jī)轉(zhuǎn)動(dòng)和停止,用來模仿出租車的行駛和停止。 如圖2.5為STC15F2K60S2的引腳連接圖: 
圖2.5 STC15F2K60S2的引腳連接圖 第三章 軟件設(shè)計(jì) 3.1 單片機(jī)資源利用 在本次設(shè)計(jì)中電路鍵盤用到了P1口,其中P1.0口到P1.5口作為鍵盤的輸入,顯示電路用到了P0口和P2口,P2口為液晶的數(shù)據(jù)口,P3.2口作為脈沖的輸入端。 3.2單片機(jī)軟件模塊設(shè)計(jì) 如圖3.1所示為總體軟件設(shè)計(jì)流程圖。 如圖3.2所示為外部中斷0計(jì)算路程流程圖。 如圖3.3所示為按鍵子函數(shù)流程圖。 如圖3.4 定時(shí)器T0計(jì)時(shí)收費(fèi)流程圖。

圖3.3 按鍵子函數(shù)流程圖
在軟件設(shè)計(jì)中,用T0來計(jì)時(shí),當(dāng)汽車停下來等待時(shí),出租車司機(jī)則按下等待鍵,開啟定時(shí)器T0,定時(shí)器每次定50ms,定20次就是1s,此時(shí)miao就加一,當(dāng)miao=59時(shí),執(zhí)行miao=0,fen++;當(dāng)fen=59時(shí),執(zhí)行fen=0,shi++;接下來判斷fen是否>=10?若>=10,計(jì)價(jià)器就按收費(fèi)標(biāo)準(zhǔn)開始計(jì)算價(jià)錢。如圖3.3為定時(shí)器T0計(jì)時(shí)收費(fèi)流程圖。 
圖3.4 定時(shí)器T0計(jì)時(shí)收費(fèi)流程圖 第四章 總結(jié) 本款出租車計(jì)價(jià)器有不少功能,其中包括單價(jià)輸出、單價(jià)調(diào)整、路程輸出、顯示途中等待時(shí)間和相應(yīng)的價(jià)錢、顯示總價(jià)等功能。另外,這個(gè)出租車計(jì)價(jià)器還具有性能可靠、電路簡(jiǎn)單、成本低、實(shí)用性強(qiáng)等特點(diǎn)。
單片機(jī)源程序如下:
所有資料51hei提供下載(仿真+代碼):
最終程序.7z
(1.45 MB, 下載次數(shù): 303)
2021-4-19 15:32 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|