?功能介紹
- 以51單片機作為主控系統(tǒng);
- 1602液晶屏顯示最初的起步價,里程收費,等待時間收費;
- 按鍵調(diào)整起步價,里程收費,等待時間收費;
- 電機旋轉(zhuǎn),通過霍爾傳感器檢測轉(zhuǎn)速,來模擬出租車行駛;
電路圖
仿真圖
元器件清單
B1 | 5V直流電機+托盤(粘好磁鐵) |
BT1 | 2032紐扣電池+電池座 |
C1,C6 | 470uf電解電容 |
C2 | 104瓷片電容 |
C3 | 10uF電解電容 |
C4, C5 | 30pf瓷片電容 |
D1 | 1N4007二極管 |
J1 | 電源接口 |
K1, K2, K3, K4, K5, K6, K7, K8 | 輕觸按鍵 |
P1 | 4P排針 |
P2 | LCD1602液晶顯示屏+16P排母 |
PR1 | 8位103排阻 |
Q1 | 8550三極管 |
R1, R2, R3, R7 | 4.7K電阻 |
R4 | 3K電阻 |
R5, R8, R9 | 10K電阻 |
R15 | 30歐電阻 |
R6 | 1K電阻 |
SW1 | 自鎖開關(guān) |
U1 | DS1302芯片+DIP8底座 |
U2 | STC89C52單片機+DIP40底座 |
源代碼
//User Code 2 主函數(shù)整理部分
void main()
{
TMOD=0x01;
TH0=0x3C;
TL0=0xb0;
ET0=1;
EA=1;
TR0=1; //配制定時器 0 為常規(guī)定時器
EX0=1;
IT0=1; //外部中斷位邊沿觸發(fā)
LCD1602_cls(); //調(diào)用液晶初始化函數(shù)
Read_Memory();
while(1)
{
Memory();
if(DJ_Star==1) DJ = 0;
else DJ = 1; //當(dāng)電機觸發(fā)標(biāo)志位為 1 ,就去驅(qū)動電機,否則關(guān)閉電機
Display(); //調(diào)用顯示函數(shù)
read_time1(); //調(diào)用讀取時間函數(shù)
Control();
}
}
void Trigger() interrupt 0 //電機托盤上有兩個磁鐵,當(dāng)一個磁鐵滑過霍爾傳感器,會產(chǎn)生一個中斷,兩個中斷就是轉(zhuǎn)動一圈。
{
Pulse++; //累加
if(Pulse>=2) //大于等于 2 ,也就是滿足一圈了
{
Pulse=0; //清零,為下次轉(zhuǎn)一圈做準(zhǔn)備
if(Page==1) //等于 1 ,也就是開始計費的時候
{
Mileage_float = Mileage_float + Perimeter ; //里程數(shù)累加,累加是用的浮點型數(shù),因為整型數(shù)據(jù)是計算不了小數(shù)點后面的數(shù)據(jù)的,所以先用浮點數(shù)計算,再賦值
//距離= 之前距離 + 輪子周長
Mileage = Mileage_float; //賦值
}
}
}
void Time0() interrupt 1 //定時器中斷函數(shù)
{
TH0=0x4C;
TL0=0xb0; //重新裝載初值
ms++; //計時累加
Key_Dispose1(); //調(diào)用按鍵處理函數(shù)
if(ms%10==0) s0=~s0; //閃爍標(biāo)志位
if(ms>=20) //計數(shù) 20 次,也就是 1S的時間
{
ms=0; //清零,為下次時間計時做準(zhǔn)備
if(DJ_Star==0&&Page==1) //在計費界面,并且,電機關(guān)閉,那就開始計時等待時間
{
Waiting_Time++; //等待時間計數(shù),每隔一秒加一
}
if(Page==1)
{
Driving_time++; //總時間計數(shù),每隔一秒加一
}
}
}
模塊介紹
霍爾測速
? ? ? ? 里程計算是通過安裝在車輪上的霍爾傳感器A44E檢測到的信號,送到單片機處理計算,送給顯示單元的,其原理如圖所示。?????????
? ? ? ? 由于A44E 屬于開關(guān)型的霍爾器件,其工作電壓范圍比較寬(4.5~18V),其輸出的信號符合TTL 電平標(biāo)準(zhǔn),可以直接接到單片機的IO 端口上,而且其最高檢測頻率可達到1MHZ。
? ? ? ?A44E 集成霍耳開關(guān)由穩(wěn)壓器A、霍耳電勢發(fā)生器(即硅霍耳片)B、差分放大器C、施密特觸發(fā)器D 和OC 門輸出E 五個基本部分組成。
? ? ? ? 在輸入端輸入電壓CC V ,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍耳電勢發(fā)生器的兩端,根據(jù)霍耳效應(yīng)原理,當(dāng)霍耳片處在磁場中時,在垂直于磁場的方向通以電流,則與這二者相垂直的方向上將會產(chǎn)生霍耳電勢差H V 輸出,該H V 信號經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到OC 門輸出。當(dāng)施加的磁場達到工作點(即OP B )時,觸發(fā)器輸出高電壓(相對于地電位),使三極管導(dǎo)通,此時OC 門輸出端輸出低電壓,通常稱這種狀態(tài)為開。當(dāng)施加的磁場達到釋放點(即rP B )時,觸發(fā)器輸出低電壓,三極管截止,使OC 門輸出高電壓,這種狀態(tài)為關(guān)。這樣兩次電壓變換,使霍耳開關(guān)完成了一次開關(guān)動作。
參考文獻
[1] 丁元杰,吳大偉.《單片微機實題集與實驗指導(dǎo)書》[M].機械工業(yè)出版社, 2004.P124~125.
[2] 王力強.Prote1DXP 2004電路設(shè)計與實踐.天津.天津大學(xué)出版社.2008
[3] 殷淑英.傳感器及其應(yīng)用. 北京.冶金工業(yè)出版社.2008
[4] 劉修文.使用電子電路設(shè)計制作300例.北京.中國電力出版社.2001
[5] 伍季松.電子實訓(xùn)與產(chǎn)品制作.北京.北京理工大學(xué)出版社.2009
[6] 郭小軍.電子電路仿真. 北京.北京理工大學(xué)出版社.2009
[7] 楊志忠.數(shù)字電子技術(shù). 北京.高等教育出版社.2008
? ? ? ? 本文介紹了在設(shè)計的過程的關(guān)鍵點,供大家參考學(xué)習(xí),如果有錯誤或者不明白的可以直接私信作者,或者添加微信biyezhan007。文章來源:http://www.zghlxwxcb.cn/news/detail-501071.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-501071.html
到了這里,關(guān)于基于單片機出租車計價器設(shè)計的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!