单片机-人数统计系统
题目:双路场馆入场人数统计系统
- 要求:一片单片机采集两路计数数据并显示,将计数值发送给另外一片单片机并LED、LCD显示。单路计数值最大10000。
- 提示:增加显示电路方面两者之间的调试。计数可以采用按键扫描(这里用按键代替传感器)、外部中断、计数器均可。
- 仿真原理图如下:
- 左侧单片机A:
-右侧单片机B: 单片机A在统计两个地方的人数并将数据同步到单片机B
单片机A程序:
#include <reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
volatile unsigned char dat=0,flag=0;
uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
uchar Num_Buffer[]={0,0,0,0,0};
uint Key_Code,Key_Counts=0;sbit key1 = P1^0;
sbit key2 = P1^1;
sbit C = P1^2;
//延时函数
void DelayMS(uint x){uchar i;while(x--)for(i=0;i<120;i++);
}//显示
void Show_Counts_ON_DSY(){uint i,j=0x01;Num_Buffer[4]=Key_Counts/10000;Num_Buffer[3]=Key_Counts/1000%10;Num_Buffer[2]=Key_Counts/100%10;Num_Buffer[1]=Key_Counts/10%10;Num_Buffer[0]=Key_Counts%10;for(i=0;i<5;i++){j=cror_(j,1);P0=0xff;P0=DSY_CODE[Num_Buffer[i]]; P2=j;DelayMS(1);}
}
//主函数
void main(){while(1){Show_Counts_ON_DSY();//检测按键if(key1==0||key2==0){DelayMS(10);if(key1==0||key2==0){Key_Counts++;C = 0;if(Key_Counts==1000)Key_Counts=0;}}while(!key1); //等待按键释放while(!key2);C=1;//DelayMS(5);}while(1){if(flag==1){flag=0;SBUF=Key_Counts;while(!TI);TI=0;}else; }
}void uart (void)interrupt 4{if(RI){RI=0;flag=1;dat=SBUF;}
}
单片机B的程序:
#include <reg51.h>
#include<intrins.h>
#include <reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
volatile unsigned char dat=0,flag=0;
uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
uchar Num_Buffer[]={0,0,0,0,0};
uint Key_Code,Key_Counts=0;sbit key1 = P1^0;
//延时函数
void DelayMS(uint x){uchar i;while(x--)for(i=0;i<120;i++);
}//显示
void Show_Counts_ON_DSY(){uint i,j=0x01;Num_Buffer[4]=Key_Counts/10000;Num_Buffer[3]=Key_Counts/1000%10;Num_Buffer[2]=Key_Counts/100%10;Num_Buffer[1]=Key_Counts/10%10;Num_Buffer[0]=Key_Counts%10;for(i=0;i<5;i++){j=cror_(j,1);P0=0xff;P0=DSY_CODE[Num_Buffer[i]]; P2=j;DelayMS(1);}
}void main(){while(1){Show_Counts_ON_DSY();if(key1==0){DelayMS(10);if(key1==0){Key_Counts++;if(Key_Counts==1000)Key_Counts=0;}}while(!key1); //等待按键释放//DelayMS(5);}while(1){if(flag==1){flag=0;SBUF=Key_Counts;while(!TI);TI=0;}else; }
}void uart (void)interrupt 4{if(RI){RI=0;flag=1;dat=SBUF;}
}
单片机-人数统计系统相关推荐
- 基于MATLAB的教室人数统计系统
基于MATLAB的教室人数统计系统 一.课题介绍 我国人数基数大,各个公共场合的人数是一个十分重要的信息,也是人们一直关注的话题.教室作为其中一个十分特殊的公共场合,它的人数有着很重要的现实意义.比如 ...
- SSM毕设项目基于人脸识别的景区人数统计系统zzr18(java+VUE+Mybatis+Maven+Mysql)
SSM毕设项目基于人脸识别的景区人数统计系统zzr18(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HB ...
- 上线客流人数统计系统实现资源的最大化利用
在流量管理方面,智慧客流采集系统的应用可以帮助商家实现资源的最大化利用.通过对客流量数据的分析,商家可以准确把握客流量变化规律,进而制定出最优化的资源配置方案. AI客流视觉监控 一.某汽车4S店智慧 ...
- 单片机C语言人数统计,基于单片机的人数统计系统设计.doc
毕业论文 (此文档为word格式,下载后您可任意编辑修改!) 本科毕业论文(设计) 题 目:基于单片机的人数统计系统 摘要 本文设计了一个基于单片机的人数统计系统,他可以通过光电开关统计教室的人数,并 ...
- OpenCV 视频人数统计研究
最近有空研究了一下基于Opencv的视频人数统计.总结了一下,视频人数统计系统的工作流程主要包括以下几个部分: 1.视频捕获 从视频源(摄像头或视频文件)获取到视频图像数据. 2.目标提取(背景建模. ...
- MATLAB教室人数统计开源代码(包含 GUI 注释 课题分析)
MATLAB教室人数统计(免费开源代码) 本人参考了很多的资料最后总结整出来的,如果能够该博客对你的学习有所帮助的话,希望大家可以帮我点个赞,本人是抱着学习的态度进行分享,大家如果能在我的基础上进行二 ...
- 人头识别与计数_基于人头检测的人数统计算法研究
摘要: 在统计人数时候都是根据所检测到的目标进行计数,从最开始传统的红外线检测的人数统计系统到现在的智能视频处理人数统计系统.在一些人群众多的场所和人员并排走时会有很严重的遮挡现象,所以红外线检测就不 ...
- 【人脸识别】人数统计【含GUI Matlab源码 2121期】
⛄一.人数统计简介(附课程作业报告) 1 课题背景 本课题为基于matlab的人数统计系统.近年来,很多行业对人流信息有极大的需求,如汽车公交站,地铁站台,商场出入口等.通过人数统计系统可以方便.可靠 ...
- 公交车人数统计系统设计
公交车人数统计系统通过统计每辆公交每个站点特定时间段的乘客上下车人数并及时向管理人员反馈客流量分析结果,从而帮助公交集团合理地调度车辆. 面对基于视频图像处理的人数统计方法,以及上下车人数统计时背景不 ...
最新文章
- php session获取不到的解决方法
- 【自动驾驶】21.左手坐标系和右手坐标系
- 给linux下网站目录配置SFTP
- android 6.0动态权限的申请
- android 文件读取错误,Android源文件从SD卡读取错误问题,怎么处理
- SpringCloud底层原理
- cv2.imread读取图像结果none_python cv2.imread 读取中文路径的图片返回为None的问题
- mysql5.6 with as 用法_python面试专题with 关键字与上下文管理
- 若想学 HTML,应从何入手?
- 如何快速入手 Shell 脚本编程
- Android Studio 第一个JNI程序
- MythXinWCF通用宿主绿色版V1.2发布,及服务启动相关说明
- Java基础案例教程———【任务4-2】模拟物流快递系统
- 优秀程序员的博客有哪些?(2021 年 3 月版)
- 基于墨刀实现的原型系统:一款简易的读书软件
- 汉语言文学考研学校c等20个,汉语言文学考研江苏省内哪个学校好考
- 网络安全将是未来10年里面的黄金产业
- 苦追12年从第六备胎逆袭成功的IT男的故事
- 《SQL必知必会》 11 使用子查询
- 如何批量生成食品电子监管码
热门文章
- android 调用JNI SO动态库
- WebDriver框架之自动运行失败的case
- 在Dreamweaver中运行JSP页面
- Action.c(17): Error -26374: The above not found error(s) may be explained by header and body byte
- 潇湘学苑App隐私权政策
- 04-ESP8226的WiFi通用库学习
- Android 双开沙箱 VirtualApp 源码分析(一)
- java设计一个秒杀系统_面试宝典系列-怎么设计一个秒杀系统
- 上海亚商投顾: 市场震荡整理 飞机、消费股表现强势
- delphi 裁剪mp3_如何编辑mp3文件详细信息(Delphi)