基于89c51单片机的智能窗帘_第1页
基于89c51单片机的智能窗帘_第2页
基于89c51单片机的智能窗帘_第3页
基于89c51单片机的智能窗帘_第4页
基于89c51单片机的智能窗帘_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、河 南 工 业 职 业 技 术 学 院Henan Polytechnic Institute毕业设计(论文)题 目 智能窗帘控制系统 班 级 机电0906 姓 名 刘 云 飞 指导教师 张 国 同 河南工业职业技术学院机电工程系毕业设计目 录1引言11.1研究目的和意义及国内外发展现状11.2基本内容及章节安排22总体方案设计32.1 控制器智能项目32.2 系统总体结构规划43 系统硬件设计53.1 89C51单片机及相关电路5 3.1.1晶振电路6 3.1.2复位电路6 3.1.3时钟电路7 3.1.4 电源电路93.2 步进电机93.3 键盘/显示接口电路113.4 传感器133.5 信

2、号调理电路143.5.1 放大滤波电路143.5.2 A/D转换144 系统软件设计164.1 主程序软件设计164.2 主要功能子程序设计174.2.1 步进电机程序设计175 总结与展望21程序22致谢29参考文献30 河南工业职业技术学院机电工程系毕业设计1引言1.1研究目的和意义及国内外发展现状21 世纪是信息化的世纪,各种电信和互联网新技术推动了人类文明的巨大进步。智能家居控制系统可以定义为一个过程或者一个系统。利用先进的计算机技术、网络通讯技术、综合布线技术、将与家居生活有关的各种子系统,有机地结合在一起,通过统筹管理,让家居生活更加舒适、安全、有效。与普通家居相比,智能家居不仅具

3、有传统的居住功能,提供舒适安全、高品位且宜人的家庭生活空间。还将原来的被动静止结构转变为具有能动智慧的工具,提供全方位的信息交换功能,帮助家庭与外部保持信息交换畅通,优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全性,甚至为各种能源费用节约资金。系统的网络化功能可以提供遥控、家电(空调,热水器等)控制、照明控制、室内外遥控、窗帘自控、防盗报警、电话远程控制、可编程定时控制及计算机控制等多种功能和手段。使生活更加舒适、便利和安全。因智能家居控制系统布线简单、功能灵活,扩展容易而被人们广泛接受和应用。在设计本系统时,面对各种检测对象和大量控制单元,需要利用各种接口标准和MCU进行连接,

4、再经过MCU 进行数据处理,实现实时测控。而此时采用单片机来实现智能家居控制系统不仅具有采集控制方便、简单、灵活等优点,而且可以大幅度提高采各模块和芯片的协调性,从而大大提高系统的可利用性。此次系统设计系统正是把利用AT89C51 单片机的优点,顺利的完成了本设计的要求。并且实现了学习型定时和自动控制功能,为控制家居设备提供了良好的基础。正是因为通信技术、计算机技术、网络技术、控制技术的迅猛发展与提高,促使了家庭实现了生活现代化,居住环境舒适化、安全化。这些高科技已经影响到人们生活的方方面面,改变了人们生活习惯,提高了人们生活质量,家居智能化也正是在这种形势下应运而生的。智能家居控制系统的主要

5、功能包括通信、设备自动控制、安全防范三个方面。随着新技术和自动化的发展,传感器的使用数量越来越大,功能也越来越强,各种传感器都已经标准化、模块化这给智能家居控制系统的设计提供极大方便。电话远程控制作为一较新的课题与常规的遥控方式相比,显示出一定的优越性,不需进行专门的布线,不占用无线电频率资源,避免了电磁污染。同时,由于电话线路各地联网,可以充分利用现有的电话网,因此遥控距离可跨省市,甚至跨越国家。另外电话属双工通信手段。因此,这可以大大体现出利用电话进行遥控的更大优越性。操作者可以通过各种提示音即时了解受控对象的有关信息,从而进行进一步的操作。电话遥控部分课题目前已有涉足者,但是只是还只限于

6、实验室阶段,因而距离实际应用,尤其是对于日常生活尚有一定的差距,并不能完全体现出电话遥控方式的双工通信特点。本设计正是针对这一点进行了较大改进,采取单片机智能控制,利用不同的提示音达到对于不同操作的提示及对受控方状态的信息反馈,从而使操作者能够及时了解受控方信息,使产品达到交互式与智能化。而且本设计的调试都是在线调试,已经在电信、铁通的交换机实验并且能够成功的使用移动电话进行操作。随着社会信息化的加快,人们的工作、生活和通讯、信息的关系日益紧密。信息化社会在改变人们生活方式与工作习惯的同时,也对传统的住宅提出了挑战,社会、技术以及经济的进步更使人们的观念随之巨变。人们对家居的要求早已不只是物理

7、空间,更为关注的是一个安全、方便、舒适的居家环境。家居智能化技术起源于美国,它是以家为平台进行设计的。智能家居控制系统是以HFC、以太网、现场总线、公共电话网、无线网的传输网络为物理平台,计算机网络技术为技术平台,现场总线为应用操作平台,构成一个完整的集家庭通信、家庭设备自动控制、家庭安全防范等功能的控制系统。智能家居控制系统的总体目标是通过采用计算机技术、网络技术、控制技术和集成技术建立一个由家庭到小区乃至整个城市的综合信息服务和管理系统,以此来提高住宅高新技术的含量和居民居住环境水平。大型的智能家居控制系统通常由系统服务器、家庭控制器(各种模块)、各种路由器、电缆调制解调器头端设备CMTS

8、、交换机、通讯器、控制器、无线收发器、各种探测器、各种传感器、各种执行机构、打印机等主要部分组成。现代智能化离不开运算和控制单元,本系统采用89C51作为主控器件,单片机应用系统由硬件和软件组成。硬件由单片机扩展的存储器、输入/出设备以及各种实现单片机系统控制要求的接口电路和有关的外围电路芯片或部件组成;软件由单片机应用系统实现其特定控制功能的各种工作程序和管理程序组成。在单片机应用系统开发的过程中,应不断调整软、硬件,协调地进行软、硬件设计,以提高工作效率,当系统硬件和软件紧密配合、协调一致,就可以组成高性能的单片机应用系统。本课题完成了单片机应用系统其开发过程的系统的总体设计、硬件设计、软

9、件设计和系统调试,根据开发的实际需要,相互协调、交叉,有机的进行。本文是从智能家居的一个项目智能电动窗帘的设计开始的。1.2基本内容及章节安排本设计通过分析电动窗帘的发展和现状来规划电动窗帘的智能功能,从而对电动窗帘控制器进行设计。采用步进电机作为执行元件,以光敏电阻作为传感元件的传感器作为检测元件,89C51单片机作为控制芯片,辅助键盘和显示,最终实现了电动窗帘控制器的多项智能项目。主要章节分为:(1)总体设计方案:给出了电动窗帘控制器的总体方案设想,智能项目,和设计结构规划。(2)硬件设计:选用89C51单片机为核心的各种电路设计,包括复位电路,电源电路,时钟电路,步进电机控制电路,键盘/

10、显示电路等一系列相关电路。(3)软件设计:主要介绍了各项功能的设计流程。(4)总结与展望2总体方案设计电动窗帘控制器总体方案设计是确定能够满足设计要求的总体方案的环节。本章从系统功能需求出发,规划并确定了系统的总体结构,并在此基础上考虑了系统的可扩展性及可实现性。2.1 控制器智能项目随着人民生活水平的不断提高,人们对家庭生活舒适性的需求越来越强烈,窗帘作为每个家庭生活中最必须的家居用品之一,自然也需要满足人民更舒适性的需求。窗帘最基本的作用无非是保护业主的个人隐私以及遮阳挡尘等功能,但传统的窗帘您必须手动去开关,每天早开晚关也是挺麻烦的,特别是别墅或复式房的大窗帘,比较长,而且重,用时需要很

11、大的力才能开关窗帘,特别不方便;于是电动窗帘应运而生。现有的电动窗帘都可以自动开关闭窗帘,到了时间自动控制窗帘的开关,可以根据光的但是他们也有些缺点。窗帘控制器的自动开关如何让窗帘能够开关自如,停机的时间是否到位。电动窗帘主要有以下几大功能:(1)手动控制:该功能使电动窗帘具有手动正传、手动反转 和手动停止的功能。而且增加了工作状态指示,电机工作在正传、反转和停止状态的时候,数码管均有不同工作状态指示。(2)半自动手动控制:半自动手动控制是在需要关闭或打开窗帘的时候,只需要人工按一下“正转”或“反转”按键后,窗帘到位自动停止。(3) 环境亮度控制:窗帘的关闭和开启通过环境亮度自动完成

12、窗帘的开启或关闭操作控制,“天黑关闭,天亮打开”具有智能管理,不产生误动作。(4) 时间自动控制:根据设置输入的开启或关闭时间,来控制窗帘的关闭和打开。窗帘的正转、反转和停止功能可由单片机输出电平来控制步进电机的运转以实现。环境亮度的控制通过光敏电阻和运放组成的电路来控制单片机输出电平继而控制电机的正转和反转。时间自动控制可以由定时器来控制2.2 系统总体结构规划电动窗帘控制器的总体结构框图如图2.2所示。光电传感器信号调理电路A/D转换器单片机显示部件键盘步进电机图2.1 电动窗帘控制器结构框图由光电传感器来探测外界的光强,从传感器出来的信号经过信号调理电路的放大,滤波调理后输入到

13、A/D转换器,A/D转换器件完成一个转换过程需要一定时间,如果在这段时间内信号的幅度发生变化,转换结果将会受到影响,所以期间要用到采样保持电路。转换后的信号由单片机控制器,来实现电机的运行与停止。显示部件用来显示电动窗帘控制器的各种状态信息。键盘是主要的输入设备,控制单片机的各种参量。3 系统硬件设计整个系统的硬件接线图如图3.1所示。图3.1 系统总硬件接线图总体硬件电路图包括单片机外围电路、A/D转换电路,信号调理电路、检测电路、键盘/显示接口电路、步进电机控制电路等模块。单片机外围电路提供各模块所需的5V电源和时钟模块;信号检测后的是模拟信号,经过调理放大进入A/D转换后输出数字信号给单

14、片机。单片机的P2口控制步进电机的运行从而控制窗帘的升降。显示和键盘让人机交换变得更容易。以上各模块组成了电动窗帘控制器的总体电路。3.1 89C51单片机及相关电路89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。它是美国ATMEL公司的低电压,高性能CMOS8位单片机。89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造

15、,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.1.1晶振电路电路中的晶振即石英晶体震荡器。由于石英晶体震荡器具有非常好的频率稳定性和抗外界干扰的能力,所以,石英晶体震荡器是用来产生基准频率的。通过基准频率来控制电路中的频率的准确性。同时,它还可以产生振荡电流,向单片机发出时钟信号。图3.1.1是单片机的晶振电路。电路中的电容C1和C2的典型值通常选择为30PF左右,该电容的大小会影响振荡电路频

16、率的高低、振荡器的稳定性和起振的快速性。晶体振荡频率的范围通常在1.212MHz。晶体的频率越高,系统的时钟频率越快,单片机的运行速度越快。但反过来,运行速度对于存储器的速度要求就越高,对印刷电路板的工艺要求也就越高,即要求线间的寄生电容要小。晶体和电容应该尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定、可靠地工作。89C51常选择振荡频率12MHz的石英晶体。图3.2 单片机晶振电路图3.1.2复位电路复位是单片机的初始化操作,只需要给89C51的复位引脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可以使89C51复位。复位时,单片机初始化为0000H,从

17、0000H单元开始执行程序。除了进入系统的正常初始化之外,当程序运行错误(如程序跑飞)或操作错误使系统处于锁死状态时,也需要复位键使RST脚为高电平,使89C51摆脱“跑飞”或“死锁”状态而重新启动。图3.1.2是复位电路图。图3.3 复位电路图3.1.3时钟电路本设计需要窗帘在给定的时间自动开和关,所以需要用到定时器,而为了保证单片机与外界时钟一致,要用到一个实时时钟电路。这里使用DS12887实时时钟芯片来完成这项功能。DS12887是DALLAS公司生产的实时日历时钟芯片,其主要功能包括非易失性时日历时钟、报警器、百年历、可编程中断、方波发生器和114字节的非易失静态RAM。使用DS12

18、887时应注意以下几点:Vcc正常情况下为5V,当Vcc降至4.25V时,所有的输入被忽略,输出为高阻状态,Vcc降至3V时,外部电源被关断,内部锂电池为实时时钟和RAM供电,在断电情况下,时钟继续运行,其中的数据可保存十年以上不会丢失。DS12887有两种工作时序,即MOTOROLA和INTEL时序,由MOT引脚的电平指定,当MOT引脚为高电平时选择MOTOROLA时序,当MOT引脚为低电平时选择INTEL时序,图中选为INTEL时序,这时芯片的DS引脚接系统的读信号/RD,R/W引脚接系统的写信号/WR。AS引脚用于分离数据地址总线AD7-AD0上的地址和数据信息,连接到MCU的ALE引脚

19、。RESET引脚的信号对日历时钟和RAM没有影响,但它影响DS12887的命令和状态寄存器的内容,在图中直接将RESET连至Vcc,这样可以保证DS12887在进入或退出电源失效状态时,其工作状态不受RESET引脚的影响。DS12887有一个可编程输出方波引脚SQW,从该引脚可以输出频率为2Hz-256Hz的方波,在系统中正是利用此引脚输出周期为125MS的方波,作为MCU外部中断/INT0的中断源实现周期性中断,每当中断发生时,MCU读一二次输入口,检查电表是否转过一圈,在整点时还要采一次三相电流和电压。除此之外,DS12887内部还有128字节的RAM的单元,其中前10个字节用于存放日历时

20、钟信息,字节0为秒,字节2为分,字节4为时,字节6为星期,字节7为日,字节8为月,字节9为年,字节0AH-0DH用作控制和状态寄存器,剩下的114字节为用户RAM,所有的这128字节都是掉电非易失性的。图3.4 时钟电路图DS12887时钟芯片和AT89C5l单片微机的接口电路如图3.1.3所示。模式选择脚MOT接地, DS12887时钟芯片的AS端口和89C51单片机的AIE端直接相联;而DS、RW 读写控制线与单片机的RD/WR控制线制线相连;DS12887的高位地址由89C51单片机的P27端口来片选,则DS12887的高8位地址定为7FH,而其低8位则由芯片内部各单元的地址来决定(00

21、H-3FH);DS12887的中断输出端IQR和89C51的外部中断INT0端相联,给单片机提供中断信号;DS12887的SQW端与89C5I的TO端相连。3.1.4 电源电路单片机工作需要使用5V电压,因此需要给单片机设计电源电路。图3.1.3是单片机的电源电路。它采用LM7805三端集成稳压器,可输出+5V的直流电压供电。图3.5 电源电路图3.2 步进电机步进电机为一种数字伺服执行元件,具有结构简单、运行可靠、控制方便、控制性能好等优点,广泛应用在数控机床、机器人、自动化仪表等领域。为了实现步进电机的简易运动控制,一般以单片机作为控制系统的微处理器,通过步进电机专用驱动芯片实现步进电机的

22、速度和位置定位控制。单片机在本次试验中对步进电机的控制从而达到对转角和位移的控制的方法。本次设计采用两个型号为130HZ308-450的三相反应式步进电机对旋转角度和位移进行控制,该步进电机力矩大、耐负载冲击、精度高。其步距角为1.2°,即=1.2°,即本次设计的测控系统对回转台转角的控制精度可以达到1.2°。步进电机的驱动电路是根据控制信号工作的。而本次测控系统是以单片机位控制中心的,下面将介绍步进电机控制系统。步进电机控制系统主要由脉冲分配器,功率驱动电路,步进电机几部分构成的。步进电机控制系统的方框图如图3.2.1所示: 脉冲控制器 功率驱动电路 步进电机负

23、载脉冲信号图3.6 步进电机控制系统方框图图3.7 步进电机控制系统电路图如图3.2.2所示,是步进电机控制系统的电路图。单片机输出步进脉冲后,再由脉冲分配电路按事先确定的顺序控制各相的通断。本设计由软件完成脉冲分配工作,不仅使线路简化,成本下降,而且可根据应用系统的需要,灵活地改变步进电机的控制方案。软件控制脉冲将在软件设计部分说明。步进电机功率驱动电路工作在较大脉冲电流状态,采用光电耦合器将单片机与步机电机隔离可以避免单片机与步进电机功率回路的共地干扰,防止强功率的干扰信号反串进主控系统。此外,万一驱动电路发生故障,也不致让功放中较高的电压串入单片机而使其损坏。步进电机的驱动电路有很多种,

24、但最为常见的就是用单电压驱动,双电压驱动,斩波驱动,细分驱动等。但电压驱动是步进电机控制中最为简单的一种驱动电路,它在本质上是一个单间的反相器。它最大的特点是结构简单,工作效率低。而且它的外接电阻要消耗相当一部分能量,这样会影响电路的稳定性。双电压驱动电路是采用两种电源电压,缺点在于在高低电压连接处电流出现谷点,这样必然引起力矩在谷点处下降,不易于电机的正常运行。对于斩波驱动则可以克服这种缺点,并且还可以提高步进电机的效率。从提高效率的角度来看这是一个很好的驱动电路,它可以用较高的电源电压,同时无需外接电阻来限定额定电流和减少时间常数。但由于其波形顶部呈现锯齿形波动,所以产生较大的电磁噪声。细

25、分驱动是用脉冲电压来供电的,对于一个电压脉冲,转子就可以转动一步。本设计采用的是恒频脉宽调制细分驱动电路,电路图如3.2.3所示。图3.8 恒频脉宽调制细分驱动电路3.3 键盘/显示接口电路 键盘在单片机应用系统中能实现向单片机输入数据,传送命令等功能,是人工干预单片机的主要手段。本设计中的键盘采用4×4矩阵键盘。16个键分别为:0-9十个数字键,用于时间设定输入;设定键,设定自动窗帘开和关的时间;复位键,在程序出错或者有误操作的时候;正转键,使步进电机正转,窗帘打开;反转键,使步进电机反转,窗帘关闭;停止键,步进电机停止运转;确定键,时间设定完成后确定输入。由于按键比较多,加上减少

26、所战占用的端口,可以将按键组成一个矩阵,如图3.3.1所示。图3.9 键盘接口电路获取键盘信息的方法有2种,我们经常用到的是扫描法。在扫描法中,所有的行线固定为输出端口,并依次输出低电平;所有列线固定为输入端口,用来检测按键状态。当全部按键均松开时,从列线上检测不到行线输出的低电平。当某个按键按下时,只有在对应的行线输出低电平时才能在对应的列线端口检测到低电平。按键的触点在闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定的,如果不妥善处理,将会引起按键命令的错误执行或重复执行。一般消除抖动采用软件方法来解决,将在软件部分介绍这点。显示部分则主要显示时间,用于设置时间。采用LED数码管进行显

27、示是一种经济实用的方法。每位数码管由7个笔画加上小数点共8个发光二极管组成;有共阴极和共阳极两种类型,公共端用来进行位控制,笔画端用来进行字符控制;数码管显示有静态显示和动态显示两种方法。在数码管显示中,有2个技术问题需要解决,这就是整数高位和闪烁显示问题。虽然某些新型LED驱动芯片本身具有闪烁控制和熄灭控制功能,但通过合理的软件设计,采用廉价芯片组成的驱动电路同样可以实现整数高位灭零和闪烁显示功能,达到降低系统硬件成本的目的。本设计采用的就是4位LED数码管的串行驱动电路来达到显示时间和消除闪烁显示的目的。驱动器采用74LS164,由89C51的P3.0和P3.1来控制LED数码管的显示。显

28、示电路图如3.3.2所示。图3.10 显示电路3.4 传感器电动窗帘要根据光照的情况而自动开关窗帘,因而需要使用到光电传感器。这里使用光敏电阻。光敏电阻是用光电导体制成的光电器件,又称光导管,他是基于半导体光电效应工作的。光敏电阻没有极性,纯粹是一个电阻器件,使用时可以加直流电压,也可以加交流电压。当无光照时,光敏电阻值(暗电阻)很大,电路中电流很小。当光敏电阻受到一定波长范围的光照时,它的阻值急剧减少,因此电路中电流迅速增加。光敏电阻具有很高的灵敏度,很好的光谱特性,光谱响应从紫外区一直到红外区。而且体积小、重量轻、性能稳定。因此在自动化技术中得到广泛的应用。光敏电阻器一般用于光的测量、光的

29、控制和光电转换(将光的变化转换为电的变化)。通常,光敏电阻器都制成薄片结构,以便吸收更多的光能。当它受到光的照射时,半导体片(光敏层)内就激发出电子空穴对,参与导电,使电路中电流增强。根据光敏电阻的光谱特性,可分为三种光敏电阻器:紫外光敏电阻器:对紫外线较灵敏,包括硫化镉、硒化镉光敏电阻器等,用于探测紫外线。红外光敏电阻器:主要有硫化铅、碲化铅、硒化铅。锑化铟等光敏电阻器,广泛用于导弹制导、天文探测、非接触测量、人体病变探测、红外光谱,红外通信等国防、科学研究和工农业生产中。可见光光敏电阻器:包括硒、硫化镉、硒化镉、碲化镉、砷化镓、硅、锗、硫化锌光敏电阻器等。主要用于各种光电控制系统,如光电自

30、动开关门户,航标灯、路灯和其他照明系统的自动亮灭,自动给水和自动停水装置,机械上的自动保护装置和“位置检测器”,极薄零件的厚度检测器,照相机自动曝光装置,光电计数器,烟雾报警器,光电跟踪系统等方面。这里选用3系列的GL3526。图3.11 光敏原件电路应用光控原理工作,天亮窗帘自动打开,天黑窗帘自动关闭。由运放组成比较电路,同向输入端有两个电阻分压得到一个电压值,作为基准电压进行比较,而反相输入端用一个光敏电阻对外部环境的光线进行采集,利用光敏电阻暗时电阻大,亮时电阻小的特点,来确定反向输入端的电压值。再两者进行比较,比较后的信号再送入单片机89C2051的P0口,从而通过单片机来控制电机的正

31、反转。来实现天亮窗帘自动打开,天黑窗帘自动关闭这一自动控制功能。3.5 信号调理电路3.5.1 放大滤波电路在许多需要用A/D转换和数字采集的单片机系统中,多数情况下,传感器输出的模拟信号都很微弱,必须通过一个模拟放大器对其进行一定倍数的放大,才能满足A/D转换器对输入信号电平的要求,在此情况下,就必须选择一种符合要求的放大器。仪表仪器放大器的选型很多,我们这里介绍一种用途非常广泛的仪表放大器。来自传感器的信号通常都伴随着很大的共模电压(包括干扰电压)。一般采用差动输入集成运算放大器来抑制它,但是必须要求外接电阻完全平衡对称,运算放大器才具有理想特性。否则,放大器将有共模误差输出,其大小既与外

32、接电阻对称精度有关,又与运算放大器本身的共模抑制能力有关。一般运算放大器共模抑制比可达80dB,而采用由几个集成运算放大器组成的测量放大电路,共模抑制比可达100120dB。滤波器是具有频率选择作用的电路或运算处理系统,具有滤除噪声和分离各种不同信号的功能。传感器过来的信号经常带有各种各样的干扰,因此要采用滤波电路来去除干扰。综合考虑,采用低通滤波器。本设计采用将放大滤波功能结合的电路,电路图如图3.4.1所示。图3.12放大滤波电路3.5.2 A/D转换A/D转换的作用是进行模数转换,把接收到的模拟信号转换成数字信号输出。在选择A/D转换时,先要确定A/D转换的位数,该设计运用的是8位A/D

33、转换器ADC0809,A/D转换误的位数确定与整个测量控制系统所需测量控制的范围和精度有关,系统精度涉及的环节很多,包括传感器的变换精度,信号预处理电路精度A/D转换器以及输出电路等。本次设计使用8位A/D转换器ADC0809。关于ADC0809的介绍:ADC0809是CMOS 单片型逐次逼近式AD 转换器,它由8 路模拟开关、地址锁存与译码器、比较器、8位开关树型DA 转换器、逐次逼近,寄存器、三态输出锁存器等其它一些电路组成。因此,ADC0809 可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。输入输出与TTL 兼容。ADC0809与MCS-51单片机的连接如

34、图3.4.2所示。图3.13 ADC0809与单片机的接口电路A/D 转换后得到的是数字量的模拟量,这些数据应传送给单片机进行处理。数据串的关键是如何确定A/D 转换完成。因为只有确定数据转换完成后,才进行传送。为此可采用以下三种方式: 1)定时传送方式:对于一种A时子程序。A/D转换启动后,就调动这个子程序,延迟时间一到,转换肯定已经完成了。接着,就可以进行数据传送,对于A/D转换来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128us,相当于6MHZ的MCS-51单片机共60 个机器周期。可根据此设计一个延了。2)查询方式A/D 转换芯片表明有转换完成的状态信

35、号,例如ADC0809 的E端,因此可以通过查询方式用软件测试EOC的状态,即可知道转换是否完成,若完成,则进行数据传送。3)中断方式中断方式ADC0809与8031的中断方式接口电路只需将0809的EOC端经过一非门连接到8031的INTl 端即可。采用中断方式可大大节省CPU的时间,当转换结束时,EOC发出一个脉冲向单片机提出中断请求,单片机响应中断请求,由外部中断1 的中断服务程序读AD 结果,并启动0809的下一次转换,外部中断1 采用边沿触发方式。设计中用单片机启动ADC0809后,延时130us,就可以读取正确的A/D转换结果。4 系统软件设计系统软件设计主要包括显示子程序,键盘子

