红外窗帘控制器设计与实现毕业论文

上传人:1888****888 文档编号:39103310 上传时间:2021-11-09 格式:DOC 页数:42 大小:10.49MB
收藏 版权申诉 举报 下载
红外窗帘控制器设计与实现毕业论文_第1页
第1页 / 共42页
红外窗帘控制器设计与实现毕业论文_第2页
第2页 / 共42页
红外窗帘控制器设计与实现毕业论文_第3页
第3页 / 共42页
资源描述:

《红外窗帘控制器设计与实现毕业论文》由会员分享,可在线阅读,更多相关《红外窗帘控制器设计与实现毕业论文(42页珍藏版)》请在装配图网上搜索。

1、南 阳 理 工 学 院 本科生毕业设计(论文)学 院: 电子与电气工程学院 专 业: 自动化 学 生: 指导教师: 完成日期 2013 年 5 月南阳理工学院本科生毕业设计(论文)红外窗帘控制器设计与实现Design and Implementation of Infrared Controller for Curtain 总计: 毕业设计(论文) 34页 表 格: 3 个 插 图: 36 幅红外窗帘控制器设计与实现 摘 要 本文设计了一种基于STC89C52单片机的红外窗帘控制器,系统分为两个部分,一是红外遥控器部分,分别设置了启动/停止、打开、关闭、速度减小、速度增加和自动6个按键,当不同

2、的按键被按下时红外发射二极管便发出不同的按键编码。二是接收控制器部分,其功能是用单片机通过一体化红外接收头接收遥控器发出的编码并进行解调,然后根据编码的功能来控制步进电机的运行状态。系统包括手动和自动两种模式,在手动模式下可通过按键来控制窗帘的打开,关闭或停止。在自动模式下可根据室内光线的强度自动控制窗帘的打开或关闭。从而实现手动和自动控制窗帘的目的。关键词 单片机;红外;遥控;窗帘 Design and Implementation of Infrared Controller for Curtain Abstract: This design is an infrared curtain

3、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 b

4、utton 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 accord

5、ing 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

6、 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.

7、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致谢34V1 引言近几年来,随着科学技术的发展和人民生活水平的日益提高,城市化建设的步伐也在不断的加快,一栋栋居民楼、写字楼、酒店拔地而起。智能家居已经覆盖家庭自动化,家庭网络,信息家电等几大块,随着高新技术及电子

8、器件的发展,光控,温控,及遥控技术应运而生,给人们的生活带来了很大的方便,同时也为人们的生活环境以及智能家居的实现提供了依据。单片机控制的红外窗帘控制器,既能解决每天用手打开或关闭窗帘的不便,又显示出了生活的档次,同时还可以根据光线的明暗来自动控制窗帘的开关,以调节室内的光线,更进一步地满足了人们的享受要求。所以该产品能形成大规模生产,很快会普及全国市场,产生巨大的经济效益;另外,该窗帘控制器除了能在广大市民住宅区使用外,还可以广泛应用于别墅、公寓、宾馆、饭店、写字楼、歌舞厅、影剧院、会议厅、银行、学校、医院等各种公共场所,因此该产品具有广阔的市场前景。 红外窗帘控制器在我国还刚刚兴起,但其发

9、展前景广阔,推广和应用自动窗帘系统具有重要的现实意义。其一,改变人们的生活方式。单片机控制的红外窗帘控制器具有丰富的智能化功能,为家庭用户营造一个高效、舒适、便利、环保的居住环境。单片机控制的红外窗帘控制器只用一个多功能遥控器就能控制住房的窗帘开关问题,给人们的日常生活带来了极大的方便。这些都将改变人们传统的生活方式,并提高了人们的生活质量。其二,牵动一大批产业。单片机控制的红外遥控窗帘产品面向家庭用户,其应用市场是庞大的,发展前景也是广阔的,必将吸引大批有远见的各类企业介入,从而牵动一大批产业的发展。这里最先受益的应该是房地产业,单片机控制的红外窗帘控制器不仅是一个很好的概念与“卖点”,同时

