基于MCS单片机车库卷帘门自动控制的设计与实现修改版_第1页
基于MCS单片机车库卷帘门自动控制的设计与实现修改版_第2页
基于MCS单片机车库卷帘门自动控制的设计与实现修改版_第3页
基于MCS单片机车库卷帘门自动控制的设计与实现修改版_第4页
基于MCS单片机车库卷帘门自动控制的设计与实现修改版_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于MCS-51单片机车库卷帘门自动控制的设计与实现基于MCS-51单片机车库卷帘门自动控制的设计与实现作者 翟娜娜 指导教师 吴小香【摘要】 本次设计方案以控制芯片AT89S51作为整个系统的控制中心,步进电机驱动芯片ULN2003A为驱动器,结合两个按钮来控制步进电机的正转、反转和制动,从而实现车库卷帘门的上升、下降及停止功能;同时,采用三种颜色的LED来分别显示车库卷帘门自动控制的三种状态。系统硬件设计利用Protel99 SE工具来实现;软件设计基于Keil C51+Proteus开发环境,对指令代码进行编译检查和调试并生成(.HEX)文件载入单片机中进行仿真模拟,保障系统功能的正确实

2、施。除此之外,结构简单、成本低廉、计数准确的设计系统具备功能扩展的优越性,与此同时,为后续的二次研发奠定了基础。【关键词】 AT89S51;ULN2003A;步进电机;C51语言51 MICROCONTROLLER INFRARED AUTOMATICSENSOR SHUTTER DOORS【Abstract】The design scheme based on MCU AT89S51 as the control chip, the motor drive chip ULN2003A, forward, and reversal by two buttons to control the s

3、tepper motor to stop, so as to realize the rise, garage door down and stop function; in addition, using three color LED to respectively display three kinds of state automatic garage rolling shutter door. Procedures for the use of C51 language, Protel99 SE circuit design, Keil C software compiler gen

4、eration (.HEX) file and simulation by Proteus. In addition, this system also has the characteristics of simple structure, low cost, accurate counting, but also has the function of the expansion of the function, provides the basis for the later twoProvides basic research【Keywords: hotel】AT89S51;ULN20

5、03A;Stepping motor; C51 language 目 录第一章 绪 论31.1设计背景31.2 设计内容41.3 设计意义5第二章 方案设计及技术基础62.1 设计方案62.2 MCS-51单片机及开发环境介绍72.2.2 开发环境介绍142.3主要芯片元器件及功能介绍152.3.1 电机驱动芯片152.3.2 步进电机结构及工作原理17第三章 硬体设计193.1电源设计193.2单片机复位电路203.3单片机时钟系统223.4 电机驱动电路233.5 按键控制电路253.6 状态显示电路26第四章 单片机软体设计284.1 系统程序框图284.2 电机控制程序304.3 显示

6、程序设计324.4 延时子程序32第六章 系统安装与仿真调试335.1 系统安装335.2 系统仿真调试335.2.1软件仿真调试335.2.2硬件调试34第六章 结束语35参考文献36致 谢37附 录A 元件清单38附 录B 设计原理图39附 录C 源程序40 第一章 绪 论1.1设计背景步入21世纪,门的安全理念显得更加重要,主要体现在实施的有效性(防范、通行、疏散的有效性),此外还特别加强了建筑美感,使得门与建筑、环境达到前所未有的协调、和谐。门被大规模专业化生产可追溯到150年前,随着生产技术的自我发展与完善,一些规模大、专业性强的制造商脱颖而出,推动自身行业的快速发展。值得一提的是,

7、自从自动卷帘门进入人们的日常生活时,以其惊人的发展速度,形成种类齐全、功能多元化、造工精细的自动卷帘门生产体系。依据场合和所需功能的不同,自动控制门可分为平移自动门、平开自动门、旋转自动门、折叠自动门、自动卷帘门等,本设计主要针对车库自动卷帘门的智能化控制进行分析与模拟制作。在如今生活和工作节奏都比较快的时代,为了使自己的生活更加简捷化,各种各样的智能控制器逐步进入人们的工作与生活当中并充当着重要角色。其中,关于自动卷帘门的智能控制器这一块的选取,常见的有微机控制器和PLC。前者具有体积小、方便安装和低成本等优点。在一些小型商场、地下车库和个体经营户等领域应用比较广泛。而对于高稳定性、方便维护

