收藏 分销(赏)

基于单片机的自动门控制系统.doc

上传人:精*** 文档编号:2281142 上传时间:2024-05-24 格式:DOC 页数:27 大小:201.04KB
下载 相关 举报
基于单片机的自动门控制系统.doc_第1页
第1页 / 共27页
基于单片机的自动门控制系统.doc_第2页
第2页 / 共27页
基于单片机的自动门控制系统.doc_第3页
第3页 / 共27页
基于单片机的自动门控制系统.doc_第4页
第4页 / 共27页
基于单片机的自动门控制系统.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、(完整word)基于单片机的自动门控制系统完整毕业设计报告 题 目: 院 系: 信息与控制学院 专 业: 班级学号: 学生姓名: 指导教师: 成 绩: 2014 年 月 日目 录1 方案设计11。1 设计任务要求11。2 硬件方案设计11。3 软件方案的设计11。4 主要设计的实现原理12 硬件设计12.1 单片机的简介12。2 硬件器件选择12。2。1 单片机选型12.2。2 按键部分12.2.3 人体检测传感器12。2.4 光电检测传感器12.3 单片机最小系统12.4 按键部分电路图12。5 光电检测部分12。6 人体热释电传感器12.7 电机驱动电路13 软件部分设计13.1 总程序设

2、计13。2 按键程序流程图13.3 定时器0中断13.4 门控判断程序1参考文献1附录A 系统原理图1附录B 程序代码1附录C 实物图片1I1 方案设计1。1 设计任务要求对于自动门控制系统,需要实现的功能如下所示:(1)自动检测功能:能够自动检测门的附近是否有人,如果有人则开启该门,在没有人体信号时,延时数秒后自动关闭。(2)安全保护功能:关门时,检测门导轨上是否有人,如果有则停止关门,并迅速打开门,防止人被挤住。(3)电机调速功能:能够通过单片机控制电机的速度,开门关门时需要有个加速与减速的过程.(4)按键输入功能:能够通过按键来控制门自动还是手动运行,在特殊情况下需要手动来操作该门。(5

3、)门开关限位功能:在开门与关门的时候能够检测到门的限位开关,来检测是否到门的关门与开门的限位。1。2 硬件方案设计本设计选用STC89C52单片机作为本设计的微控制芯片。按键部分采用独立式按键, 人体检测部分,使用红外热释电传感器对外部人体信号进行检测。光电检测传感器使用TCRT5000光电传感器进行检测。硬件部分框图如图1.1所示。单片机按键输入电机驱动晶振电路安全检测人体检测复位电路限位开关检测图1。1 硬件部分框图自动门控制系统的硬件组成如图1.1所示,本系统主要由STC89C52RC单片机及其外围电路、红外检测电路,门行程检测电路、直流电机控制电路、安全检测电路等部分组成,单片机与晶振

4、复位电路构成最小系统电路,作为主控电路,来协调外部其他各部分硬件电路,各个电路的功能如下:(1)晶振电路给单片机提供时钟系统,让单片机能够有运行的节拍与动力,晶振与单片机内部的电路一同构成了一个波形发生电路,输出与晶振频率相同的时钟,该时钟用作单片机的运行.(2)复位电路复位电路为单片机提供一个足够的开机运行的复位脉冲,能够让单片机在上电时有足够的时间复位。(3)按键输入部分按键输入部分用来作为人机交互界面部分,能够控制门的手动开关,切换自动模式与手动模式。(4)电机驱动部分电机驱动部分,用来驱动直流电机,单片机输出控制信号,来进行对电机的调速(5)安全检测安全检测部分用来检测是否有人被夹,能

5、够提供使用者的安全。(6)人体检测人体检测用来检测是否有人接进门附近,检测到信号后单片机开始驱动外部电路开门。(7)限位开关限位开关主要用来检测开关门的行程位置。1.3 软件方案的设计C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点.随着微型计算机的日益普及,出现了许多C语言版本.由于没有统一的标准, 使得这些C语言之间出现了一些不一致的地方.为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准,成为现行的C语言标C语言是世界上最流行、使用最广泛的高级程序设计语言之一。在操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其

