基于单片机的自动门控制系统设计_毕业论文.doc
- 格式:doc
- 大小:26.50 KB
- 文档页数:4
基于单片机的自动门控制系统设计_毕业论文
..电气自动化毕业论文题目:
基于单片机的自动门控制系统设计所属系部:
电子工程系专业班级:
电气自动化学生姓名:
指导教师:
XXXX年3 月28 日word教育资料..摘要随着科技的不断发展,自动门在人们日常生活中断得到了广泛的应用,同时对其安全性及各方面的性能的要求越来越高。
自动门的控制系统是随着人们对生活条件的不断追求,科技的不断发展应运而生的高科技产品。由于单片机系统的适应能力强,稳定性高,所以本设计采用AT89C51单片机作为主控制器。本次设计是红外线自动门控制系统,使用红外线传感器作为感应器,检测到人体辐射的红外线能量变化,将其转化为电信号,传给单片机。交流电机作为门驱动装置。通过单片机控制交流电机,使门自动打开,当人进门后又可以使门自动关闭。本课题主要实现红外线检测和基于AT89C51的单片机控制系统。关键词:
单片机;
热释红外线传感器;
AT89C51;
BIS0001芯片word教育资料目录摘要I第1章. 绪论31.1 课题研究的可行性31.2 自动门的发展31.3 电机自动控制系
统的应用和发展31.4 课题研究的目的和意义51.5 课题研究的要求51.6 设计的基本思路5第2章. 系统硬件设计72.1 设计电路的框图和原理(原理图见附录Ⅰ)72.2 单片机介绍82.2.1 AT89C51管脚说明92.2.2 AT89C51主要特性102.2.3 芯片擦除112.3 热释电红外传感器介绍112.4.2 BISS001管脚图及管脚说明142.4.3 BISS0001工作原理162.5 步进电机172.5.1 步进电动机的特点172.5.2 驱动控制系统的组成172.5.3 斩波驱动18第3章. 系统软件设计及调试193.1 系统软件结构193.2 各部分程序流程设计(见附录Ⅱ)193.3 调试193.4 门行程检测及故障检测20总结21参考文献22附录Ⅰ:设计电路原理图23附录Ⅱ:
信号流程说明24附录Ⅲ:
程序源代码26word教育资料第1章. 绪论1.1 课题研究的可行性在不断发展的当今社会科技化、信息化程度越来越高,单片机的应用领域也就越来越广,成为人们生活不可或缺的一部分。
随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的自动控制系统开始进入了人们的生活,以单片机为核心的自动门系统就是其中之一。
同时也标志了自动控制领域成为了数字化时代的一员。它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果。它更让人类懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。本论文着重阐述了以单片机为主体,步进电机、传感器为核心的系统。1.2 自动门的发展自动门从理论上理解应该是门的
概念的延伸,是门的功能根据人的需要所进-省略部分-统外部中断0程序viod service_int0() interrupt 0 using 2 //外部中断0,用第二组寄存器{ int0_flag=1;} //(4) contrl()步进电机控制程序bit contrl(bit diret){Uint k; cp1=1; //脉冲置于高电平DIR1=diret; //运行方向输出While(diret==0){ //开门uint temp;temp=P1;;if (temp==0Xf9) /*加速,直到遇上霍尔传感器3,6*/{ K=10;While(1){ cp1=0; delay(2*k); //延时时间逐步减少,即加速cp1=1;delay(2*k);k--; if(P1==0X9f) break;}}If (temp==0X9f) //匀速,直到遇上霍尔传感器2,7{While(1) { CP1=0; delay(1); CP1=1; delay(1);if(P1==0X6f) break;}}if (temp==0X6f) //减速,直到遇上行程开关1,8{ K=0;While(1){k++; cp1=0; delay(2*k); //延时时间逐步减少,即加速cp1=1;delay(2*k);if(P1==0Xf6) break;}}}//关门While(diret==1){if (temp==0Xf6)// 加速,直到遇到霍尔传感器2,7{ K=10;While(1){ cp1=0; delay(2*k); //延时时间逐步减少,即加速cp1=1;delay(2*k);k--; if (int_flag==1) //中途有人来则关门失败,返回0 { temp=0X6f; return 0;}if(P1==0X6f) break;}}If (temp==0X6f) //匀速, 直到遇到霍尔传感器3,6{While(1) { CP1=0; delay(1); CP1=1; delay(1);if (int_flag==1) //中途有人来则关门失败,返回0 { temp=0X9f; return 0;}if(P1==0X9f) break;}}if (temp==0Xf9) //减速, 直到遇到霍尔传感器4,5{ K=0;While(1){k++; cp1=0; delay(2*k); //延时时间增加,即减速cp1=1;delay(2*k);if (int_flag==1) //中途有人来则关门失败,返回0 { temp=0Xf9; return 0;}if(P1==0Xf9) break;}} return 1;}}//(5) 延时程序viod delay (uint time1){ uint deli,delj; for
(deli=0;deli;deli++) 达到当天最大量API KEY 超过次数限制