智能窗帘控制装置(毕业论文)_第1页
智能窗帘控制装置(毕业论文)_第2页
智能窗帘控制装置(毕业论文)_第3页
智能窗帘控制装置(毕业论文)_第4页
智能窗帘控制装置(毕业论文)_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、 .PAGE46 / NUMPAGES46信息职业技术学院毕业设计论文作者 生龙 学号 11031P10 系部 电子信息学院 专业 计算机控制技术 题目 智能窗帘控制装置 指导教师 龙凌云 评阅教师完成时间: 2013年 5 月 1 日 毕业设计(论文)中文摘要智能窗帘控制装置摘要:随着现代社会的高速发展,人们对室设计智能化的要求也越来越高。方便与享受的智能窗帘对于现代快节奏的人们生活来说,是适应现代化办公和生活环境的需要,是人们生活水平提高的一个标志。对于室的窗帘而言,它不仅要具有遮光作用和美化功能,更要具有方便智能的使用功能。本文综述了智能窗帘控制装置系统的设计与制作过程,介绍了设计制作一

2、个完整的窗帘控制系统需要做的理论分析以与其制作过程。智能窗帘控制装置系统核心采用的是单片机AT89C51,其次利用了光照传感器、键盘显示接口电路以与信号调理电路等外围电路,它主要的功能有时间显示, 定时控制开闭窗帘,还可以根据光强度自动调节窗帘以使屋达到舒适惬意的环境。整个系统在理论层面上,用程序语言驱动各模块工作,实现系统的在联系,在应用层面上则采用Protel软件进行原理图设计。智能窗帘控制装置系统的构成主要由光照传感电路、系统主控模块电路、电源转换电路、电机控制电路、键盘以与显示电路等组成,重点讨论了窗帘自动控制系统的设计过程、硬件选用和软件调试等问题,通过本系统可实现利用光照强度以与设

3、置时间来控制窗帘自动开闭。关键词:单片机智能窗帘 定时 步进电机毕业设计(论文)外文摘要Title :Smart curtain controldeviceAbstract:With the rapid developmentofmodern society, peopleare increasingly high requirementsforinterior designintelligent. Convenience andenjoysmartcurtainsforthefast pace of modernlife for peopletoadapttotheneedsofthemod

4、ern officeand living environment, isa sign ofimproved living standards. Forthecurtainsintheroom, itnot onlyhasashadingeffectandlandscaping features, but also to facilitateintelligentusefeatures. In this paper,intelligentcurtain controldevicesystem design andproduction process, designa completecurtai

5、n controlsystemsneed to dotheoretical analysisandits production process. Intelligentcurtain controldevice systemcoremicrocontrollerAT89C51, followed bythe use ofalightsensor, keyboard and displayinterface circuit, and a signalconditioning circuitperipheral circuits, it is mainlythe function oftime d

6、isplay, timing controltheopeningandclosingcurtains, you can also automaticallyaccording tothelight intensityadjustthecurtainstothehouseofasafe and comfortableenvironment. The entire systemat the theoretical level, each moduledrivenprogramming language, the intrinsic linkofthesystem, usingProtel soft

7、wareforschematic designat the application level.Intelligent curtain controldevicesystemconstitutes a majorbythelightsensing circuit, systemmain control modulecircuit, power conversion circuits, motor control circuit, keyboard anddisplay circuitfocused on thedesign processofthecurtainsof automatic co

8、ntrol system, hardwareselection andsoftwareissues such as debuggingthrough the systemcan be realizedusinglight intensity, andset the timeto control thecurtainsopen and close automatically.keywords: MCU Smart CurtainsTimingStepper Motor目录TOC o 1-3 u 第1章 绪论51.1 研究背景与意义51.2 基本容安排61.3 设计思想与基本功能7第2章 总体电路

9、设计与其原理说明72.1 系统基本功能72.2 系统总体结构设计8第3章 硬件分析与设计93.1电源电路设计93.1.1单片机电源电路设计93.1.2步进电机电源电路设计113.2 89C51单片机与相关电路123.2.1晶振电路133.2.2复位电路143.2.3时钟电路143.2.4键盘电路163.2.5 显示电路173.2.6 AD转换电路193.2.7光敏传感器213.2.8 步进电机223.2.9信号校正电路243.3窗帘框架构造设计253.3.1电动机选择25第4章 程序分析与设计274.1 主程序设计274.2 主要子程序设计284.2.1 键盘程序设计284.2.2定时程序设计

10、304.2.3步进电机程序设计31结论32致33参考文献34附录一 智能窗帘原理图35附录二 程序清单36第1章 绪论1.1研究目的和意义21世纪是信息化的世纪,各种电信和互联网新技术推动了人类文明的巨大进步。智能家居控制系统可以定义为一个过程或者一个系统。利用先进的计算机技术、网络通讯技术、综合布线技术、将与家居生活有关的各种子系统,有机地结合在一起,通过统筹管理,让家居生活更加舒适、安全、有效。与普通家居相比,智能家居不仅具有传统的居住功能,提供舒适安全、高品位且宜人的家庭生活空间。还将原来的被动静止结构转变为具有能动智慧的工具,提供全方位的信息交换功能,帮助家庭与外部保持信息交换畅通,优

11、化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全性,甚至为各种能源费用节约资金。系统的网络化功能可以提供遥控、家电(空调,热水器等)控制、照明控制、室外遥控、窗帘自控、防盗报警、远程控制、可编程定时控制与计算机控制等多种功能和手段。使生活更加舒适、便利和安全。因智能家居控制系统布线简单、功能灵活,扩展容易而被人们广泛接受和应用。智能化控制的工作原理自然离不开运算和控制单元,在设计本系统时采用的主控器件AT89C51,正是运算与控制单元的集合体。本窗帘控制系统不仅具有采集控制方便、简单、灵活等优点,而且可以大幅度提高采各模块和芯片的协调性,从而大大提高系统的可利用性。此次系统设计系统正

12、是利用AT89C51 单片机的优点,顺利的完成了本设计的要求。并且实现了学习型定时和自动控制功能,为控制家居设备提供了良好的基础。正是因为通信技术、计算机技术、网络技术、控制技术的迅猛发展与提高,促使了家庭实现了生活现代化,居住环境舒适化、安全化。这些高科技已经影响到人们生活的方方面面,改变了人们生活习惯,提高了人们生活质量,家居智能化也正是在这种形势下应运而生的。智能家居控制系统的主要功能包括通信、设备自动控制、安全防三个方面。随着新技术和自动化的发展,传感器的使用数量越来越大,功能也越来越强,各种传感器都已经标准化、模块化,这给智能家居控制系统的设计提供极大方便。智能窗帘控制装置系统的整体

13、主要由硬件和软件两部分组成。硬件部分由单片机扩展的外围电路以与各种实现单片机系统控制功能的接口电路组成;软件部分主要由单片机系统实现其特定控制功能的各种程序组成。本设计中介绍了智能窗帘控制装置系统的硬件构成以与软件设计过程,以尽最大可能满足不同人对窗帘开闭的不同需求。同时,系统在针对人们一般需求的设计开发外,还提出多种解决方案,在考虑到经济性和简便性的前提下,可以供日后对控制系统的功能进行扩展。1.2 基本容安排该设计通过分析电动窗帘的现状和人们对自动窗帘控制系统的功能的需求,从而对自动窗帘控制器进行总体的设计。系统的总体设计采用以步进电机作为单片机控制元件,执行窗帘开闭的主要任务;以光敏电阻

14、作为检测元件,以提供单片机外界光照的变化;89C51单片机作为主控制芯片,控制着整个系统的运行,此外,辅助以键盘和显示电路,在各个电路模块的配合下最终实现了自动窗帘控制系统的智能化要求。自动窗帘控制系统设计过程主要分为以下几个章节:(1)绪论:介绍设计目标国外的发展现状和研究意义目的,设计的基本容和本文的章节安排。(2)总体设计方案:给出了智能窗帘控制装置的总体方案设想,智能项目,和设计结构规划。(3)硬件设计:选用89C51单片机为核心的各种电路设计,包括复位电路,电源电路,时钟电路,步进电机控制电路,键盘/显示电路等一系列相关电路。(4)软件设计:介绍各个功能模块的的设计流程以与设计思路。

15、(5)总结:针对设计中的不足进行再思考以与提出自动窗帘控制系统功能的扩展。1.3 设计思想与基本功能 该系统具有一般的窗帘控制系统的最基本的功能,即通过电动按钮来开闭窗帘,在此基本功能的前提下,本设计根据需求还设计了可以根据光照强度和设定时间自动开闭窗帘的功能,在选取设计方案和采用元器件方面,该系统本着简单实用经济的思想,尽量简化电路设计,用最简单的电路布线和选用最经济实用的器件来达到设计要求。自动窗帘控制系统具有以下几个基本功能:(1)手动控制:该功能是根据用户的需求通过按键进行窗帘的开关,此功能可以使窗帘的开闭处于任何一种状态;(2)自动控制:用户可以通过按键一次性开闭窗帘;(3)环境亮度