6、它高级语言,以前有许多大型应用软件都是用C语言编写的(由于面向对象编程技术的出现,大型软件转由C+、JAVA、C再配合C语言开发;C语言在面对大型的软件开发时,会显得有些吃力)C语言绘图能力强,具有可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言.对于编译软件则使用Keil C51软件。Keil C51软件为目前相当流行的51系列单片机开发软件,它是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程。Keil是目前最好的51单片机开发应用软件。它是一款通俗易懂易于上手的单片机程序开发软件,与其他的单片机软件有很好的兼容性。

7、我们在日常的学习中都是使用这个软件,所以在本次设计中我使用Keil C51软件进行程序的编译。1。4 主要设计的实现原理本次设计是红外线自动门控制系统,使用红外线传感器作为感应器,检测到人体辐射的红外线能量变化,将其转化为电信号,传给单片机,单片机通过驱动H桥电路来驱动直流电机,来使门开关,在关门的时候使用光电传感器进行检测,是否有人在门轨道上,如果有则停止关门,防止有人被夹,通过单片机控制交流电机,使门自动打开,当人进门后又可以使门自动关闭.本课题主要实现红外线检测和基于STC89C51的单片机控制系统。2 硬件设计2.1 单片机的简介单片机是把一个计算机系统集成到一块芯片上,它是采用大规模

8、集成电路技术把中央处理器CPU、随机存储器RAM、只读存储器ROM、各种I/O口和中断系统、定时器等功能集成到一个芯片上构成的一个简小而完善的微型计算计系统.单片机已成为电子设计中使用最多最广泛的元件,它的体积小、低电压、低功耗、可靠性高、处理功能强、控制功能强、环境适应能力强、使用方便等优点,主要在仪器仪表、家用电器和玩具、医用设备、计算机通信技术、智能测量设备、航空航天等领域被广泛应用。大概可分如下几个方面:在智能仪器仪表中,单片机的优点使它广泛应用于各种仪器仪表中,单片机通过不同类型的传感器,可以测量温度、频率、速度、长度、音量、光亮、电压、功率等物理量。利用单片机控制使得仪器仪表准确率

9、更高,灵敏度更高,测量速度更快。 在家用电器和玩具中,随着国内国外的快速发展,现在的家用电器各式各样,其中少不了单片机控制,例如电视、空调、洗衣机、微波炉、电饭锅等。现在孩子手中的玩具更少不了单片机控制,例如音乐盒、遥控车等等其它智能玩具.这使我们的生活不仅方便而且更加有趣。在计算机通信中,单片机能够在计算机网络和通信设备之间提供方便的条件。现如今的通信设备也在一步一步实现单片机智能控制,例如手机、对讲机、楼宇门呼叫对讲系统、列车和飞机无线通信.在汽车电子产品中,单片机也实现了它的价值,例如汽车的集中显示系统、动力、速度、压力监测控制系统、自动驾驶系统、导航系统、安全保护系统等。单片机在办公自

10、动化设备,商业营销设备等其他领域中中也有着广泛的应用,它使我们的生活变得更加方便快捷,更加丰富多彩,生活工具也越来越智能化,如今我们的生活离不开单片机, 它是我们生活中不可缺少的一部分.2。2 硬件器件选择2。2.1 单片机选型方案一:传统51单片机AT89C51AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS8位微处理器,该处理器单指令周期为1us(在12M晶振下),工作频率024MHz,并且该芯片支持仿真,是经典51单片机课程中的芯片,抗干扰能力强,但是随着科技速度的发展,该芯片慢慢被后继的芯片所替代,因为该芯片价格比较高,而且仿真器的成本较高,所以本设计不适于使用该

11、芯片。方案二:使用430单片机TI生产的430系列单片机为超低功耗单片机,被广泛应用于各类低功耗的产品中,该系列单片机的优点为,功耗非常低,而且具有丰富的外设,能够直接进行ADC采集,高端芯片还可以进行DAC输出,并且外围电路简单,I/O口具有可控的输入与输出的方式,由于本设计不考虑功耗,所以此单片机不做考虑使用.方案三:使用STC系列单片机STC系列单片机由宏晶公司生产,其以低廉的价格与丰富的内部资源,深受广大使用者的喜爱,他内核与AT89S51的功能完全相同,我们采用STC89C52单片机为主控芯片,这样更能体现我们此次设计的性价比。综上所述,本设计使用方案三选用STC89C52单片机作为