10、也是直接提升住宅档次的一个条件,这将会给房地产商带来新的利润空间。在家居集成化、网络化的趋势下,家居集成也成为一种潮流,许多更专业的、美观的、智能化的家居集成产品相继出现。其三,开拓一个崭新的市场。红外窗帘控制器牵动了许多的行业,它将不仅仅是目前的IT系统集成商或建筑弱电工程总包商的市场,而且是专业公司和智能化装饰公司的市场。 在欧美等发达国家,红外遥控窗帘已广泛应用。在10年前,遥控窗帘就已经进入我国,可一直没有大的推广,这两年,随着电控技术的不断提高及价格的不断下降,遥控窗帘热才又卷土重来。据了解,全国共有170多种电动窗帘器获得了国家专利,但就其技术本身而言,还是大同小异,但售价却有很大

11、差别,贵的要数千元,便宜的只要500块。尽管红外窗帘控制器在国内是一个新兴的行业,但是,它也正以不可抵挡之势迅速崛起。红外窗帘控制器走进中国以来,在短短四年的时间里,其生产商由最初的几家公司增加到如今的百余家企业,其行业发展之迅速是目前国内任何其它行业所无法比拟的。目前,我国红外窗帘控制器生产厂商、分销商、集成商与装饰公司都形成了相当规模,不少国内知名企业纷纷涉足红外窗帘控制器行业,如青岛海尔、清华同方、TCL等,并涌现出一些较具影响力的智能家居专业厂商,如上海索博智能电子有限公司、北京九州易居科技有限公司、天津瑞朗智能家居电子科技有限公司、深圳市正星特科技有限公司等。红外遥控窗帘产品已开始走

12、进中国的家庭。具报道,我国2004年售出商品房1.9亿m²,如果每20m²需要一套窗帘架产品,仅此一项就可以年新增窗帘架产品近千万套以上,年新增窗帘架产品市场需求将不低于2000万套。如果单片机控制的红外窗帘控制器的销售占市场的5%左右,就可实现年产值上亿元。随着红外遥控窗帘热潮在世界范围内的日渐兴起,随着中国电子技术的飞速发展,人们生活水平的不断提高以及智能电子技术在生活中的广泛应用,红外遥控窗帘已经成为未来家居装饰潮流发展的最新方向,在不久的将来,没有红外遥控窗帘系统的住宅肯定不合潮流。从目前的发展趋势来看,在未来的20年时间里,红外遥控窗帘行业将成为中国的主流行业之一

13、,其市场的发展前景是非常广阔的。 智能家居系统是一个大的社会系统工程,我们应当加快我国智能家居标准化进程。遥控窗帘系统作为智能家居中一个很重要的部分,需要在我国智能家居这一领域,建立起一个具有中国特色的新兴、健康的产业链,让自动窗帘系统在我国并不是远在天边,而是近在眼前。现有的遥控窗帘机的控制方式有固定式开关控制、遥控、光控、声控等,其中以前两种形式居多。就实用程度和经济角度来说,用遥控方式较好,因为这样可以省去频繁用手去拉窗帘的繁琐,睡在床上就能控制窗帘的开关,既方便又节能,所以我想利用价格相对便宜的AT89C52单片机作为主要控制器件来完成本系统的设计。该系统主要有如下几方面的特点: (1

14、)红外遥控器和红外接收控制器均采用价格相对便宜的AT89C52单片机作为主控芯片,这样既方便又实惠。(2)采用红外遥控方式,控制灵活方便,不会干扰其它电器的正常工作,也不会影响邻近的无线设备。 (3)具有两种控制方式分别为手动控制方式和自动控制方式。(4)设置有位置传感器用来检测窗帘的打开程度,当窗帘完全打开或完全关闭时窗帘会自动停止,防止损坏电机。 (5)体积小、结构简单、灵敏度高、抗干扰性强、经济实用、工作可靠。 2 单片机的介绍为了使红外窗帘控制器在实际使用过程中方便快捷,能够发挥较高的性能,为此在该系统上配备了液晶显示模块使操作具有可见性。以STC89C52单片机作为整个系统的核心芯片

15、,控制其它模块来完成各种操作;红外一体化接收头负责接收遥控信号;ULN2003A用来驱动步进电机;光敏电阻模块用来检测光照的强度,根据光线的强弱来控制窗帘的打开或关闭。2.1 单片机简介将中央处理器(Central Processing Unit ,CPU),随机存储器,只读存储器,中断系统,定时器/计数器以及I/O接口电路等微型计算机的主要部件集成在一块芯片上,使其具有计算机的基本功能,即单片微型计算机(Single Chip Micro Computer,SCMC),简称单片机1。由于单片机的指令功能是按照工业控制的要求设计的,所以单片机又称为微控制器(Micro Controller U

16、nit),常用英文字母的缩写MCU表示,单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用,手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电子产品中都有单片机的身影。2.2 单片机的特点(1)采用面向控制的指令系统。为满足控制的需要,单片机有更强的逻辑控制能力,特别是具有很强的位处理能力。(2)单片机的I/O引脚通常是多功能的。由于单片机芯片上引脚数目有限为了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法。引脚处于何种功能,可由指令来设置或由机器状态来区分。(3)单片机的外部扩展能力强。在内部的各种功能部分不能满足应用需求时,均可在外部进行扩展,与许多通

