基于51单片机的停车场车位管理系统仿真设计

51单片机停车场车位管理系统仿真设计(仿真+程序+报告+讲解视频)

仿真版本:proteus 7.8

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:S0007

✨1 基本功能:

芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。

1、按键模拟红外检测统计进出停车场车辆数量情况。

2、LED灯组模拟停车场车位停车情况,每停一辆车亮一盏灯。

3、LCD1602显示停车场车辆累计驶入数目,现停车辆数目,累计驶出车辆数目,现存停车位数目。

4、设有停满蜂鸣器报警,车位停满即报警,设有人工调整驶入驶出数目信息功能。

✨2 仿真图:

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后LCD1602显示当前的停车场的累计驶入驶出车流量,正在停车和剩余停车位数量,LED灯模拟停车位置,灯亮表示位置上有车辆停放。

img

img

✨3 程序设计:

img
main函数代码

部分代码
#include <reg52.h>	         //调用单片机头文件
#define uchar unsigned char  //无符号字符型 宏定义	变量范围0~255
#define uint  unsigned int	 //无符号整型 宏定义	变量范围0~65535
#include <intrins.h>

sbit K1=P1^0;
sbit K2=P1^1;

sbit K3=P1^2;
sbit K4=P1^3;

sbit beep = P1^7;   //蜂鸣器IO口定义

sbit SH = P3^5;
sbit ST = P3^6;
sbit DS = P3^7;

uchar num_jin;
uchar num_chu;
uchar num_car;
uchar beep_flag;

#include "lcd1602.h"

/***********************1ms延时函数*****************************/
void delay_1ms(uint q)
{
	uint i,j;
	for(i=0;i<q;i++)
		for(j=0;j<120;j++);
}

void write_74hc595(unsigned int num)
{
	int i;	
	ST = 0;
	for(i=0; i<16; i++)
	{
		SH = 0;
		if (num & 0x0001)
		{
			DS = 1;
		}
		else
		{
			DS = 0;
		}
		SH = 1;
		num >>= 1;
	}
	ST = 1;
}

unsigned int num_2_led(unsigned int num)
{
	int i;
	unsigned int ret=0;
	if (num > 16) 
	    return 0xFFFF;
	for(i=0;i<num;i++)
	{
		ret |= 1<<i;
	}
	return ret;
}

void key()	 //独立按键程序
{
	
	if(num_car==16&&beep_flag){ 
		beep=1;// { beep=0; 	delay_1ms(200);  beep=1;}
		delay_1ms(200); 
		beep = 0;
		delay_1ms(200); 
		beep_flag = 0;
	}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); //LCD1602显示驶入车 
			write_sfm2(1,12,num_chu);  	  //LCD1602显示驶出车 
			write_sfm2(2,4,num_car);  //LCD1602显示当前车位 
		    write_sfm2(2,12,16-num_car); //LCD1602显示剩余车位 
			write_74hc595(num_2_led(num_car));
			if(num_car==16)beep_flag=1;//蜂鸣器标志位置1
		  }
	}	
	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); 
			write_74hc595(num_2_led(num_car)); 
			if(num_car==16)beep_flag=1;//蜂鸣器标志位置1
		  }
	}	
	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);  
				write_74hc595(num_2_led(num_car));
		  }
	}				
}			

/***************主函数*****************/
void main()
{
	beep = 0;
	beep_flag = 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();					//独立按键程序
	}
}

✨4 设计报告:

img

✨5 资料清单(提供资料清单所有文件):

0.常见使用问题及解决方法–必读!!!!

1.程序源码

2.仿真

  1. 功能要求

  2. 开题报告

5.设计报告

6.硬件框图

7、讲解视频

Altium Designer 安装破解

KEIL+proteus 单片机仿真设计教程

KEIL安装破解

Proteus元器件查找

Proteus安装

Proteus简易使用教程

单片机学习资料

相关数据手册

答辩技巧

设计报告常用描述

鼠标双击打开查找更多51 STM32单片机课程毕业设计.url

img

资料下载链接

基于C51单片机的智能停车场车位管理系统是一款可以实现自动检测和管理停车场车位系统。该系统利用传感器监测每个停车位的状态,并通过C51单片机进行数据处理和控制。 设计中,每个停车位都配备有一个传感器,用于检测是否有车辆停放。当有车辆停放时,传感器会发送信号给C51单片机进行识别和记录。C51单片机会根据传感器的信号判断车位的状态,如果空闲则更新状态为已占用,并将相关信息存储到内存中。同时,LED显示屏会显示车位状态,提供给司机参考。 此外,该系统还具备自动收费功能,当车主离开停车场时,C51单片机会根据停车时间和收费规则计算停车费用,并显示在LED显示屏上供车主查看。车主可以选择通过现金或电子支付方式进行结算。 为了方便管理和查询,该系统还可以连接到一个计算机服务器,将停车位的状态和停车信息进行实时上传。停车场管理员可以通过计算机上的管理软件实时监控停车位的占用情况,也可以查询历史停车记录和收费情况。 基于C51单片机的智能停车场车位管理系统设计可以提高停车场的利用率,减少车辆拥堵现象。通过自动收费和信息管理,可以提高停车场管理员的工作效率,为车主提供更加便捷的停车服务。此外,该系统还可以通过数据分析,统计每个车位的使用率和停车场的收入情况,为停车场的运营提供有力支持。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值