47、基于51单片机超市或人车流量计数器系统设计

2023-12-18 10:30

本文主要是介绍47、基于51单片机超市或人车流量计数器系统设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

毕设帮助、开题指导、技术解答(有偿)见文末。

目录

摘要

一、硬件方案

二、设计功能

三、实物图

四、原理图 

五、PCB图

六、Protues仿真

七、程序

部分代码

八、资料包括 


摘要

随着科学技术的不断发展,我们的生活也不断的朝智能化方向发展。各种智能化产品频繁出现在我们的生活中,其中单片机是最常用的智能化控制核心,为了能更好的了解单片机,我打算利用单片机设计一个公共场所人流量统计系统。本系统采用STC89C51单片机作为整个系统的控制核心,利用人体红外感应模块来检测是否有人员通过门,有人员通过则输出高电平,再根据实际情况由单片机判断人员是进入还是出去,最后将人员进出情况送液晶屏显示。同时系统还具有显示时间和时间可调的功能,这将使我们能更加直观的了解到各个时段人流量的变化情况。本次设计中的单片机控制程序采用C语言编写,具有结构清楚,便于理解以及改进功能的特点。

关键词人流量统计;人体红外感应器;51单片机

一、硬件方案

51单片机+最小系统+数码管显示模块+红外接近传感器模块+按键模块

二、设计功能

1. 单片机型号:STC89C52/51、AT89C52/51、AT89S52/51都可通用。


2.采用红外壁障传感器检测信号,检测距离3~50cm,灵敏度可调(红外接近传感器的背面旋钮调节)。


3.数码管显示第一位显示数字(1代表进入人数,2代表出去人数、3代表滞留人数),第二位显示当前的人流量。


4.有一个按键切换显示滞留人数。另一个是复位按键。

三、实物图

四、原理图 

五、PCB图

六、Protues仿真

七、程序

部分代码

				flag_KEY2=0 ;							 //变量清零count_chuqu++;						 //出去人数变量加if(count_chuqu>count_jinru)			 //出去的人数不能大于进入的人数count_chuqu=count_jinru;				 //所以出去的人数大于进入的人数时,让出去的人数等于进入的人数count_zhiliu = count_jinru-count_chuqu;//更新滞留人数(室内现有人数为进入的人数减去出去的人数)}while(KEY1==0)							 //按键一直按下(传感器一直有信号)display();								 //调用显示函数}}if(KEY2==0)								 //按键按下(进入的传感器检测到信号){delay(5);								 //延时去抖if(KEY2==0)								 //再次判断{flag_KEY2=1;							 //变量置1if(flag_KEY2==1&&flag_KEY1==1)			 //判断变量是否都为1{status=1;								 //切换显示模式到显示进入人数flag_KEY1=0;flag_KEY2=0;							 //变量清零count_jinru++;						 //进入人数加count_zhiliu = count_jinru-count_chuqu;//更新滞留人数(室内现有人数为进入的人数减去出去的人数)if(count_jinru>=99)					 //进入的人数最大99人count_jinru=99;						 //大于99人,就显示99人}  while(KEY2==0)							 //按键一直按下(传感器一直检测到有人)display();								 //调用显示函数}}if(KEY3==0)								 //按键按下{delay(5);								 //延时去抖if(KEY3==0)								 //再次判断按键按下{status++;								 //切换按键按下,就切换显示模式if(status>3)							 //变量大于3status=1;		P0=~LEDData[10];	 //送显示码P2=0xDF;			 //打开位选delay(2);			 //延时P2=0xFF;			 //关闭位选switch (status)		 //判断是要显示什么内容{case 1: P0=LEDData[count_jinru/10];break;//显示进入人数的十位case 2: P0=LEDData[count_chuqu/10];break;//显示出去人数的十位case 3: P0=LEDData[count_zhiliu/10];break;//显示滞留人数的十位}P2=0xBF;			 //打开位选delay(2);			 //下同,注释略P2=0xFF;switch (status)		 //判断是要显示什么内容{case 1: P0=LEDData[count_jinru%10];break;//显示进入人数的个位

八、资料包括 

需要完整的资料可以点击下面的名片,找我要资源压缩包的百度网盘下载地址及提取码。

这篇关于47、基于51单片机超市或人车流量计数器系统设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/508065

相关文章

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方