毕业设计基于STC89C52单片机的红外窗帘控制器设计与实现.doc
南阳理工学院 本科生毕业设计(论文)红外窗帘控制器设计与实现Design and Implementation of Infrared Controller for Curtain学 院: 电子与电气工程学院 专 业: 自动化 学 生 姓 名: 樊 帅 学 号: 1109624076 指 导 教 师(职称): 评 阅 教 师: 完 成 日 期: 红外窗帘控制器设计与实现自动化专业 樊帅摘 要 本文设计了一种基于STC89C52单片机的红外窗帘控制器,系统分为两个部分,一是红外遥控器部分,分别设置了启动/停止、打开、关闭、速度减小、速度增加和自动6个按键,当不同的按键被按下时红外发射二极管便发出不同的按键编码。二是接收控制器部分,其功能是用单片机通过一体化红外接收头接收遥控器发出的编码并进行解调,然后根据编码的功能来控制步进电机的运行状态。系统包括手动和自动两种模式,在手动模式下可通过按键来控制窗帘的打开,关闭或停止。在自动模式下可根据室内光线的强度自动控制窗帘的打开或关闭。从而实现手动和自动控制窗帘的目的。关键词 单片机;红外;遥控;窗帘 Design and Implementation of Infrared Controller for Curtain Automation Specialty FAN ShuaiAbstractThis design is an infrared curtain controller based on the STC89C52 single chip micro computer. The system can be divided into two parts. The first part is the IR remote control which sets the 6 buttons of start/stop, open, close, slow down, speed up and automatic. The infrared emitting diode will send different code when different button is pressed. The second part is the receiving controller which would make use of the single chip micro computer to receive the code sent by the remote control through the integrated infrared receiver and make demodulation. Then it would control the running situation of the stepping motor according to the functions of the code. The system includes two kinds of models manual and automatic. Under the manual model, you can make the curtain be opened, closed or stopped by pressing the buttons. Under the automatic model,opening or closing the curtain can be controlled automatically according to the intensity of the indoor light. In this way, the curtain can be controlled manually and automatically.Key words: Single chip micro computer; infrared; remote control; curtain目 录1 引言12 单片机的介绍22.1 单片机简介32.2 单片机的特点32.3 单片机的应用32.4 单片机AT89C52的结构原理43 系统总体设计83.1 系统硬件电路设计93.1.1 红外发射模块93.1.2 红外接收模块103.1.3 显示模块113.1.4 光控模块133.1.5 步进电机驱动模块143.1.6 窗帘框架构造设计163.2 系统软件设计163.2.1 红外遥控器的编码163.2.2 二进制信号的调制173.2.3 二进制信号的解码183.2.4 红外遥控器模块程序设计193.2.5 红外接收模块程序设计213.2.6 LCD1602模块程序设计244 系统调试26结束语30参考文献31附录32致谢341 引言近几年来,随着科学技术的发展和人民生活水平的日益提高,城市化建设的步伐也在不断的加快,一栋栋居民楼、写字楼、酒店拔地而起。智能家居已经覆盖家庭自动化,家庭网络,信息家电等几大块,随着高新技术及电子器件的发展,光控,温控,及遥控技术应运而生,给人们的生活带来了很大的方便,同时也为人们的生活环境以及智能家居的实现提供了依据。单片机控制的红外窗帘控制器,既能解决每天用手打开或关闭窗帘的不便,又显示出了生活的档次,同时还可以根据光线的明暗来自动控制窗帘的开关,以调节室内的光线,更进一步地满足了人们的享受要求。所以该产品能形成大规模生产,很快会普及全国市场,产生巨大的经济效益;另外,该窗帘控制器除了能在广大市民住宅区使用外,还可以广泛应用于别墅、公寓、宾馆、饭店、写字楼、歌舞厅、影剧院、会议厅、银行、学校、医院等各种公共场所,因此该产品具有广阔的市场前景。 红外窗帘控制器在我国还刚刚兴起,但其发展前景广阔,推广和应用自动窗帘系统具有重要的现实意义。其一,改变人们的生活方式。单片机控制的红外窗帘控制器具有丰富的智能化功能,为家庭用户营造一个高效、舒适、便利、环保的居住环境。单片机控制的红外窗帘控制器只用一个多功能遥控器就能控制住房的窗帘开关问题,给人们的日常生活带来了极大的方便。这些都将改变人们传统的生活方式,并提高了人们的生活质量。其二,牵动一大批产业。单片机控制的红外遥控窗帘产品面向家庭用户,其应用市场是庞大的,发展前景也是广阔的,必将吸引大批有远见的各类企业介入,从而牵动一大批产业的发展。这里最先受益的应该是房地产业,单片机控制的红外窗帘控制器不仅是一个很好的概念与“卖点”,同时也是直接提升住宅档次的一个条件,这将会给房地产商带来新的利润空间。在家居集成化、网络化的趋势下,家居集成也成为一种潮流,许多更专业的、美观的、智能化的家居集成产品相继出现。其三,开拓一个崭新的市场。红外窗帘控制器牵动了许多的行业,它将不仅仅是目前的IT系统集成商或建筑弱电工程总包商的市场,而且是专业公司和智能化装饰公司的市场。 在欧美等发达国家,红外遥控窗帘已广泛应用。在10年前,遥控窗帘就已经进入我国,可一直没有大的推广,这两年,随着电控技术的不断提高及价格的不断下降,遥控窗帘热才又卷土重来。据了解,全国共有170多种电动窗帘器获得了国家专利,但就其技术本身而言,还是大同小异,但售价却有很大差别,贵的要数千元,便宜的只要500块。尽管红外窗帘控制器在国内是一个新兴的行业,但是,它也正以不可抵挡之势迅速崛起。红外窗帘控制器走进中国以来,在短短四年的时间里,其生产商由最初的几家公司增加到如今的百余家企业,其行业发展之迅速是目前国内任何其它行业所无法比拟的。目前,我国红外窗帘控制器生产厂商、分销商、集成商与装饰公司都形成了相当规模,不少国内知名企业纷纷涉足红外窗帘控制器行业,如青岛海尔、清华同方、TCL等,并涌现出一些较具影响力的智能家居专业厂商,如上海索博智能电子有限公司、北京九州易居科技有限公司、天津瑞朗智能家居电子科技有限公司、深圳市正星特科技有限公司等。红外遥控窗帘产品已开始走进中国的家庭。具报道,我国2004年售出商品房1.9亿m²,如果每20m²需要一套窗帘架产品,仅此一项就可以年新增窗帘架产品近千万套以上,年新增窗帘架产品市场需求将不低于2000万套。如果单片机控制的红外窗帘控制器的销售占市场的5%左右,就可实现年产值上亿元。随着红外遥控窗帘热潮在世界范围内的日渐兴起,随着中国电子技术的飞速发展,人们生活水平的不断提高以及智能电子技术在生活中的广泛应用,红外遥控窗帘已经成为未来家居装饰潮流发展的最新方向,在不久的将来,没有红外遥控窗帘系统的住宅肯定不合潮流。从目前的发展趋势来看,在未来的20年时间里,红外遥控窗帘行业将成为中国的主流行业之一,其市场的发展前景是非常广阔的。 智能家居系统是一个大的社会系统工程,我们应当加快我国智能家居标准化进程。遥控窗帘系统作为智能家居中一个很重要的部分,需要在我国智能家居这一领域,建立起一个具有中国特色的新兴、健康的产业链,让自动窗帘系统在我国并不是远在天边,而是近在眼前。现有的遥控窗帘机的控制方式有固定式开关控制、遥控、光控、声控等,其中以前两种形式居多。就实用程度和经济角度来说,用遥控方式较好,因为这样可以省去频繁用手去拉窗帘的繁琐,睡在床上就能控制窗帘的开关,既方便又节能,所以我想利用价格相对便宜的AT89C52单片机作为主要控制器件来完成本系统的设计。该系统主要有如下几方面的特点: (1)红外遥控器和红外接收控制器均采用价格相对便宜的AT89C52单片机作为主控芯片,这样既方便又实惠。(2)采用红外遥控方式,控制灵活方便,不会干扰其它电器的正常工作,也不会影响邻近的无线设备。 (3)具有两种控制方式分别为手动控制方式和自动控制方式。(4)设置有位置传感器用来检测窗帘的打开程度,当窗帘完全打开或完全关闭时窗帘会自动停止,防止损坏电机。 (5)体积小、结构简单、灵敏度高、抗干扰性强、经济实用、工作可靠。 2 单片机的介绍为了使红外窗帘控制器在实际使用过程中方便快捷,能够发挥较高的性能,为此在该系统上配备了液晶显示模块使操作具有可见性。以STC89C52单片机作为整个系统的核心芯片,控制其它模块来完成各种操作;红外一体化接收头负责接收遥控信号;ULN2003A用来驱动步进电机;光敏电阻模块用来检测光照的强度,根据光线的强弱来控制窗帘的打开或关闭。2.1 单片机简介将中央处理器(Central Processing Unit ,CPU),随机存储器,只读存储器,中断系统,定时器/计数器以及I/O接口电路等微型计算机的主要部件集成在一块芯片上,使其具有计算机的基本功能,即单片微型计算机(Single Chip Micro Computer,SCMC),简称单片机1。由于单片机的指令功能是按照工业控制的要求设计的,所以单片机又称为微控制器(Micro Controller Unit),常用英文字母的缩写MCU表示,单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用,手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电子产品中都有单片机的身影。2.2 单片机的特点(1)采用面向控制的指令系统。为满足控制的需要,单片机有更强的逻辑控制能力,特别是具有很强的位处理能力。(2)单片机的I/O引脚通常是多功能的。由于单片机芯片上引脚数目有限为了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法。引脚处于何种功能,可由指令来设置或由机器状态来区分。(3)单片机的外部扩展能力强。在内部的各种功能部分不能满足应用需求时,均可在外部进行扩展,与许多通用的微机接口芯片兼容,给应用系统设计带来极大的方便和灵活性。(4)体积小,成本低,运用灵活,易于产品化,它能方便的组成各种智能化的控制设备和仪器,做到机电一体化。(5)面向控制,能有针对性的解决从简单到复杂的各类控制任务,因而能获得最佳的性能价格比。(6)抗干扰能力强,适用温度范围宽,在各种恶劣的环境下都能可靠的工作。(7)可以方便地实现多机和分布式控制,使整个控制系统的效率和可靠性大为提高。2.3 单片机的应用可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉,这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制,因为它体积小,通常都藏在被控机械的“肚子”里。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及遥控玩具、电子宠物等等,这些都离不开单片机,更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域2。2.4 单片机AT89C52的结构原理AT89C52实物图如图1所示。图1 AT89C52实物图(1) AT89C52的内部结构图AT89C52的内部结构图如图2所示。图2 AT89C52内部结构图(2) AT89C52的主要性能AT89C52是ATMEL公司生产的带4K字节闪速可编程可擦除只读存储器(EEPROM)的8位单片机,它具有如下主要特性3: h 与MCS-51产品完全兼容。 h 具有4K可在系统编程的Flash内部程序存储器,可擦/写1000次。 h 全静态操作:0Hz24MHz。 h 三级程序存储器加密。h 128字节内部RAM。h 32根可编程I/O引线。 h 两个16位定时器/计数器。 h 6个中断源。h 可编程串行UART通道。h 低功耗空闲模式和掉电模式。(3) AT89C52各引脚功能AT89C52单片机引脚图如图3所示。图3 AT89C52单片机引脚图AT89C52是一个有40个引脚的芯片,采用双列直插(DIP)方式4。(1)电源引脚:a) Ucc-接5V电源正端。 b) Uss-接5V电源地端。 (2)外接晶振引脚:a) XTAL1(19引脚)。接外部晶振和微调电容的一端,与单片机片内震荡电路一起,产生由外部晶振决定的震荡频率。接内部反向放大器的输入端,使用外部时钟时,该引脚输入外部时钟脉冲。b) XTAL2(18引脚)。接外部晶振和微调电容的另一端,接内部反向放大器的输出端,使用外部时钟时,该引脚接地。 (3)制信号引脚:a) RST/Upd:复位/备用电源。 h RST(Reset)功能:复位信号输入端,高电平有效。 h Upd功能:备用电源输入端,保持内部RAM中的数据不丢失。 b) ALE/PROG:地址锁存允许/片内EPROM编程脉冲。h ALE功能:用来锁存P0口送出的低8位地址。h PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 c) PSEN:片外程序存储器读选通信号输出端,每个机器周期输出两个负脉冲,低电平有效。 d) EA/Upp: h EA为片外程序存储器选择输入端。低电平时使用片外程序存储器,为高电平时,使用片内程序存储器。 h Upp为片内程序存储器编程电压输入端。e) 输入输出引脚:P0、P1、P2、P3共四个八位I/O口。h P0口是一个 8位漏极开路的I/O口,当CPU以总线方式访问片外存储器时,P0口分时的输出低8位地址,读入指令和输入/输出数据,此时PO口可以驱动8个LS型TTL负载。当P0口作为一般I/O口时,为准双向口,并且作为输出时必须接上拉电阻。h P1口是一个内部有上拉的8位准双向I/O口,作为一般I/O口使用,可以驱动4个LS型TTL负载。对于增强型单片机,P1.0、P1.1还有第二功能,第二功能的信号分别为T2和T2EX。T2(P1.0):定时器/计数器2的计数脉冲输入和时钟输出。T2EX(P1.1):定时器/计数器2的重装、捕获和计数方向控制输入。h P2口是一个内部有上拉的8位I/O口。当CPU以总线方式访问片外存储器,P2口输出高8位地址。作为一般I/O口使用时,为准双向I/O口,可以驱动4个LS型TTL负载。h P3口:P3口也是一个内部有上拉的8位I/O口,还是一个双功能口。作为一般I/O口使用时,为准双向I/O口,可以驱动4个LS型TTL负载。各引脚第二功能如表1所示。表1 P3口各引脚第二功能定义引脚第二功能P3.0RXD:串行口输入端P3.1TXD:串行口输出端P3.2INT0(_):外部中断0请求输入端,低电平有效P3.3INT1(_):外部中断1请求输入端,低电平有效P3.4T0:定时器/计数器0计数脉冲输入端P3.5T1:定时器/计数器1计数脉冲输入端P3.6WR(_):外部数据存储器写选通信号输入端,低电平有效P3.7RD(_):外部数据存储器读选通信号输入端,低电平有效(4) 时钟电路单片机时钟电路如图4所示。有两种方式可以产生单片机需要的时钟,一种是内部方式:就是利用单片机内部的放大电路,通常外接一个晶振和两个电容分别接在反向放大器的输入端XTAL1,输出端XTAL2就可以构成稳定的自激振荡器。另一种是外部方式:使用外部的时钟信号,接到XTAL1或XTAL2引脚上给单片机提供基本震荡信号。电容C1和C2通常取30pF左右,可稳定频率并对频率有微调作用,对89C52系列,其震荡频率一般为fosc= 024MHz。振荡周期/时钟周期:Tc=晶振频率fosc的倒数。状态周期:Ts=2个时钟周期(Tc)。 机器周期:Tm=6个状态周期(Ts)=12个振荡周期(Tc)。指令周期:Ti:执行一条指令所需的机器周期(Tm)数。图4 时钟电路(5) 复位电路单片机复位电路如图5所示。单片机与其它微处理器一样,在启动工作时先要进行复位,使CPU及其它系统处于确定的初始状态,并从这个状态开始工作。单片机有一复位引脚RST(复位信号的输入端),高电平有效,单片机的复位是靠外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个振荡周期(2个机器周期)以上的高电平,系统内部复位。图5 复位电路3 系统总体设计 本文所介绍的红外窗帘遥控器的系统框图如图6所示,红外窗帘接收控制器的系统框图如图7所示。该系统主要有两个部分组成:一是遥控器部分,其功能为:单片机扫描遥控器上的6个按键(启动/停止,打开,关闭,速度减小,速度增加和自动),当某个按键按下后,单片机便通过红外发光二极管发射该按键的编码。二是接收控制器部分,其功能是用单片机通过红外一体化接收头接收遥控器发出的编码并进行解调,解调后根据编码的功能来控制步进电机的状态,从而实现窗帘的打开、关闭或停止等功能。图6 红外窗帘遥控器系统框图图7 红外窗帘接收控制器系统框图3.1 系统硬件电路设计 硬件电路设计主要包括:红外发射模块、红外接收模块、显示模块、光控模块、电机驱动模块、窗帘框架构造设计。3.1.1 红外发射模块 红外发射模块主要包括单片机最小系统,按键,红外发射电路组成。本设计所要实现的功能不是很多,所以控制按键采用4×4的矩阵键盘即可达到要求,另外发射过程中单片机输出端产生的脉冲信号为38KHz,所以采用一个12M晶体振荡器即可发出满足要求的频率。红外线的发射过程如图8所示。图8 红外线的发射过程框图本遥控器的发射采用码分制的遥控方式,码分制红外遥控就是指令信号产生电路以不同的脉冲编码(不同的脉冲数目及组合)代表不同的控制指令5。在确定选择AT89C52作为本设计发射电路核心芯片和矩阵键盘作为控制键后,加上一个简单的红外发射电路便可实现红外信号的发射,红外发射电路如图9所示。图9红外发射电路图根据红外发射管本身的物理特性,必须要有载波信号与即将发射的信号相“与”,然后将相“与”后的信号送给发射管,才能进行红外信号的发射与传送,而在频率为38KHz的载波信号下,发射管的性能最好,发射距离最远,所以在硬件设计上,本设计利用单片机产生38KHz载波信号,与发射信号进行逻辑“与”运算后,通过三极管的功率驱动到红外发光二极管上6。红外遥控器由51单片机、矩阵键盘、红外发射二极管、NPN型三极管等组成。键盘用于输入控制指令,51单片机检测键盘上的按键状态,并对红外信号进行调制。发射二极管发射红外线,当单片机P3.4口输出为“0”时,红外发射管不发光,当单片机P3.4口输出为“1”时,红外发射管发出38KHz调制红外线。红外信号调制过程如图10所示。图10 调制过程波形图3.1.2 红外接收模块红外一体化接收头(HS0038)实物图如图11所示。图11 HS0038红外接收器件红外线接收电路使用的是集成红外接收器,型号为HS0038,它接收红外信号的频率为38kHz,周期约26us,采用黑色环氧树脂封装,提供了一个特殊的红外滤光器,可防止自然光、荧光灯等光源的干扰,内附磁屏蔽,功耗低,灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35m。它能与TTL、COMS 电路兼容。静态时输出端输出高电平,当接收到红外信号后,按红外信号的数据波形输出负脉冲数据信号。红外信号输出到单片机的P3.2口,该口对应的第二功能是外部中断0(INT0),利用这一功能,一旦接收到红外信号,P3.2即被拉低,单片机产生中断,处理红外信号7。红外接收头完成对红外信号的接收、放大、检波、整形,并解调出遥控编码脉冲,输出可以让单片机识别的TTL信号,再送给单片机,经单片机解码并执行去控制相关对象。三个管脚分别是GND、5V 电源、OUT(解调信号输出端),红外接收头电路如图12所示。图12 红外接收头电路图3.1.3 显示模块液晶是一种高分子材料,因为其特殊的物理、化学、光学特性,20世纪中叶开始广泛应用在轻薄型显示器上。液晶显示器(LCD)的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。液晶显示器采用目前使用的比较广泛的字符型液晶显示器LCD1602。1602液晶每行可显示16个字符,一共可以显示两行。LCD1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等。每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”8。在本设计中LCD1602的主要功能为显示所接收到的遥控器按键编码、运行状态(RUN,STOP或AUTO)、速度等级等内容。(1)引脚功能说明LCD1602采用标准的14脚(无背光)和16脚(有背光)接口,各接口信号说明如表2所示。表2 接口信号说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3Vo液晶显示偏压11D4数据4RS数据/命令选择12D5数据5RW读/写选择13D6数据6EN使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源;第2脚:VDD接5V正电源;第3脚:液晶显示偏压;Vo为液晶显示器对比度调整端,使用时可以通过一个10K电位器接地。第4脚:数据/命令选择;RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:读/写选择;RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:使能信号;EN端为使能端,当EN端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。(2)LCD1602的RAM地址映射图 控制器内部带有80×8位(80字节)的RAM缓冲区,对应关系如图13所示。图13 LCD1602内部RAM地址映射图当向000F、404F地址中的任一处写显示数据时,液晶都可以立即显示出来,当写到1027、5067地址时,必须通过移屏指令将它们移入可显示区域方可正常显示9。(3)LCD1602电路接线说明P0口作为数据口,P0.0P0.7分别连接LCD1602的D0D7数据口,来传输数据及指令,由于P0口带负载驱动能力差,故需接上拉电阻。P2.4接LCD1602的4脚RS(数据/命令选择端),P2.5接LCD1602的5脚RW(读写/选择端),P2.6接LCD1602的6脚EN(使能信号)。VSS接地(电源地),VDD接5V电源(电源正极),VEE为液晶显示偏压信号。显示模块电路接线图如图14所示。图14显示模块电路图3.1.4 光控模块光敏电阻模块由光敏电阻传感器、可调电位器、宽电压LM393比较器、电源指示灯、电容等元器件组成。光敏电阻对环境光线非常敏感,在黑暗的环境下,它的阻值很高,当受到光照并且光辐射能量足够大时,电阻变小。光敏电阻的管芯是一块安装在绝缘衬底上带有两个欧姆接触电极的光电导体。光导体吸收光子而产生的光电效应,只限于光照的表面薄层,虽然产生的载流子也有少数扩散到内部去,但扩散深度有限,因此光电导体一般都做成薄层。为了获得高的灵敏度,光敏电阻的电极一般采用硫状图案10。电压比较器(LM393)是集成运放非线性应用电路,它将一个模拟量电压信号和一个参考电压相比较,在二者幅度相等的附近,输出电压将产生越变,相应输出高电平或低电平。比较器可以组成非正弦波形变换电路及应用于模拟与数字信号转换等领域。参考电压加在运放的反相输入端,输入电压加在同相输入端,当输入电压小于参考电压时,运放输出高电平(DO=1),当输入电压大于参考电压时,运放输出低电平(D0=0)。光敏电阻模块上有一个可调电位器用来调节光敏电阻的触发灵敏度,使光线控制在一定的范围之内。光敏电阻模块的DO输出端与单片机的P2.0口相连,通过单片机来检测DO端口高低电平,以此来判断光线的强度,当环境光线亮度达不到设定阈值时,DO端输出低电平(光线较暗)步进电机正转,当外界环境光线亮度超过设定阈值时,DO端输出高电平(光线较亮)步进电机反转,从而实现窗帘的打开和关闭。光敏电阻检测电路如图15所示。图15 光敏电阻检测电路3.1.5 步进电机驱动模块步进电机是一种将电脉冲转化为角位移的执行机构,具有瞬时启动和急速停止的优越特性,通过改变脉冲的顺序就可以方便的改变转动的方向,步进电机必须加驱动才可以运转,驱动信号必须为脉冲信号,没有脉冲的时候步进电机静止,当步进电机驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。转动的速度与脉冲的频率成正比。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机驱动电路如图16所示。本系统采用的是额定电压为5V DC,相数为4相的步进电机,驱动方式为4相8拍,一共有5根连接线,其中红色为电源线,采用单极性直流电源供电。由于单片机I/O口输出的电流比较弱不能直接驱动步进电机。所以要加一个ULN2003芯片(步进电机驱动芯片)来放大电流使之能够驱动步进电机工作。ULN2003芯片是高耐压、大电流,内部由七个硅NPN达林顿管组成的驱动芯片。经常在以下电路中使用,显示驱动、继电器驱动、照明灯驱动、伺服电机驱动、步进电机驱动等电路中。ULN2003的每一对达林顿管都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连。可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。ULN2003的封装采用DIP-16或SOP-16,ULN2003可以驱动7个继电器,具有高电压输出特性,并带有共阴极的续流二极管使器件可用于开关型感性负载。每对达林顿管的额定集电极电流是500mA,达林顿管还可以并联使用以达到更高的电流输出能力11。图16 步进电机驱动电路当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,对应转子也就转过一定的角度(一个步距角),步距角为对应一个脉冲信号,电机转子转过的角位移,当通电状态的改变完成一个循环时,转子转过一个齿距。由于单片机I/O口没有上拉电阻驱动能力有限,需要通过ULN2003来驱动步进电机12。驱动端口为P1.0(A),P1.1(B),P1.2(C),P1.3(D)。红色电线接电源+5V,橙色电线接P1.3口,黄色电线接P1.2口,粉色电线接P1.1口,蓝色电线接P1.0口。如果P1口输出的控制信号中,0代表使绕组通电,1代表使绕组断电。则步进电机的控制字见表3。表3 四相八拍步进电机控制字通电状态P1.3(D)P1.2(C)P1.1(B)P1.0(A)控制字A11100xf1AB11000xf3B11010xf2BC10010xf6C10110xf4CA10100xfcD01110xf8DA01100xf9定义旋转相序如下:正转相序表uchar code FFW8= 0xf1, 0xf3, 0xf2, 0xf6, 0xf4, 0xfc, 0xf8, 0xf9;反转相序表uchar code REV8= 0xf9, 0xf8, 0xfc, 0xf4, 0xf6, 0xf2, 0xf3, 0xf1;3.1.6 窗帘框架构造设计窗帘框架构造设计包括位置传感器开关电路和窗帘架结构的设计。本设计中采用两个位置传感器接在单片机的P2.1引脚上,位置传感器电路图如图17所示。位置传感器固定在窗帘滑杆上,一个安装在窗帘杆的正中间,另一个安装在窗帘杆的最左端或最右端。当窗帘完全打开或完全关闭时,位置传感器便产生有效信号并送给单片机,通过程序使步进电机停转,窗帘停止运动,防止在窗帘完全打开(关闭)时步进电机继续运行损坏窗帘。窗帘框架构造如图18所示。图17 位置传感器电路图图18 窗帘框架构造3.2 系统软件设计程序的编写是系统中重要的组成部分,如果软件编写的科学规范就能充分体现出该系统功能的完整性、实用性和经济性。只有软件和硬件都正确才能使系统正常的工作,才能达到我们想要的效果。本系统的软件设计部分主要有红外编码程序、红外解码程序、LCD1602显示程序、步进电机控制程序这几大类。3.2.1 红外遥控器的编码本设计中采用不同的脉宽宽度来实现二进制信号的编码,编码有发射单片机来完成。“0”码由0.56ms的高电平和0.565ms的低电平组合而成,“1”码由0.56ms的高电平和1.69ms的低电平组合而成。其波形如图19所示。图19 0和1编码图当遥控器的按键被按下后,将发射一组108ms的编码脉冲,遥控编码脉冲信号有前导码,16位地址码(8位地址码,8位地址的反码)和16位操作码(8位操作码,8位操作码的反码)组成。通过对用户码的检验,每个遥控器只能控制一个设备动作,这样可以有效的防止多个设备之间的干扰。编码后面还要有编码的反码,用来检验编码接收的正确性,防止误操作,增强系统的可靠性。前导码是一个遥控码的起始部分,有一个9ms的高电平(起始码),和一个4.5ms的低电平(结果码)组成,作为接收数据的准备脉冲。开始时发射一个特定的同步码,对于接收端而言就是一个9ms的低电平和一个4.5ms的高电平,这个同步码头可以使程序知道从这个同步码头以后可以开始接收数据13。数据格式如图20所示。图20 数据格式图3.2.2 二进制信号的调制二进制信号的调制仍由发送单片机来完成,采用单片机的定时中断功能,由定时器T0产生周期为26us的矩形脉冲,即每隔13us定时器产生中断输出一个相反的信号使单片机输出端产生周期为38KHZ的脉冲信号,脉冲信号如图21中的B图所示,单片机通过按键扫描获取用户遥控信息,然后交由单片机对将要发射的数据进行整理将待发射的二进制信号调制在38KHZ脉冲基波上,生成脉冲发射信号,最后通过红外发射管发射红外信号,图21为二进制信号的调制过程,A是二进制信号的编码波形,B是频率为38KHZ(周期为26us)的连续脉冲,C是经调制后的间断脉冲串(A和B相与之后的波形),用于红外发射二极管发射的波形,图中待发送的二进制数据为010。图21 二进制信号的调制3.2.3 二进制信号的解码遥控器检测到有键按下之后,周期性的发出一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”个数的不同而不同,大约在45ms至63ms之间。解码的关键是如何识别“0”和“1”,从NEC标准中我们可以发现“0”码、“1”码均以0.56ms的高电平开始,不同的是低电平的宽度不同,“0”为0.565ms,“1”为1.69ms。 “0”码表示为:0.56ms的高电平 0