17、用的微机接口芯片兼容,给应用系统设计带来极大的方便和灵活性。(4)体积小,成本低,运用灵活,易于产品化,它能方便的组成各种智能化的控制设备和仪器,做到机电一体化。(5)面向控制,能有针对性的解决从简单到复杂的各类控制任务,因而能获得最佳的性能价格比。(6)抗干扰能力强,适用温度范围宽,在各种恶劣的环境下都能可靠的工作。(7)可以方便地实现多机和分布式控制,使整个控制系统的效率和可靠性大为提高。2.3 单片机的应用可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却

18、不怎么熟悉,这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制,因为它体积小,通常都藏在被控机械的“肚子”里。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。目前单片机渗透到我们生活的各个领域,几乎很难

19、找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及遥控玩具、电子宠物等等,这些都离不开单片机,更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域2。2.4 单片机AT89C52的结构原理AT89C52实物图如图1所示。图1 AT89C52实物图(1

20、) 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) AT8

21、9C52各引脚功能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:复位/

22、备用电源。 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) 输入输出引

23、脚: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的重装、捕获和计数方向控制输

24、入。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.2:外部中断0请求输入端,低电平有效P3.3:外部中断1请求输入端,低电平有效P3.4T0:定时器/计数器0计数脉冲输入端P3.5T1:定时器/计数器1计

25、数脉冲输入端P3.6:外部数据存储器写选通信号输入端,低电平有效P3.7:外部数据存储器读选通信号输入端,低电平有效(4) 时钟电路单片机时钟电路如图4所示。有两种方式可以产生单片机需要的时钟,一种是内部方式:就是利用单片机内部的放大电路,通常外接一个晶振和两个电容分别接在反向放大器的输入端XTAL1,输出端XTAL2就可以构成稳定的自激振荡器。另一种是外部方式:使用外部的时钟信号,接到XTAL1或XTAL2引脚上给单片机提供基本震荡信号。电容C1和C2通常取30pF左右,可稳定频率并对频率有微调作用,对89C52系列,其震荡频率一般为fosc= 024MHz。振荡周期/时钟周期:Tc=晶振频

26、率fosc的倒数。状态周期:Ts=2个时钟周期(Tc)。 机器周期:Tm=6个状态周期(Ts)=12个振荡周期(Tc)。指令周期:Ti:执行一条指令所需的机器周期(Tm)数。图4 时钟电路(5) 复位电路单片机复位电路如图5所示。单片机与其它微处理器一样,在启动工作时先要进行复位,使CPU及其它系统处于确定的初始状态,并从这个状态开始工作。单片机有一复位引脚RST(复位信号的输入端),高电平有效,单片机的复位是靠外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个振荡周期(2个机器周期)以上的高电平,系统内部复位。图5 复位电路3 系统总体设计 本文所介绍的红外窗帘遥控器的系

27、统框图如图6所示,红外窗帘接收控制器的系统框图如图7所示。该系统主要有两个部分组成:一是遥控器部分,其功能为:单片机扫描遥控器上的6个按键(启动/停止,打开,关闭,速度减小,速度增加和自动),当某个按键按下后,单片机便通过红外发光二极管发射该按键的编码。二是接收控制器部分,其功能是用单片机通过红外一体化接收头接收遥控器发出的编码并进行解调,解调后根据编码的功能来控制步进电机的状态,从而实现窗帘的打开、关闭或停止等功能。图6 红外窗帘遥控器系统框图图7 红外窗帘接收控制器系统框图3.1 系统硬件电路设计 硬件电路设计主要包括:红外发射模块、红外接收模块、显示模块、光控模块、电机驱动模块、窗帘框架

28、构造设计。3.1.1 红外发射模块 红外发射模块主要包括单片机最小系统,按键,红外发射电路组成。本设计所要实现的功能不是很多,所以控制按键采用4×4的矩阵键盘即可达到要求,另外发射过程中单片机输出端产生的脉冲信号为38KHz,所以采用一个12M晶体振荡器即可发出满足要求的频率。红外线的发射过程如图8所示。图8 红外线的发射过程框图本遥控器的发射采用码分制的遥控方式,码分制红外遥控就是指令信号产生电路以不同的脉冲编码(不同的脉冲数目及组合)代表不同的控制指令5。在确定选择AT89C52作为本设计发射电路核心芯片和矩阵键盘作为控制键后,加上一个简单的红外发射电路便可实现红外信号的发射,红

29、外发射电路如图9所示。图9红外发射电路图根据红外发射管本身的物理特性,必须要有载波信号与即将发射的信号相“与”,然后将相“与”后的信号送给发射管,才能进行红外信号的发射与传送,而在频率为38KHz的载波信号下,发射管的性能最好,发射距离最远,所以在硬件设计上,本设计利用单片机产生38KHz载波信号,与发射信号进行逻辑“与”运算后,通过三极管的功率驱动到红外发光二极管上6。红外遥控器由51单片机、矩阵键盘、红外发射二极管、NPN型三极管等组成。键盘用于输入控制指令,51单片机检测键盘上的按键状态,并对红外信号进行调制。发射二极管发射红外线,当单片机P3.4口输出为“0”时,红外发射管不发光,当单

30、片机P3.4口输出为“1”时,红外发射管发出38KHz调制红外线。红外信号调制过程如图10所示。图10 调制过程波形图3.1.2 红外接收模块红外一体化接收头(HS0038)实物图如图11所示。图11 HS0038红外接收器件红外线接收电路使用的是集成红外接收器,型号为HS0038,它接收红外信号的频率为38kHz,周期约26us,采用黑色环氧树脂封装,提供了一个特殊的红外滤光器,可防止自然光、荧光灯等光源的干扰,内附磁屏蔽,功耗低,灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35m。它能与TTL、COMS 电路兼容。静态时输出端输出高电平,当接收到红外信号后,按红外信号的数据波形

31、输出负脉冲数据信号。红外信号输出到单片机的P3.2口,该口对应的第二功能是外部中断0(INT0),利用这一功能,一旦接收到红外信号,P3.2即被拉低,单片机产生中断,处理红外信号7。红外接收头完成对红外信号的接收、放大、检波、整形,并解调出遥控编码脉冲,输出可以让单片机识别的TTL信号,再送给单片机,经单片机解码并执行去控制相关对象。三个管脚分别是GND、5V 电源、OUT(解调信号输出端),红外接收头电路如图12所示。图12 红外接收头电路图3.1.3 显示模块液晶是一种高分子材料,因为其特殊的物理、化学、光学特性,20世纪中叶开始广泛应用在轻薄型显示器上。液晶显示器(LCD)的主要原理是以

32、电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。液晶显示器采用目前使用的比较广泛的字符型液晶显示器LCD1602。1602液晶每行可显示16个字符,一共可以显示两行。LCD1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等。每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”8。在本设计中LCD1602的主要功能为显示所接收到的遥控器按键编码、运行状态(RUN,STOP或AUTO

33、)、速度等级等内容。(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为寄存器选择,高电平时选择

34、数据寄存器、低电平时选择指令寄存器。第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、40

35、4F地址中的任一处写显示数据时,液晶都可以立即显示出来,当写到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

36、.4 光控模块光敏电阻模块由光敏电阻传感器、可调电位器、宽电压LM393比较器、电源指示灯、电容等元器件组成。光敏电阻对环境光线非常敏感,在黑暗的环境下,它的阻值很高,当受到光照并且光辐射能量足够大时,电阻变小。光敏电阻的管芯是一块安装在绝缘衬底上带有两个欧姆接触电极的光电导体。光导体吸收光子而产生的光电效应,只限于光照的表面薄层,虽然产生的载流子也有少数扩散到内部去,但扩散深度有限,因此光电导体一般都做成薄层。为了获得高的灵敏度,光敏电阻的电极一般采用硫状图案10。电压比较器(LM393)是集成运放非线性应用电路,它将一个模拟量电压信号和一个参考电压相比较,在二者幅度相等的附近,输出电压将产

37、生越变,相应输出高电平或低电平。比较器可以组成非正弦波形变换电路及应用于模拟与数字信号转换等领域。参考电压加在运放的反相输入端,输入电压加在同相输入端,当输入电压小于参考电压时,运放输出高电平(DO=1),当输入电压大于参考电压时,运放输出低电平(D0=0)。光敏电阻模块上有一个可调电位器用来调节光敏电阻的触发灵敏度,使光线控制在一定的范围之内。光敏电阻模块的DO输出端与单片机的P2.0口相连,通过单片机来检测DO端口高低电平,以此来判断光线的强度,当环境光线亮度达不到设定阈值时,DO端输出低电平(光线较暗)步进电机正转,当外界环境光线亮度超过设定阈值时,DO端输出高电平(光线较亮)步进电机反

38、转,从而实现窗帘的打开和关闭。光敏电阻检测电路如图15所示。图15 光敏电阻检测电路3.1.5 步进电机驱动模块步进电机是一种将电脉冲转化为角位移的执行机构,具有瞬时启动和急速停止的优越特性,通过改变脉冲的顺序就可以方便的改变转动的方向,步进电机必须加驱动才可以运转,驱动信号必须为脉冲信号,没有脉冲的时候步进电机静止,当步进电机驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。转动的速度与脉冲的频率成正比。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机驱动电路如图

39、16所示。本系统采用的是额定电压为5V DC,相数为4相的步进电机,驱动方式为4相8拍,一共有5根连接线,其中红色为电源线,采用单极性直流电源供电。由于单片机I/O口输出的电流比较弱不能直接驱动步进电机。所以要加一个ULN2003芯片(步进电机驱动芯片)来放大电流使之能够驱动步进电机工作。ULN2003芯片是高耐压、大电流,内部由七个硅NPN达林顿管组成的驱动芯片。经常在以下电路中使用,显示驱动、继电器驱动、照明灯驱动、伺服电机驱动、步进电机驱动等电路中。ULN2003的每一对达林顿管都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连。可以直接处理原先需要标准逻

40、辑缓冲器来处理的数据。ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。ULN2003的封装采用DIP-16或SOP-16,ULN2003可以驱动7个继电器,具有高电压输出特性,并带有共阴极的续流二极管使器件可用于开关型感性负载。每对达林顿管的额定集电极电流是500mA,达林顿管还可以并联使用以达到更高的电流输出能力11。图16 步进电机驱动电路当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,对应转子也就转过一定的角度(一个步距角),步距

41、角为对应一个脉冲信号,电机转子转过的角位移,当通电状态的改变完成一个循环时,转子转过一个齿距。由于单片机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)控制字A11100xf1AB11000xf3B1101

42、0xf2BC10010xf6C10110xf4CA10100xfcD01110xf8DA01100xf9定义旋转相序如下:正转相序表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所示。位置传感器固定在窗帘滑杆上,一个

43、安装在窗帘杆的正中间,另一个安装在窗帘杆的最左端或最右端。当窗帘完全打开或完全关闭时,位置传感器便产生有效信号并送给单片机,通过程序使步进电机停转,窗帘停止运动,防止在窗帘完全打开(关闭)时步进电机继续运行损坏窗帘。窗帘框架构造如图18所示。图17 位置传感器电路图图18 窗帘框架构造3.2 系统软件设计程序的编写是系统中重要的组成部分,如果软件编写的科学规范就能充分体现出该系统功能的完整性、实用性和经济性。只有软件和硬件都正确才能使系统正常的工作,才能达到我们想要的效果。本系统的软件设计部分主要有红外编码程序、红外解码程序、LCD1602显示程序、步进电机控制程序这几大类。3.2.1 红外遥

44、控器的编码本设计中采用不同的脉宽宽度来实现二进制信号的编码,编码有发射单片机来完成。“0”码由0.56ms的高电平和0.565ms的低电平组合而成,“1”码由0.56ms的高电平和1.69ms的低电平组合而成。其波形如图19所示。图19 0和1编码图当遥控器的按键被按下后,将发射一组108ms的编码脉冲,遥控编码脉冲信号有前导码,16位地址码(8位地址码,8位地址的反码)和16位操作码(8位操作码,8位操作码的反码)组成。通过对用户码的检验,每个遥控器只能控制一个设备动作,这样可以有效的防止多个设备之间的干扰。编码后面还要有编码的反码,用来检验编码接收的正确性,防止误操作,增强系统的可靠性。前