36、程序,时钟程序,步进电机控制程序设计及部分构成。本章节系统的介绍了电动窗帘的主程序和各主要功能子程序的设计流程,具体的程序代码见附录。4.1 主程序软件设计主程序构成无限循环,主要完成单片机初始化,关中断,菜单显示内容初始化,按键扫描,电机运行,计时等功能。主程序的流程图如图4.1所示。图4.1 主程序流程图启动主程序,先关中断并且设置堆栈,接着初始化寄存器,初始化显示内容;然后执行按键查询,执行相应的操作。如果是设定键,则设定时间,开始计时;到时间后步进电机开始相应的工作,工作完成后停机。如果是电机控制键,则也执行相应的工作。如果都不是,则是复位键,进行复位操作。4.2 主要功能子程序设计4

37、.2.1 步进电机程序设计步进电机程序设计的主要任务是: 判断旋转方向; 按顺序传送控制脉冲; 判断所要求的控制步数是否传送完毕。图4.2 步进电机工作流程图4.2.2 显示程序显示程序开始后,起始地址60H发送到R0,01H发送至显示位代码R2,再将位代码发送到单片机A口,单片机取显示数据查表转换成显示代码发送至单片机B口,延时2ms,指针R0加1,然后判断6显示是否完成。如果完成则返回,没完成则位代码R2左移一位,继续显示查表,一直到6位显示完成后返回。显示子程序流程图如图4.2.2所示。图4.3 显示部分流程图4.2.3 键盘程序设计按键的触点在闭合和断开时均会产生抖动,这时触点的逻辑电

38、平是不稳定的,如不妥善处理,将会引起按键命令的错误执行或者重复执行。现在用软件延时的方法来避开抖动阶段。在判断是否有键闭合后都延时5ms,按下键后再延时12ms就可以避免键盘的抖动。然后键码分析,执行相应的模块,显示后返回。键盘子程序如图4.2.3所示。图4.4 键盘程序流程图4.2.4 定时程序设计定时的主要功能是在设定时间单片机能够得到中断信号,从而控制窗帘的开关。时钟发出50ms的信号给单片机,计数器计数,当计数到20,则过了1秒,秒单元数值加1,当秒单元到达60,分单元数值加1,秒单元清零。当时单元到达24,时单元清零。标志1天时间计满,把他们的值放到存储单元的指定单元。图4.2.4是

39、定时功能流程图。图4.6 定时功能流程图5 总结与展望经过一段时间的资料查找和设计,我已完成了毕业设计的任务。本文设计了电动窗帘控制器的智能项目,系统的介绍了电动窗帘控制器的硬件电路设计到软件设计的以系列步骤。本设计采用步进电机作为执行元件,以光敏电阻作为传感元件的传感器作为检测元件,89C51单片机作为控制芯片,辅助键盘和显示,实现了电动窗帘控制器的多项智能项目。纵观整个设计系统,单片机使用了熟悉的89C51单片机,从而使整个控制芯片了如指掌。熟悉的控制芯片设计起来也是得心应手。所用芯片简单实用,减少了开发和硬件开销。传感器部分使用光敏电阻,可以持续性的检测外界光强变化,通过电桥电路后的信号

40、进入比较器,可以得出一个信号,此信号经过放大,A/D转换后进入单片机,通过单片机的脉冲信号进而控制步进电机的运行。本设计的步进电机可以很好的执行单片机的命令。步进电机为一种数字伺服执行元件,具有结构简单、运行可靠、控制方便、控制性能好等优点。使得窗帘的开关更加的准确,稳定。设计的时钟电路配合单片机的定时功能,加上光电传感器的检测光强很好的解决了自动控制这项功能。同时,由于设计的时间和能力有限,还有许多功能和技术没有充分研究,如解决光电开关的滞回特性,可以使用施密特电路来完成,无奈时间有限。其次,显示功能中海没有显示电动窗帘控制器的工作方式。控制器固定,没有蓝牙和红外控制功能。而且没有完成实物的

41、设计,这不得不说是一个遗憾。但是,一个完整的毕业设计过程,让我掌握了单片机系统和电子操作软件等方面的知识,尤其在动手能力方面有很大的提升,也给今后更成功、完善的设计打下坚实的基础。程序程序清单:主程序:ML EQU 32H ;ML存放分的个位数 MH EQU 33H ;MH存放分的十位数HL EQU 34H ;HL存放小时的个位数 HH EQU 35H ;HH存放小时的十位数 L0 EQU 36H ;L0L3:显示数据存储器 L1 EQU 37H L2 EQU 38H L3 EQU 39H DSPLYP EQU 3AH ;显示数据指针(DISPLAYPOINT) PLYTS EQU 3BH ;