12、本设计的微控制芯片。2。2.2 按键部分方案一:行列扫描按键行列式按键适用于按键应用数目比较多的设计,例如手机、电子称等需要输入数据较多的设备,行列式按键的优点是节省I/O口资源,使用8个I/O口就可以实现16个按键,分为行扫描口与列扫描口,该方案编程比较复杂,而且必须对I/O口进行实时的扫描。方案二:使用独立按键由于本设计使用的按键功能较少,只需要清零,计数压力值设置,需要4个按键,所以本设计使用独立按键,作为按键的输入部分,独立按键硬件电路设计简单,并且编程方便简单,而且速度快,不需要对I/O口做频繁的操作.综上所述,本设计使用按键较少,使用方案二作为本设计的按键部分.2。2。3 人体检测

13、传感器人体检测部分,使用红外热释电传感器对外部人体信号进行检测,本设计使用人体热释电传感器模块HCSR501,对人体信号进行检测,当检测到人体信号时,模块返回一个高电平信号,当人体信号消失时,模块返回一个低电平信号,模块输入5V直流电压信号,单片机的I/O口与模块返回的信号直连。2.2。4 光电检测传感器光电检测传感器,用来检测关门时是否有东西在门轨道上,如果有检测到该信号则打开门,延时一定时间没有人体信号时在关闭,本设计使用TCRT5000光电传感器进行检测。2.3 单片机最小系统单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统,对本次设计使用单片机来说,最小

14、系统一般应该包括:单片机、晶振电路、复位电路3. 复位电路:由电容串联电阻构成,由图并结合“电容电压不能突变的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且这个高电平持续的时间由电路的RC值来决定。典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。一般教科书推荐C 取10u,R取8。2K当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平至于如何具体定量计算,可以参考电路分析相关书籍。晶振电路:典型的晶振值取11。0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口

15、通讯的场合)/12MHz。(1)复位电路的用途单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。单片机复位电路如图2.1所示。图2。1 89C51最小系统图(2)复位电路的工作原理在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位,所以可以通过按键的断开和闭合在运行的系统中控制其复位。在电路图中,电容的大小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7

16、倍(单片机的电源是5V,所以充电到0。7倍即为3。5V),需要的时间是10K10UF=0.1S。也就是说在电脑启动的0。1S内,电容两端的电压时在03.5V增加。这个时候10K电阻两端的电压为从51.5V减少(串联电路各处电压之和为总电压)。所以在0。1S内,RST引脚所接收到的电压是5V1。5V.在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。在单片机启动0。1S后,电容C两端的电压持续充电为5V,这时候10K电阻两端的电压接近于0V,RST处于低

17、电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从 5V释放到变为了1.5V甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3。5V,甚至更大,所以RST引脚又接收到高电平,单片机系统自动复位。2.4 按键部分电路图按键电路主要分为两种,一种为扫描式按键,所谓扫描式按键就是对按键进行定期的逐个或者逐行的扫描,然后通过判断扫描处的高低电平,判断按键是否按下,这种按键被广泛应用在移动设备与电气设备中;另外一种按键的检测方式为AD检测,每个按

18、键串一个电阻,组成一个电阻串联的网络,每个按键按下,对AD检测口所分的的电压就不相同,通过检测AD值的变化来达到按键检测的目的,该方式的优点是,使用的I/O口少,在单片机外围I/O资源不充足时比较适宜使用,但是该方法容易受到干扰,并且按键的个数受到ADC检测的精度约束,对于本设计由于使用的按键较少,并且单片机的I/O口资源比较丰富,所以使用独立式按键作为本设计按键的输入部分,其按键电路图如图2.2所示.如图2。2所示,本设计使用四个独立按键,每个独立按键占用单片机的一个I/O口,单片机在检测时,先将K1K4的I/O口的状态全都置为高电平,然后不断的检测这四个I/O口的状态,通过if语句判断是否

19、有I/O口为低电平,如果为低电平证明有按键按下,然后单片机需要做消除抖动的程序,因为有些时候从单片机的线上会进入一些干扰,这些干扰会使单片机误认为是按键动作,所以根据机械弹性的反弹接触曲线,做20ms的延时是最理想的,延时后再次检测按键,如果按键还是为低电平,则证明有按键按下,如果不是低电平则此按键信号为干扰信号,跳出程序,如果有按下则while(1)等待按键释放,这样就完成了整个独立按键功能的判断。图2.2 按键电路图2.5 光电检测部分光电检测部分电路图如图2。3所示,光电检测模块,接口如图所示,输入电压为5V直流信号输入,3、4引脚为地,2引脚为输出,模块中输出使用的是LM358运放做的