45、导码是一个遥控码的起始部分,有一个9ms的高电平(起始码),和一个4.5ms的低电平(结果码)组成,作为接收数据的准备脉冲。开始时发射一个特定的同步码,对于接收端而言就是一个9ms的低电平和一个4.5ms的高电平,这个同步码头可以使程序知道从这个同步码头以后可以开始接收数据13。数据格式如图20所示。图20 数据格式图3.2.2 二进制信号的调制二进制信号的调制仍由发送单片机来完成,采用单片机的定时中断功能,由定时器T0产生周期为26us的矩形脉冲,即每隔13us定时器产生中断输出一个相反的信号使单片机输出端产生周期为38KHZ的脉冲信号,脉冲信号如图21中的B图所示,单片机通过按键扫描获取用

46、户遥控信息,然后交由单片机对将要发射的数据进行整理将待发射的二进制信号调制在38KHZ脉冲基波上,生成脉冲发射信号,最后通过红外发射管发射红外信号,图21为二进制信号的调制过程,A是二进制信号的编码波形,B是频率为38KHZ(周期为26us)的连续脉冲,C是经调制后的间断脉冲串(A和B相与之后的波形),用于红外发射二极管发射的波形,图中待发送的二进制数据为010。图21 二进制信号的调制3.2.3 二进制信号的解码遥控器检测到有键按下之后,周期性的发出一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”个数的不同而不同,大约在45ms至63ms之间。解码的

47、关键是如何识别“0”和“1”,从NEC标准中我们可以发现“0”码、“1”码均以0.56ms的高电平开始,不同的是低电平的宽度不同,“0”为0.565ms,“1”为1.69ms。 “0”码表示为:0.56ms的高电平 0.565ms的低电平 = 1.125ms “1”码表示为:0.56ms的高电平 1.69ms的低电平 = 2.25ms 但是值得注意的是当红外发射二极管发射高电平的时候,HS0038红外接收头输出的是低电平;当红外发射二极管发射低电平的时候,HS0038红外接收头输出的是高电平;所以HS0038接收头输出的波形与发射波形是反向的。红外信号是从HS0038红外接收头的OUT端获得的

48、,即发射码与接收码反向,所以在解码时候必须按照如下来判断“0”码,“1”码:“0”码表示为:0.56ms的低电平 0.565ms的高电平 = 1.125ms “1”码表示为:0.56ms的低电平 1.69ms的高电平 = 2.25ms 由于“0”码和“1”码的低电平时间是一致的,那么解码程序编写的思路就是在解码程序中通过一个while循环语句判断出每位高电平的时间是0.565ms还是1.69ms,如果一位码的高电平持续的时间为0.565ms,那么得到的就是“0”码;如果高电平持续的时间是1.69ms,那么这位码就是“1”码。为了可靠起见延时必须比0.56ms长些,但又不能超过1.12ms,否则

49、如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms,一般取0.84ms左右即可,根据红外编码的格式,程序应该等待9ms的起始码和4.5ms的结果码完成后才能读码14。二进制信号的解调由一体化红外接收头HS0038来完成,它把接收到的红外信号(图22中的波形D)经内部处理并解调复原,在输出脚输出图22中的波形E,(正好是对图21中A波形的取反)。HS0038的解调可理解为:在输入有脉冲串时,输出端输出低电平,否则输出高电平,输出端可直接与单片机串行输入口及外部中断相连,以实现随时接收遥控信号并产生中断,然后由单片机对编码还原。二进制信号的解调过程如

50、图22所示,它把红外接收头送来的二进制编码通过解码,还原出发送端发送的数据010。图22 二进制信号的解调 (D)红外发射头发射的波形 (E)红外接收头解调后输出的波形3.2.4 红外遥控器模块程序设计红外遥控器主程序流程图如图23所示。遥控器上分别设置了启动/停止,打开,关闭,速度减小,速度增加和自动6个按键。键盘是单片机最常用的输入设备,操作人员可以通过键盘输入数据或命令,实现简单的人-机通信。按键是一种常开型按钮开关。平时按键的二个触点处于断开状态,当键按下时才闭合。键盘分编码键盘和非编码键盘,键盘上闭合键的识别由专用的硬件译码器实现,并产生键编号或键值的称为编码键盘,靠软件识别的称为非

51、编码键盘。判断按键抖动常用软件方法来检测,即检测在按键闭合后执行一个延时程序,产生5-10ms的延时,让前沿抖动消失后,再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5-10ms的延时,待后沿抖动消失后,才能转入该键的处理程序。如果没有键按下,单片机不执行任何操作,继续处于等待状态,如果有键按下时,首先判断按下的是哪一个键,若为启动键则调用红外发射子程序发送启动键编码0x00H,若为正转键则调用红外发射子程序发送正转键编码0x01H,若为反转键则调用红外发射子程序发射反转键编码0x02H,若为速度减小键则调用红外发射子程序发射速度减小键编码0x03

52、H,若为速度增加键则调用红外发射子程序发射速度增加键编码0x11H,若为自动键则调用红外发射子程序发射自动键编码0x12H。 图23 红外遥控器主程序流程图遥控器上6个按键的功能定义如图24所示。当按下启动按钮时系统进入启动状态,此时可以手动控制窗帘的打开,关闭,减速和加速,同时还可以进入自动模式利用光敏模块自动控制窗帘的打开或关闭。图24 红外遥控器按键功能主程序的按键子程序流程图如图25所示。首先初始化程序,然后调用键扫描处理子程序,再判断处理是否有键按下,若有控制键按下则进行逐行扫描,按照P口值查找键号,最后按照键号转至相应的发射程序。图25 遥控器按键子程序流程图3.2.5 红外接收模

53、块程序设计接收控制器系统中单片机微处理器的主要任务是完成对HS0038接收到的红外信号的分析与处理,从而完成对相应控制单元的控制,主程序首先完成初始化,然后启动HS0038等待接收控制指令,进行相应的输出操作15。单片机对红外控制信号的接收是通过P3.2口来完成的,其对应的第二功能为外部中断0(INT0),通过接收到不同的红外信号脉冲实现相应的操作。遥控器上六个按键的功能通过接收主程序来完成,程序对P3.2口实时检测,一旦检测到有低脉冲到来,首先调用读红外线的子程序(红外解码),通过子程序还原出遥控器按键的编码,也就是对应的启动/停止,打开,关闭,速度减小,速度增加和自动键,然后转至相应的子程

54、序去执行相应的动作。若接收到的数据为0x00H,则置TEMP=0x00H,系统启动;若接收到的数据为0x01H,则置TEMP=0x01H,窗帘打开;若接收到的数据为0x02H,则置TEMP=0x02H,窗帘关闭;若接收到的数据为0x03H,则置TEMP=0x03H,速度减小;若接收到的数据为0x11H,则置TEMP=0x11H,速度增加;若接收到的数据为0x12H,则置TEMP=0x12H,进入自动模式。红外窗帘控制器接收主程序流程图如图26所示。首先初始化,单片机处理并判断接收到的控制信号,成功获取红外编码信号后去执行相应的动作。图26 红外窗帘控制器接收主程序流程图红外遥控器接收部分由信号

55、接收子程序和信号解码执行子程序组成,信号接收子程序负责初始化,不停地查询有无红外信号。信号解码执行子程序主要负责解码和执行解码信号。信号接收子程序流程图如图27所示,信号解码执行子程序流程图如图28所示。图27 信号接收子程序流程图图28 信号解码执行子程序流程图3.2.6 LCD1602模块程序设计(1)本操作时序:读状态:输入:RS=L,R/W=H,E=H;输出:D0D7=状态字。 写指令:输入:RS=L,R/W=L,D0D7=指令码,E=高脉冲;输出:无。读数据:输入:RS=H,R/W=H,E=H;输出:D0D7=数据。写数据:输入:RS=H,R/W=L,D0D7=数据,E=高脉冲;输出

56、:无。写操作时序如图29所示。图29 写操作时序图(2)LCD1602的一般初始化(复位)过程:延时15ms;写指令38H(不检测忙信号);延时5ms;写指令38H(不检测忙信号);延时5ms;写指令38H(不检测忙信号,以后每次写指令、读/写数据操作之前均需检测忙信号);写指令38H:显示模式设置;写指令08H:显示关闭;写指令01H:显示清屏;写指令06H:显示光标移动设置;写指令0CH:显示开及光标设置。LCD1602主程序流程图如图30所示。图30 LCD1602主程序流程图(3)LCD子程序LCD子程序主要实现的功能是显示步进电机的状态。显示红外遥控器上6个控制按键的编码,步进电机的

57、运行状态(RUN,STOP,AUTO),窗帘的打开和关闭指示符号以及步进电机的速度等级。当系统启动时LCD1602液晶显示器将显示“INFRARED CURTAIN CONTROLLER”。系统LCD显示子程序流程图如图31所示。图31 LCD1602显示子程序流程图4 系统调试系统调试在控制系统研发过程中占有重要的地位,它是系统开发过程中一个不可缺少的环节。调试过程中可以对控制系统的各种功能进行测试,通过与设计方案的比较来发现系统缺陷,并及时完善系统,要求设计人员在调试过程中要认真执行每一个调试环节,发现问题,提出相应的解决方案,保证控制系统在实际应用中具有良好的可靠性和稳定性。调试程序是发