42、显示次数计数器(DISPLAYTIMES) LPLMOD BIT 39H ;低两位显示方式(LOWPLAYMOD) HPLMOD BIT 3AH ;高两位显示方式(HIGHPLAYMOD) BRIGHT BIT 3BH ;DISPLAY子程序参数:亮灭指示位 TCOUNT EQU 3CH ;时间计数器(TIMECOUNT)ADDRES EQU 3DH ;加l子程序参数 MAX EQU 3EH ;加l子程序参数 IFDEC BIT 20H ;BCD加法子程序参数 RMOD EQU 3FH ; LED4 BIT 30H ;发光管状态位 BELL BIT P17 ; WITCH BIT P37 ;

43、FKEY BIT P30 ;功能键(S1) MKEY BIT P31 ;修改键(S2) WORKIN BIT 38H ;工作状态指示位MAIN:MOV lE,#00H ;关中断 MOV SP,#57H ;设置堆栈指针 MOV PSW,#00H ;选用寄存器组0 MOV TMOD,#11H ;设定中断工作方式为T0和T1 MOV A,56H CJNE A,#0AAH,CSTART ;判断上电复位标志,无标志转冷启动 MOV A,57HCJNE A,#55H,CSTART ;无标志转冷启动 AJMP HSTART ;有上电复位标志转热启动 NOP NOP LJMP ERR ;软件陷阱,引向出错处理

44、程序CSTART: MOV P1,#0FFH ;冷启动,全面初始化 MOV P3,#0FFH MOV TCON,#00H ;计时停止 MOV TL0,#0BOH ;赋中断T0初值 MOV TH0,#3CH MOV TCOUNT,#0AH ;赋定时器初值 MOV R5,#00H ;R5为一空单元(备用) MOV R4,#00H ;R4为工作模式选择寄存器 MOV SL, #00H ;定时单元清零 MOV SH,#00H ;秒 MOV ML,#00H ; MOV MH,#00H ;分 MOV HL,#00H ; MOV HH,#00H ;时 MOV PLYTS,#64H ;赋显示次数初值为100次

45、 MOV DSPLYP,#L0 ;显示指针指向显存单元 MOV L0,#0AH ;送显示数据“一一一一一” MOV L1, #0AH MOV L2,#0AH MOV L3,共04H SETB LED4 ;LED4为数码管之间的发光二极管 SETB LPLMOD ;设定显示方式为闪烁 SETB HPLMOD SETB BRIGHT ;允许显示 CLR WORKIN ;清工作标志,待命 AJMP SETUP ;转开始工作 NOP NOP LJMP ERR ;软件陷阱HSTART:MOV SCON,#00H ;有上电标志,热启动,清串行口控制 MOV IP,#00H ;清中断优先控制寄存器SETB

46、FKEY ;重设按键 SETB MKEY SETB EA ;开中断 AJMP BEGIN ;转向继续工作 NOP NOP LJMP ERR ;软件陷阱SETUP: SETB EA ;开中断MAINl: ACALL DISPLY ;调用显示 JB FKEY,JUDGE ;按键扫描 ACALL KEYDLY ;延时消抖动 JB FKEY,JUDGE ;无键按下转向判断是否到点 CLR ET0 ;功能键被按下 CLR TR0 ;暂停计日寸 ACALL MENU ;调用菜单设置程序BEGIN: SETB WORKIN ;置工作标志位,开始工作 SETB ET0 ;开中断 SETB TR0 ;开始计时

47、MOV A,R4 ;移入工作模式选择 RL A ;指针放大 MOV DPTR JMP A+DPTR ;根据工作模式跳转到相应程序段MTAB:AJMP WORKl AJMP WORK2 AJMP WORK3 AJMP WORK4 NOP NOP LJMP ERR ;软件陷阱 WORKl: WORK2: CLR SWITCH ;工作方式1和2:开继电器 AJMP MAIN2 NOP NOP LJMP ERR ;软件陷阱 WORK3: WORK4: SETB SWI丁CH ;工作方式3和4:不开继电器MAIN2, CLR BELL ; ACALL DL05S SETB BELL JUDGl JNB WORKIN,MAINl ;判断是否在定时之中 MOV A,SL ;判断秒是否为零 JNZ MAINl MOV A,SH ;判断秒是否为零 JNZ MAINl MOV A,ML ;判断分是否为零 JNZ MAINl MOV A,HH ;判断时是否为零 JNZ MAINl ;若时、分、秒全为零 CLR ET0 ;停止计时 CLR TR0 ACALL ACTION ;调用到点工作子程序 AJMP MAIN ;返回

温馨提示

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

评论

0/150

提交评论