毕设帮助、开题指导、技术解答(有偿)见文末。
目录
摘要
一、硬件方案
二、设计功能
三、实物图
四、原理图
五、PCB图
六、Protues仿真
七、程序
部分代码
八、资料包括
随着科学技术的不断发展,我们的生活也不断的朝智能化方向发展。各种智能化产品频繁出现在我们的生活中,其中单片机是最常用的智能化控制核心,为了能更好的了解单片机,我打算利用单片机设计一个公共场所人流量统计系统。本系统采用STC89C51单片机作为整个系统的控制核心,利用人体红外感应模块来检测是否有人员通过门,有人员通过则输出高电平,再根据实际情况由单片机判断人员是进入还是出去,最后将人员进出情况送液晶屏显示。同时系统还具有显示时间和时间可调的功能,这将使我们能更加直观的了解到各个时段人流量的变化情况。本次设计中的单片机控制程序采用C语言编写,具有结构清楚,便于理解以及改进功能的特点。
关键词:人流量统计;人体红外感应器;51单片机
51单片机+最小系统+数码管显示模块+红外接近传感器模块+按键模块
1. 单片机型号:STC89C52/51、AT89C52/51、AT89S52/51都可通用。
2.采用红外壁障传感器检测信号,检测距离3~50cm,灵敏度可调(红外接近传感器的背面旋钮调节)。
3.数码管显示第一位显示数字(1代表进入人数,2代表出去人数、3代表滞留人数),第二位显示当前的人流量。
4.有一个按键切换显示滞留人数。另一个是复位按键。
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;//显示进入人数的个位
需要完整的资料可以点击下面的名片,找我要资源压缩包的百度网盘下载地址及提取码。
本文发布于:2024-02-02 07:25:13,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170682991242259.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |