




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要本文首先介绍了智能家居的基本知识及其应用前景,进而阐明了开发作为智能家居中一个很重要部分红外线遥控自动窗帘的意义。随后着重介绍了开发单片机控制的红外线遥控窗帘系统所用到的集成芯片AT89C51、DS1302芯片、红外线发射接收器等硬件的结构原理。本文采用分块的模式,对整个系统的硬件电路设计进行分析,分别给出了系统总体框图、电源电路、时钟DS1302电路、鸣响电路、红外线接收电路、电机控制电路、显示电路,并对相应电路设计进行了相关的阐述。随后讲述了软件的编写思路,也是采用分块的模式,分别写出了红外线解码程序、时钟芯片DS1302控制程序、数码显示程序、遥控控制程序的编写思路,每一模块都画出
2、了其方框图,看起来一目了然。目 录摘 要I1 绪言11.1课题背景11.2国内外概况11.3课题的研究工作22 核心芯片结构原理介绍42.1 中央控制器AT89C205142.1.1 AT89C2051的特点42.1.2 AT89C2051引脚功能42.2 红外线发射码组成原理52.2.1 红外线一体化接收头52.2.2 红外线发射码组成62.3 时钟芯片DS130272.3.1 DS1302的引脚排列及其内部结构82.3.2 DS1302数据传输方式93 硬件电路原理设计103.1 电源部分103.2 时钟芯片DS1302103.3鸣响电路设计103.4 红外线接受电路113.5电机执行电路
3、113.6数码管显示电路114 系统软件设计144.1红外线解码144.2 DS1302的控制程序154.3数码管显示设计174.4 遥控控制部分185总结与展望20致 谢22参考文献23附 录251 绪言本章阐述了单片机控制的红外线遥控自动窗帘系统的市场价值、研究背景、国内外的现状、以及发展方向,明确指出了单片机控制的红外线遥控自动窗帘系统所面临的问题及一些解决方案。1.1课题背景生活在提高,时代在进步,人类在向文明迈进,不同的时代对居住空间、环境有不同的要求,这是社会的必然潮流1。单片机控制的自动窗帘遥控系统,既能解决每天手拉开和关上窗帘的不便,又显示出了生活的档次,同时还可以根据光线的明
4、暗来自动控制窗帘的开关,以调节室内的光线,更进一步地满足了人们的享受要求。所以该产品能形成大规模生产,很快会普及全国市场,产生巨大的经济效益;另外,除了广大市民住宅使用外,该遥控窗帘器还可以广泛应用于别墅、公寓、宾馆、饭店、写字楼、歌舞厅、影剧院、会议厅、银行、学校、医院等各种公共场所,因此该产品具有广阔的市场前景。遥控自动窗帘系统在我国还刚刚兴起,但其发展前景广阔,推广和应用自动窗帘系统具有重要的现实意义。其一,改变人们的生活方式。单片机控制的遥控自动窗帘系统具有丰富的智能化功能,为家庭用户营造一个高效、舒适、便利、环保的居住环境。单片机控制的遥控自动窗帘只用一个多功能遥控器就能控制和监测住
5、房的窗帘开关问题,给人们日上生活带来极大的方便。这些都将改变人们传统的生活方式,并提高了人们的生活质量。其二、牵动一大批产业。单片机控制的遥控自动窗帘产品面向家庭用户,其应用市场是庞大的,发展前景也是广阔的,必将吸引大批有远见的各类企业介入,从而牵动一大批产业的发展。这里最先受益的应该是房地产业,单片机控制的遥控自动窗帘不仅是一个很好的概念与“卖点”,同时也是直接提升住宅档次的一个条件,这将会给房地产商带来新的利润空间。在家居集成化、网络化的趋势下,家居集成也成为一种潮流,许多更专业的、美观的、智能化的家居集成产品相继出现。其三,开拓一个崭新的市场。遥控自动窗帘系统牵动了许多的行业,它将不仅仅
6、是目前的IT系统集成商或建筑弱电工程总包商的市场,而且是专业公司和智能化装饰公司的市场2。1.2国内外概况在欧美等发达国家,电动窗帘已广泛应用。在10年前,电动窗帘就已经进入我国,可一直没有大的推广,这两年,随着电控技术的不断提高及价格的不断下降,电动窗帘热才又卷土重来。据了解,全国共有170多种电动窗帘器获得了国家专利,但就其技术本身而言,还是大同小异,但售价却有很大差别,贵的要数千元,便宜的只要500块。尽管遥控自动窗帘系统在国内是一个新兴的行业,但是,它也正以不可抵挡之势迅速崛起。遥控自动窗帘系统走进中国以来,在短短四年的时间里,遥控自动窗帘系统生产商由最初的几家公司增加到如今的百余家企
7、业,其行业发展之迅速是目前国内任何其它行业所无法比拟的。目前,我国遥控自动窗帘系统生产厂商、分销商、集成商与装饰公司都形成了相当规模,不少国内知名企业纷纷涉足遥控自动窗帘系统行业,如青岛海尔、清华同方、TCL等,并涌现出一些较具影响力的智能家居专业厂商,如上海索博智能电子有限公司、北京九州易居科技有限公司、天津瑞朗智能家居电子科技有限公司、深圳市正星特科技有限公司等。自动窗帘产品已开始走进中国的家庭。具报道,我国2004年售出商品房1.9亿m²,如果每20 m²需要一套窗帘架产品,仅此一项就可以年新增窗帘架产品近千万套加上。年新增窗帘架产品市场需求将不低于2000万套。如果
8、单片机控制的遥控自动窗帘,销售占市场的5%左右,就可实现年产值上亿元3。随着自动窗帘热潮在世界范围内的日渐兴起,随着中国电子技术的飞速发展、人们生活水平的不断提高以及智能电子技术在生活中的广泛应用,自动窗帘已经成为未来家居装饰潮流发展的最新方向,在不久的将来,没有自动窗帘系统的住宅肯定不合潮流。从目前的发展趋势来看,在未来的20年时间里,自动窗帘行业将成为中国的主流行业之一,其市场的发展前景是非常广阔的。1.3课题的研究工作智能家居系统是一个大的社会系统工程,我们应当加快我国智能家居标准化进程。自动窗帘系统作为智能家居中一个很重要的部分,需要在我国智能家居这一领域,建立起一个具有中国特色的新兴
9、、健康的产业链。让自动窗帘系统在我国并不是远在天边,而是近在眼前。现有的电动窗帘机的控制方式有固定式开关控制、遥控、光控、声控等,其中以前两种形式居多。就实用程度和经济角度来说,用固定式开关控制方式较好,这是因为窗帘的开闭不像电视机等家电产品开闭得那样频繁,每天开闭的次数不多,因此安装在固定的地方使用也相当方便,如把开关装在床头柜等电器综合控制系统中,睡在床上就能控制窗帘的开闭。利用触摸开关,实现全自动断电,既安全又节能,但最重要的一点就是没有实现完全的自动化,没的摆脱对人的依赖作用。而采用遥控控制时,需要候机电源,不可能完全断电而且增加遥控功能,也增加了成本,售价也相应提高。窗帘机的控制方式
10、大体上有三种:声控、光控、时控,声控和遥控属于半自动类;而光控虽属全自动式,但因光敏器件的灵敏度,冬夏等不同季节的光照度的不同,以及人们对起闭窗帘在时间上的要求不同,而难以实施和普及。因此,时控式的全自动窗帘机便成了专业以及业余电子设计人员的热门课题。根据以上自动窗帘有些不能实现完全的自动化;有些虽然实现了完全的自动化,但结构复杂,性能不够稳定;有些虽然实现了完全的自动化,且性能还可以,但价格昂贵不适合普通消费者使用。所以我想利用价格相对便宜的红外线遥控发射芯片、单片机作为主要控制器件,来完成该系统的设计。该系统主要有如下几方面的特点:(1)发射红外线的发射装置采用一般彩色电视机的遥控器,这样
11、既方便又实惠,可谓一物两用。(2)时间控制开关窗帘。通过对DS1302芯片的设定,让用户可以随自己的生活习惯方便的自动开关窗帘,无需手动。(3)采用红外遥控方式,不会干扰其它电器的正常工作,也不会影响邻近的无线设备。超距离遥控,可达89m。(4)另一种控制方式为手动控制方式,防止停电后采用手动控制。(5)美观。以往的遥控电动窗帘都是向一边拉或向上拉,而本设计为向两边打开,随个人的爱好可以控制其大小。(6)体积小、结构简单、灵敏度高、抗干扰性强、经济实用、工作可靠4。2 核心芯片结构原理介绍为使基于单片机控制的红外线遥控系统在实际使用过程中方便快捷,并且具有较高的性能/价格比,所以对该系统的原器
12、件作了精心挑选。按在实际工作中的作用,可分为以下几个部分:AT89C2051单片机是整个电路的核心,它控制其它模块来完成各种复杂的操作;红外线一体化接受头负责接受命令;芯片DS1302负责时钟的运行及设置参数的存储。2.1 中央控制器AT89C205189C2051是由ATMEL公司推出的一种小型单片机,95年出现在中国市场。其主要特点为采用Flash存贮器技术,降低了制造成本,其软件、硬件与MCS-51完全兼容,且采用ATMEL高密度非易失存储器制造技术制造,将多功能8位CPU和闪烁存储器组合在单个芯片中,可以很快被中国广大用户接受。其程序的电可擦写特性,使得开发与试验比较容易,为很多嵌入式
13、控制系统提供了一种灵活性高且价廉的方案5。2.1.1 AT89C2051的特点89C2051有很宽的工作电源电压,可为2.76V,当工作在3V时,电流相当于6V工作时的1/4。89C2051工作于12Hz时,动态电流为5.5mA,空闲态为1mA,掉电状态仅为20nA。这样小的功耗很适合于电池供电的小型控制系统。AT89C51具有以下几个特点:·AT89C51与MCS-51系列的单片机在指令系统和引脚上完全兼容;·片内有4k字节在线可重复编程快擦写程序存储器;·全静态工作,工作范围:0Hz24MHz;·三级程序存储器加密;·128×8位
14、内部RAM;·32位双向输入输出线;·两个十六位定时器/计数器·五个中断源,两级中断优先级;·一个全双工的异步串行口;·间歇和掉电两种工作方式6,7。2.1.2 AT89C2051引脚功能(1)口线:P0、P1、P2、P3共四个八位口。§ P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。P0口也用以输出外部存储器的低8位地图1址。由于是分时输出,故应在外部加锁存器将此地址数据锁存,地址锁存,信号用ALE。§ P1口是专门供用户使用的I/O口,是准双向口。§ P2口是从系统扩展时作
15、高8位地址线用。不扩展外部存储器时,P2口也可以作为用户I/O口线使用,P2口也是准双向口。§ P3口是双功能口,该口的每一位均可独立地定义为第一I/O功能或第二I/O功能。作为第一功能使用时操作同P1口。P3口的第二功能如表2.1所示8。表2.1 P3口第二功能2.2 红外线发射码组成原理遥控器发射装置首选家用彩电遥控器。因为目前,彩电和VCD已走进千家万户,而其所带的红外线遥控器给这些家电的操作带来了极大的方便,而接受只需一个红外线一体化接受头就行了。 红外线一体化接收头近年来,随着信息技术的飞速发展,无线通信技术正在向各个领域渗透,特别是利用红外线进行通信无论从小型化、轻量化、
16、还是从安全性等方面考虑,其可行性都比较高。红外数据通讯实际是利用红外线作为通讯载体,由红外发射器和红外接收器来完成信号的无线收发。在发射端,对发送的数字信号经适当的调制后,送入电光变换电路,驱动红外发光二极管发射红外光脉冲;在接收端,红外接收器对收到的红外信号进行光电变换,并进行解调后,恢复出原信号。在红外数据通讯中,红外接收器件的选择是红外数据通讯中至关重要的因素。TSOP18xx系列是 Temic公司新近推出的一体化红外线接收模块,集红外线接收、放大、解调于一体,不需要任何外接元件,就能完成从红外线接收到输出与 TTL电平信号兼容的所有工作;而体积只有普通三极管大小一样,适合各种红外线遥控
17、和红外线数据传输,其传输距离大于 4米。红外线接收模块 TSOP18xx系列的管脚分布如图2.1所示,1、2分别为电源和地,3为信号输出端,其输出电平和 TTL电平兼容。 TSOP18xx系列的特性如下:( 1)多种接收频率可供选择:30k Hz、33k Hz、36k Hz、36. 7k Hz、38k Hz、40k Hz、5 6 k Hz;( 2)大范围工作电压:( 3 6 ) V;( 3)工作电流:3m A;( 4)遥控距离:大于 4m;( 5 )内置金属保护装置;( 6 )综合限幅电路功能;( 7 )多种主要传输码;( 8 )智能自动增益控制 ( AGC),在不同的环境下也能发挥较高接收灵
18、敏度。TSOP18 xx系列红外线模块接收器的受光面一侧为黑色环氧聚焦滤波透镜,此透镜消除了可见光对它的干扰,对于提高可靠性及滤除光噪声至关重要。模块内含红外线 PIN接收管、前置放大器和解调器。当红外线发射器发出的信号经空间传送到 TSOP18 xx系列模块时,模块内部 PIN红外线接收管将红外光转换为电信号,该信号经前置放大、解调后由 3脚输出与 TTL电平兼容的电信号,该信号能直接送入到微控器等要求 TTL电平信号输入的芯片中。图2.1 红外线一体化接收头TSOP18xx 红外线发射码组成要使用红外线一体化接受头接受遥控器发射的红外线,再通过单片机解码,那就必须先了解红外线发射器所发射的
19、红外线码的组成。一般的彩电、VCD遥控器的编码,大概有以下两种编码格式(Format)。第一种格式为1913、9012、1621格式;第二种为3010格式。其中尤以第一种格式用得最多。要识别一个遥控器的格式很简单,只要把遥控器拆开,看它所用的集成块型号就知道,比如uPD1621、SAA3010,其格式就是1621、3010格式。下面分别具体说明这两种编码格式9。第一种格式以1621为例,当按下遥控器上的某个按键时,遥控器将发射出一帧数据,帧数据的编码格式由三部分组成:引导码(Lead code)、客户码(Custom code)和数据码(Data code),见图2.2:图2.2:1621帧格
20、式对于一个遥控器来说,每个按键所发射的帧数据的客户码总是一样的,有区别的只是数据码。其中9012和1913、1621格式的唯一区别就是引导码的高电平宽度不一样,9012格式为4.5ms,1913和1621格式为9ms。帧结构中的客户码和数据码各有两个字节,第一个字节和第二个字节互为按位取反,其中客户码的高4 位与低4位又互为按位取反。0码和1码的结构见图2.3,0码由0.56ms高电平和0.565ms低电平组合而成、1码由0.56ms高电平和1.69ms低电平组合而成。码元的高电平信号采用38kHz矩形波(载波)调制发射,载波占空比(Duty)为1/3,低电平无信号发射。图2.3 1621格式
21、码元第二种格式3010与第一种格式截然不同,它是以信号脉冲的上升沿和下降沿来分别表示1码和0码的。其帧格式见图2.4,每一帧由起始位(Start bit)、扩展位(Enlarged bit)、翻转位(Toggle bit)、系统位(System bit)和数据位(Data bit)组成。其位码结构见图2.5。码元高电平也是采用38kHz载波调制发射10。图2.4 3010帧格式图2.5 3010格式码元结构2.3 时钟芯片DS1302DSl302是美国Dallas公司生产的一种串行实时时钟/日历芯片,以串行方式与单片机进行数据传送,它能够向单片机提供:秒、分、时、日、月、年、及星期等实时时间信
22、息,并能够对闰年天数自动调整,日历有效至2100年。DSl302由双电源中较大者供电,使系统在没有主电源的情况下也能保持时钟的连续运行。片内具有31个字节静态RAM,可用来保存重要数据。DSl302具有引脚少、体积小、价格低等优点,得到了广泛应用。但由于其时序要求比较严格,应用程序不易编写,给开发者带来不便。为此,本文对其进行详细分析和阐述并在分析其时序的基础上给出了DSl302与单片机连接的接口电路和通讯子程序。 DS1302的引脚排列及其内部结构DS1302的引脚排列如图2.6所示,其引脚描述如表2.2所示。 图2.6DS1302时钟芯片表2.2 DS1302引脚描述引脚号符 号描 述引脚
23、号符 号描 述1Vcc2备用电源引脚5复位引脚2X1晶振引脚6I/O数据输入/输出引脚3X2晶振引脚7SCLK串行时钟输入引脚4GND电源地引脚8Vcc1主电源引脚DS1302串行实时时钟芯片主要由移位寄存器、控制逻辑、振荡器、实时时钟及31个字节RAM组成,其内部结构如图2.7所示。数据传送前,必须把置为高电平且把提供地址和命令信息的8位字节装入到移位寄存器。在进行单字节传送或多字节传送时,开始的8位命令字节用于指定40个字节(31个字节RAM和9个字节时钟寄存器)中哪个将被访问11。DS1302由8个时钟寄存器和两个控制寄存器组成,各寄存器的位描述如图2.6所示,时钟寄存器以BCD码格式储
24、存数据。 图2.7DS1302寄存器 DS1302数据传输方式对DS1302 进行任何数据传送时, 第一个数据字节必须是命令字节, 格式如图2.8所示, 其最高有效位MSB (位7) 必须为逻辑1。如果它是零, 禁止写DS1302。位6为逻辑0 时指定传送时钟/日历数据; 逻辑1指定传送RAM数据。位1至5 指定进行输入或输出的特定寄存器的地址。最低有效位LSB (位0)为逻辑0 时指定时进行写操作(输入) ; 逻辑1指定进行读操作(输出)。命令字节总是从最低有效LSB (位0) 开始输入12。图2.8 地址/命令字节时钟芯片DS1302是采用I2C总线来传输数据的。I2C(InterInte
25、grated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。I2C总线的另一个优点是,它支持多主控(multimastering), 其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输
26、和时钟频率。当然,在任何时间点上只能有一个主控。3 硬件电路原理设计电路分为七个部分,分别是电源部分、显示部分、鸣响提示部分、红外线接收部分、时钟控制部分、电机控制执行部分、单片机主控器件部分。3.1 电源部分通过一带有整流电路的12V变压器外接市电(220V)后,与图3.1中左边插座相连接,输入直流12V电压。左边两个是12伏的电源滤波电容,一般大电容旁边并联一个小电容的目的是降低高频内阻,因为大的电解电容一般采用卷绕工艺制造,所以等效电感较大,小电容可以提供一个小内阻的高频通道,降低电源全频带内阻。然后输出电压为+12V的VDD,为控制继电器提供工作电压。同时经过3端集成稳压器LM7805
27、稳压后输出+5V电压VBB,为讯响电路、红外接收电路、显示电路提供电源,5V电源经过二极管D4、限流电阻R18=51后,为单片机提供VCC电压,BATTERY是直流供电电源,电压为3V3.6V,在本电路中为了节省成本,使用两节5号普通电池,C6和C7是单片机电源滤波电容。平时交流电正常的情况下,5V电源为单片机供电的同时,也为电池浮充电,大大延长了电池的使用寿命,当交流电停电的时候,电池仅为单片机供电,单片机在掉电状态下维持时钟的正常走时,VBB供电被D4隔断。在控制器设置成手动控制时,单片机除执行任务外,均处于睡眠状态,遥控器信号的到来,单片机从睡眠中唤醒,恢复正常工作,所以手动状态下当交流
28、停电时,电池的耗电电流更小。3.2 时钟芯片DS1302DS1302主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32768Hz晶振,开窗帘时间,关窗帘时间都保存在DS1302自带的RAM中,不需要单独的EEPROM。DS1302与CPU的连接仅需要三条线,即SCLK(7)、I/O(6)、RST(5)。DS1302与CPU连接的电路原理如图3.1所示13。要特别说明的是备用电源B1,可以用电池或者超级电容(10万uF以上)。虽然DS1302在主电源掉电后,耗电很小,但如果要长时间保证时钟正常,最好选用小型充电电池。可以用老式电脑主板上的那种3.
29、6V充电电池。如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容代替。100uF就可以保证1小时的正常走时。DS1302在第一次加电后,须进行初始化操作,初始化后就可以按正常方法调整时间及开关窗帘时间14。3.3鸣响电路设计鸣响电路可以设计成一个单独的单元来控制,用一个独立的按键来控制它的开与关,但是红外线发射遥控器是采用彩色电视机上的遥控器,而非专用遥控器,考虑到使用的按键较多时容易让用户记不清各个键对应的功能,所以容易产生误操作;别外考虑到可以选取一个功率比较小,声音比较悦耳的陶瓷喇叭,这个喇叭一方面能掩盖电机和窗帘发出来的噪声,另一方面也能作为检错用。一般情况下人们不会把
30、它当噪声来看待鸣响电路与单片机的一个P口引脚相连,应程序设定在开窗帘和关窗帘的时候都会伴随着声音。喇叭采用小功率的陶瓷音源,声音不会很大。音频信号输出,音频信号通过R20、C10输入到三极管V6的基极上,放大后推动发声器Y1发。二极管D3用来提供C10的放电回路,保证交流信号的正常耦合15。3.4 红外线接受电路红外线接收电路使用一个集成红外接收器,型号是TSOP1838,静态时输出端输出高电平,当接收到红外信号后,按红外信号的数据波形输出负脉冲数据信号。红外信号输出到单片机的P3.2 ,该口对应的第二功能是外部中断0 (INT0),利用该口的第二功能,一旦红外线信号到来,P3.2
31、被拉低,单片机中止当前的工作转移到接收、处理红外信号。开启中断功能的目的,既减轻了单片机的工作负担,又保证接收到的红外信号的完整性,同时在手动工作状态下,单片机进入睡眠后,利用外部中断功能完成对单片机的唤醒。3.5电机执行电路电机执行电路,为了减轻单片机的工作负荷,提高单片机的抗干扰能力,所以电机不直接由单片机来驱动。当继电器的触点打开时,没有漏电流.也就是说,断开状态的电阻非常大(接近无穷大),此时触点两侧的电压可达1500V;当触点合上时,接通电阻极低,所以继电器的功率非常小.因此继电器不会发热,通常也不需要散热器;电磁继电器的购买成本通常比半导体驱动器件低;继电器的打开时间一般是毫秒级的
32、,相比之下,半导体开关的开关时间是微秒级的。电机执行部分完全受单片机的控制,通过单片机的P3.0和P3.1完成。单片机复位状态下P3.0和P3.1输出高电平,三极管V1、V2,V4、V5截止,两个继电器J1、J2释放状态,方向可逆的电动机因无电源供电而停止。当P3.0或者P3.1其中有一个被拉低后,两个继电器便会有一个导通,例如P3.0拉低后V1导通、V4导通,J1吸合,电机得电转动,当只有P3.1拉低后,电机则反方向转动,实现了窗帘的拉开和关闭。两个继电器的工作状态受单片机控制,在同一个时间内两个继电器仅能有一个吸合。即便是在电机工作期间,操作了反向转动按键,单片机也是先释放当前工作的继电器
33、,并延时一段时间后再吸合另外一个继电器,防止了电机正反工作线圈同时通电的冒险 16,17。3.6数码管显示电路显示电路设计,考虑到本设计是作为一般家庭的自动控制窗帘,所以采用的是四位数码管来显示实时时间、调开窗帘时间、关窗帘时间,在开窗帘、关窗帘的时候在数码管上不作任何提示,但是伴随有声音提示。这部分电路最大的优点就是经济实惠,最大的缺点就是欠美观及不能反映窗帘动作情况。如果此系统作为大型别墅、宾馆、饭店、写字楼、歌舞厅、影剧院、会议厅、银行、学校、医院等各种公共场所,可以把这部分电路设计为液晶屏显示,当然显示的就不仅仅是时间了,还包括年、月、星期。四位数码管显示,在一般情况下显示实时时间,在
34、需要调节开窗帘时间的时候,通过软件的控制作用,数码管将显示此开定时时间;同样在需要调节关窗帘时间的时候,数码管将显示此关定时时间。因为在开窗帘、关窗帘、停窗帘的时候有明显的动作现象,很容易观察到,所以没有设定在数码管上显示出来。P1口的P1.0、P1.1、P1.2、P1.3分别接四个三极管,当其中一个引脚背拉为低电平的时候,与该引脚相连的三极管便导通,此三极管便驱动与它相连接的数码管,然后送入该位应该显示的字形码18。图3.1 整体硬件电路图4 系统软件设计该系统最重要的部分就是程序的编写,如果软件编写的科学就能体现出该系统功能的完整性、实用性、经济性。软件部分的编写主要分为红外线解码程序、时
35、钟芯片DS1302控制程序、数码显示程序、遥控控制程序这四大部分来阐述。4.1红外线解码该系统采用长虹彩电K11F型遥控器,产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定高8位地址为0BFH,低8位地址为40H;后16位为8位操作码(功能码)及其反码。遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在4563ms之间。当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发
36、射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms18ms),高8位地址码(9ms18ms),8位数据码(9ms18ms)和这8位数据的反码(9ms18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。注:代码宽度算法:16位地址码的最短宽度:1.12×16=18ms 16位地址码的最长宽度:2.24ms×16=36ms 19。易知8位数据代码及其8位反代码的宽度和不变:(1.12ms+2.24ms)×8=27ms 。所以得32位代码的宽度为(18ms+27ms)(
37、36ms+27ms)解码的关键是如何识别“0”和“1”, 代码格式(以接收代码为准,接收代码与发射代码反向)。从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左
38、右均可;根据码的格式,应该等待9ms的起始码和4.5ms的结果码完成后才能读码。根据以上分析可得出解码程序流程如下:有信号产生中断EA清零延时小于9ms(低电平)等待高电平的到来延时小于4.5ms(高电平)等待下一次高电平的到来延时0.84ms左右读区P3.2脚电平值再等待下一次高电平的到来延时0.84ms左右读取P3.2脚电平值,依次取得32位代码,前16位为识别码,后18位既为8位数据码和8位数据反码。集体流程框图见4.120,21,22。4.2 DS1302读实时时间80H88HR_BIT(DS1301时间地址)60H66HW_BIT(2051时间地址)CLK=1,RST=1CLK=0,
39、RST=0CLK=0,RST=1N有信号,中断接受解码跳出识别码正确否?与实际键值(10个)比较,转出执行相应动作中断返回Y4.1 红外中断,接收信号4.2 DS1302的控制程序I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。CPU发出的控制信号分为地址码和
40、控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关23,24,25。 I2C总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。 开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。 结束信号:SCL为低电平时,SDA由低电平向高电平跳变,结束传送数据。 应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受
41、控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。目前有很多半导体集成电路上都集成了I2C接口。带有I2C接口的单片机有:CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外围器件如存储器、监控芯片等也提供I2C接口,DSl302有单字节传送方式和多字节传送方式。通过把复位线驱动至高电平来启动所有的数据传送。复位线有两种功能,首先接通控制逻辑,允许地址命令序列送入移位寄存器;其次,提供了中止单字节或多字节数据
42、传送的手段。 数据输入时,时钟的上升沿数据必须有效,数据的输出在时钟的下降沿。如果为低电平,那么所有的数据传送将被中止且I0引脚变为高阻状态。上电时,在Vcc>2.5伏之前, 必须为逻辑0。当把驱动至逻辑1状态时,SCLK必须为逻辑0。单字节数据输入跟随在写命令字节的8个SCLK周期之后,在随后的8个SCLK周期的上升沿输入数据字节,数据从位0开始输入,如图4.3。多字节数据输出跟随在输入读命令字节的8个SCLK周期之后,在随后的8个SCLK周期的下降沿输出数据字节,数据从位0开始输出,如图4.4。4.3单字节传送方式:4.4多字节传送方式 读取实时时间过程流程见框图4.2;DS1302
43、初始化流程见框图4.5;修改RAM值见框图4.6Clk=0,rst=0Clk=0,rst=18EHR_BIT(写入DS1302)00HR_BIT(开允许写入)R1R_BIT(地址)R0R_BIT(数据)Clk=1,rst=0Clk=0,rst=18EHR_BIT(写入DS1302)80HR_BIT(关允许写入)CLK=1,RST=04.6 修改RAM过程Clk=0,rst=0Clk=0,rst=18EHR_BIT(写入DS1302)00HR_BIT(开允许写入)Clk=1,rst=0Clk=0,rst=180H88HR_BIT(DS1301时间地址)60H66HR_BIT(2051时间地址)C
44、lk=1,rst=0Clk=0,rst=190HR_BIT(充电方式地址)10100101BR_BIT(充电方式)Clk=1,rst=0Clk=0,rst=18EHR_BIT(写入DS1302)80HR_BIT(关允许写入)CLK=1,RST=04.5 DS1302初始化过程4.3数码管显示设计 数码管的显示程序由定时计数器来设定,既大约200ms后定时计数器就会产生中断,在中断子程序里面,数码管会根据具体情况执行不同的显示子程序。第一种显示方式:正常时间显示,先使与第一个数码管相连的三极管导通即把P1.3置一,接着把分钟个位(61H的低四位)的字形码送入P0口,延时一段时间,让第一个三极管截
45、止,第二个三极管导通,把分钟十位(62H的高四位)的字形码送如P0口,延时一段时间,至此分钟就显示完了。接着以同样的方式送第三位、第四位到小时的个位、十位;第二种显示方式:调开窗帘的时间,如果02H为高电平就表明用户在调开窗帘的定时时间,这样就必须显示开窗帘的定时时间(6AH、6BH),显示方式与正常时间显示一样。第三中显示方式:调关窗帘的时间,如果03H为高电平就表明用户在调关窗帘的定时时间,这样就必须显示关窗帘的定时时间(6CH、6DH),显示方式与正常时间显示一样。框图见4.726。4.4 遥控控制部分 遥控控制部分就是根据遥控器发送的编码来执行需要的任务,其中包括:开窗帘、关窗帘、停止
46、移动(把窗帘设置成半开状态)、调节实时时间,(按一下此键,再按加、减键即可使实时时间增加一或减小一)、调节开窗帘时间、调节关窗帘时间、时间增加、时间减小、开/关自动开关帘、开/关自动关窗帘。具体实施措施为:接收到的红外线码值为10H,转入执行stop子程序,此时P3.0、P3.1两个引脚都将被置为高电平,控制电机的四个三极管都处于截止状态,电机不执行任何动作既窗帘停止不动; 接受到的红外线值为16H,转入执行OPEN子程序,在此程序中P3.0将被置“1”,与P3.0相连接的两个三极管导通,电机正转,延时一段时间也就是窗帘全部打开的时候P3.0又被置“0”,电机停止运动;接收到的红外线值为44H
47、,转入执行CLOSE子程序,在此程序中P3.1将被置“0”,与P3.1相连接的两个三极管导通,电机反转,延时一段时间也就是窗帘全部被关上的时候P3.1又被置“01,电机停止运动;接收到的红外线值为0CH,就使01H取反,开始01H应该为“0”,取反后01H变为“1”如果此时再按加一或是减一键,系统便会转入执行S_TIME子程序,使实时时间加一或是减一后放入DS1302的RAM中,如果再次按到0CH这个键,那么01H取反被设置为“0”,按加或是减键的时候就不能改变实时时间的值了。接受到的红外线值为46H、47H的时候与第四基本上相同,不同之出就是46H为调节开窗帘的定时时间,47H为调节关窗帘的
48、定时时间。接受到的红外线值为49H时,为开/关自动开窗帘,中断程序将把03H取反,03H开始应该为“0”,取反后变为“1”,系统在去读取DS1302实时时间的时候如果发现03H为“1”就会把读得的实时时间与开窗帘的定时时间想比较,相等就会执行开窗帘子程序;如果再次按到该键,03H将被值“0”,在读取实时时间的时候就不在作比较了,而是直接退出中断程序。接受到的红外线值为50H时,为开/关自动关窗帘,与开/关自动开窗帘设计一样。4.7 定时中断到,显示NNYY02H为1否显示开窗帘时间定时计数器1中断03H为1否显示关窗帘时间显示正常时间中断返回5总结与展望该系统硬件电路结构相对比较简单,主要是软
49、件部分的仿真与调试。软件部分的重难点又主要体现在三个中断程序中。第一个中断,定时器/计数器0定时中断,因为在实验室的仿真器上没有DS1302时钟芯片,所以在调试的时候把定时计数器0设置为工作方式1即16位定时器,设定每0.5ms将产生一次中断,经过0.5*20*60既得到一分钟的定时时间,每经过一分钟如果自动开关窗帘功能开启它就会与自动开关窗帘的定时时间想比较,如果相等就转入相应的子程序中去执行控制命令。第二个中断,定时器/计数器1定时中断,此中断主要是用来控制数码管的显示,这与本系统的设计方式基本相同,不同的是MCS-51仿真器上的数码管都有相应的位码地址和位形码地址,只要把字形码和字位码送
50、入相应的地址既能显示出需要的数字。第三个中断,外部中断0,在原程序中,当红外线一体化接受器接受到信号时就会产生中断,并根据解码得到的值去执行相应的子程序,但是在仿真过程当中没有红外线发射器,也没有红外线一体化接收头,所以改用了中断键盘代替。在调试中把P1口和P2.7,P2.6作为10个按键分别置高低电平,当其中一个口被置为低电平时,此低电平就将引发外部中断0,系统转入执行中断子程序,判断P1口和P2.7、P2.6那个为低电平,然后转入相应功能的子程序中去完成需要的动作。现象观察:在MCS-51仿真器上通过编译、加载、运行后可以观察到,在没有调时键被按下时,数码管显示正常的实时时间,因为在分钟和
51、小时中间没有设置准确的秒钟闪烁信号,所以只能看到在小时和分钟间有个点在闪烁。在P3.0、P3.1口上分别接一发光二极管,在送入低电平的时候亮,高电平的时候不亮。在有键被按下时,程序自动转入相应的中断子程序,如:P2.1口手动开帘键被按下时,P3.0口上接的发光二极管亮;P2.1口上的键被按下时,P3.1口上接的发光二极管亮,这说明程序能够正常的运行,能够使继电器导通,带动电机向正确的方向转动。经过在MCS-51仿真器上调试运行,此电路及程序基本上达到了预期目的,当然在程序中也还有很多可以改进的优化设计,也还可以添加一些辅助功能这些都还有待更好的改进27。本文主要完成了如下工作:硬件部分:(1)
52、采用自制5V稳压电源。先用一变压器把市电(220V交流电)变成12V,经整流、滤波后,再用一集成稳压管(74L05)把电压稳定在5V以供单片机使用;(2)单片机选用89C2051,是整个系统的核心部件,担负整个系统的管理控制任务;(3)红外线遥控方式。发射部分采用普通的彩电遥控器,既节约成本又方便;接收部分采用一红外线接头,主要是通过89C2051解码,分析出需要执行的命令,再由单片机去完成;(5).采用四位数码管来显示时间及要求的动作指示;(6).设有鸣响提示喇叭;(7).数据存储设定。选用时钟日历芯片DS1302作为万年历,因为他带有32字节的RAM,并且带有后备电源不怕断电,所以兼做数据
53、存储器使用,保存用户设定的一些参数。(8).窗帘用能正反转的电动机来拖动,电机的转动方向由继电器来控制。软件部分:(1)对DS1302芯片进行初始化,I2C总线进行单字节数据读写传送、多字节数据读写传送;(2)利用红外线一体化接收头对红外线遥控器发射的编码进行接收,然后由单片机根据接收到的信号进行解码;(3)控制程序,根据解码得到的结果去执行需要的操作。开窗帘、关窗帘、停止移动、调节实时时间、调节开窗帘时间、调节关窗帘时间、时间增加、时间减小、开/关自动开关帘、开/关自动关窗帘;(4)显示电路。实时时钟显示、开窗帘调时显示、关窗帘调时显示。本课题的研究虽然取得了一定的收获,但在很多方面还有待于进一步的改进和完善。如:鸣响电路没有作为一个单独的单元来控制,这样在每次开关窗帘的时候有会伴随着喇叭的声音,如果把鸣响电路设计成单独的控制单元,并且在执行不同操作时会伴随不同的乐曲声,那样将是最理想的;还有就是没有设计光控电路,如果再加上一个光控电路,在光线较暗的时候能自动开窗帘,在光线较强的时候自动关窗帘,那这个系统将更加的完整。参考文献1 刘叶冰,董欣,张家维.智能园区系统集成技术.工程设计CAD与智能建筑 2 腾飞.智能家居就在眼前.中国计算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 区块链金融在电子商务中的信任构建与安全保障
- 数据可视化技巧课件教学演示
- 跨界合作的业务发展策略计划
- 区块链如何助力智慧城市建设
- 仓库绩效激励机制的设计计划
- 行政法与公共利益的关系试题及答案
- 行政管理专业经济法知识试题及答案
- 舞蹈社团表演活动安排计划
- 执业护士考试临床护理质量试题及答案
- 员工职业生涯规划与支持机制计划
- 小学数学大单元教学实施策略
- 《海上风电场安全标识设置设计规范》
- 创造心智与创新训练智慧树知到期末考试答案2024年
- 创伤性前房积血
- 供水企业安全生产培训课件
- 早产的护理查房课件
- 国家智慧教育平台培训课件
- 针灸科出科个人小结
- 语感与语言习得-【中职专用】高一语文同步课件(高教版2023·基础模块上册)
- 2024年中国石化集团资本有限公司招聘笔试参考题库含答案解析
- 普通高中地理课程标准(2023年版)
评论
0/150
提交评论