16、控制:窗帘的关闭和开启通过环境亮度自动完成窗帘的开启或关闭操作控制,“天黑关闭,天亮打开”具有智能管理,不产生误动作。(4)时间自动控制:根据设置输入的开启或关闭时间,来控制窗帘的关闭和打开。窗帘的正转、反转和停止功能可由单片机输出电平来控制步进电机的运转以实现。环境亮度的控制通过光敏二极管和运放组成的电路来控制单片机输出电平继而控制电机的正转和反转。时间自动控制可以由定时器来控制。第2章 总体电路设计与其原理说明2.1 系统基本功能伴随着科学技术的发展和人民生活水平的日益提高,人们对生活舒适性的追求越来越强烈,而窗帘在每个家庭生活是必备的,其基本功能是保护住户的隐私以与遮蔽等。基于这些作用窗

17、帘的便利性自然也受到家庭的关注。但传统的窗帘绝大部分是用手去开关,每天开关不仅不省力,而且还可能错过最佳光照时间,尤其是大窗帘,比较重,而且长,在开闭时需要费很大力气才能开关窗帘,特别不方便;针对这种现象,电动窗帘便由此产生。现有的电动窗帘基本上都可以利用按键控制,自动开关闭窗帘,虽然省了力气,但是有些方面的设计还是不够人性化。对此,本控制系统提出可以根据光照以与定时等开关窗帘,具体有以下几大功能:(1)手动控制状态:此功能使自动窗帘控制系统具有手动拉开、关闭和停止功能。(2)半自动控制状态:此功能是在要打开或者关闭窗帘的时候,通过“开”或“关”按键,窗帘在电机的带动下可以自动开闭。(3)亮度

18、自动控制:此功能是利用设定的光照强度自动完成窗帘的打开或者关闭,真正实现黑天关闭,白天打开的功能。(4)时间自动控制:此功能根据用户需要,设定需要开闭窗帘的时间,通过输入的开启或关闭时间,控制窗帘开关。系统总体结构设计硬件设计的好坏决定整个方案的成功与否,所以在硬件设计时,在实现功能的情况下电路设计越简单越好,这样才能保证这个系统的稳定运行。下图是智能窗帘控制装置设计的总体框图如图2.2.1所示。光敏传感 信号校正A/D转换89C51显示模块键盘模块步进电机图2.2.1 电动窗帘控制器结构框图本智能窗帘控制装置以89C51为主控芯片,通过其灵活的输入/输出口设置,由光电传感器检测外界的光强,经

19、过信号调理电路的放大,滤波调理后输入到A/D转换器,A/D转换器件完成一个转换过程需要一定时间,如果在这段时间信号的幅度发生变化,转换结果将会受到影响,所以其间要用到采样保持电路。转换后的信号由单片机控制器,来实现电机的运行与停止。显示模块主要用来显示智能窗帘控制装置的各种状态信息。键盘模块主要作用是通过按键向单片机输入指令,其中主要包括设定时间,控制步进电机转动方向,从而控制窗帘的开与关。第3章 硬件分析与设计3.1电源电路设计3.1.1 单片机电源电路单片机工作需要使用5V电压,因此需要给单片机设计电源电路。图3.1.1是单片机的电源电路。它采用LM2576开关稳压集成电路将电动机电源+1

20、2V直流电压转变为+5V的直流电压为单片机供电。图3.1.1单片机电源电路LM2576中文资料LM2576系列开关稳压集成电路的主要特性如下:最大输出电流:3A;最高输入电压:LM2576为40V,LM2576HV为60V;输出电压:3.3V、5V、12V、15V和ADJ(可调)等可选;震荡频率:52kHz;转换效率:75%88%(不同电压输出时的效率不同);控制方式:PWM;工作温度围:-40 +125工作模式:低功耗/正常两种模式可外部控制;工作模式控制:TTL电平兼容;所需外部元件:仅四个(不可调)或六个(可调);器件保护:热关断与电流限制;LM2576的部框图如图3.1.2所示,该框图

21、的引脚定义对应于五脚TO-220封装形式。图 3.1.2LM2576部包含52kHz振荡器、1.23V基准稳压电路、热关断电路、电流限制电路、放大器、比较器与部稳压电路等。为了产生不同的输出电压,通常将比较器的负端接基准电压(1.23V),正端接分压电阻网络,这样可根据输出电压的不同选定不同的阻值,其中R1=1k(可调-ADJ时开路), R2分别为1.7 k(3.3V)、3.1 k(5V)、8.84 k(12V)、11.3 k(15V)和0(-ADJ),上述电阻依据型号不同已在芯片部做了精确调整,因而无需使用者考虑。将输出电压分压电阻网络的输出同部基准稳压值 1.23V进行比较,若电压有偏差,

22、则可用放大器控制部振荡器的输出占空比,从而使输出电压保持稳定。由图3.1.1与LM2576系列开关稳压集成电路的特性可以看出,以LM2576为核心的开关稳压电源完全可以取代三端稳压器件构成的MCU稳压电源。LM2576系列开关稳压集成电路来组成稳压电源所需的外围元件极少,电路部还有过流、过热与调整管的保护电路,使用起来更可靠、更方便。外形图图.2 步进电机电源电路本设计采用12V直流电压为步进电机供电,因此需要给步进电机设计电源电路。图3.1.4是步进电机的电源电路。由于该电路在应用中比较常见,所以在此不做任何解析。图3.1.4步进电机的电源电路3.2 89C51单片机与相关电

