国产久操视频-国产久草视频-国产久热精品-国产久热香蕉在线观看-青青青青娱乐-青青青青在线成人视99

  • 正文
    • 系統(tǒng)概述
    • 2 系統(tǒng)設計的整體方案
    • 3 測速模塊的方案論證
    • 4 系統(tǒng)軟件設計
  • 推薦器件
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

電路方案:基于51單片機的出租車計價器的設計

2023/08/08
480
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

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

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

  2. 設計要求

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

(1)能夠設置起步價,每公里價格;
(2)能夠測量出出租車的速度并顯示;
(3)自動計算總費用;
(4)具有時鐘和溫度測量功能。
  1. 總體設計

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

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

2 系統(tǒng)設計的整體方案

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

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

2.2 顯示模塊的方案論證

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

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

2.3電動機的方案論證

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

3 測速模塊的方案論證

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

綜上所述,由于光電轉速傳感器對環(huán)境的要求較大同時需要光源才能進行測速,相反霍爾傳感器測速對環(huán)境要求較低,結構簡單,再加上學習過霍爾傳感器的相關理論知識,對霍爾傳感器掌握程度遠高于光電式轉速傳感器。因此選用霍爾傳感器作為設計的測速模塊。

  1. 系統(tǒng)硬件電路設計
  2. 單片機最小系統(tǒng)的電路設計
  3. STC89C52芯片模塊電路設計

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

3.1.2 系統(tǒng)晶振電路設計

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

3.1.3 復位電路設計

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

3.1.4 電源電路設計

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

???????3.2 按鍵控制電路設計

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

3.3 顯示電路設計

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

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

4 系統(tǒng)軟件設計

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

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

部分程序:
#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,"乘客未上車!");
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)盤下載地址及提取碼。

?

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
SN74LVC2G17DCKR 1 Texas Instruments 2-ch, 1.65-V to 5.5-V buffers with Schmitt-Trigger inputs 6-SC70 -40 to 125

ECAD模型

下載ECAD模型
$0.6 查看
KSZ8721BLI-TR 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, PQFP48
$3.1 查看
DP83848CVVX/NOPB 1 Texas Instruments Commercial temperature, 10/100-Mbps Ethernet PHY transceiver with SNI interface &amp; JTAG support 48-LQFP 0 to 70

ECAD模型

下載ECAD模型
$4.35 查看

相關推薦

桂东县| 开化县| 商河县| 军事| 夹江县| 天津市| 涿州市| 林州市| 奉贤区| 循化| 广宗县| 叙永县| 宁陵县| 双峰县| 运城市| 连城县| 伊金霍洛旗| 温泉县| 临沭县| 仪征市| 平湖市| 五家渠市| 汶川县| 章丘市| 东光县| 姚安县| 砚山县| 蒙城县| 文昌市| 乌审旗| 隆昌县| 阆中市| 蓬莱市| 清新县| 怀远县| 芒康县| 贵德县| 沿河| 中宁县| 贞丰县| 雅江县|