仿真版本:proteus 7.8
程序编译器:keil 4/keil 5
编程语言:C语言
设计编号:S0007
基本功能
1、按键模拟红外检测统计进出停车场车辆数量情况。
2、LED灯组模拟停车场车位停车情况,每停一辆车亮一盏灯。
3、LCD1602显示停车场车辆累计驶入数目,现停车辆数目,累计驶出车辆数目,现存停车位数目。
4、设有停满蜂鸣器报警,车位停满即报警,设有人工调整驶入驶出数目信息功能。
本系统包括:电源模块、传感器模块、显示模块、手动键盘输入模块、车辆车位模拟模块等。它可以实现控制的开启、显示停车场现有车辆数和已停放过车辆数、人工的设置总车位数以及剩余车位数的数值显示等功能。并且拥有16个模拟的停车位,用来显示车辆停放的具体位置。
系统的特点:
(1)由于本系统采用电子元件无需人工管理。
(2)自动显示停车场的车位状态,进出和停放车辆统计。
(3)统计小区当天已停放车辆总数,并且显示停放位置。
(4)本系统适用于任意停车场。
(5)检测小区车位车辆是否已满,报警指示灯闪烁。
系统的模拟框图:
讲解视频
51单片机停车场车位管理系统proteus 【仿真+程序+报告+讲解视频】
仿真图
程序设计
主程序
是软件设计的总体框架,因此主程序的流程图的设计决定了程序编写的好坏,该主程序的功能是扫描键盘,作出逻辑判断,控制各种中断,数据送入显示模块。
在判断车辆是否进出中:本系统使用了两个传感器,一个用来检测出去的车,一个检测进来的车。当两个传感器同时检测到车的时候,说明进出的是车辆。当一个传感器检测到车辆时,开门。当两个传感器都检测到时,通过逻辑判断,剩余车位数进行加减。
/***************主函数*****************/
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();					//独立按键程序
	}
}
倒计时中断程序设计
这个子程序用来计算开门的时间。当时间到时,根据传感器状态判断自动门是否可以关闭。若可以,则关闭,然后退出;若不可以,则再次设定自动门开启剩余时间,重新进入倒计时。程序流程图如图所示:
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));
		  }
	}		
 /***********************手动修改小区内停车位*************************************/
	if(!K3)	       // 		   人工调节
	  {
		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)	       // 	 // 		   人工调节
	  {
		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);  
		  }
	}				
}	
设计报告
伴随着科技的飞速发展,交通工具的越来越普及。汽车作为人类社会中最主要的交通工具之一,起着重大作用。随着人们生活水平的提高,汽车的数量也与日俱增,于是停车正在成为世界性的问题。以前落后的人力停车管理即将被高科技化的自动停车管理系统所取代,高度自动化的停车场管理系统节省了大量时间和人力物资消耗,大大提高了效率。
本论文介绍了利用单片机控制的一种停车场管理系统。它能在任意时间内,根据有效的停车空间,计算能够停泊的车辆数量,并且使用自动而可靠的完成车辆的进出。还能够显示是否有停放的场地以及是否有车辆进、出停车场。
本设计具有结构简单,计数准确,经济效益高,造价低廉,可靠性高,维修方便,研制周期短,操作简单等优点。经实验证明,这套系统软硬件设计合理,各项性能良好,经过系统扩展与升级,可以有效的满足各种流量统计的需要。
资料清单&&下载链接
资料下载链接
								
								
								
2051
					
								
下载ECAD模型