20、比较器输出,输出具有一定的驱动能力,所以不需要加上拉电阻,使用简单方便,当有信号挡道传感器前面时,INT1引脚返回高电平信号,否则返回低电平信号,INT1引脚接到单片机的P3.5上。图2。3 光电检测电路图2.6 人体热释电传感器人体热释电传感器模块使用HC-SR501,该模块的参数如下:1、全自动感应:人进入其感应范围则输出高电平, 人离开感应范围则自动延时关闭高电平,输出低电平.2、光敏控制(可选择,出厂时未设)可设置光敏控制,白天或光线强时不感应.3、温度补偿(可选择,出厂时未设):在夏天当环境温度升高至3032,探测距离稍变短,温度补偿可作一定的性能补偿。4、两种触发方式:(可跳线选择

21、)a、不可重复触发方式:即感应输出高电平后,延时时间段一结束,输出将自动从高电平变成低电平;b、可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。5、具有感应封锁时间(默认设置:2。5S 封锁时间):感应模块在每一次感应输出后(高电平变成低电平),可以紧跟着设置一个封锁时间段,在此时间段内感应器不接受任何感应信号。此功能可以实现“感应输出时间”和“封锁时间”两者的间隔工作,可应用于间隔探测产品;同时此

22、功能可有效抑制负载切换过程中产生的各种干扰。(此时间可设置在零点几秒几十秒钟)。6、工作电压范围宽:默认工作电压DC4.5V-20V.7、微功耗:静态电流19定时累计清0累计值 19 )Work_Mode = 2;break;case 2: /-匀速运行 直到检测到门限位信号if( SINGEL_FLAGE )SINGEL_FLAGE=0,Work_Mode = 3;break;case 3: /-减速关门if( Pwm_Val 0 )Pwm_Val;else Work_Mode = 4;break;case 4:Work_Mode = 0;if( DOOR_STAT = 2 )DOOR_ST

23、AT = 0;TR1 = 0;break;default:break;/*函数名称:void Int_Timer0( void ) interrupt 1*函数功能:定时器1中断函数 100HZ PWM 输出入口函数: *出口函数:*/void Int_Timer0( void ) interrupt 1TH0 = 0Xfc;TL0 = 0X17;Timer0_Com +;if( Timer0_Com 19 )Timer0_Com = 0;if( Timer0_Com Pwm_Val )if( DOOR_STAT = 1 )MOTOR_A = 0;MOTOR_B = 1;else if( DO

24、OR_STAT = 2 )MOTOR_A = 1;MOTOR_B = 0;else MOTOR_A = 1;MOTOR_B = 1;elseMOTOR_A = 1;MOTOR_B = 1;/*函数名称:KeyBoard_Deal*函数功能:按键处理函数*入口函数:wu *出口函数:none*/void KeyBoard_Deal( void )if( KEY_3 = 0 )delay_ms(20);if( KEY_3 = 0 )SINGEL_FLAGE = 1;beep(100);while( KEY_3 = 0 );if( KEY_4 = 0 )delay_ms(20);if( KEY_4

25、= 0 )if( WORK_FLAGE )WORK_FLAGE = 0;else WORK_FLAGE = 1;beep(100);while( KEY_4 = 0 );if( KEY_5 = 0 )delay_ms(20);if( KEY_5 = 0 )if( WORK_FLAGE = 0 )/-开门DOOR_STAT = 0; /-停止关门delay_ms(50);DOOR_STAT = 1;Work_Mode = 0;Pwm_Val = 0;TR1 = 1;beep(100);while( KEY_5 = 0 );if( KEY_6 = 0 )delay_ms(20);if( KEY_6 = 0 )if( WORK_FLAGE = 0 )/-关门DOOR_STAT = 0; /停止关门delay_ms(50);DOOR_STAT = 2;Work_Mode = 0;Pwm_Val = 0;TR1 = 1;beep(100);while( KEY_6 = 0 );附录C 实物图片25

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服