基于51单片机的停车场车辆管理系统设计与开发

一、设计要求

  本系统包括:电源模块、传感器模块、显示模块、手动键盘输入模块、车辆车位模拟模块等。它可以实现控制的开启、显示停车场现有车辆数和已停放过车辆数、人工的设置总车位数以及剩余车位数的数值显示等功能。并且拥有16个模拟的停车位,用来显示车辆停放的具体位置。

系统的特点:

(1)由于本系统采用电子元件无需人工管理。

(2)自动显示停车场的车位状态,进出和停放车辆统计。

(3)统计小区当天已停放车辆总数,并且显示停放位置。

(4)本系统适用于任意停车场。

(5)检测小区车位车辆是否已满,报警指示灯闪烁。

  系统的组成结构如下:

二、设计资料

#include <reg52.h>            //调用单片机头文件#define uchar unsigned char   //无符号字符型 宏定义  变量范围0~255#define uint  unsigned int    //无符号整型 宏定义  变量范围0~65535#include <intrins.h>#include "lcd1602.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;//1ms延时函数void delay_1ms(uint q){  uint i,j;  for(i=0;i<q;i++)    for(j=0;j<120;j++);}//74HC595函数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(!K1)         //  汽车进入(模拟传感器的监测)  {    delay_1ms(20);    if(!K1)    {            while(!K1);      if(num_car==16)   { beep=0;   delay_1ms(200);  beep=1;}            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);        }  }        }

四、protues仿真

五、AD原理图

 七、全套设计资料扫一扫关注公众号立即获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

下饭的王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值