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

文章目录

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


一、功能简介

本项目使用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设计,视频分享,技术交流。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TikTok与心灵成长:娱乐与启发并重

社交媒体已成为我们生活的一部分,其中TikTok以其短视频内容和创新性而闻名。然而,TikTok不仅仅是一个娱乐平台,它还具有潜力成为心灵成长的有力工具。本文将探讨TikTok如何在娱乐与启发之间取得平衡,以促进心灵成长和积极影响。 娱…

Kotlin Multiplatform稳定版本发布:加速跨平台开发的新里程碑

Kotlin Multiplatform稳定版本发布:加速跨平台开发的新里程碑 引言 在最新的消息中,JetBrains团队宣布Kotlin Multiplatform(KMP)将于2023年10月稳定发布。这一消息对于广大开发者来说毫无疑问是一个令人振奋的消息。KMP的正式生…

Spring Data JPA方法名命名规则

最近巩固一下JPA,网上看到这些资料,这里记录巩固一下。 一、Spring Data Jpa方法定义的规则 简单条件查询 简单条件查询:查询某一个实体类或者集合。 按照Spring Data的规范的规定,查询方法以find | read | get开头&…

2020年五一杯数学建模C题饲料混合加工问题解题全过程文档及程序

2020年五一杯数学建模 C题 饲料混合加工问题 原题再现 饲料加工厂需要加工一批动物能量饲料。饲料加工需要原料,如加工猪饲料需要玉米、荞麦、稻谷等。加工厂从不同的产区收购了原料,原料在收购的过程中由于运输、保鲜以及产品本身属性等原因&#xff…

比尔·盖茨谈他对软件应用和人工智能代理未来的见解

比尔盖茨在他的 Gatesnotes 网站中发表了一篇文章,分享了他对软件应用和人工智能代理未来的见解。他认为人工智能代理将大行其道,在接下来的五年里,这将完全改变。你不需要为不同的任务使用不同的应用程序。你只需用日常语言告诉你的设备你想…

C++编程案例讲解-评委打分案例

评委打分案例 案例说明 案例说明 有5名选手,10个评委分别对每一名选手打分,去除最高分,去除最低分,取平均分 要求以下步骤: 创建5名选手,放到vector中遍历vector容器,取出来每一位选手&#x…

SMART PLC 和S7-1200PLC MODBUSTCP通信速度测试

SMART PLC MODBUSTCP通信详细介绍请参看下面文章链接: S7-200SMART PLC ModbusTCP通信(多服务器多从站轮询)_matlab sumilink 多个modbustcp读写_RXXW_Dor的博客-CSDN博客文章浏览阅读6.4k次,点赞5次,收藏10次。MBUS_CLIENT作为MODBUS TCP客户端通过S7-200 SMART CPU上的…

SharePoint-连接Excel

Power Automate和Power Apps想要连接Excel表格的话,可以在OneDrive或SharePoint网站的文档中创建Excel文件,然后把Excel转换成table表格 以SharePoint为例,在文档中点击新建,选择Excel工作簿 填写内容,然后全选选中 在…

SPSS因子分析

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

hive里因为列名用了关键字导致建表失败

代码 现象 ParseException line 6:4 cannot recognize input near percent String COMMENT in column name or primary key or foreign key 23/11/13 11:52:57 ERROR org.apache.hadoop.hive.ql.Driver: FAILED: ParseException line 6:4 cannot recognize input near percent …

消防安全检查卡如何制作成二维码标签

消防安全检查卡介绍 消防安全检查卡是用来评估建筑物和场所的消防安全情况的工具。本检查卡旨在帮助用户检查建筑设施和操作程序,以确保其符合消防安全标准,预防火灾事故的发生。 日常的消防器材巡检卡 主要用于规范和记录消防器材的日常检查工作&#x…

「得力集团」启动采购供应链协同项目,携手企企通打造文创科技产业行业标杆

近期,国内最大的办公与学习用品产业集团、多工作场景整体解决方案的领导者「得力集团有限公司」与企企通成功签约,并顺利召开采购供应链协同项目启动会。 本次会议中,双方高层领导与项目团队成员就项目的功能需求、实施方案、资源支持等问题进…

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

测量均值频率、功率、带宽 生成以 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/…

无代码业务自动化工具Activepieces

什么是 Activepieces ? Activepieces 是一款工作流程自动化软件,可以帮助您自动化所有重要流程,例如市场、销售、营销等。您可以集成其他有用的应用程序并更有效地管理您的业务。无需编码,是 Zapier 的绝佳替代品。 Activepieces …

希亦和海信内衣洗衣机哪个值得买?性价比内衣洗衣机推荐

因为内衣的更换频率很高,需要每天洗一次,所以这对一些人群来说可能会有些麻烦。但是,用手清洗内衣裤还是有很多问题的,比如有些污渍是手洗不掉的。因此内衣洗衣机就显得非常重要,接下来,我来为大家带来两款…

XML Web 服务 Eclipse实现中的sun-jaxws.xml文件

说明 在sun-jaxws.xml文件,可以配置endpoint、handler-chain等内容。在这个文件中配置的内容会覆盖在Java代码中使用注解属性配置的的内容。 这个文件根据自己的项目内容修改完成以后,作为web应用的一部分部署到web容器中(放到web应用的WEB…

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

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

【毕业论文】基于微信小程序的植物分类实践教学系统的设计与实现

基于微信小程序的植物分类实践教学系统的设计与实现https://download.csdn.net/download/No_Name_Cao_Ni_Mei/88519758 基于微信小程序的植物分类实践教学系统的设计与实现 Design and Implementation of Plant Classification Practical Teaching System based on WeChat Mini…

安装 Lua 的 HTTP 库

首先,你需要安装 Lua 的 HTTP 库。可以使用 LuaRocks 来安装。以下是安装命令: luarocks install http然后,你可以使用以下代码来爬取网页内容: local http require http-- 设置代理信息 http.set_proxy(jshk.com.cn)-- 网页UR…

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 发展出…