仿真版本:proteus 7.8
程序編譯器:keil 4/keil 5
編程語言:C語言
設計編號:S0007
基本功能
1、按鍵模擬紅外檢測統(tǒng)計進出停車場車輛數(shù)量情況。
2、LED燈組模擬停車場車位停車情況,每停一輛車亮一盞燈。
3、LCD1602顯示停車場車輛累計駛入數(shù)目,現(xiàn)停車輛數(shù)目,累計駛出車輛數(shù)目,現(xiàn)存停車位數(shù)目。
4、設有停滿蜂鳴器報警,車位停滿即報警,設有人工調(diào)整駛入駛出數(shù)目信息功能。
本系統(tǒng)包括:電源模塊、傳感器模塊、顯示模塊、手動鍵盤輸入模塊、車輛車位模擬模塊等。它可以實現(xiàn)控制的開啟、顯示停車場現(xiàn)有車輛數(shù)和已停放過車輛數(shù)、人工的設置總車位數(shù)以及剩余車位數(shù)的數(shù)值顯示等功能。并且擁有16個模擬的停車位,用來顯示車輛停放的具體位置。
系統(tǒng)的特點:
(1)由于本系統(tǒng)采用電子元件無需人工管理。
(2)自動顯示停車場的車位狀態(tài),進出和停放車輛統(tǒng)計。
(3)統(tǒng)計小區(qū)當天已停放車輛總數(shù),并且顯示停放位置。
(4)本系統(tǒng)適用于任意停車場。
(5)檢測小區(qū)車位車輛是否已滿,報警指示燈閃爍。
系統(tǒng)的模擬框圖:
講解視頻
51單片機停車場車位管理系統(tǒng)proteus 【仿真+程序+報告+講解視頻】
仿真圖
程序設計
主程序
是軟件設計的總體框架,因此主程序的流程圖的設計決定了程序編寫的好壞,該主程序的功能是掃描鍵盤,作出邏輯判斷,控制各種中斷,數(shù)據(jù)送入顯示模塊。
在判斷車輛是否進出中:本系統(tǒng)使用了兩個傳感器,一個用來檢測出去的車,一個檢測進來的車。當兩個傳感器同時檢測到車的時候,說明進出的是車輛。當一個傳感器檢測到車輛時,開門。當兩個傳感器都檢測到時,通過邏輯判斷,剩余車位數(shù)進行加減。
/***************主函數(shù)*****************/
void main()
{
beep = 0;
init_1602();
write_string(1,0,"Jin: Chu:");
write_string(2,0,"Car: P:");
write_sfm2(1,4,num_jin);
write_sfm2(1,12,num_chu);
write_sfm2(2,4,num_car);
write_sfm2(2,12,16-num_car);
write_74hc595(0);
while(1)
{
key(); //獨立按鍵程序
}
}
倒計時中斷程序設計
這個子程序用來計算開門的時間。當時間到時,根據(jù)傳感器狀態(tài)判斷自動門是否可以關閉。若可以,則關閉,然后退出;若不可以,則再次設定自動門開啟剩余時間,重新進入倒計時。程序流程圖如圖所示:
void key() //獨立按鍵程序
{
if(num_car==16)
{
beep=1;// { beep=0; delay_1ms(200); beep=1;}
}else{
beep = 0;
}
if(!K1) // 汽車進入
{
delay_1ms(20);
if(!K1)
{
while(!K1)
;
if(num_car<16) { num_car++; if(num_jin<=255) { num_jin++;} }
write_sfm2(1,4,num_jin);
write_sfm2(1,12,num_chu);
write_sfm2(2,4,num_car);
write_sfm2(2,12,16-num_car);
write_74hc595(num_2_led(num_car));
}
}
if(!K2) // // 汽車駛出
{
delay_1ms(20);
if(!K2)
{
while(!K2);
if(num_car>=1) { num_car--; if(num_chu<=255) { num_chu++;} }
write_sfm2(1,4,num_jin);
write_sfm2(1,12,num_chu);
write_sfm2(2,4,num_car);
write_sfm2(2,12,16-num_car);
write_74hc595(num_2_led(num_car));
}
}
/***********************手動修改小區(qū)內(nèi)停車位*************************************/
if(!K3) // 人工調(diào)節(jié)
{
delay_1ms(20);
if(!K3)
{
while(!K3);
if(num_car<16) { num_car++; }
write_sfm2(1,4,num_jin);
write_sfm2(1,12,num_chu);
write_sfm2(2,4,num_car);
write_sfm2(2,12,16-num_car);
}
}
if(!K4) // // 人工調(diào)節(jié)
{
delay_1ms(20);
if(!K4)
{
while(!K4);
if(num_car>=1) { num_car--; }
write_sfm2(1,4,num_jin);
write_sfm2(1,12,num_chu);
write_sfm2(2,4,num_car);
write_sfm2(2,12,16-num_car);
}
}
}
設計報告
伴隨著科技的飛速發(fā)展,交通工具的越來越普及。汽車作為人類社會中最主要的交通工具之一,起著重大作用。隨著人們生活水平的提高,汽車的數(shù)量也與日俱增,于是停車正在成為世界性的問題。以前落后的人力停車管理即將被高科技化的自動停車管理系統(tǒng)所取代,高度自動化的停車場管理系統(tǒng)節(jié)省了大量時間和人力物資消耗,大大提高了效率。
本論文介紹了利用單片機控制的一種停車場管理系統(tǒng)。它能在任意時間內(nèi),根據(jù)有效的停車空間,計算能夠停泊的車輛數(shù)量,并且使用自動而可靠的完成車輛的進出。還能夠顯示是否有停放的場地以及是否有車輛進、出停車場。
本設計具有結構簡單,計數(shù)準確,經(jīng)濟效益高,造價低廉,可靠性高,維修方便,研制周期短,操作簡單等優(yōu)點。經(jīng)實驗證明,這套系統(tǒng)軟硬件設計合理,各項性能良好,經(jīng)過系統(tǒng)擴展與升級,可以有效的滿足各種流量統(tǒng)計的需要。
資料清單&&下載鏈接
資料下載鏈接