【Proteus仿真】【STM32单片机】停车场车位管理系统

news2024/9/23 9:27:36

文章目录

  • 一、功能简介
  • 二、软件设计
  • 三、实验现象
  • 联系作者


一、功能简介

本项目使用Proteus8仿真STM32单片机控制器,使用按键、LED、蜂鸣器、LCD1602、红外传感器、74HC595模块等。

主要功能:
系统运行后,LCD1602显示进入、驶出、剩余车位数;同时LED会指示有车位和无车位。当系统故障时,可通过按键K1和K2手动调节;当剩余车位0时,蜂鸣器报警提示。


二、软件设计

/*
作者:嗨小易(QQ:3443792007)

*/


//系统数据显示
void sys_data_show(void)
{
	while(1)
	{
		//进入车数量显示
		lcd1602_show_nums(4,0,sys_ctrl.in_car,2,0);
		//驶出车数量显示
		lcd1602_show_nums(14,0,sys_ctrl.out_car,2,0);
		//停车数量显示
		lcd1602_show_nums(4,1,sys_ctrl.car_num,2,0);
		//剩余车位数量显示
		lcd1602_show_nums(14,1,sys_ctrl.sy_car_num,2,0);

		break;			
	}
}

//系统数据设置
void sys_data_set(void)
{
	u8 key=0;

	key=key_scan(0);
	//加
	if(key==KEY1_PRESS)
	{
		//只有进入过,才有驶出
		if(sys_ctrl.in_car>sys_ctrl.out_car)
			sys_ctrl.out_car++;
	}
	//减
	else if(key==KEY2_PRESS)
	{
		//只有进入过,才有驶出
		if(sys_ctrl.sy_car_num>0)
			sys_ctrl.in_car++;
	}
}

//系统功能控制
void sys_fun_ctrl(void)
{
	switch(sys_ctrl.car_num)
	{
		case 0:hc595_write_data(0x00,0x00);break;
		case 1:hc595_write_data(0x01,0x00);break;
		case 2:hc595_write_data(0x03,0x00);break;
		case 3:hc595_write_data(0x07,0x00);break;
		case 4:hc595_write_data(0x0f,0x00);break;
		case 5:hc595_write_data(0x1f,0x00);break;
		case 6:hc595_write_data(0x3f,0x00);break;
		case 7:hc595_write_data(0x7f,0x00);break;
		case 8:hc595_write_data(0xff,0x00);break;
		case 9:hc595_write_data(0xff,0x01);break;
		case 10:hc595_write_data(0xff,0x03);break;
		case 11:hc595_write_data(0xff,0x07);break;
		case 12:hc595_write_data(0xff,0x0f);break;
		case 13:hc595_write_data(0xff,0x1f);break;
		case 14:hc595_write_data(0xff,0x3f);break;
		case 15:hc595_write_data(0xff,0x7f);break;
		case 16:hc595_write_data(0xff,0xff);break;
	}
	if(sys_ctrl.car_num>=MAX_CAR_NUM)beep_alarm(10,1000);		
}

//应用控制系统
void appdemo_show(void)
{
	sys_parm_init();//系统参数初始化
	lcd1602_init();
	sys_open_show();//系统开机界面显示
	hc595_write_data(0x00,0x00);

	while(1)
	{	
		sys_data_get();//系统数据获取
		sys_data_show();//系统数据显示
		sys_data_set();//系统数据设置
		sys_fun_ctrl();//系统功能控制
	}
}



三、实验现象

B站演示视频:https://space.bilibili.com/444388619

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

联系作者

视频地址:https://space.bilibili.com/444388619/video
专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1202036.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是光电耦合器?如何选择型号及种类

光电耦合器(英文缩写为OC)亦称光电隔离器,简称光耦;以光为媒介传输电信号;它对输入、输出电信号有良好的隔离作用,是目前种类最多、用途最广的光电器件之一;所以,它在各种电路中得到广泛的应用。 光耦合器…

使用 `open-uri.with_proxy` 方法打开网页

Ruby 爬虫程序如下: require open-uri require nokogiri# 定义代理信息 proxy_host jshk.com.cn# 定义要爬取的网页 URL url http://www.example.com# 使用代理信息打开网页 open-uri.with_proxy(proxy_host, proxy_port) do |proxy|# 使用 Nokogiri 库解析网页内…

uniapp h5发行

前端使用uniapp开发项目完成后,需要将页面打包,生成H5的静态文件,部署在服务器上。 这样通过服务器链接地址,直接可以在手机上点开来访问。 打包全步骤如下: 首先在manifest.json文件中进行基础配置,获取…

Windows电脑训练 RT-DETR 改进算法 (Ultralytics) 教程,改进RTDETR算法(包括使用训练、验证、推理教程)

手把手从零开始训练 RT-DETR 改进项目 (Ultralytics版本) 教程,改进RTDETR算法 本文以Windows服务器为例:从零开始使用Windows训练 RT-DETR 算法项目 《芒果剑指 RT-DETR 目标检测算法 改进》 适用于芒果专栏改进RT-DETR算法 文章目录 百度 RT-DETR 算法介绍改进网络代码汇…

【ATTCK】MITRE Caldera-插件

CALDERA是一个由python语言编写的红蓝对抗工具(攻击模拟工具)。它是MITRE公司发起的一个研究项目,该工具的攻击流程是建立在ATT&CK攻击行为模型和知识库之上的,能够较真实地APT攻击行为模式。 通过CALDERA工具,安全…

测量均值频率、功率、带宽

测量均值频率、功率、带宽 生成以 1024 kHz 采样的啁啾信号的 1024 个采样点。啁啾信号的初始频率为 50 kHz,采样结束时达到 100 kHz。添加高斯白噪声,使信噪比为 40 dB。 nSamp 1024; Fs 1024e3; SNR 40;t (0:nSamp-1)/Fs;x chirp(t,50e3,nSamp/…

ssm+vue的课堂管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频: ssmvue的课堂管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&…

SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......

🧸欢迎来到dream_ready的博客,📜相信您对这篇博客也感兴趣o (ˉ▽ˉ;) 📜SpringIOC和DI的代码实现,Spring如何存取对象?Controller、Service、Repository、Component、Configuration、Bean DI详…

使用LLM-Tuning实现百川和清华ChatGLM的Lora微调

LLM-Tuning项目源码: GitHub - beyondguo/LLM-Tuning: Tuning LLMs with no tears💦, sharing LLM-tools with love❤️.Tuning LLMs with no tears💦, sharing LLM-tools with love❤️. - GitHub - beyondguo/LLM-Tuning: Tuning LLMs wit…

Linux编辑器:vim的简单介绍及使用

目录 1.什么是vim 2.vim的基本概念 3.vim 的基本操作 4. 各模式下的命令集 4.1 正常模式命令集 4.2 末行模式命令集 5.补充 5.1 vim支持多文件编辑 5.2 vim 的配置 1.vim 配置原理 2. 常用简单配置选项: 3. 使用插件 1.什么是vim Vim 是从 vi 发展出…

Autosar模块介绍:MemIf(内存抽象接口)

上一篇 | 返回主目录 | [下一篇] Autosar模块介绍:MemIf(内存抽象接口 1 基本术语解释2 MemIf组成结构图 1 基本术语解释 编号缩写原文解释1(Logical) Block——可单独寻址的连续内存区域(即,用于读、写、擦除、比较等操作)2Pag…

京东数据软件系统:京东销量和销额数据在哪里看?

京东平台店铺众多,行业同行也数不胜数,若想要在平台中更好的运营店铺,品牌需要做好数据分析。下面结合鲸参谋电商数据分析平台这一数据分析工具,我们来看一看品牌在做数据分析时需要注重哪些数据维度。 *行业数据 京东商家通过鲸…

半导体应用系统一些小知识收集(stripwafer mapping,EAPscada)

1、Strip Mapping 针对于半导体后道基板上的每个芯片的良率实时追溯。从Die Bond贴芯片到Wire Bond,Marking为止的过程中实时处理及管理设备上传的基板Defect Mapping 信息,提高生产效率及品质; 提高生产效率:自动判别芯片不良信息,提高生产效率 提高品…

SPSS因子分析

前言: 本专栏参考教材为《SPSS22.0从入门到精通》,由于软件版本原因,部分内容有所改变,为适应软件版本的变化,特此创作此专栏便于大家学习。本专栏使用软件为:SPSS25.0 本专栏所有的数据文件请点击此链接下…

全院级不良事件管理系统源码,事件上报、流转审批、数据统计、原因分析、措施制定

不良事件报告管理系统源码 事件上报、流转审批、数据统计、原因分析、措施制定 医院不良事件管理系统,支持医疗管理、护理管理、药品管理、医技管理、器械管理、输血管理、院感管理、职业防护管理、信息管理、后勤管理、治安管理等事件,内容齐全&#xf…

关于pip basicsr,facexlib,realesrgan et al.安装报错。

首先basicsr是一个超分的库,在ubuntu系统上pip时会报错。 上图这种错误,或者其他的错误,有的方法让去github上安装,那种方法到setup.py的时候也会报错。 问题在于首先 -i的源要换成阿里的源,然后要安装他要求的库&…

预后模型+实验生信思路,新颖可重复发文空间大

今天给同学们分享一篇生信文章“Novel Implication of the Basement Membrane for Breast Cancer Outcome and Immune Infiltration”,这篇文章发表在Int J Biol Sci期刊上,影响因子为3.5。 结果解读: 建立骨髓评分的预后骨髓基因选择策略 …

Hologres常用语句

1、列转行 regexp_split_to_table(要分割的字段,分割关键字) select regexp_split_to_table(aa,bb, ,) 2、行转列 string_agg(要拼接的字段,拼接关键字) 进阶版--按字段名汇总转换 select A字段,string_agg(B字段,, order by 排序字段) from 表名 group by A字段

Node-RED系列教程-29nodered与三菱PLC基于MC协议通信测试

安装mc通信节点: node-red-contrib-mcprotocol 包含2个节点,一个节点负责读,一个节点负责写。 本教程目前只演示读功能。由于没有硬件,首先利用hsl demo软件模拟出一个用于测试mc通信的服务端。 mc读过程如下: 输入节点开启定时即可。 MC读节点配置:

双H桥直流马达步进电机驱动芯片SS8833E

由工采网代理的率能SS8833E是一款适用于有刷直流或双极步进电机的集成电机驱动芯片;采用eTSSOP16封装;该器件集成了两个PNMOS H桥和电流调节电路;电机输出电流可以由外部脉宽调制器(PWM)或内部PWM电流控制器控制。 工…