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

毕设帮助、开题指导、技术解答(有偿)见文末 。
目录
摘要
一、硬件方案
二、设计功能
三、实物图
四、原理图
五、PCB图
六、仿真
七、程序
部分代码
八、资料包括
摘要
随着科学技术的不断发展,我们的生活也不断的朝智能化方向发展 。各种智能化产品频繁出现在我们的生活中,其中单片机是最常用的智能化控制核心,为了能更好的了解单片机,我打算利用单片机设计一个公共场所人流量统计系统 。本系统采用单片机作为整个系统的控制核心,利用人体红外感应模块来检测是否有人员通过门,有人员通过则输出高电平,再根据实际情况由单片机判断人员是进入还是出去,最后将人员进出情况送液晶屏显示 。同时系统还具有显示时间和时间可调的功能,这将使我们能更加直观的了解到各个时段人流量的变化情况 。本次设计中的单片机控制程序采用C语言编写,具有结构清楚,便于理解以及改进功能的特点 。
关键词:人流量统计;人体红外感应器;51单片机
一、硬件方案
51单片机+最小系统+数码管显示模块+红外接近传感器模块+按键模块
二、设计功能
1.单片机型号:/51、/51、/51都可通用 。
2.采用红外壁障传感器检测信号,检测距离3~50cm,灵敏度可调(红外接近传感器的背面旋钮调节) 。
3.数码管显示第一位显示数字(1代表进入人数,2代表出去人数、3代表滞留人数),第二位显示当前的人流量 。
4.有一个按键切换显示滞留人数 。另一个是复位按键 。
三、实物图
四、原理图
五、PCB图
六、仿真
【47、基于51单片机超市或人车流量计数器系统设计】七、程序
部分代码
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];break;//显示进入人数的个位
八、资料包括
需要完整的资料可以点击下面的名片,找我要资源压缩包的百度网盘下载地址及提取码 。