# A-human-checker-based-on-51MCU
课程作业,用51单片机实现的红外人体检测装置
## 文件说明
* LCD.h 用于lcd屏幕显示的驱动文件
* Sxy_046_Check.c main函数
## 说明
### 实现内容
* 利用人体红外感应模块检测人体,并通过指示灯指示。
* 用另一个LED灯代替楼道灯,当人体接近时开启楼道灯。
* 当人体离开后,楼道灯延时熄灭,延时时间可通过按键设备
* 实时倒数显示,单位为秒。
* 增加声音感应功能。
* 白天不感应。
## 总体设计方案
* ![image](https://github.com/AcidFish12/A-human-checker-based-on-51MCU/assets/75008732/e6adf254-7bfe-4c08-bc57-46005dc7351b)
* 本系统由单片机开发板、光线感应模块、声音感应模块和人体感应模块组成。其中用到单片机开发板上的按键模块、LED灯模块和LCD显示模块。通过光线感应模块判断是白天还是黑夜,若为黑夜则进入工作状态。默认工作状态时候,此时可以通过按键设置倒计时的时长。当声音和人体感应模块触发,代表路灯的灯亮起,人离开后,LCD屏幕显示倒计时,倒计时结束后回到默认工作状态。
## 硬件
* LCD1602
* ![image](https://github.com/AcidFish12/A-human-checker-based-on-51MCU/assets/75008732/054f6587-c993-4354-8019-f2fb47cee443)
* LED模块和案件模块
* ![image](https://github.com/AcidFish12/A-human-checker-based-on-51MCU/assets/75008732/a33860df-fcc6-4d85-ae14-860a390e87c4)
* ![image](https://github.com/AcidFish12/A-human-checker-based-on-51MCU/assets/75008732/466b3222-d63b-4759-a60c-5ed14cfc1fa9)
* 人体感应模块:人体感应模块可以实现全自动感应:人进入其感应范围则输入高电平,人离开感应范围则自动延时关闭高电平,输出低电平。
它又有两种触发模式:
i. 不可重复触发方式:即感应输出高电平后,延时时间段已结束,输出将自动从高电平变成低电平;
ii. 可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出一直保持高电平,直到人离开后才演示将高电平变为低电平。
* ![image](https://github.com/AcidFish12/A-human-checker-based-on-51MCU/assets/75008732/0dab00a4-03dd-496f-9051-163105a04717)
* 光敏电阻模块
* ![image](https://github.com/AcidFish12/A-human-checker-based-on-51MCU/assets/75008732/554a46c9-ef68-434d-bedf-1359b7c0c38d)
* 光敏电阻模块,当有光线时输出低电平,无光线时输出高电平。将输出脚连接P3.2INT0口请求外部中断。 声音检测模块
* ![image](https://github.com/AcidFish12/A-human-checker-based-on-51MCU/assets/75008732/7b1a2931-cc25-400b-84a3-f5f6d5467f4a)
## 软件
* ![image](https://github.com/AcidFish12/A-human-checker-based-on-51MCU/assets/75008732/739d0d4c-515a-4199-8962-9c2c77b95fe3)
* 软件部分主要有5部分组成:主函数,定时器中断,外部中断0,按键控制和LCD显示。上电后系统初始化,包括设置LED灯初始状态,开外部中断,配置定时器并开定时器中断和LCD初始化。初始化完成立即进入主循环,此时若为白天,CPU立即响应外部中断请求在中断服务程序等待直到天黑,天黑后退出中断继续进入主循环。如果有人,则路灯点亮,人体传感器持续检测人体,当人离开后进入倒计时,根据定时器获得的1s定时依此递减直至为零后熄灭路灯回到主循环。同样,如果有声音,则直接进入倒计时,倒计时结束后回到查询循环。同时,每个状态都在LCD屏幕显示一次当前状态和倒计时。
* 定时器中断
* 定时器中断采用模式1,赋初值19456。考虑到晶振为11.0592MHz,有:
* ![image](https://github.com/AcidFish12/A-human-checker-based-on-51MCU/assets/75008732/2af9dee4-1ebc-4c89-ad17-bde98dea50f0)
* 所以,定时器赋初值19456,进中断20次后获得1s定时,即计数变量为20时满1s。中断服务程序中设置计数变量,每次进终端后计数变量加一,当计数满20且倒计时没有到0时候,若有人离开或者有声音则倒计时变量减一。倒计时到0后灭掉路灯。
* 按键控制
考虑到本系统只需要控制倒计时时长,简单采用两个独立按键步进控制。按下按键K1倒计时加一,按下按键K2倒计时减一。
* LCD显示
* ![image](https://github.com/AcidFish12/A-human-checker-based-on-51MCU/assets/75008732/5e469ee7-b313-486a-b04d-54a05830b78d)
## 照片
* ![image](https://github.com/AcidFish12/A-human-checker-based-on-51MCU/assets/75008732/c109b89b-a4eb-4f72-b2b1-ef7d1ffddbf3)
没有合适的资源?快使用搜索试试~ 我知道了~
课程作业《用51单片机实现的红外人体检测装置》+C语言项目源码+文档说明
共3个文件
md:1个
h:1个
c:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 169 浏览量
2024-11-15
15:53:48
上传
评论
收藏 6KB ZIP 举报
温馨提示
<项目介绍> - 实现内容 利用人体红外感应模块检测人体,并通过指示灯指示。 用另一个LED灯代替楼道灯,当人体接近时开启楼道灯。 当人体离开后,楼道灯延时熄灭,延时时间可通过按键设备 实时倒数显示,单位为秒。 增加声音感应功能。 白天不感应。 - 不懂运行,下载完可以私聊问,可远程教学 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
资源推荐
资源详情
资源评论
收起资源包目录
课程作业,用51单片机实现的红外人体检测装置.zip (3个子文件)
A-human-checker-based-on-51MCU-main
LCD.h 6KB
Sxy_046_Check.c 2KB
README.md 5KB
共 3 条
- 1
资源评论
程序员无锋
- 粉丝: 3698
- 资源: 2563
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功