一、硬件方案
单片机的红外遥控人体感应自动门控制系统设计的实现主要有电源5V供电、单片机最小系统、红外感应遥控模块,红外一体接收头,按键电路,步进电机驱动电路,指示灯电路组成。。
二、设计功能
1、如果红外模拟为开启状态, 当有人过来时门自动打,把门打开停止5秒左右,如果没人门就会自动关上,关门过程中 遇到障碍物会重新打开门
2 、红外遥控开关
3 、自动感应到人开关 也可以手动控制开关。
4、 可以用红外遥控器控制
三、成品实物图
四、原理图
五、PCB图
六、Proteus仿真
七、程序源码
部分代码
#include "reg51.h" //头文件#include "intrins.h"#define uchar unsigned char //宏定义#define uint unsigned intuchar code zz[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //步进电机正转数组表uchar code fz[]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //步进电机反转数组表sbit led_1=P0^0; //指示灯控制IO口sbit led_2=P0^1;sbit led_3=P0^2;sbit led_4=P0^3;sbit key_1=P3^5; //按键控制IO口sbit key_2=P3^6;sbit key_3=P3^7;sbit people_1=P3^1;//红外热释传感器控制IO口sbit people_2=P3^3;uint xh = 0; //步进电机转动循环变量uchar ms,sec;//50ms变量,秒变量bit mode = 1,open; //模式标志位默认为手动模式, 状态标志位//下面这些变量用于红外遥控的解析,关于红外遥控,推荐大家去看下 51单片机天狼星教程里面红外遥控的章节,很详细,优酷上直接搜索即可uchar irbyte[4];//解码后红外32位数据uchar irtime,irflag,bitnum,irdateok;// 定时器1溢出计数变量,转化标志位,下标变量,信号接收完成标志位uchar irdate[33];//红外信号/********************************************************************* 名称 : delay()* 功能 : 小延时。 * 输入 : 无* 输出 : 无***********************************************************************/ void delay(uint T){while(T--);}/********************************************************************* 名称 : zhengzhuan()* 功能 : 步进电机正转函数 * 输入 : 无* 输出 : 无***********************************************************************/ void zhengzhuan(){uchar i;for(i=0;i<8;i++){P2=zz[i];delay(150);//if(!key2F) break;}}/********************************************************************* 名称 : fanzhuan()* 功能 : 步进电机反转函数 * 输入 : 无* 输出 : 无***********************************************************************/ void fanzhuan(){uchar i;for(i=0;i<8;i++)//8拍数据轮流输送{P2=fz[i];delay(150);//if(!key3F) break;}}
八、所有配套资料
需要完整的资料可以加入我的纷传圈子,里面有资源压缩包的百度网盘下载地址及提取码。
纷传点击用微信打开即可,过程有点繁琐请见谅。
基于51单片机红外遥控人体感应自动车库门控制设计(程序+Proteus仿真+原理图+PCB图+参考论文+开题报告+任务书等)