58、现并找出程序逻辑错误的过程其一般步骤为:步骤一:连接AT89C52单片机串口下载线。步骤二:打开Proteus仿真软件。步骤三:在Proteus界面中,双击单片机并且加载由Keil软件生成的*.Hex文件,然后点击Proteus中的开始按钮进行系统仿真16。步骤四:观察程序执行结果,如果程序运行结果与预期不一致,则返回Keil编程界面,检查程序并修改,修改完毕后进行编译,确认无误后在Proteus中重新加载*.Hex文件仿真。调试红外控制步进电机程序如图32所示。图32 调试红外控制步进电机程序由于本设计采用的是红外遥控信号,不能直接利用Proteus仿真软件进行仿真,所以在没有遥控器的情况下

59、只能利用按键代替遥控信号进行硬件调试,其方法为利用步进电机的实例程序,用6个按键代替遥控器的红外信号控制步进电机的启动/停止、正转、反转、减速、加速和自动六个功能,并且用LCD1602液晶屏显示出来,利用按键的硬件调试原理图如图33所示。图33 按键调试原理图硬件的按键调试过程如图34所示。图34 按键调试实物图利用遥控器的调试过程如图35所示。用遥控器去控制步进电机的启动/停止、正转、反转、减速、加速,当红外接收控制器接收到有效红外信号时,蜂鸣器响一声,并且所接收到的红外编码及步进电机的运行状态会在LCD1602液晶屏上显示出来。图35 遥控器调试实物图由于本设计中涉及到“自动模式”,因此在

60、自动模式中采用了一个光敏电阻模块,其功能为在光照强度大的时候窗帘关闭,在光线较暗的时候窗帘打开,从而实现根据自然光强度的变化可以自动控制窗帘的打开程度,使房间的光线强度在一定程度上保持稳定。在调试过程中用手遮挡和松开光敏电阻来模拟有光和无光的环境,当用手遮挡光敏电阻的时候步进电机正转(窗帘打开),当松开光敏电阻的时候步进电机反转(窗帘关闭)实现了自动调节。控制器上的位置传感器,用来判断窗帘的打开程度,当窗帘完全打开或完全关闭时,步进电机停止转动,防止损坏窗帘,由于没有实际的窗帘实物,本设计中采用两个按键代替两个位置传感器。在调试过程中按下任意一个按键步进电机即停止转动。实验证明光敏电阻模块和位

61、置开关均可实现所要的功能,光敏模块和位置传感器实物调试过程如图36所示。图36 光敏模块和位置传感器实物调试图在调试过程中也遇到了许多问题,比如在用红外遥控器调试过程中,开始接收不到红外信号,经仔细检查发现是红外发射电路的三极管极性接反,经过重新调整焊接后问题排除。刚开始在设计控制系统的时候把遥控器,步进电机控制系统共用一个USB电源,发现LCD1602液晶显示器较暗并且无法接收红外遥控信号。经过测试发现因为负载有步进电机,初步判断可能由于电源供电不足造成的,改为单独供电以后问题解决。结束语到此为止,红外窗帘控制器的软硬件设计已经基本完成。这篇论文的写作以及硬件系统的设计过程,是我认识自己和发

62、现不足的过程,在整个设计过程中,从要求分析到设计、测试,我都力求规范化,努力让自己学的知识运用到毕业设计当中。在本次设计中,通过网络搜索、查阅单片机、步进电机驱动、红外遥控的相关资料、电路原理图的设计、元器件的选取、焊接、程序的编写等,使我在不知不觉中学到了很多知识。通过本次设计使我不仅仅很好的掌握了单片机入门软件与硬件的常用设计与功能,并且使我清楚的认识到对于一项设计研究制作过程,详细的设计步骤和实现方法是必不可少的,使我了解了步进电机的工作原理,了解了红外发射原理,红外接收原理等。更进一步锻炼了我的动手能力,使我对以前所学知识进行了一次全面而系统的巩固,让我更深层次的了解了单片机的工作原理以及使用方法。对我在以后的学习和应用中都有很大的帮助。虽然开始对单片机比较陌生,设计过程中也遇到过很多问题,暴露了自己不少的缺点,比

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!