8、的PLC控制主要在一些大型商场运用比较广泛。其中基于MCS-51单片机为CPU的自动卷帘门系统是占了绝大部分。尤其是近几年步进电机、脉冲分配器和功率放大器的快速发展和功能的不断提升,使得自动卷帘门的动力源有了充分保障。由于智能控制器具有先天性优势,即高稳定性,高安全性等,引发了许多工厂从事这一生产领域,当然竞争的激烈性可想而知。虽然,目前市场上还有通过继电器控制的卷帘门,但由于其结构和连接线路比较复杂,二次开发性低等缺点,因此越来越不被人亲睐。伴随着我国经济的腾飞,自动卷帘门广泛地运用于各个领域,同时又促进经济的发展。但由于国内自主研发自动卷帘门的技术尚不成熟,所以基于此作为当代大学生的我们有

9、必要针对这一项技术的理解与开发进行研究。1.2 设计内容 此次设计本着简单易行和可操作性强的目标为出发点,主要学习和研究车库卷帘门的结构和自动控制的工作原理。本方案通过AT89S51单片机作为车库卷帘门的主控制器,芯片ULN2003A驱动电机作为系统的动力部分,另外加上三个功能按键(S1S2&S3)来实现对四相六线制步进电机正转、反转和停止的控制,进而实现车库卷帘门自动上升、下降和停止三种功能,以便车辆的安全出入。 另外,此次设计方案主要是为了学习和理解当代车库卷帘门的工作原理,不方便制作实物,故会通过三种颜色的LED灯相应的表示车库卷帘门的三种工作状态,即红色代表停止;绿色代表上升;黄色代表

10、下降。自动卷帘门结构如图所示:1.3 设计意义 在科学技术不断进步以及人们生活质量不断提高的社会,私家车越来越多,他们不再愿意让自己的爱车风餐露宿,想拥有一个智能化的私家车库成为所有有车一族的梦想。智能化车库的自动卷帘门以其美观、智能易控制而且可实现无人管理等特点,备受私家车主的青睐。 此外,进行“基于MCS-51单片机车库卷帘门自动控制与设计”控制系统的设计,对自动门行业的发展具有积极意义,增强了智能控制器在自动门领域乃至整个自动化行业的作用,有利于经济和理论的研究。本设计在自动卷帘门应用这一大背景下,充分利用单片机技术来完成车库卷帘门的自动控制并通过Proteus仿真来制作模型,制作过程中

11、涉及单片机、电路设计与仿真、测试与焊接等多项知识和技能,为以后走向工作岗位培养实用技能打下坚定基础,与此同时方案本身与功率放大器和按键相结合,使其更具现实意义。通过对基于51单片机控制的车库卷帘门的研究,将理论应用于实际,对加强所学知识的理解和运用有着积极作用。由于电路设计简单、软件可反复编写、性价比高等特点,使用价值和参考价值比较高。从最初方案的评估、方案的拟定、线路设计、仿真调试到元件采购与实物焊接,充分体现了统筹兼顾的思想,这也为以后的工作能力的培养奠定基础。 第二章 方案设计及技术基础2.1 设计方案 硬件方案 本次设计的硬件方案主要包括:电源设计、按键输入设计、单片机最小系统设计、L

12、ED状态显示设计以及电机驱动的设计 各部分功能实现如下: 电源电路:为整个系统提供+5V电压,保证系统正常工作 按键输入设计:控制步进电机运行状态 单片机最小系统:保证单片机系统的正常工作 LED状态显示电:用于显示电机转动信息和车库卷帘门的工作状态 电机驱动电路:驱动电机转动 软件方案 本系统设计的软件部分主要完成功能:步进电机的启动、停止、和正反转、键盘扫描和LED显示。 其中各个模块的具体任务如下: 键盘扫描模块:实现对电机的控制,进而控制自动卷帘门 LED显示模块:实时显示步进电机的运行状况和卷帘门的工作状态 正反转控制模块:通过调用相序的不同来控制电机正反转 2.2 MCS-51单片

13、机及开发环境介绍单片微型计算机(Single-Chip Microcomputer)简称单片机。它在一块芯片上集成了中央处理器(Central Processing Unit,CPU)、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、定时器/计数器以及I/O(Input/Output)接口等部件,这些部件构成了一个完整的微型计算机。单片机是现代电子设计中使用最广泛的电子元件。它的价格低廉,功能强大,体积小,性能稳定,深受广大电子设计爱好者的喜爱。目前各类产品中都能看到单片机的身影,如门铃、报警器、玩具、自动卷帘门,以及

14、各类数据采集系统等等。 我们一般所说的51系列单片机,是MCS-51系列及其兼容的单片机。Atmel公司的AT89C系列、AT89S系列这些兼容的单片机仍然采用MCS-51的结构和指令系统,只是功能和内部资源等方面有所扩展。本次设计采用AT89S51单片机作为整个系统的控制核心。图2-1 AT89S512.2.1 AT89S51单片机简介 AT89S51单片机的内部结构 中央处理器(CPU) 中央处理器(CPU)是整个单片机的核心部件。MCS-51系列单片机是8位数据宽度的处理器,它能处理8位二进制数据或代码。CPU主要由算术逻辑部件、控制器和专用寄存器三部分电路组成。它负责控制、指挥和调度整

15、个单元系统协调的工作,完成运算和控制输入输出功能等操作。 程序存储器(ROM) Atmel公司的AT89S系列单片机采用4KB FLASH存储器,用于存放用户程序、原始数据或表格。 数据存储器(RAM) AT89S51的内部有128个RAM数据存储单元,这些单元可以存放读写的数据,运算的中间结果或用户定义的字型表。 定时/计数器 AT89S51有两个可编程定时/计数器,以实现定时或计数功能。它也可以产生中断,从而控制程序转向。 并行输入输出(I/O)口 单片机需要和外部设备进行通信,以便处理外部的输入和将运算结果反馈到外部设备。AT89S51共4组8位I/O口(P0、P1、P2、P3),用于对

16、数据的读入和输出。 全双工串行口 AT89S51内置一个全双工串行通信口,由于与其它设备之间的串行数据传送。该串行口既可以用作异步通信收发器,也可以当同步移位器使用。 中断系统 AT89S51具有完善中断功能,有两个外部中断、两个定时/计数中断和一个串行中断,这些功能可满足不同的控制要求,并具有4级的优先级别选择。 时钟电路 AT89S51内置最高频率达12MHz的时钟电路,可以外置振荡晶振和电容便可以产生整个单片机运行的脉冲时序。设计人员也可以采用外部的时钟源作为工作时钟。图2-2AT89S51单片机片内总体结构图 AT89S51单片机引脚说明 AT89S51系列单片机采用了CMOS制造工艺

17、,它具有集成度高、速度快、功耗低等特点。它有三种封装形式:40引脚双列直插(DIP)、44引脚(PLCC)、44引脚(TQFP)。本次设计主要选择用40引脚双列直插(DIP)封装形式进行制作,此形式方便焊接。具体引脚功能如图2-3所示。图2-340引脚双列直插(DIP)封装 电源引脚 VCC(Pin40):电源端。正电源接4.05.0V电压,系统的正常工作电压为+5V GND(Pin20):接地 外接晶振或外部振荡器引脚 XTAL1(Pin19):时钟XTAL1脚,片内振荡电路的输入端 XTAL1(Pin18):时钟XTAL2脚,片内振荡电路的输出端 AT89S51的时钟有两种方式,一种是片内

18、时钟振荡方式,在18和9脚外接石英晶体(033MHz)和振荡电容,振荡电容的值一般取10pF30pF;另外一种是外部时钟方式,将XTAL2悬空,外部时钟信号(033MHz)从XTAL1输入。 输入输出(I/O)端口引脚 P0口:即P0.0P0.7(Pin39Pin32),输入输出脚,可用于8位并行I/O口或分时复用地址和数据总线。P0口作为输出口时,每个引脚负载8个TTL;在外扩存储器时,可定义为低8位地址/数据线;定义为I/O口时,需外接上拉电阻,为准双向I/O口,在程序中向该端口写入“1”后,成为高阻抗输入口;在对片内Flash编程时,P0口可以接收字节代码,在程序校验时输出字节代码,程序

19、校验期间应外接上拉电阻。 P1口:即P1.0P1.7(Pin1Pin8),输入输出脚,8位准双向并行I/O口。P1口内部已经具有上拉电阻的8位准双向I/O口,能负载4个TTL;在Flash编程和校验时,定义为低8位地址线。和基本的8051不同的是,其部分引脚具有第二功能。引脚P1.0是定时/计数器T2的外部计数输入,引脚P1.1表示定时/计数器T2捕获/再装入触发及方向控制,引脚P1.5(MOSI)、P1.6(MISO)和P1.7(SCK)用于系统内部编程。 P2口:即P2.0P2.7(Pin21Pin28),输入输出脚,8位准双向并行I/O口。P2口内部已经具有上拉电阻的8位准双向I/O口,

20、能负载4个TTL;当访问外部存储器时,定义为高8位地址线。如果只需要8位地址线,它将输出特殊功能寄存器(锁存器)中的内容。 P3口:即P3.0P3.7(Pin10Pin17),输入输出脚,8位准双向并行I/O口。P3口内部已经具有上拉电阻的8位准双向I/O口,能负载4个TTL;当P3口写入“1”后,内部端口上拉为高电平,并用作输入口。当作为输出口,P3口将输出电流(ILL),这是因为外部下拉为低电平的缘故。和普通的8051一样,每个引脚都具有第二功能。表3.1 P3口的第二功能 第二功能标志第二功能P3.0RXD串行输入口P3.1TXD串行输出口P3.2外部中断0输入P3.3外部中断1输入P3

21、.4T0定时/计数器0外部输入P3.5T1定时/计数器1外部输入P3.6外部数据存储器写选通P3.7外部数据存储器读选通 控制、复位和选通引脚 RST(Pin9):单片机内部CPU的复位信号输入端 在单片机的振荡器启动后,该引脚保持2个机器周期以上高电平,便可实现复位。另外,对于AT89S51,其内部包含定时监视器(看门狗)电路。在定时监视器(看门狗)定时输出后,该引脚置高电平,并持续96个振荡周期,也可以实现复位。特殊功能寄存器AUXR中的DISRT0位可以使复位无效。在默认的DISRT0位状态下,RST引脚上高电平有效。 ALE/(Pin30):ALE位地址锁存使能端和编程脉冲输入端 当访

22、问外部程序存储器时,ALE(地址锁存器)的负跳变将低8位地址打入锁存;而非访问内部程序存储器时,ALE端将有一个1/6振荡频率的正脉冲信号,该脉冲信号可以用于外部计数或时钟信号。当访问外部数据存储器时,ALE会跳过一个脉冲;在Flash编程时,该引脚用于输入编程脉冲()。 (Pin29):访问外部程序存储器的读选通信号 当单片机访问外部程序存储器,读取指令码时,每个机器周期产生2次有效信号,即此脚输出2个负脉冲选通信号;在执行片内程序存储器读取指令码时,不产生此脉冲;在读写外部数据时,也不产生脉冲信号。 /VPP(Pin31):为访问内部或外部程序存储器选择信号,在Flash编程时,提供Fla

23、sh编程电压VPP。当访问访问外部程序存储器(0000HFFFFH单元)时,则必须保持低电平(即接GND);当保持高电平是,则CPU先从片内0000H单元开始,执行内部程序存储器程序;如果外部还有扩展程序存储器,则CPU在执行完内部程序存储器程序后,自动转向执行外部程序存储器程序;对片内Flash编程时,此引脚用于输入编程允许电压。另外,如果单片机的保密位被编程,则复位时内部会锁存端的状态。2.2.2 开发环境介绍众所周知,软硬件开发环境建立的好坏对单片机系统软件设计和硬件设计工作顺利高效完成的发挥重要作用。本次系统软件设计采用Keil C51软件开发系统,它是美国Keil Software公

24、司出品的51系列单片机C语言软件开发系统。Keil C51软件具有库函数丰富和强大功能的集成开发调试工具等的特点,有利于全Windows人机界面的交流。硬件开发环境主要是指针对硬件开发时用到的的软件工具、仪器等。此次设计开发工具主要选择具有在线可编程功能的AT89S51单片机;利用Protel 99SE绘图软件制作电路;另外,硬件设计过程中需要用到的仪器和工具主要有直流稳压电源、电烙铁、尖嘴钳、镊子等。另外,此次设计还综合利用Keil C51+Proteus对的实物进行仿真与模拟,从而实现反复在线测试与修正。2.3主要芯片元器件及功能介绍2.3.1 电机驱动芯片本次设计直接使用ULN2003A

25、电机驱动芯片,因为它连接简单,而且能够通过改变驱动电压来控制力矩的大小,从而控制电机的转动。ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL COMS,由达林顿管组成驱动电路。ULN2003是一个非门电路,包含7个单元,但独每个单元驱动电流最大可达350mA.资料的最后有引用电路,9脚可以悬空。 比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。ULN2003A电路具有以下特点:电流增益高(大于1000);带负载能力强(输出电流大于50

26、0mA);温度范围宽(-4085);工作电压高(大于50V)。适应于各类要求高速大功率驱动的系统,通常作为显示驱动继电器驱动照明灯驱动伺服电机、步进电机驱动等使用引脚定义与功能引出端序号符号功能引出端序号符号同意功能11B输入9COM公共端22B输入107C输出33B输入116C输出44B输入125C输出55B输入134C输出66B输入143C输出77B输入152C输出8E发射极161C输出 2.3.2 步进电机结构及工作原理 目前自动卷帘门中的动力部分主要有无刷直流电机、交流变频电机及步进电机的使用。现以四相六线制步进电机作为自动卷帘门的动力部分。结构步进电机主要有缠绕线圈的定子和转子组成,

27、如下所示是定子和转子的展开图:工作原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。 现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)和单相式步进电机等。永磁式步进电机一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;反应式步进电机一般为三相,可实现大转矩输出,步

28、进角一般为1.5度,但噪声和振动都很大。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。混合式步进电机是指混合了永磁式和反应式的优点。它又分为两相和六相:两相步进角一般为1.8度而六相步进角一般为 0.72度。 第三章 硬体设计 本次方案的硬件设计主要包括电源设计、单片机最小系统设计、电机驱动设计、功能按键设计以及状态显示设计。电源电路的设计为整个系统提供+5V的工作电压;最小系统保证单片机的正常工作;电机驱动设计主要通过功率放大芯片ULN3002A对电机实现驱动,并达到对卷帘门的自动控制;控制电路有三个按键组成,控制着电机的正转、反转和停止,从而实现车库

29、卷帘门的升降和停止,由操作者根据实际需求进行操作;状态显示电路主要显示车库卷帘门三种工作状态。3.1电源设计首先,我们要明白-对于任何一个基于51单片机设计的系统电源的供应是必不可少的,由于单片机属于微型控制计算机,所以承受不了过大的电压,一般的情况下,只需对其外供+5V电压即可保证单片机正常工作。一般的设计方案由USB直接供电和采用三端稳压芯片7508+整流桥来实现对单片机的供电。 此次方案的电源设计部分,由于外供+9+36V电压,故直接通过三端稳压芯片7805和若干电容、电阻对外供电压进行降压并稳压处理,省去了整流桥,从而达到为单片机AT89S51提供+5V工作电压的目的。电路原理图如图所

30、示:3.2单片机复位电路复位是单片机的初始化工作,其作用是使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。一般在系统上电,或者程序死机的时候需要进行单片机的复位动作MCS-51的RST引脚是复位信号输入端,高电平有效,持续时间要在24个时钟周期以上,方可达到复位效果。单片机复位后,CPU和整个硬件资源,特别是特殊功能寄存器都处于初始化状态,详细如表3.5所示:特殊功能寄存器复位状态特殊功能寄存器复位状态ACC00HTH000HB00HTL000HDPTR0000HTH100HPC0000HTL100HPSW00HTMOD00HP0P3FFHTCON00HSP07HSC

31、ON00HIE0XX0 0000BPCON0XXX 0000BIPXXX0 0000BSBUFXXXX XXXXBT2MODXXXX XX00BTH200HT2CON00HTL200HRCAP2L00HAUXRXXX0 0XX0BRCAP2H00HAUXR1XXXX XXX0BWDTRSTXXXX XXXXB(1) 复位要求 单片机复位的原理是,在时钟电路开始工作后,在单片机的RST施加两个机器周期以上的高电平,单片机即可实现复位。在复位期间单片机的ALE引脚和引脚均输出高电平。当RST引脚从高电平跳变为低电平后,单片机便从0000单元执行程序。在实际应用中,采用外部复位电路来进行单片机复位一

32、般在RST引脚保持10ms以上的高电平,保证单片机能够可靠的复位。(2) 复位操作方式复位操作根据实际需求分为上电自动复位、按键电平复位和外部脉冲复位。图3-4AT89S51复位电路在本系统中采用的是既可以手动复位,又可以上电复位的电路,这样可以实现人工复位单片机系统。这种电路设计如图所示。上电复位部分的原理也是RC电路的充放电效应。除了系统上电的时候可以给RST引脚一个短暂的高电平信号外,当按下开关的时候,VCC通过通过一个电阻接到RST引脚,给RST一个高电平;按键松开的时候,RST引脚恢复为低电平,此时复位完成。3.3单片机时钟系统振荡器和时钟电路用于产生单片机正常工作时所需要的时钟信号

33、。AT89S51单片机采用CMOS工艺,内部包含一个振荡器,可以用于CPU的时钟源;也允许采用外部振荡器,由外部振荡器产生的时钟信号来供内部CPU运行使用。此次设计采用内部时钟模式作CPU的时钟源。AT89S51单片机内部包含一个高增益的单级反相放大器,引脚XTAL1和XTAL2分别为片内反相放大器的输入端口和输出端口,其工作频率为033MHz。当单片机工作于内部时钟模式时,只需在XTAL1和XTAL2引脚连接一个晶体振荡器或者陶瓷振荡器,并接两个电容后接地即可,如图所示。图3-6在使用是,对于电容的选择有一定要求,即:当外接晶体振荡器时,电容值一般选择C1=C2=3010pF当外接陶瓷振荡器

34、时,电容值一般选择C1=C2=4010pF在实际电路设计时,应该注意尽量保证外接的振荡器和电容尽可能地靠近单片机的XTAL1和XTAL2引脚,这样可以减少寄生电容的影响,使振荡器能够稳定可靠地为单片机CPU提供时钟信号3.4 电机驱动电路对于常见的微型步进电机的驱动,由于其驱动电压和电流不是很大,所以时常为了快速检验步进电机的能否使用而直接采用如图所示的驱动电路。图3 一般驱动电路实际生活当中并非如此,生活中使用的步进电机驱动电压和驱动电流很大,所以有必要增加一个脉冲放大器进行对其驱动,否则电机根本转动不起来。常见的步进电机驱动IC有ULN2003A或ULN2803。本次采用ULN2003A驱

35、动芯片,其功率增益比较大、负载能力比较强。ULN2003A驱动电机原理如图所示,由于本方案采用六线制四相的步进电机,故ULN2003A信号输入端为1B4B端口,输出端口为1C4C,进而连接负载步进电机。 根据图面可知,M1.1和M1.2与电机的公共端相连;M1.3对应步进电机的A;M1.4对应步进电机的B;M1.5对应步进电机的C; M1.6对应步进电机的D。单片机端口P2.0P2.3输出脉冲到ULN2003A的1B4B口,经处理后分别从1C4C端口输出高低电脉冲到步进电机的A、B、C、D相,从而驱动电机的转动。3.5 按键控制电路 根据系统的控制要求,控制输入部分设置了车库卷帘门的自动上升下

36、降和停止三个控制按钮,分别为S1S2和S3;从而根据实际需求通过控制按钮的状态来实现相应功能,控制电路如图所示: 当按键S1S2和S3触发状态改变时,会改变单片机P1.2P1.4端口的高低电平,继而通过指令和代码实现系统电机的正反转和停止功能,从而实现车库卷帘门的升降和停止功能。即当按下S1时电机正转,车库卷帘门上升;当按下S2时电机反转,车库卷帘门下降;当当按下S3时,电机停止转动,卷帘门停止。3.6 状态显示电路 本设计方案通过步进电机的正转、反转和停止三种状态,从而实现车库门的自动升降和停止功能。为了方便清楚知道电机和卷帘门的具体工作状态,在此设计一个具有三种颜色(红色、绿色、黄色)的L

37、ED显示电路,分别代表车库卷帘门(或步进电机)的停止、上升(正转)和下降(反转)。 工作原理为:当控制按键触发时,单片机内部会扫描P1.2P1.4高低电平,进而对P1.5P1.7赋相应高低电平,从而使之对应的发光二极管点亮。总原理图 第四章 单片机软体设计4.1 系统程序框图 此次设计采用多个模块的方式来实现对步进电机的控制,进而实现对车库卷帘门的自动控制。单片机AT89S51为整个系统的MCU;信号放大芯片ULN2003A驱动步进电机转动;三个LED灯显示卷帘门的工作状况。整个系统程序首先对于P1口进行初始化,车库卷帘门处于关闭状态;另外,使得S1S2和S3处于待输入状态并使红色LED保持常

38、亮状态;然后,针对P1.2P1.4扫描高低电平,从而判断哪个按键触发;其次,对于P2.0P2.3进行环形脉冲分配,外加延时子程序,进而驱动电机正转还是反转;最后,通过给予P15P1.7高低电平来控制LED的亮灭来显示电机的工作状态(即车库卷帘门的工作状态)。 4.2 电机控制程序 此模块的程序设计比较灵活。本次设计主要通过判断S2和S3是否被触发(即扫描P1.3和P1.4高低电平),进一步让P2.4P2.7发出环形脉波并对其进行分配,并加上延时程序,从而控制步进电机的正反转和停止。 由于此次采用四相六线制步进电机,采用双四拍方法控制电机转动,故电机正转次序:AB-BC-CD-DA (即一个脉冲

39、,正转 7.5 度);电机反转次序:AB-DA-CD-BC;电机停止对P2.4P2.7赋值0X00即可实现。电机正反转相序编码表如下:表1:正转相序编码表步数P2.4P2.52.6P2.7控制字ABCD111000X0C201100X06300110X03410010X09表2:反转相序编码表步数P2.4P2.52.6P2.7控制字ABCD111000X0C210010X09300110X03401100X06具体程序如下: if(s2=0)/S2按下,电机正转 P11=1; P10=0; P2=0x0C;/1100 delay(); P2=0x06;/0110 delay(); P2=0x0

40、3;/0011 delay(); P2=0x09;/1001 delay(); else Stop(); delay(); else if(s3=0)/S3按下,电机反转 P12=1; P10=0; P0=0x0C;/1100 delay(); P0=0x09;/1001 delay(); P0=0x03;/0011 delay(); P0=0x06;/0110 delay(); else Stop(); delay(); 4.3 显示程序设计 本方案采用三种颜色的LED灯来清楚表示步进电机的正反转及停止三种状态(即车库卷帘门的上升和停止三种状态)。通过对P1.0P1.2高低电平的扫描去控制L

