计控课程设计基于单片机的自动门控制系统设计

上传人:仙*** 文档编号:32043041 上传时间:2021-10-13 格式:DOC 页数:34 大小:835.50KB
返回 下载 相关 举报
计控课程设计基于单片机的自动门控制系统设计_第1页
第1页 / 共34页
计控课程设计基于单片机的自动门控制系统设计_第2页
第2页 / 共34页
计控课程设计基于单片机的自动门控制系统设计_第3页
第3页 / 共34页
点击查看更多>>
资源描述
各专业全套优秀毕业设计图纸 基于单片机的自动门控制系统设计 姓名:学号:B11041023 日期:2014.12.29 键入文字- 30 -目 录第1章 绪 论11.1选题的背景.11.1.1 自动门发展历史11.1.2 单片机的发展及89C51系列的运用11.1.3 红外探测技术的发展21.2 设计的主要内容2第2章 系统总体设计3 2.1设计整体框图及总电路图3 2.2主要元器件介绍3第3章 硬件设计.103.1硬件的选型103.1.1 基本单片机系统103.1.2 红外检测电路113.1.3 步进电机113.1.4 检测模块14第4章 软件设计164.1系统软件结构.16 4.2系统主程序及主流程图.164.3 门行程检测23第5章 系统仿真及调试245.1系统仿真调试245.2调试结果255.3 仿真结果26结 论27参考文献29第1章 绪 论1.1 选题的背景1.1.1 自动门发展历史 自动门从理论上理解应该是门的概念的延伸,是门的功能根据人的需要所进行的发展和完善。自动门是指:可以将人接近门的动作(或将某种入门授权)识别为开门信号的控制单元,通过驱动系统将门开启,在人离开后再将门自动关闭,并对开启和关闭的过程实现控制的系统。 自动门开始在建筑物上使用,是在二十世纪年以后。二十年代后期,美国的超级市场的开放,自动门开始被使用,受此影响,世界第一自动门品牌多玛在1945年开发出油压式、空气式自动门,新建大楼的正门也开始使用了。到了1962年,电气式己开始出现,之后伴随着城市的建设,自动门技术的领域每年都在增加。当初,用供给建筑物用电源进行电动机的速度控制很难,只好进行油压、空压速度控制,转换但因能源利用效率很低,然而伴随着电气控制的技术发展,现在电气控制技术已经成熟,直接控制电动机的电气式自动门逐渐成为主流。例如:各种用可识别控制的自动专用门,如:感应自动门(红外感应,微波感应,触摸感应,脚踏感应)、刷卡自动门等。 21世纪的今天,门更加突出了安全理念,强调了有效性:有效地防范、通行、疏散,同时还突出了建筑艺术的理念,强调门与建筑以及周围环境整体的协调、和谐。门大规模专业化生产始于150年前,在不断发展和完善的过程中,涌现出大批独具规模的专业制造商。门的高级形式-自动门起源在欧美,迅速发展至今天,已经形成了种类齐全、功能完善、造工精细的自动门家族。1.1.2 单片机的发展及89C51系列的运用担任本设计处理部分的是89C52单片机(89C51系列).目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。在单片机家族中,80C51系列是其中的佼佼者,加之Intel公司将其MCS 51系列中的80C51内核使用权以专利互换或出售形式转让给全世界许多著名IC制造厂商,如Philips、 NEC、AMD、华邦等,这些公司都在保持与80C51单片机兼容的基础上改善了80C51的许多特性。这样,80C51就变成有众多制造厂商支持的、发展出上百品种的大家族,现统称为80C51系列。80C51单片机已成为单片机发展的主流。专家认为,虽然世界上的MCU品种繁多,功能各异,开发装置也互不兼容,但是客观发展表明,80C51可能最终形成事实上的标准MCU芯片。 1.3 红外探测技术的发展红外探测技术在军事技术、工业控制、安全保卫、家用电器以及人们的日常生活等诸多领域中都有着非常广泛的应用,而一些教学实验的测控系统也在教学中发挥了很大的作用。红外探测技术利用红外光波(又称红外线)作为载波来传送测量信号或者控制指令,例如红外遥控电视开关、红外报警器、自动玻璃门等。之所以采用红外光波作为测控光源,是由于红外发射器件与红外接收器件的发光与受光峰值波长一般为0.88m-0.94m,落在近红外波段内,而且二者的光谱恰好重和能够很好地匹配,可获得较高的传输效率及较高的可靠性。红外测控系统一般包括发射、接收以及处理部分。在本设计中,红外线探测器中的热电元件检测人体的存在或移动,并把热电元件的输出信号转换成电压信号。然后,对电压信号进行波形分析。于是,只有当通过波形分析检测到由人体产生的波形时,才输出检测信号。例如,在两个不同的频率范围内放大电压信号,且将被放大的信号用于鉴别由人体引起的信号。1.4 设计的主要内容1、有人来时(进门或出门)开门。当人走到离门不远的时候时,安装在门上侧的热释红外线传感器信号检测装置检测到有人时,将启动电动机带动传动链开门。2、无人时关门延迟,当热释收发装置没有检测到有人在离门1m的范围内,将延迟1秒启动电动机带动传动链关门。人体信号光学系统(菲涅尔透镜)热释电红外线传感器信号处理自动门控制电路图1-1 设计总结构3、关门中途来人,立即开门。当启动电动机带动传动链关门时,感应探头突然检测到在离门1m的范围内有人,则立即停止电动机关门,启动电动机带动传动链开门。总体结构图如下图1-1: 第2章 系统结构及主要元器件2.1 设计整体框图及总电路图本设计主要应用单片机程序对步进伺服电机的正转、反转进行控制,从而对门进行开、关的控制。在门的两侧各有一个感应器,分别感应从里面出去和从外面进来的人。感应探测器探测到有人靠近时,将脉冲信号传给主控器单片机,主控器判断后通知电机运行,同时监控电机的转数,以便通知电机在一定时候加力和进入慢行运行。检测人进出的传感器采用红外传感器。图2-1,是自动门系统整体框图。位 置给 定单片机步进电机驱动器uln2003步进电动机负载限位开关正转限位开关判定反转限位开关判定图2-1 自动门系统整体框图2.2 主要元器件介绍2.2.1 单片机单片机是把微型计算机主要部分都集成在一个芯片上的单芯片微型计算机,即将运算器,控制器,输入输出接口,部分存储器以及其他一些逻辑部件集成在一个芯片上,故可以把单片机看成是一个不带外部设备的微型计算机,相当于一个没有显示器,没有键盘,不带监控程序的单板机。 由于单片计算机具有体积小,重量轻,耗电少,功能强和价格低等特点,又由于数据大多是在芯片内传送处理,所以运行速度快,抗干扰能力强。单片机从七十年代问世以来,在二十多年的时间里,发展异常迅速,并已广泛应用于各种领域。单片机具有通讯接口,用单片机进行接口的控制与管理,单片机与主机可并行工作,大大地提高了系统的运行速度,所以在网络通讯领域也得到了越来越多的应用。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图2-2所示。图2-3 AT89C51外形及引脚图图2-2 AT89C51外形及引脚图AT89C51引脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。在实际应用中,大多数情况下都使用P3口的第二功能。P3.0 RXD:串行输入口P3.1 TXD:串行输出口P3.2 /INT0:外部中断0P3.3 /INT1:外部中断1P3.4 T0:记时器0外部输入P3.5 T1:记时器1外部输入P3.6 /WR:外部数据存储器P3.7 /RD:外部数据存储器P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。2.2.2 BISS0001芯片介绍和典型电路 BISS0001是一款具有较高性能的传感信号处理集成电路,它配以热释电红外传感器和少量外接元器件构成被动式的热释电红外开关。它能自动快速开启各类白炽灯、荧光灯、蜂鸣器、自动门、电风扇、烘干机和自动洗手池等装置,特别适用于企业、宾馆、商场、库房及家庭的过道、走廊等敏感区域,或用于安全区域的自动灯光、照明和报警系统。它不仅能和热释电红外传感器的输出良好地匹配,而且也能和其他多种传感器进行匹配。它的内部是由运算放大器、电压比较器、与门电路、状态控制器、定时控制器、锁定时间控制器和禁止电路等组成。BISS0001采用16脚标准型塑料封装结构,如图2-3所示,管脚说明如表2-1。 图 2-3 BISS0001管脚图表2-1 BISS0001管脚说明引脚名称I/O 功能说明1AI可重复触发和不可重复触发选择端。当A为“1”时,允许重复触发;反之,不可重复触。2VOO控制信号输出端。由VS的上跳变沿触发,使Vo输出从低电平跳变到高电平时视为有效触发。在输出延迟时间Tx之外和无VS的上跳变时,Vo保持低电平状态。3RR1-输出延迟时间Tx的调节端4RC1-输出延迟时间Tx的调节端5RC2-触发封锁时间Ti的调节端6RR2-触发封锁时间Ti的调节端7VSS-工作电源负端8VRFI参考电压及复位输入端。通常接VDD,当接“0”时可使定时器复位9VCI触发禁止端。当VcVR时允许触发10IB-运算放大器偏置电流设置端11VDD-工作电源正端122OUTO第二级运算放大器的输出端132IN-I第二级运算放大器的反相输入端141IN+I第一级运算放大器的同相输入端151IN-I第一级运算放大器的反相输入端161OUTO第一级运算放大器的输出端BISS0001是由运算放大器、电压比较器、状态控制器、延迟时间定时器以及封锁时间定时器等构成的数模混合专用集成电路。当热释电红外传感器接收到人体红外辐射后输出检测信号,然后由14脚输入BISS0001,经地内部电路处理,由2脚输出探测信号(正向脉冲信号)。输出脉冲信号的宽度由外接电阻R9和电容C6来决定。当 2脚输出控制脉冲后,电子开关被接通,数字编码电路和无线电发射电路由于得到电源而开始工作。电源变压器为5W/15V,E为12V免维护蓄电池,供停电使用。S1为锁控电源开关,可根据需要安装在适当处所,用来接通工作电源,无必要时可取消设置。SCR采用1A的单向可控硅。HFC9301为软封装发声电路,发声为“嘀、嘀”声。电路的调试主要是主机与各分机之间的统调。将发射电路和接收电路组装好后,先将发射机中C10的调至适当位置后固定不动,接着调整接收机中的C1,使接收机能收到发射机发出的信号。若为“一对多”或“多对一”报警系统,应先将主机“一”(可以是发射机,也可以是接收机 )调好固定,然后调整各分机,使其与主机统调。BISS0001 应用线路图如图2-5所示。图 2-5 BISS0001的热释电红外开关应用电路图2.2.2 热释电红外传感器本设计选用的是HB100 型热释红外传感器,该传感器主要用于物体移动探测,多用于自动门、报警器等自动化产品热释电红外传感器和热电偶都是基于热电效应原理的热电型红外传感器。不同的是热释电红外传感器的热电系数远远高于热电偶,其内部的热电元由高热电系数的铁钛酸铅汞陶瓷以及钽酸锂、硫酸三甘铁等配合滤光镜片窗口组成,其极化随温度的变化而变化。为了抑制因自身温度变化而产生的干扰 该传感器在工艺上将两个特征一致的热电元反向串联或接成差动平衡电路方式,因而能以非接触式检测出物体放出的红外线能量变化 并将其转换为电信号输出。热释电红外传感器在结构上引入场效应管的目的在于完成阻抗变换。由于热电元输出的是电荷信号,并不能直接使用 因而需要用电阻将其转换为电压形式 该电阻阻抗高达104,故引入的沟道结型场效应管应接成共漏形式 即源极跟随器 来完成阻抗变换。热释电红外传感器由传感探测元、干涉滤光片和场效应管匹配器三部分组成。设计时应将高热电材料制成一定厚度的薄片,并在它的两面镀上金属电极,然后加电对其进行极化,这样便制成了热释电探测元。由于加电极化的电压是有极性的,因此极化后的探测元也是有正、负极性的。人体都有恒定的体温,一般在37度,所以会发出特定波长10UM左右的红外线,被动式红外探头就是靠探测人体发射的10UM左右的红外线而进行工作的。人体发射的10UM左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上。红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生信号。1D脚 2S脚 3G脚图2-6 热释电红外传感器内部结构图2-6是一个双探测元热释电红外传感器的结构示意图。使用时D端接电源正极,G端接电源负极,S端为信号输出。该传感器将两个极性相反、特性一致的探测元串接在一起,目的是消除因环境和自身变化引起的干扰。它利用两个极性相反、大小相等的干扰信号在内部相互抵消的原理来使传感器得到补偿。对于辐射至传感器的红外辐射,热释电传感器通过安装在传感器前面的菲涅尔透镜将其聚焦后加至两个探测元上,从而使传感器输出电压信号。制造热释电红外探测元的高热电材料是一种广谱材料,它的探测波长范围为0.220m。为了对某一波长范围的红外辐射有较高的敏感度,该传感器在窗口上加装了一块干涉滤波片。这种滤波片除了允许某些波长范围的红外辐射通过外,还能将灯光、阳光和其它红外辐射拒之门外。第3章 硬件设计3.1 基本单片机系统8051单片机最早由Intel公司推出, 作为系统的控制器,单片机算术运算功能强,软件编程灵活,自由度大,可用软件编程实现各种算法,并且具有功耗低,体积小,技术成熟,成本低廉。在各个领域应用广泛。而且我们也比较熟悉这款芯片,因此采用8051构成系统控制部分。这是自动门系统的控制核心, 一般情况下以单片机片内的基本硬件资源为主,有必要时再扩展部分外部器件。在本设计中需要完成的控制比较简单,以单片机片内的基本硬件资源完全可以实现, 因此不需扩展。其单片机电路图如图3-1。图3-1 单片机电路图3.2 红外检测电路红外检测电路主要由热释电红外传感器和检测放大电路组成,核心元件是热释电红外传感器,它能以非接触形式检测人体辐射出的红外线能量变化,并将此变化转化为电压信号输出。不需要红外线和电磁波发射源以及各种主动接触开关由于敏感元件的输出电压极微弱且其阻抗很高,故在传感器内部设有场效应管及偏置厚膜电阻,从而构成信号放大及阻抗变换电路, 一般热释电红外传感器自身的接收灵敏度较低, 检测距离仅2m 左右。当有人靠近自动门时,被热释电红外传感器接收下来,并将其转换成信号,经检测放大电路内部放大(约500倍)后使继电器产生吸合,从而输出开关量输出给单片机。其热电释红外检测电路如图3-2所示。图3-2 热电释红外检测电路3.3 步进电机步进电动机是纯粹的数字控制电动机:它将电脉冲信号转变成角位移,即接收一个脉冲信号,步进电动机就转动一个角度。因此作常适合于单片机控制,近30年来,数字技术、计算机技术和水磁材料的迅速发展推动步进电动机的发展,为步进电动机的应用开辟了广阔的前景。3.3.1 步进电动机的特点及选型1、步进电动机的特点:(1)步进电动机的角位移与输入脉冲数严格成正比具有良好的跟随型。以由步进电动机与驱动电路组成的开环数控系统,既非常简单、廉价,又非常可靠。同时,它也可以与角度反馈环节组成高性能的闭外数控系统。(2)步进电动机的动态响应快,易于起停、正反转及变速。(3)速度可在相当宽的范围内平滑调节。低速下仍能保证获很大转矩,因此,一般可以不用减速器而直接驱动负载。(4)步进电动机只能通过脉冲电源供电才能远行。它不能直接使用交流电源和步进电源。(5)步进电动机存在振荡和失步现象,必须对控制系统和机械负载采取相应的措施。(6)步进电动机自身的噪音和振动较大,带惯性负载的能力较差。2、步进电动机的选型:(1)步进电机转矩的选择步进电机的保持转矩,近似于传统电机所称的“功率”。当然,有着本质的区别。步进电动机的物理结构,完全不同于交流、直流电机,电机的输出功率是可变的。通常根据需要的转矩大小(即所要带动物体的扭力大小),来选择哪种型号的电机。大致说来,扭力在0.8N.m以下,选择20、28、35、39、42(电机的机身直径或方度,单位:mm);扭力在1N.m左右的,选择57电机较为合适。扭力在几个N.m或更大的情况下,就要选择86、110、130等规格的步进电机。(2)步过电机转速的选择对于电机的转速也要特别考虑。因为,电机的输出转矩,与转速成反比。就是说,步进电机在低速(每分钟几百转或更低转速,其输出转矩较大),在高速旋转状态的转矩(1000转/分-9000转)就很小了。当然,有些工况环境需要高速电机,就要对步进电动机的线圈电阻、电感等指标进行衡量。选择电感稍小一些的电机,作为高速电机,能够获得较大输出转矩。反之,要求低速大力矩的情况下,就要选择电感在十几或几十mH,电阻也要大一些为好。(3)步进电机空载起动频率的选择步进电机空载起动频率,通常称为“空起频率”。这是选购电机比较重要的一项指标。如果要求在瞬间频繁启动、停止,并且,转速在1000转/分钟左右(或更高),通常需要“加速启动”。如果需要直接启动达到高速运转,最好选择反应式或永磁电机。这些电机的“空起频率”都比较高。(4)步进电机的相数选择步进电机的相数选择,这项内容,很多客户几乎没有什么重视,大多是随便购买。其实,不同相数的电机,工作效果是不同的。相数越多,步距角就能够做的比较小,工作时的振动就相对小一些。大多数场合,使用两相电机比较多。在高速大力矩的工作环境,选择三相步进电机是比较实用的。因为本设计需要步进电机空气频率较高,所以设计选用的是永磁式步进电动机。3.3.2 驱动控制系统的组成使用、控制步进电机必须由环形脉冲,功率放大等组成的控制系统,因此 ,选用ULN2003作为步进电机的驱动器。其方框图如图3-3所示。信号分配脉冲信号负载步进电机功率放大图3-3 驱动控制系统图步进电动机的驱动电路根据控制信号工作。在步进电动机的单片机控制中,控制信号由单片机产生。其基本控制作用如下:反应式步进电动机控制换相顺序:步进电动机的通电换相顺序严格安照步进电动机的工作方式进行。通常我们把通电换相这过程称为脉冲分配。三相六拍步进电机工作方式通电换相的正序是A-AB-B-BC-C-CA;反序为A-CA-C-BC-B-AB;共有八个通电状态。3.3.3 斩波驱动 斩波恒流驱动的原理如图3-4所示。T1是一个高频开关管。T2开关管的发射极接一只小电阻只,电动机绕组的电流经这个电阻到地,所以这个电阻是电流取样电阻。比较器的一端接给定电压Uo,另一端接取样电阻上的压降,当取样电压为0时,比较器输出高电平。图3-4 斩波恒流驱动电路原理图 当控制脉冲Ui为低电平时T1和T2两个开关管均截止;当U1为高电平时,T1和T2两个开关管均导通,电源向绕组供电。由于绕组电感的作用,只上的电压逐渐升高,当超过给定电压Uc的值时,比较器输出低电平,使与门输出低电平、Tl截止,电源被切断;当取样电阻上的电压小于给定电压时,比较器输出高电乎,与门也输出高电平,T1又导通,电源又开始向绕组供电。这样反复循环,直到Ui为低电平。3.4 检测模块 检测有无人进出采用对射主动红外探测器。限位开关则由磁开关来实现。 生活中的检测防范装置有许多种,其中对射红外探测器的应用最为广泛,它由发射器和接收器两部分组成。其中发射器发射出一定波长的红外线,平时状态下由接收器接收,但如果发射器所发射的红外线被物体挡住,就会发出报警信号。 设计在自动门的门内门外一定高度处各设置一个对射探测器。并由导向管套住发射管和接收管,确保所发出的光线是一束,而且不宜受其他光线的干扰。接收管的光线被阻挡时输山高电平信号。两接收器的输出端接到一个或门上,再经过一个非门接到INT0引脚。这样不论是有人进门或有人出门,都会有低电平信号输入INT0端口,从而使单片机得到有人的信息,并调用相应程序执行相应的开门动作。限位开关分别设置在开门极限位置、关门极限位置、和一半处的位置。此开关是这样种器件:半有磁铁在其附近时,磁开关就被吸为关闭状态,输出高电平,相反输出低电平。将两小块磁铁分别置于门的右上角位置,则当自动门移到限位开关处时,此开关就会被吸合,发出高电平信号,分别输出给P0.4、P0.5、P0.6这三个引脚,单片机经过查询这三个引脚来判断到那个限位开关,再执行变速或停止的相应动作。整体电路如图3-5所示。图3-5 整体电路图第4章 软件设计4.1 系统软件结构整个系统软件主要由主程序、开门子程序、关门子程序、T0中断服务程序、T1中断服务程序、外部中断服务子程序组成。主程序主要是完成系统进行初始化、中断设置等功能。程序设计中设置了一个外部中断0,它保证红外自动门能够在无人操控情况下自动运行,主要功能是当检测到有人出入门时,启动电机,从而实现自动开关门的目的。4.2系统主程序及主流程图主程序源代码: K0 BIT P1.0 ; 开关1 K1 BIT P1.1 ; 开关1 K2 BIT P1.2 ; 开关1 K3 BIT P1.3 ; 开关1 YR BIT P1.4 ; 有人 FW BIT P1.5 ZS0 BITP1.6 ;复位完成 OPEN BIT P3.0 ; 开门信号 CLOSE BIT P3.1 ; 关门信号 YR1 BIT P3.2 ; 第一次有人信号 DJ BIT P3.4 ; 加速电机信号 STATE BIT 00H ; 门状态 ZS BIT P3.5 ;自动复位指示灯 X1 BIT P2.0; X2 BIT P2.1 X3 BIT P2.2 X4 BIT P2.3 MOV R4,A INC R1 CLR A SUBB A,R4 XCH A,R4 DEC R1 ORG 000H AJMP MAIN ORG 0003H AJMP L0 MAIN: CLR CLOSE CLR OPEN CLR DJ SETB ZS0 ORL P1,#0FFH CLR IE0 SETB EX0 SETB EA AJMP $ L0: CLR EX0 SETB P3.5 CLR ZS0LOOP8: JB STATE,LOP6 ACALL DOOR_OPEN LOOP7: ACALL DELAY CLR STATE JNB YR,LOOP7 CLR DJ SETB CLOSE L1: JNB YR,LOP1 SETB X1 CLR X2 CLR X3 CLR X4 ACALL DELAY2 SETB X4 CLR X1 ACALL DELAY2 SETB X3 ACALL DELAY2 CLR X4 ACALL DELAY2 SETB X2 ACALL DELAY2 CLR X3 ACALL DELAY2 SETB X1 ACALL DELAY2 JB K2,L1 SETB DJ JMP L2LOP6:JMPLOOP6L2: JNB YR,LOP2 SETB X1 CLR X2 CLR X3 CLR X4 ACALL DELAY3 SETB X4CLR X1 ACALL DELAY3 SETB X3 ACALL DELAY3 CLR X4 ACALL DELAY3 SETB X2 ACALL DELAY3 CLR X3 ACALL DELAY3 SETB X1 ACALL DELAY3 JB K1,L2 CLR DJ JMP L3 LOP1:JMP LOOP1 LOP2:JMP LOOP2 LP7:JMP LOOP7L3: JNB YR ,LOOP4 SETB X1 CLR X2 CLR X3 CLR X4 ACALL DELAY2 SETB X4CLR X1 ACALL DELAY2 SETB X3 ACALL DELAY2 CLR X4 ACALL DELAY2 SETB X2 ACALL DELAY2 CLR X3 ACALL DELAY2 SETB X1 ACALL DELAY2 JB K0,L3 LOOP6: CLR CLOSE CLR STATE SETB EX0 CLR P3.5 ACALL DELAY1 CLR P1.5 ACALL DELAY1 SETB P1.5 JNB STATE,$ LOOP4: JB STATE, LOP9 CLR DJ CLR CLOSE SETB OPEN Z4: SETB X1 CLR X2 CLR X3 CLR X4 ACALL DELAY2 SETB X2 ACALL DELAY2 CLR X1 ACALL DELAY2 SETB X3 ACALL DELAY2 CLR X2 ACALL DELAY2 SETB X4 ACALL DELAY2 CLR X3 ACALL DELAY2 JB K1,Z4LOOP2: SETB DJ ; 高速开门 CLR CLOSE SETB OPENZ5: SETB X1CLR X2CLR X3CLR X4ACALL DELAY3 SETB X2 ACALL DELAY3 CLR X1 ACALL DELAY3 SETB X3 ACALL DELAY3 CLR X2 ACALL DELAY3 SETB X4 ACALL DELAY3 CLR X3 ACALL DELAY3 JB K2,Z5 JMP LOOP1LOP9:JMP LOOP9 LOP7: JMP LP7LOOP1: CLR DJ ; 低速运行 CLR CLOSE SETB OPEN Z6: SETB X1 CLR X2 CLR X3 CLR X4 ACALL DELAY2 SETB X2 ACALL DELAY2 CLR X1 ACALL DELAY2 SETB X3 ACALL DELAY2 CLR X2 ACALL DELAY2 SETB X4 ACALL DELAY2 CLR X3 ACALL DELAY2 JB K3,Z6 CLR OPEN SETB STATE JB STATE,LOP7LOOP9:RET DOOR_OPEN:JB STATE, LOOP3 CLR DJ CLR CLOSE SETB OPEN ; 低速启动 Z1: SETB X1 CLR X2 CLR X3 CLR X4 ACALL DELAY2 SETB X2 ACALL DELAY2 CLR X1 ACALL DELAY2 SETB X3 ACALL DELAY2 CLR X2 ACALL DELAY2 SETB X4 ACALL DELAY2 CLR X3 ACALL DELAY2 JB K1,Z1Z2: SETB X1CLR X2CLR X3CLR X4ACALL DELAY3 SETB X2 ACALL DELAY3 CLR X1 ACALL DELAY3 SETB X3 ACALL DELAY3 CLR X2 ACALL DELAY3 SETB X4 ACALL DELAY3 CLR X3 ACALL DELAY3 SETB DJ ; 高速开门 JB K2,Z2Z3: SETB X1 CLR X2 CLR X3 CLR X4 ACALL DELAY2 SETB X2 ACALL DELAY2 CLR X1 ACALL DELAY2 SETB X3 ACALL DELAY2 CLR X2 ACALL DELAY2 SETB X4 ACALL DELAY2 CLR X3 ACALL DELAY2 CLR DJ ; 低速运 JB K3,Z3 CLR OPEN ; 停机 SETB STATE ; 保存门状态 LOOP3: RETDELAY: LCALL DELAY100MS INC R1 CJNE R1,#30,DELAY MOV R1,#0 RETDELAY1: LCALL DELAY100MS INC R1 CJNE R1,#10,DELAY1 MOV R1,#0 RET DELAY2: LCALL DELAY100MS INC R1 CJNE R1,#6,DELAY1 MOV R1,#0 RET DELAY3: LCALL DELAY100MS INC R1 CJNE R1,#1,DELAY1 MOV R1,#0 RET DELAY100MS: MOV R7,#100DL1: MOV R6,#8EHDL0: MOV R5,#02H DJNZ R5,$ DJNZ R6,DL0 DJNZ R7,DL1 RET END 主流程图: 开始外部中断有人人?开门电机开到k1加速电机开加速电机关到k2有人关门电机开到k2加速电机开有人到k1等待等待等待加速电机关有人开门电机关延时3s到k3有人等待到k0停机复位结束 图4-1 系统主程序流程图在开门过程中首先进行门状态检测,根据所检测到的信号判断自动门上停机所处位置。根据检测结果确定门此刻应运行方式,如检测出门是半开状态,门直接转入加速开门的过程。如检测出门是全开状态,门转入延时开门过程。如检测出门是全关状态,那么在检测到有人出人时,门会缓慢打开,之后加速运行,接着减速运行,最后电机停止运转,门由于惯性缓慢关闭。自动门开门后暂停一段时间,然后关门。关门是开门的一个反过程,它经过慢速运行、加速运行、减速运行、惯性运动直至停止这几个过程。在自动门关闭过程中当系统接收到由红外线传感器电路发出的有人出入的信号时,门会重新打开。与开门情况不同的是当在关门过程中检测到故障信号时门会朝反方向运动,将门打开,这样可以排除因自动门遇到障碍物或人身体而产生故障信号使整个系统停止工作的可能。4.2 门行程检测门行程检测电路通过检测门行程开关的闭合情况来发送不同的信号,使电机改变转速,进而控制门运行的速度以提高运作效率,为了保护门不受到损害和保证门运行效率,在门行程检测电路中设置了四个行程开关。它们分别代表开门极限、行程极限1、行程极限2、关门极限。门在开启过程中,分别经过慢速、加速、减速和停止四个过程,门的关闭过程则与上述过程相反。门运行到极限位置时,限位开关动作,单片机根据接收到响应的信号,改变电机运行速度。 第5章 系统仿真及调试5.1 系统仿真调试第一步调试是软件对所编程序的调试,看是否存在语法错误。一般来说这一步很容易实现。但是刚开始进行调试时一下子出来了500多处错误。后来发现我将微机原理中的指令和单片机的指令搞混了。虽然有好多指令是通用的,但并不完全一致。如微机中的CMP比较指令在单片机中不可用。还有点格式上的错误就是在十六进制立即数的A、B、C、D、E、F前必须加上0,不然系统不认识。改过来之后顺利完成了这一步的调试。有些错误是因为敲程序时太快了,记忆符都写错,一改正错误提示减少了很多。下图5-1是调试的截图。第二步是将程序利用汇编软件Keil 对已经调试好的程序进行汇编在线调试,变成可执行的目标代码装入。Keil 中可以进行模拟仿真,对软件进行单步调试。这可以让用户清晰的看到程序执行到何处,哪里出现错误。这一步主要看程序是否有逻辑上的错误,语法没错远远不代表着软件调试成功。在必要的时候可以设置端口状态和断点,并查看标志位和各寄存器的状态。如有逻辑错误,改正之后,再重新回到开始调试,直至逻辑错误消除为止。硬件调试与软件调试是不能完全分开的,许多硬件的错误是通过对软件的调试而发现和纠正的。在进行单步执行时,定时程序在计数器溢出后就自动跳出,但在实际调试过程中,它却一直在循环程序中,不往下执行。后来经过程序的改进,解决了此困难。我在软件调试的过程中发现我的程序比较复杂且逻辑不清晰,主要是由于采用了中断的方法,在中断服务程序中每个程序都需要考虑很多情况,处于半处限位开关的左侧怎么办,另一侧又应如何等。导致程序很长且逻辑混乱。后来我重新编写了一个程序并换了一种思路,跟踪门的来回这一动作路线来编程。这样可以清晰的知道门处于何位置,应调用何种速度。程序采用查询的方法来实现有无人的检测和到没到限位开关的判断。这样,不但思路清晰了许多,而且变短了不少。5.2 调试结果图5-1 调试5.3 仿真结果图5-3 仿真结果结 论在此次有关自动门的控制系统的设计,让我感觉到了单片机的复杂深度性,它很贴切我们的日常生活,无所不在,应用无处不有,它并不是想象中的那么简单,也并非是无法克服的堡垒。设计硬件之前,要首先收集好有关的基础性资料,应备有良好的应用类参考书和专业类参考书。对于有关的科技期刊和专利文献,也要经常阅读以便了解最新的发展情况,借鉴现成的经验,避免重复劳动。在设计中,要充分了解所用芯片的使用条件及输入输出的特性,这样才能避免因使用错误而多走弯路。电路设计部分应该有的精神就是广集资料。只凭借自己头脑中的知识是远远不够的。哪里出现了问题,就要翻书本,或上网查资料。当然也要开动自己的脑筋怎样使系统电路更完美。例如我的设计题目是基于单片机的自动门控制系统设计。有自动门,自然会用到电动机,每种电机都有不同的特性和功能,你就要进行选择了。例如对电机的选择,你就要选择你所熟悉的,所了解的。在电路设计时,应充分发挥单片机的记忆运算、判断控制能力,避免采用复杂的、稳定性较差的模拟电路。本设计程序以汇编语言语言编写,易于读写、易于调试和修改,同时汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快。为了使微机控制系统各种硬件设备能够正常运行,有效地实现电机各个控制环节的实时控制和管理,除了要设计合理的硬件电路,还必须要有高质量的软件支持。因此用汇编语言编写电机单片机实施控制的应用程序,是整个系统中十分重要的内容。最后我非常感谢老师给我这么好的学习机会,让我亲身去体会一个项目开发的艰难性。参考文献【1】李朝清刘艳玲单片机原理及接口技术北京:航空航天大学出版社【2】张迎新单片机初级教程【M】 北京:北京航空航天打大学出版社【3】李群芳,等单片机计算机与接口技术【M】 北京:电子工业出版社,2001【4】陈堂敏.刘焕平主编. 单片机原理与应用.北京:北京理工大学出版社,2007.【5】张毅刚单片机原理及应用M北京:高等教育出版社,2010.【6】蔡美琴MCS-51系列单片机系统及其应用M北京:高等教育出版社,2004
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!