基于单片机的智能型家居窗帘控制电路的设计

上传人:仙*** 文档编号:28258499 上传时间:2021-08-24 格式:DOC 页数:58 大小:708.50KB
返回 下载 相关 举报
基于单片机的智能型家居窗帘控制电路的设计_第1页
第1页 / 共58页
基于单片机的智能型家居窗帘控制电路的设计_第2页
第2页 / 共58页
基于单片机的智能型家居窗帘控制电路的设计_第3页
第3页 / 共58页
点击查看更多>>
资源描述
基于单片机的智能型家居窗帘控制电路的设计摘 要本文首先介绍了智能家居的基本知识及其应用前景,接着着重介绍了开发单片机控制的红外线遥控窗帘系统所用到的集成芯片STC89C52、L7805稳压芯片、LCD1602液晶显示屏、DS1302时钟芯片、AT24C02存储芯片、28BYJ_48步进电机、HS0038红外线接收电路等硬件的结构原理。本文采用分块的模式,对整个系统的硬件电路设计进行分析,分别给出了系统方案原理框图、电源电路、显示电路、时钟DS1302电路、外扩存储电路、电机控制电路、红外线接收电路,并对相应电路设计进行了相关的阐述。软件的编写思路也是采用分块的模式,分别写出了LCD1602液晶显示程序、DS1302时钟芯片控制程序、时间调整与定时程序、步进电机控制程序、HS0038红外线解码程序、AT24C02控制程序、光控程序的编写思路,每一模块都画出了其方框图,一目了然。最后通过仿真调试,时钟,手动开关窗帘等控制方面的设计上基本达到了预期目的。当然,该系统在一些细节的设计上还需要不断的完善和改进。关键词:STC89C52RC单片机;DS1302时钟芯片;红外遥控;LCD1602;窗帘 IAbstract At first, this paper introduces the basic knowledge of the smart home and its application prospect, and then introduces the development of single-chip microcomputer control of infrared remote control curtain system used by the integrated chip STC89C52, L7805 voltage chip, LCD1602 LCD display, DS1302 clock chip, 28 byj_48 stepper motor,AT24C02 storage chip, HS0038 infrared receiving circuit, etc. hardware structure principle,based on the block model, this paper give an analysis to the hardware circuit design of the whole system.It respectively presents the system principle block diagram, power supply circuit, display circuit, clock DS1302 circuit , outside enlarge storage circuit , motor control circuit, infrared receiving circuit and gives a corresponding explanation of the related circuit design. Writing ideas of software adopt the block pattern too . They write down the compile thoughts of the LCD1602 LCD display program, DS1302 clock chip control procedures, time adjustment and timing, stepper motor control procedures, HS0038 infrared decoding procedures, AT24C02 control procedures . Every module draws the very block diagram ,which is clear at a glance . Finally,via simulation and debugging ,the design of the control aspects such as the clock , the manual switch curtain has basically reached the expected purpose . Of course , the system requires constant perfection and improvement on some detail designs .Key words:stc89c52rc singlechip;ds1302 clock chip;infrared remote control;lcd1602;curtain目录摘 要IAbstractII1 绪言11.1 课题背景11.2 课题的研究方向12 系统总体方案设计22.1 系统方案确定22.2 模块器件选择22.2.1 STC89C52RC单片机22.2.2 LCD1602液晶显示屏52.2.3 DS1302时钟芯片53 系统硬件电路设计63.1 单片机时钟电路63.2 单片机复位电路63.3 电源电路73.4 显示电路73.4.1 LCD1602管脚介绍83.4.2 LCD1602操作时序83.4.3 LCD1602指令集83.5 DS1302时钟电路93.5.1 DS1302简介93.5.2 DS1302芯片引脚93.5.3 DS1302内部寄存器103.5.4 DS1302数据传输方式103.6 AT24C02数据存储电路113.6.1 AT24C02简介113.6.2 AT24C02芯片引脚113.6.3 I2C总线介绍123.7 步进电机28BYJ-48电路133.7.1 28BYJ_48电路图133.7.2 28BYJ_48相关概念143.7.3 28BYJ_48驱动时序143.7.4 28BYJ_48特点153.7.5 28BYJ_48驱动芯片ULN2003153.8 红外接收电路163.8.1 红外接收电路图163.8.2 红外接收探头HS0038163.9 光控电路173.10 窗帘框架设计174 系统软件设计184.1 LCD1602显示程序184.1.1 LCD1602的初始化过程184.1.2 LCD1602的程序流程图184.2 DS1302时钟芯片控制程序194.3 时间调整和定时时间程序204.4 步进电机控制程序214.4.1 步进电机转动方式(一)214.4.2 步进电机转动方式(二)224.4.3 步进电机控制程序流程图4.4224.5 HS0038红外解码程序234.5.1 红外编码波形说明234.5.2 红外解码说明244.5.3 红外解码流程图244.6 数据存储程序254.7 光控程序265 总结27参考文献28附录(一)原理图29附录(二)源程序301 延时函数312 LCD1602有关子函数313 DS1302有关子函数324 读DS1302时间显示于LCD1602函数355 按键调整时间函数366 按键定时时间函数427 步进电机控制程序函数458 I2C模块函数489 定时扫描子函数5010 光控子函数5111 主函数5112 红外中断函数52致谢54基于单片机的智能型家居窗帘控制电路的设计1 绪言1.1 课题背景随着时尚元素与家居生活的逐步融合,人们对于家居装饰也提出了更高的要求。谈到家居装饰,窗帘所发挥的作用绝对是功不可没。现如今,通透的玻璃窗正在变成现代建筑设计中的流行元素。大阳台、外飘窗、阳光住宅开始成为一种时尚和高品质生活的体现。而对家居装饰起到点睛之笔的窗帘,也尤如一股势不可挡的旋风,吹遍家居卖场,吹进了百姓的家。 现在市场上的智能窗帘有如下特点:1. 无线遥控;2.半自动手动控制;3.环境亮度控制;4.时间自动控制;5.电机工作鸣响提示和整点报时功能。这种简约风格的新型窗饰不仅仅是我们看风景的眼睛,也成为家居中一道美丽风景。在秋冬季节里,透过智能窗饰传来的浓浓暖意,让你更接近自然,从舒适到陶醉,十分妥帖的个性化“定制”对阳光的需求生活像是在旅行,惬意中带着情调。虽然遥控自动窗帘系统在我国还刚刚兴起,但其发展前景广阔,推广和应用自动窗帘系统具有重要的现实意义。 1.2 课题的研究方向自动窗帘机的控制方式大体上有三种:声控、光控、时控,声控和遥控属于半自动类;而光控虽属全自动式,但因光敏器件的灵敏度,冬夏等不同季节的光照度的不同,以及人们对起闭窗帘在时间上的要求不同,而难以实施和普及。因此,时控式的全自动窗帘机便成了专业以及业余电子设计人员的热门课题。本电路设计利用价格相对便宜的单片机作为主要控制器件,通过步进电机的正反转模拟窗帘开启关闭,实现以下功能:1无线遥控功能;2半手动控制功能;3根据环境亮度自动控制功能;4定时控制功能。考虑到单片机IO口有限,比市场上的少了正点报时功能。54基于单片机的智能型家居窗帘控制电路的设计2 系统总体方案设计2.1 系统方案确定 根据任务书要求:1能根据时间定时开关窗帘;2能根据光的亮度自动开关窗帘;3能用红外遥控器控制窗帘开启关闭;为满足上述要求,确定的方案原理图图2.1如下:红外接收模块遥控器按键模块STC89C52RC单片机时钟模块光控模块步进电机显示模块电源模块图2.1 系统方案原理框图按键模块除了定时外,还可在遥控器失灵后手动控制,防止意外情况。2.2 模块器件选择为使基于单片机控制的红外线遥控系统在实际使用过程中具有较高的性能/价格比,所以对该系统的原器件作了精心挑选。按在实际工作中的作用,可分为以下几个部分:STC89C52RC单片机是整个电路的核心,它控制其它模块来完成各种复杂的操作;红外线一体化接受HS0038负责接受命令;芯片DS1302负责时钟的运行及设置参数;AT24C02用来存储数据;LCD1602用来显示各种数据,包括实时时间、定时时间、电机运行状态等。下面重点说明下STC89C52RC单片机以及简单介绍下部分其他器件(其他器件会在相应电路中详细介绍)。2.2.1 STC89C52RC单片机STC89C52RC有很宽的工作电源电压,可为2.76V,当工作在3V时,电流相当于6V工作时的1/4。STC89C52RC工作于12Hz时,动态电流为5.5mA,空闲态为1mA,掉电状态仅为20nA。引脚图如图2.2:图2.2 STC89C52RC引脚图 STC89C52RC的特点STC89C52RC与MCS-51系列的单片机在指令系统和引脚上完全兼容;片内有4k字节在线可重复编程快擦写程序存储器;全静态工作,工作范围:0Hz24MHz;三级程序存储器加密;1288位内部RAM;32位双向输入输出线;两个十六位定时器/计数器五个中断源,两级中断优先级;一个全双工的异步串行口;间歇和掉电两种工作方式超强抗干扰:高抗静电(ESD保护),轻松过2KV/4KV快速脉冲干扰;宽电压,不怕电源抖动;宽温度范围,-4085;禁止ALE输出;;超低功耗: 1掉电模式:典型功耗2.5伏之前, 必须为逻辑0。当把驱动至逻辑1状态时,SCLK必须为逻辑0。单字节数据输入跟随在写命令字节的8个SCLK周期之后,在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。 开始变量初始化使DS1302不具备写保护复位后产生一个高电平写DS1302地址地址增加向该地址写数据数据是否写完复位后产生一个高电平写DS1302地址地址增加将该地址数据读出数据是否读完显示数据NYNY图4.2 DS1302读写流程图4.3 时间调整和定时时间程序 这里采用的是按键中断实现的,因为在编写程序时发现实时刷新时间函数和按键调整时间和定时有冲突。 首先,按中断键key4,调中断(置标志位flag=1),返回主函数后将执行时间定时和时间调整扫面程序。如果按key5键,则进入定时开关窗帘程序;如果按key6,则进入调整时间函数。 程序流程图如图4.3所示:key4按下否 调整时间函数执行完否执行调整时间函数 是 key6按下否 是 是 否Key5按下否 否 否 是执行定时时间函数定时时间函数执行完否清标志位,返回主函数 是 是 是图4.3 时间调整和定时时间程序4.4 步进电机控制程序4.4.1 步进电机转动方式(一)要实现步进电机的转动,可以用以下两种方式:(1)8拍的方式八个状态:1在A与A-正电压,B与B-不给电悬空;2在A与A-正电压,B与B-也给正电压;3A与A-不给电压悬空,B与B-正电压;4A与A-给负电压,B与B-给正电压;5A与A-给负电压,B与B-不给悬空;6A与A-给负电压,B与B-给负电压;7A与A-不给电悬空,B与B-给负电压;8A与给正电压,B与B-给负电压; 按以上八个状态轮流供电,控制一下脉宽应该就可以了。四个引脚各一根控制线:AH表示各线时序 A B C DE F G HA 1 1 0 0 0 0 0 1A- 0 0 0 1 1 1 0 0B 0 1 1 1 0 0 0 0B- 0 0 0 0 0 1 1 14.4.2 步进电机转动方式(二)4拍的方式:电流驱动。 下面的a 和b 表示反向电流。两相双二拍:ab abab ab 为一个转向。ab ab ab ab 为反向。 A B C DA 1 0 0 1A- 0 1 1 0B 1 1 0 0B- 0 0 1 14.4.3 步进电机控制程序流程图4.4 停止键按下否反转键按key5下否电机停止函数主函数步进电机按键扫描函数电机反转函数电机正转函数正转键按key6下否 否 是 是 否 是 否 否 图4.4 步进电机程序流程图4.5 HS0038红外解码程序4.5.1 红外编码波形说明这里采用的是6122型遥控器,载波波形使用455KHz晶体,经内部分频电路,信号被调制在37.91KHz,占空比为三分之一。数据格式包括了引导码、用户码、数据码、数据反码,编码总共占32位。数据反码是数据码相反的编码,编码时可用对于数据的纠错,其红外波形图如图4.5所示。图4.5 红外波形图引导码由一个9ms的载波波形和4.5ms的关断时间构成,它作为随后发射的码的引导,这样当接收系统是由微处理器构成的时候,能更有效地处理码的接收与检测及其它各项控制之间的时序关系。编码采用脉冲位置调制方式(PPM)。每次8位的码被传送之后,它们的反码也被传送,减少了系统的误码率。用户码或者数据码中的每一位可以是“1”,也可以是“0”。区分“0”和“1”是利用脉冲的时间间隔来区分,这种编码方式称为脉冲位置调制方式,简称PPM。4.5.2 红外解码说明图4.6 0、1波形图解码的关键是如何识别“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左右均可;根据码的格式,应该等待9ms的起始码和4.5ms的结果码完成后才能读码。4.5.3 红外解码流程图红外解码流程图4.7如下:接收并解码判断数据格式是否正确跳出中断比较,转出执行相应动作中断返回有红外信号,产生中断否是图4.7 红外解码流程图4.6 数据存储程序AT24C02的1、2、3脚是三条地址线,用于确定芯片的硬件地址(实验板中直接接地只有一块器件);第8脚和第4脚分别为正、负电源。第5脚SDA为串行数据输入/输出,数据通过这条双向I2C总线串行传送,SDA和SCL都需要和正电源间各接一个5.1K的电阻上拉。第7脚为WP写保护端,接地时允许芯片执行一般的读写操作。接电源端时不允许对器件写。 24C02中带有片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。AT24C02读写操作流程图4.8 如下:产生启动条件给出从地址等待接收确认给出数据地址等待接收确认写入接收数据等待接收确认产生启动条件给出从地址等待接收确
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸下载 > CAD图纸下载


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

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


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