23、路单片机的全称是单片微型计算机(Single Chip Microcomputer)。为了使用方便,它把组成计算机的主要功能部件:中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM、EPROM、E2PROM或FLASH)、定时/计数器和各种输入/输出接口电路等都集成在一块半导体芯片上,构成了一个完整的计算机系统。与通用的计算机不同,单片机的指令功能是按照工业控制的要求设计,因此它又被称为微控制器(Microcontroller)。MCS51系列1单片机是美国Intel公司于1980年推出的一种8位单片机系列。该系列的基本型产品是8051、8031和8751。这3种产品之间的区别只是

24、在片程序存储器方面。8051的片程序存储器(ROM)是掩膜型的,即在制造芯片时已将应用程序固化进去;8031片没有程序存储器;8751部包含有用作程序存储器4KB的EPROM。由于8051的编程需要制造商的支持,而8751的价格昂贵,因此8031获得了更为广泛的使用。MCS51系列单片机优异的性能/价格比使得它从面世以来就获得用户的认可。Intel公司把这种单片机的核,即8051核,以出售或互换专利的方式授权给一些公司,如Atmel、Philips、ADI等。这些公司的这类产品也被称为8051兼容芯片,这些8051兼容芯片在原来的基础上增加了许多特性。本文应用电路中采用了Atmel公司的AT8

25、9S51芯片,它与MCS51单片机指令兼容,同时它的部包含用作程序存储器4KB的基于FLASH技术的只读存储器。采用这款芯片既克服了采用8031需要添加外部程序存储器导致电路复杂的缺点,又克服了采用8751导致电路制作成本高的缺点。3.2.1 晶振电路电路中的晶振即石英晶体震荡器。由于石英晶体震荡器具有非常好的频率稳定性和抗外界干扰的能力,所以,石英晶体震荡器是用来产生基准频率的。通过基准频率来控制电路中的频率的准确性。同时,它还可以产生振荡电流,向单片机发出时钟信号。图3.2.1是单片机的晶振电路。电路中的电容C1和C2的典型值通常选择为30PF左右,该电容的大小会影响振荡电路频率的高低、振

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

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

28、87时应注意以下几点: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引脚。R

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

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

31、FH);DS12887的中断输出端IQR和89C51的外部中断INT0端相联,给单片机提供中断信号;DS12887的SQW端与89C5I的TO端相连。3.2.4键盘电路键盘在由单片机控制的窗帘自动控制系统中的主要作用是通过按键向单片机输入指令,其中主要包括设定时间,控制窗帘的开关等等功能,是人工控制单片机的主要手段。在窗帘控制系统设计中的键盘采用的是44矩阵键盘。这16个按键分别为:设定键主要是用来设定自动窗帘打开或者关闭的时间;0-9数字键,其作用主要是用于设定时间;复位键主要应用在程序出错以与误操作的时候使单片机复位,从而重新设定;反转键是使步进电机反转,控制窗帘关闭;正转键是使步进电机正

32、转,从而控制窗帘打开;停止键可以控制步进电机停止工作,窗帘控制器停止运行;确定键主要是用于在时间设定完成后的确定输入。由于按键比较多,单独设置按键会增加总体设计的复杂性,而且为了减少所占用的端口,可以将按键组成一个矩阵,如图3.2.4所示。 图3.2.4 键盘接口电路3.2.5 显示电路显示电路主要是用于显示时间。采用LED数码管进行显示是因为LED数码管具有以下几个优点:(1)能在低电压、小电流条件下驱动发光,能与CMOS、ITL电路兼容。(2)发光响应时间极短(.若确认按下20ms,得到有效键值等待弹起 2. 若不是按下20ms直接结束处理(ret)。 b.若不一样则将标志清零结束处理(r

33、et)。 (2)若不是首次按下:将键值暂存起来,标志置位结束处理。 如果无键值,则判断是否有键值已被确认 (1)若有键已被确认:判断按键是否首次抬起 a.若首次抬起:判断抬起延时时间(20ms)是否到达 1.若延时到则将标志处理结束处理。 2.若延时未到直接结束处理(ret)。 b.若非首次抬起:直接结束处理(ret)。 (2)若没有键被确认:直接结束处理(ret)。4.2.2 定时程序设计定时程序的主要作用是在用户设定的时间后能够使单片机收到一个中断信号,从而发出相应的指令,控制窗帘的开关。时钟芯片发出50ms的信号给单片机后,计数器开始工作,计数器记到20,则时间即为1秒,秒单元加1,当秒

34、单元计数到60,分单元加1,此时秒单元清零。当时单元计数到24,时单元清零。图4.2.2是定时程序流程图。图4.2.2 定时程序流程图4.2.3步进电机程序设计步进电机是操控窗帘开闭的主要执行器件,其设计主要是按照单片机指令以与按键指令进行正转或者反转。图4.2.3是步进电机程序流程图。 图4.2.3步进电机程序流程图 步进电机程序设计的主要任务是:(1)判断旋转方向;(2)按顺序传送控制脉冲;(3)判断所要求的控制步数是否传送完毕。对于四相8拍的设计,其控制方式模型如下: 步 序 控 制 位工作状态控制模型P.7P.6P.5P.4P.3D相P.2C相P.1B相P.0A相 100000011A

35、B03H 200000110BC06H 300001100CD0CH400001001DA09HA组线圈对应 P2.0B组线圈对应 P2.1C组线圈对应 P2.2D组线圈对应 P2.3正转次序: AB组-BC组-CD组-DA组 (即一个脉冲,正转 7.5 度) 总之,只要按一定的顺序改变 P2.0P2.3 三位通电的状况,即可控制步进电机依选定的方向步进。而对于节拍比较多的控制程序,通常采用循环程序进行设计。结论 本次设计系统地介绍了自动窗帘控制系统的硬件电路设计以与软件设计。在总体方案设计中以光敏电阻作为传送信号的传感器,用步进电机作为信号输出的执行元件,89C51单片机作为主要的控制元器件

36、,并且应用了按键以与和显示电路。应用89C51单片机的优势减少了硬件的复杂性,光敏电阻接收外界光照信号,经过AD转换后,传送给单片机一个电信号,单片机经过处理后,控制步进电机做出相应的动作,以控制窗帘的开闭。在实现一般应用的基础上,又添加了定时元器件电路,使窗帘的自动化性能得到进一步提升。光敏电阻的良好感光性以与步进电机的结构简单,控制方便的优点使窗帘控制开关更加稳定。本次毕业设计的整个研究与设计过程包括选题、设计以与完善等。首先,在选题方面查阅了很多与题目有关的资料和课题并且制定设计方案,进行设计的总体规划,然后将这些方案落实到设计环节中。其次,在制定的方案基础上运用所学的知识对硬件以与软件

37、进行设计,并用相关软件进行仿真设计。最后,对设计容进一步修缮,以求达到最佳设计结果。虽然设计容完成了基本的功能,但是其中还是存在一定欠缺,比如在设计中没有考虑到窗帘工作方式的显示以与没有添加类似红外遥控的设计等。 此次设计过程中,在完成设计任务之外也让我系统性地认识和全面地掌握了单片机相关技术,从本次毕业设计中我更加深刻地认识到理念来源于实际的含义。在和同学以与老师的就相关问题的互相讨论交流中,我认识到自己的很多不足,但在这些不足中我又学到了很多知识,使我的综合应用能力有了很大提高。 致 经过这么长时间的忙碌,毕业设计和论文已经接近尾声。在毕业设计的过程中,由于经验的缺乏以与知识的局限性,难免

38、有许多考虑不周全的地方,在选题,设计等方面,如果没有龙老师的督促指导,没有同学们的支持和帮助,单独完成这个设计,其中还是有一定难度的。在论文完稿之际,我想借此机会对在完成毕业设计期间关心、帮助、支持和鼓励过我的老师、同学以与朋友们致以最诚挚的意和最衷心的祝福!首先我要感的是我的指导老师,在完成整个毕业设计的过程中,老师给我提供了很大的帮助,在选题、设计以与修改论文的各个环节里老师给我指出了很多错误,提出了很多宝贵意见,对于设计中存在的问题也是耐心的回答和指导,让我能够顺利的完成毕业设计。在此谨向老师致以诚挚的意和崇高的敬意。 其次要感的是所有在大学三年中教育指导过我的所有老师,你们传授给我的专

39、业知识是我完成本设计的基础,也是日后踏入工作岗位的重要基石,对于老师们一丝不苟,兢兢业业的精神表示衷心的感。最后我还要向所有关心和支持我学习的朋友和同学们表示真挚的意!感你们对我的关心、关注和支持。参 考 文 献1.童诗白,华成英.模拟电子技术基础.高等教育,2003.2.胡汉才,单片机原理与接口技术.:清华大学,2004.3.江思敏,胡荣.Protel电路设计教程.:清华大学,2002.4.全利,迟荣强.单片机原理与接口技术.:高等教育,2001.5.程学先,林珊,程传慧.汇编语言程序设计.:机械工业,2005.6.王建校,建国.51系列单片机与C51程序设计.:科学,2002.7.王幸之.

40、AT89系列单片机原理.:航空航天大学 20048.阎石.数字电子技术基础.:高等教育,1998.9.AT89C51 DATA SHEEP Philips Semiconductors 1999.dec10.广第. 单片机基础. :航空航天大学,200111.周航慈,朱兆优. 智能仪器原理与设计. :航空航天大学,200512.守义. 单片机应用技术. :电子科技大学,200713.王晓明. 电动机的单片机控制. :航空航天大学,200214.福安电子电路设计与实践:科学技术,200515.大茂.智能仪器:单片机应用系统设计.:航空工业,1998附录一:原理图附录二:程序清单主程序: ML E

41、QU 32H ;ML存放分的个位数MH EQU 33H ;MH存放分的十位数HL EQU 34H ;HL存放小时的个位数HH EQU 35H ;HH存放小时的十位数L0 EQU 36H ;L0L3:显示数据存储器L1 EQU 37HL2 EQU 38HL3 EQU 39HDSPLYP EQU 3AH ;显示数据指针PLYTS EQU 3BH ;显示次数计数器LPLMOD BIT 39H ;低两位显示方式HPLMOD BIT 3AH ;高两位显示方式BRIGHT BIT 3BH ;DISPLAY子程序参数TCOUNT EQU 3CH ;时间计数器ADDRES EQU 3DH ;加l子程序参数MA

42、X EQU 3EH ;加l子程序参数IFDEC BIT 20H ;BCD加法子程序参数RMOD EQU 3FH LED4 BIT 30H ;发光管状态位BELL BIT P1.7 WITCH BIT P3.7 FKEY BIT P3.0 ;功能键(S1) MKEY BIT P3.1 ;修改键(S2) WORKIN BIT 38H ;工作状态指示位MAIN: MOV IE,#00H ;关中断MOV SP,#57H ;设置堆栈指针MOV PSW,#00H ;选用寄存器组0MOV TMOD,#11H ;设定中断工作方式为T0和T1MOV A,56HCJNE A,#0AAH,CSTART ;判断上电复

43、位标志,无标志转冷启动MOV A,57HCJNE A,#55H,CSTART ;无标志转冷启动AJMP HSTART ;有上电复位标志转热启动NOPNOPCSTART: MOV P1,#0FFH ;冷启动,全面初始化MOV P3,#0FFHMOV TCON,#00H ;计时停止MOV TL0,#0B0H ;赋中断T0初值MOV TH0,#3CHMOV TCOUNT,#0AH ;赋定时器初值MOV R5,#00H ;R5为一空单元(备用)MOV R4,#00H ;R4为工作模式选择寄存器MOV ML,#00H MOV MH,#00H ;分MOV HL,#00H MOV HH,#00H ;时MOV

44、 PLYTS,#64H ;赋显示次数初值为100次MOV DSPLYP,#L0 ;显示指针指向显存单元MOV L0,#0AH ;送显示数据“一”MOV L1, #0AHMOV L2,#0AHMOV L3,#04HSETB LED4 ;数码管之间的发光二极管SETB LPLMOD ;设定显示方式为闪烁SETB HPLMOD SETB BRIGHT ;允许显示CLR WORKIN ;清工作标志,待命AJMP SETUP ;转开始工作NOPNOPHSTART: MOV SCON,#00H ;有上电标志,热启动,清串行口控制MOV IP,#00H ;清中断优先控制寄存器SETB FKEY ;重设按键S

45、ETB MKEYSETB EA ;开中断AJMP BEGIN ;转向继续工作NOPNOPSETUP: ETB EA ;开中断MAINl: ACALL DISPLAY ;调用显示 FKEY,JUDGE ;按键扫描ACALL DELAY1 ;延时消抖动 FKEY,JUDGE ;无键按下判断是否到点CLR ET0 ;功能键被按下CLR TR0 ;暂停计日寸ACALL MTAB ;调用菜单设置程序BEGIN: SETB WORKIN ;置工作标志位,开始工作SETB ET0 ;开中断SETB TR0 ;开始计时MOV A,R4 ;移入工作模式选择RL A MOV DPTR,#7F01H JMP A+D

46、PTR ;根据模式转到相应程序段MTAB:AJMP WORKlAJMP WORK2AJMP WORK3AJMP WORK4NOPNOPWORKl: WORK2: CLR WITCH ;工作方式1和2:开继电器AJMP MAIN2NOPNOPWORK3: WORK4: SETB WITCH ;工作方式3和4:不开继电器MAIN2: CLR BELL ;ACALL DL05SSETB BELLJUDGE: JNB WORKIN,MAINl ;判断是否在定时之中JNZ MAINlMOV A,ML ;判断分是否为零JNZ MAINlMOV A,HH ;判断时是否为零JNZ MAINl ;若时、分、秒全

47、为零CLR ET0 ;停止计时CLR TR0 ACALL KEYI ;调用到点工作子程序AJMP MAIN ;返回NOPNOPORG 0100HROUNT1: MOV A,#N ;步进电机步数AJNB 00H,LOOP2 ;反向,转 LOOP2LOOP1: MOV P2,#03H ;正向,A组线圈工作 ACALL DELAY ;延时 DEC A ;A0,转DONEJZ DONEMOV P2,06H ;B组线圈工作 ACALL DELAY ;延时DEC A ;A0,转DONEJZ DONEMOV P2,0CH ;C组线圈工作ACALL DELAY ;延时DEC A ;A0,转DONEJZ DON

48、EMOV P2,09H ;D组线圈工作ACALL DELAY ;延时DEC A ;A0,转LOOP1 JNZ LOOP1AJMP DONE ;A0,转DONELOOP2: MOV P2,0CH ;反向,A组线圈工作ACALL DELAY ;延时DEC A;A0,转DONJZ DONEMOV P2,06H ;B组线圈工作 ACALL DELAY ;延时DEC AJZ DONE ;MOV P2,03H ;C组线圈工作ACALL DELAY ;延时DEC A MOV P2,09H ;D组线圈工作 ACALL DELAY ;延时DEC A ;A0,转LOOP2JZ DONEJNZ LOOP2DONE:

49、 RETDISPLAY:MOV A , #03H ;初始化MOV DPTR , #7F00HMOVX DPTR , AMOV R0 , #60H ;置显示缓冲区首地址MOV R2 , #01H ;置位选码初值MOV A , R2LOOP: MOV DPTR , #7F01HMOVX DPTR , AINC DPTRMOV A , R0ADD A , #0DH ;形成查表的偏移地址MOVC A , A+PCDIR: MOVX DPTR , AACALL DELAY ;延时INC R0MOV A , R2 ACC.5 , LOP1 ;判断6位是否显示完毕RL AMOV R2 , AAJMP LOO

50、PLOP1: RETDB 3FH , 06H , 5BH , 4FH , 66H , 6DHDB 7DH , 07H , 7FH , 6FH , 77H , 7CHDB 39H , 5EH , 79H , 71HDELAY: MOV R7 , #04HDELAY1: MOV R6 , #0FFHDELAY2: DJNZ R6 , DELAY2DJNZ R7 , DELAY1RETKEYI: ACALL KS1 ;调用判有无键闭合子程序JNZ LK1 ;有键闭合,跳LK1NI: ACALL DIR ;无键闭合,调用显示程序,延迟6ms后,跳KEYIAJMP KEYILK1: ACALL DIR

51、;可能有键闭合,延迟12ms,软件去抖ACALL DIRACALL KS1 ;调用判有无键闭合子程序JNZ LK2 ;经去抖,判键确实闭合,跳LK2处理ACALL DIR ;调用显示子程序延迟6msAJMP KEYI ;抖动引起,跳KEYILK2: MOV R2,#0FEH ;列选码R2MOV R4,#00H ;R4为列号计数器LK4: MOV DPTR,#7F01H ;列选码8155H的PA口MOV A,R2 MOVX DPTR,A INC DPTR ;数据指针增2,指向PC口INC DPTR MOVX A,DPTR ;读8155H PC口 Acc.0,LONE ;0行线为高,无键闭合,跳L

52、ONE,转判1行MOV A,#00H ;0行有键闭合,首键号0AAJMP LKP ;跳LKP,计算键号LONE: Acc.1,LTW0 ;1行线为高,则跳LTW0,转判2行MOV A,#08H ;1行有键闭合,首键号8AAJMP LKPLTW0: Acc.2,LTHR ;2行线为高,则跳LTHR,转判3行MOV A,#10H ;2行有键闭合,首键号10HAAJMP LKP ;跳LKP,计算键号LTHR: Acc.3,NEXT ;3行线为高,跳NEXT,准备下一列扫描MOV A,#18H ;3行有键闭合,首键号18HALKP: ADD A,R4 ;计算键号:首键号列号=键号PUSH ACC ;键

53、号进栈保护LK3: ACALL DIR ;调用显示子程序,延时6msACALL KS1 ;调用无键闭合子程序,延时6msJNZ LK3 ;判键释放否,未释放,则循环POP ACC ;键已释放,键号出栈ARETNEXT: INC R4 ;列计数器加1,为下一列扫描作准备MOV A,R2 ;判是否已扫到最后一列(最右一列)JNB Acc.7,KND ;键扫描已扫到最后一列,跳KND,重新进行扫描RL A ;位选码左移一位MOV R2,A ;位选码R2AJMP LK4 KND: AJMP KEYI KS1: MOV DPTR ,#7F01H ;判有无键闭合子程序MOV A,#00H ;即列线全为低电

54、平MOVX DPTR,A INC DPTR ;DPTR增2,指向PC口INC DPTR ;指针增1,指向PC口MOVX A,DPTR ;从PC口读行线的状态CPL A ;行线取反,如无键按下,则A为0;ANL A,#0FH ;屏蔽无用的高4位RETEND主程序: ML EQU 32H ;ML存放分的个位数MH EQU 33H ;MH存放分的十位数HL EQU 34H ;HL存放小时的个位数HH EQU 35H ;HH存放小时的十位数L0 EQU 36H ;L0L3:显示数据存储器L1 EQU 37HL2 EQU 38HL3 EQU 39HDSPLYP EQU 3AH ;显示数据指针PLYTS

55、EQU 3BH ;显示次数计数器LPLMOD BIT 39H ;低两位显示方式HPLMOD BIT 3AH ;高两位显示方式BRIGHT BIT 3BH ;DISPLAY子程序参数TCOUNT EQU 3CH ;时间计数器ADDRES EQU 3DH ;加l子程序参数MAX EQU 3EH ;加l子程序参数IFDEC BIT 20H ;BCD加法子程序参数RMOD EQU 3FH LED4 BIT 30H ;发光管状态位BELL BIT P1.7 WITCH BIT P3.7 FKEY BIT P3.0 ;功能键(S1) MKEY BIT P3.1 ;修改键(S2) WORKIN BIT 38

56、H ;工作状态指示位MAIN: MOV IE,#00H ;关中断MOV SP,#57H ;设置堆栈指针MOV PSW,#00H ;选用寄存器组0MOV TMOD,#11H ;设定中断工作方式为T0和T1MOV A,56HCJNE A,#0AAH,CSTART ;判断上电复位标志,无标志转冷启动MOV A,57HCJNE A,#55H,CSTART ;无标志转冷启动AJMP HSTART ;有上电复位标志转热启动NOPNOPCSTART: MOV P1,#0FFH ;冷启动,全面初始化MOV P3,#0FFHMOV TCON,#00H ;计时停止MOV TL0,#0B0H ;赋中断T0初值MOV

57、 TH0,#3CHMOV TCOUNT,#0AH ;赋定时器初值MOV R5,#00H ;R5为一空单元(备用)MOV R4,#00H ;R4为工作模式选择寄存器MOV ML,#00H MOV MH,#00H ;分MOV HL,#00H MOV HH,#00H ;时MOV PLYTS,#64H ;赋显示次数初值为100次MOV DSPLYP,#L0 ;显示指针指向显存单元MOV L0,#0AH ;送显示数据“一”MOV L1, #0AHMOV L2,#0AHMOV L3,#04HSETB LED4 ;数码管之间的发光二极管SETB LPLMOD ;设定显示方式为闪烁SETB HPLMOD SE

58、TB BRIGHT ;允许显示CLR WORKIN ;清工作标志,待命AJMP SETUP ;转开始工作NOPNOPHSTART: MOV SCON,#00H ;有上电标志,热启动,清串行口控制MOV IP,#00H ;清中断优先控制寄存器SETB FKEY ;重设按键SETB MKEYSETB EA ;开中断AJMP BEGIN ;转向继续工作NOPNOPSETUP: ETB EA ;开中断MAINl: ACALL DISPLAY ;调用显示 FKEY,JUDGE ;按键扫描ACALL DELAY1 ;延时消抖动 FKEY,JUDGE ;无键按下判断是否到点CLR ET0 ;功能键被按下CL

59、R TR0 ;暂停计日寸ACALL MTAB ;调用菜单设置程序BEGIN: SETB WORKIN ;置工作标志位,开始工作SETB ET0 ;开中断SETB TR0 ;开始计时MOV A,R4 ;移入工作模式选择RL A MOV DPTR,#7F01H JMP A+DPTR ;根据模式转到相应程序段MTAB:AJMP WORKlAJMP WORK2AJMP WORK3AJMP WORK4NOPNOPWORKl: WORK2: CLR WITCH ;工作方式1和2:开继电器AJMP MAIN2NOPNOPWORK3: WORK4: SETB WITCH ;工作方式3和4:不开继电器MAIN2

60、: CLR BELL ;ACALL DL05SSETB BELLJUDGE: JNB WORKIN,MAINl ;判断是否在定时之中JNZ MAINlMOV A,ML ;判断分是否为零JNZ MAINlMOV A,HH ;判断时是否为零JNZ MAINl ;若时、分、秒全为零CLR ET0 ;停止计时CLR TR0 ACALL KEYI ;调用到点工作子程序AJMP MAIN ;返回NOPNOPORG 0100HROUNT1: MOV A,#N ;步进电机步数AJNB 00H,LOOP2 ;反向,转 LOOP2LOOP1: MOV P2,#03H ;正向,A组线圈工作 ACALL DELAY

温馨提示

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

评论

0/150

提交评论