200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 基于51单片机的停车场车位管理系统(程序+仿真+原理图+软件)

基于51单片机的停车场车位管理系统(程序+仿真+原理图+软件)

时间:2019-11-27 11:03:59

相关推荐

基于51单片机的停车场车位管理系统(程序+仿真+原理图+软件)

目录

基于51单片机的停车场车位管理系1、主要功能2、仿真实验3、程序代码4、原理图5、资源获取

基于51单片机的停车场车位管理系

1、主要功能

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

2、仿真实验

3、程序代码

/*************************************** Copyright ****************************** File name: // main.cAuthor:KevinVersion: //1.0Description: // 基于51单片机的停车场车位管理系统Others: // 其它内容的说明Log: // 公众号:Kevin的学习站*******************************************************************************/#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;#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(!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); }}}/***************主函数*****************/void main(){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、原理图

5、资源获取

百度网盘链接:

链接:/s/1NWg8EdI-6MJoonAWQcVTsg 提取码:j7b1 解压密码在公众号:Kevin的学习站,回复:052获取!

项目的仿真和程序工程已经放在下面公众号里面,可以关注公众号:Kevin的学习站,输入关键字:“052”,就可以获取啦!创作不易,但您的点赞、关注、收藏就是对我最大的鼓励!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。