63、基于51单片机红外遥控人体感应自动车库门控制设计 (程序+Proteus仿真+原理图+PCB图+参考论文+开题报告+任务书等) |
您所在的位置:网站首页 › 自动车库门控制电路的设计 › 63、基于51单片机红外遥控人体感应自动车库门控制设计 (程序+Proteus仿真+原理图+PCB图+参考论文+开题报告+任务书等) |
一、设计简介:
本设计是基于51单片机红外遥控人体感应自动车库门控制设计,主要实现以下功能: 1、如果红外模拟为开启状态, 当有人过来时门自动打,把门打开停止5秒左右,如果没人门就会自动关上,关门过程中 遇到障碍物会重新打开门 2 、红外遥控开关 3 、自动感应到人开关 也可以手动控制开关。 4、 可以用红外遥控器控制 主要硬件组成: 电源5V供电、单片机最小系统、红外感应遥控模块,红外一体接收头,按键电路,步进电机驱动电路,指示灯电路 二、原理图部分代码: #include "reg51.h" //头文件 #include "intrins.h" #define uchar unsigned char //宏定义 #define uint unsigned int uchar 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 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |