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

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