41、ED灯的亮灭,此种方法简单又容易实现,故此次采用这种显示原理,从而清楚知道卷帘门的工作状况。 具体程序编写如下: P1.0=1; /红灯亮 P1.0=0;/红灯灭 P1.1=1; /绿灯亮P1.1=0; /绿灯灭P1.2=1; /黄灯亮P1.2=0; /黄灯灭4.4 延时子程序 本次设计中的步进电机只要依次给其一定时间的脉冲,步进电机即可连续转动起来。在设计步进电机驱动程序的时,会对每一STEP加一个延时,避免了电机急速启动所造成的步进电机就有失步现象,从而造成不能正常启动;同样,假如车库卷帘门到达预设位置猛然停下来,在惯性作用 下,步进电机会发生“刹不住车”的现象,从而会导致降低自动卷帘门位

42、置的精确度。所以,延时程序有必要贯穿整个系统程序。 void delay(void) int k; for(k=0;k2000;k+); 第六章 系统安装与仿真调试5.1 系统安装因为本次设计主要是体验整个单片机开发的流程,所以硬件电路的搭建主要采用插件的方式在MCS-51单片机实验开发板上进行实现,省去了制作PCB板的时间,让我们有更多的时间去领悟MCS-51单片机整体的一个开发流程。由于单片机开发板上自带最小系统,所以直接通过杜邦线再把按键模块、显示模块和电机驱动模块与AT89S51单片机端口连接好就可以了。具体连接方式请参考电路原理图。5.2 系统仿真调试 硬件搭建和软件设计设计完成之后

43、,下面便对系统进行仿真调试。本系统采用软件调试、硬件调试和软硬件联合调试三种方式对系统进行测试 5.2.1软件仿真调试 一般软件的仿真与调试主要有两种常见的方式,即模块程序设计和实时多任务操作设计。由于此次硬件设计分模块化设计,所以程序设计采用的是模块程序设计技术。本次程序的编译与调试主要通过KeilC51+Proteus来实现。首先,分别对一个个子程序进行编译和测试。测试的具体操作方式主要有:单步运行方式和断点运行方式。测试的内容主要包括系统CPU的现场、RAM的内容和I/O口的状态。通过检测,可以发现一些常见的错误,例如死循环错误、机器码错误及转移地址的错误。此外系统中的硬件故障、软件算法

44、错误及硬件设计错误也会被检测出。在调试过程中不断调整用户系统的硬件和软件,逐步通过一个个程序模块;然后进行整体程序的综合调试,假如在此过程发生问题,我们可以从各个子程序在运行时是否破坏现场、缓冲单元是否发生冲突、堆栈区域是否有溢出等常见不良现象入手进行检查;最后,待全部调试完成后,应反复运行多次,是系统整体达到最佳化。 5.2.2硬件调试 硬件测试和软件测试是密不可分的,许多硬件方面的问题会在调试软件的时候才被发现的。但是,一般来说先是排除系统中明显的硬件问题之后才会与软件结合起来进行联合调试的。目前来讲,常见的硬件问题主要包括逻辑错误、元器件失效、 可靠性差以及电源故障。具体检查方法:首先要

45、检查加工质量,并确保没有任何方面的错误,如短路和断路,尤其要避免电源短路;对于使用的电子元件要进行实际测量其一些电性参数之后,才可以确认是否符合电路设计的要求;硬件搭建完之后,应先空载上电(芯片座上不插芯片),并检查各引脚的电位是否正确。若确认没问题之后,才可在断电的情况下插入IC,然后再次检查各引脚的电位及其逻辑关系,确保万无一失。 第六章 结束语目前为止,此次设计目的已经基本达到。本次对 “基于MCS-51车库卷帘门自动控制的设计与实现”课题的研究是一次非常难得的理论应用于实际的机会。深深地明白了理论联系实际的科学性以及重要性。从最初方案的构想与评估到整体系统功能的实现,主要经历了主控制器的选择、步进电机驱动IC的选择和模块设计、状态显示模块设计、功能按键模块设计和最终的仿真调试到整体功能的成功实现,在此学习过程中感慨良多。虽然仅仅几个月的时间,但付出的时间和精力一点都不少,更重要的是学到了许多书本上没有的知识,与此同

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论