365文库
登录
注册
2

光电系统智能窗帘控制课程设计.docx

164阅读 | 5收藏 | 42页 | 打印 | 举报 | 认领 | 下载提示 | 分享:
2
光电系统智能窗帘控制课程设计.docx第1页
光电系统智能窗帘控制课程设计.docx第2页
光电系统智能窗帘控制课程设计.docx第3页
光电系统智能窗帘控制课程设计.docx第4页
光电系统智能窗帘控制课程设计.docx第5页
光电系统智能窗帘控制课程设计.docx第6页
光电系统智能窗帘控制课程设计.docx第7页
光电系统智能窗帘控制课程设计.docx第8页
光电系统智能窗帘控制课程设计.docx第9页
光电系统智能窗帘控制课程设计.docx第10页
光电系统智能窗帘控制课程设计.docx第11页
光电系统智能窗帘控制课程设计.docx第12页
光电系统智能窗帘控制课程设计.docx第13页
光电系统智能窗帘控制课程设计.docx第14页
光电系统智能窗帘控制课程设计.docx第15页
光电系统智能窗帘控制课程设计.docx第16页
光电系统智能窗帘控制课程设计.docx第17页
光电系统智能窗帘控制课程设计.docx第18页
光电系统智能窗帘控制课程设计.docx第19页
光电系统智能窗帘控制课程设计.docx第20页
光电系统智能窗帘控制课程设计.docx第21页
光电系统智能窗帘控制课程设计.docx第22页
光电系统智能窗帘控制课程设计.docx第23页
光电系统智能窗帘控制课程设计.docx第24页
光电系统智能窗帘控制课程设计.docx第25页
光电系统智能窗帘控制课程设计.docx第26页
光电系统智能窗帘控制课程设计.docx第27页
光电系统智能窗帘控制课程设计.docx第28页
光电系统智能窗帘控制课程设计.docx第29页
光电系统智能窗帘控制课程设计.docx第30页
光电系统智能窗帘控制课程设计.docx第31页
光电系统智能窗帘控制课程设计.docx第32页
光电系统智能窗帘控制课程设计.docx第33页
光电系统智能窗帘控制课程设计.docx第34页
光电系统智能窗帘控制课程设计.docx第35页
光电系统智能窗帘控制课程设计.docx第36页
光电系统智能窗帘控制课程设计.docx第37页
光电系统智能窗帘控制课程设计.docx第38页
光电系统智能窗帘控制课程设计.docx第39页
光电系统智能窗帘控制课程设计.docx第40页
光电系统智能窗帘控制课程设计.docx第41页
光电系统智能窗帘控制课程设计.docx第42页
福利来袭,限时免费在线编辑
转Pdf
right
1/42
right
下载我编辑的
下载原始文档
收藏 收藏
搜索
下载二维码
App功能展示
海量免费资源 海量免费资源
文档在线修改 文档在线修改
图片转文字 图片转文字
限时免广告 限时免广告
多端同步存储 多端同步存储
格式轻松转换 格式轻松转换
用户头像
落魄 上传于:2024-09-02
大学光电系统课程设计基于单片机的智能窗帘控制系统设计课题姓名学院专业指导教师20年月日摘要随着社会的进步和科技的发展智能家居系列产品正慢慢进入人们的生活智能窗帘逐渐走入人们的视野然而目前传统的窗帘多为手动式而自动窗帘大多只能实现对光线的检测针对这些问题设计了一款智能窗帘具有实用性强灵敏度高价格相对低和方便快捷的特点本文综述了自动窗帘控制系统的设计与制作过程介绍了设计制作一个完整的窗帘控制系统需要做的理论分析以及其制作过程自动窗帘控制系统核心采用的是单片机STC89C52其次利用了光照传感器键盘显示接口电路以及信号调理电路等外围电路整个系统在各模块的配合下可实现半自动控制自动控制定时控制等功能该设计在理论层面上用程序语言驱动各模块工作实现系统的内在联系在应用层面上则采用Protel软件进行原理图设计自动窗帘控制系统的构成主要由单片机最小系统蜂鸣器报警模块电源模块按键模块LCD1602液晶显示模块步进电机驱动模块DS1302时钟模块光照检测模块和温度检测模块组成重点讨论了窗帘自动控制系统的设计过程硬件选用和软件调试等问题通过本系统根据用户的需求通过按键进行窗帘的开关此功能可以使窗帘的开闭处于任何一种状态可实现利用光照强度以及设置时间来控制窗帘自动开闭具有温度测量和报警功能关键词单片机STC89C52智能窗帘光敏电阻目录第一章前言111课题来源112课题目的213智能窗帘的国内外现状2第二章设计方案及论证321设计思想及基本功能322电路设计及其方案论证3第三章主要元器件选择731STC89C52单片机732光敏电阻733时钟芯片DS1302834温度传感器DS18B20935液晶显示器LCD1602936步进电机937蜂鸣报警器10第四章程序分析设计1141主要程序设计1142主要功能子程序设计12第五章心得体会16参考文献17附录18附录一protel电路图18附录二PCB板19附录三控制电路图20附录四程序清单21第一章前言11课题来源伴随着信息化时代的到来人们的生活速度以及对生活质量的追求也在大幅提高电子产品智能化速度的加快也使人们的工作生活和通讯的关系日益紧密智能化的产品设计在改变人们工作方式与生活习惯的同时让人们对生活质量的提升提出了更高的要求方便舒适成了人们所追求的生活方式在现代家庭生活环境中居家环境早已不仅仅局限在物理空间上人们更为关注的是一个安全方便舒适的环境智能化的电子产品以及设计将以前的被动静止物体转变为人们能够方便操控的工具这些产品具有提供全方位的信息交换的功能不仅能够优化人们的生活方式帮助人们合理的安排时间增强居家环境的安全性甚至还可以为各种能源费用节约资金在智能化产品中单片机的应用已经越来越广泛单片机以它体积小质量轻耗电省可靠性高价格低等优点开始不断发展并广泛应用于仪器仪表家用电器医疗设备航天航空领域工业专用设备的管理及过程控制等领域在很多的大中型的电气设备以及小型的电子产品中也用到了单片机进行控制针对人们对智能化的需求以及对舒适生活的追求窗帘自动控制系统改变了传统窗帘的劣势它可以根据外界光照强度的不同而自动开闭窗帘也可以根据人们设定的时间来控制窗帘该系统利用光敏电阻检测光照强度的变化并且将光敏检测模块的电阻变化转化为电压变化然后将电压变化的信号送单片机单片机通过电机驱动模块控制着步进电机的正反转实现窗帘的来回移动本设计正是把利用STC89C52单片机的优点以及简单实用性顺利的完成了对智能控制的要求并且为智能化的家居设备提供了良好的基础此外对该系统进行扩展比如可以加上防火防盗甚至室内煤气浓度监测等功能会使该系统更具有实用性而且也完善了系统12课题目的设计一个不仅能实现手动和光线来控制窗帘的开合而且还能实现语音温湿度来控制窗帘的开合的系统以尽最大可能满足不同人对窗帘开闭的不同需求13智能窗帘的国内外现状21世纪是信息化的时代知识与科技成为时代的潮流在它们的推动下智能化也因此得到了很大的发展其作用在社会生活中日益得到彰显智能控制系统主要利用计算机技术网络通信技术综合布线技术等现代化技术的有机结合而发挥作用在通信技术计算机技术网络技术智能控制技术的迅猛发展潮流下家庭生活实现了现代化与智能化居家环境也变得更加舒适与安全智能化控制的工作原理自然离不开运算和控制单元而该系统采用的主控器件STC89C52正是运算与控制单元的集合体系统的整体主要由硬件和软件两部分组成硬件部分由单片机扩展的外围电路以及各种实现单片机系统控制功能的接口电路组成软件部分主要由单片机系统实现其特定控制功能的各种程序组成本设计中介绍了自动窗帘控制系统的硬件构成以及软件设计过程以尽最大可能满足不同人对窗帘开闭的不同需求同时系统在针对人们一般需求的设计开发外还提出多种解决方案在考虑到经济性和简便性的前提下可以供日后对控制系统的功能进行扩展第二章设计方案及论证21设计思想及基本功能该系统具有一般的窗帘控制系统的最基本的功能即通过电动按钮来开闭窗帘在此基本功能的前提下本设计根据需求还设计了可以根据光照强度和设定时间自动开闭窗帘的功能在选取设计方案和采用元器件方面该系统本着简单实用经济的思想尽量简化电路设计用最简单的电路布线和选用最经济实用的器件来达到设计要求自动窗帘控制系统具有以下几个基本功能1手动控制该功能是根据用户的需求通过按键进行窗帘的开关此功能可以使窗帘的开闭处于任何一种状态2光照自动控制系统可以根据用户设定的光照强度值通过感光器采集光照自动开光窗帘3时间控制此功能是根据用户设定的时间一次性开关窗帘并显示当前温度4温度报警系统可以自行设置温度报警温度5时间显示及闹钟系统可以自行设置闹钟时间6手动自动控制按键随时切换22电路设计及其方案论证221单片机芯片设计与论证方案一采用FTC10F04单片机还带有非易失性Flash程序存储器它是一种高性能低功耗的8位CMOS微处理芯片市场应用最多其主要特点如下8KBFlashROM可以擦除1000次以上数据保存10年方案二采用可编程逻辑器件CPLD作为控制器CPLD可以实现各种复杂的逻辑功能规模大密度高体积小稳定性高IO资源丰富易于进行功能扩展采用并行的输入输出方式提高了系统的处理速度适合作为大规模控制系统的控制核心但本系统不需要复杂的逻辑功能对数据的处理速度的要求也不是非常高且从使用及经济的角度考虑我们放弃了此方案方案三采用传统的STC89C52RC作为电机的控制核心单片机算术运算功能强软件编程灵活自由度大可用软件编程实现各种算法和逻辑控制并且由于其功耗低体积小技术成熟和成本低等优点使其在各个领域应用广泛这样一来单片机就可以充分发挥其资源丰富有较为强大的控制功能及可位寻址操作功能价格低廉等优点STC89C52单片机具有功能强大的位操作指令IO口均可按位寻址程序空间多达8K对于本设计也绰绰有余更可贵的是STC89C52单片机价格非常低廉由于本系统对CPU运算速度要求很高需要执行很复杂的运算方案三成本比较低适合做设计方案一运算速度高性能好所以这两种方案都有可取之处选用方案三作为主方案方案一作为备用方案222按键控制模块设计与论证方案采用矩阵式键盘此类键盘采用矩阵式行列扫描方式优点是当按键较多时可降低占用单片机的IO口数目缺点为电路复杂且会加大编程难度方案二采用独立式按键电路每个按键单独占有一根IO接口线每个IO口的工作状态互不影响此类键盘采用端口直接扫描方式缺点为当按键较多时占用单片机的IO口数目较多优点为电路设计简单且编程相对比较容易综合考虑两种方案及题目要求考虑到焊接问题故采用第二种方案223时钟模块设计与论证方案一直接采用单片机定时计数器提供秒信号使用程序实现年月日星期时分秒计数采用此种方案虽然减少芯片的使用节约成本但是实现的时间误差较大方案二采用DS1302时钟芯片实现时钟DS1302芯片是一种高性能的时钟芯片可自动对秒分时日周月年以及闰年补偿的年进行计数而且精度高位的RAM作为数据暂存区工作电压25V55V范围内25V时耗电小于300nA由于DS1302时钟芯片计数时间精度高而且具有闰年补偿功能等优点故采用方案二224温度采集模块设计与论证方案一采用PT100作为测温电路的温度传感器PT100传感器是利用铂电阻的阻值随温度变化而变化并呈一定函数关系的特性来进行测温的具有抗振动稳定性好准确度高耐高压等优点但使用起来比较复杂方案二采用数字温度芯片DS18B20测量实际温度输出信号全数字化便于单片机处理及控制省去传统的测温方法的很多外围电路且该芯片的物理化学性很稳定它能用做工业测温元件此元件线形较好在0100摄氏度时最大线形偏差小于1摄氏度DS18B20的最大特点之一采用了单总线的数据传输由数字温度计DS18B20和微控制器STC89C52构成的温度测量装置它直接输出温度的数字信号可直接与计算机连接这样测温系统的结构就比较简单体积也不大采用51单片机控制软件编程的自由度大可通过编程实现各种各样的算术算法和逻辑控制而且体积小硬件实现简单安装方便既可以单独对多DS18B20控制工作还可以与PC机通信上传数据另外STC89C52在工业控制上也有着广泛的应用编程技术及外围功能电路的配合使用都很成熟因为用DS18B20温度芯片采用单总线访问降低成本降低制作难度且可节省单片机资源故采用方案二225显示模块模块设计与论证方案一采用静态显示方法静态显示模块的硬件制作较复杂及功耗大要用到多个移位寄存器但不占用端口只需两根串口线输出方案二采用动态显示方法动态显示模块的硬件制作简单段扫描和位扫描各占用一个端口总需占用单片机14个端口采用间断扫描法功耗小硬件成本低及整个硬件系统体积相对减小方案三采用LCD的方法具有硬件制作简单可直接与单片机接口显示内容多功耗小成本低等优点LCM1602可显示32个字符采用LCD的缺点是亮度不够比较以上三种方案方案一硬件复杂体积大功耗大方案二硬件简单功耗小方案三硬件简单显示内容多功耗小成本低等本系统设计要求达到功耗小体积小成本低显示信息多等要求权衡三种方案选择方案三226系统总体结构设计随着人民生活水平的不断提高人们对家庭生活舒适性的需求越来越强烈窗帘作为每个家庭生活中最必须的家居用品之一自然也需要满足人民更舒适性的需求窗帘最基本的作用无非是保护业主的个人隐私以及遮阳挡尘等功能但传统的窗帘您必须手动去开关每天早开晚关也是挺麻烦的特别是别墅或复式房的大窗帘比较长而且重用时需要很大的力才能开关窗帘特别不方便于是电动窗帘应运而生现有的电动窗帘都可以自动开关闭窗帘到了时间自动控制窗帘的开关可以根据光的但是他们也有些缺点窗帘控制器的自动开关如何让窗帘能够开关自如停机的时间是否到位自动窗帘控制系统总体方案设计是基于满足设计要求的前提并且根据理论上的可实现性和硬件上的经济实用性而进行设计的重要环节本章从人们对系统功能需求出发在综合考虑各种因素的情况下设计出自动控制系统的总体构架并且在基本功能需求的基础上尽可能考虑系统的可扩展性经过综合考虑本系统由单片机最小系统光照采集电路数模ADC0832转换模块温度DS18B20采集模块按键模块电源模块液晶LCD显示模块蜂鸣器报警模块步进电机驱动模块和DS1302时钟模块组成智能窗帘具有手动和自动两种模式手动模式和自动模式可以通过按键切换手动模式是根据用户的需求通过按键进行窗帘的开关此功能可以使窗帘的开闭处于任何一种状态自动模式是根据用户设定的光照强度值通过感光器采集光照自动开关窗帘根据用户设定的时间一次性开关窗帘光照模块采用光敏电阻根据环境光线的变化改变电阻的阻值然后通过ADC0832模数转换器传输给单片机处理时钟芯片采用的美国DALLAS公司DS1302芯片实时记录当前时间可以设置预设时间开启和关闭窗帘温度模块采用的是DS18B20温度传感器并且显示当前温度可以自行设置温度报警温度液晶显示模块显示当前时间温度和光线等级和工作模式等信息第三章主要元器件选择31STC98C52单片机51系列单片机最初是由Intel公司开发设计的但后来Intel公司把51核的设计方案卖给了几家大的电子设计生产商譬如SSTPhilipAtmel等大公司因此市面上出现了各式各样的均以51为内核的单片机这些各大电子生产商推出的单片机都兼容51指令并在51的基础上扩展一些功能而内部结构是与51一致的STC89C52有40个引脚4个8位并行IO口1个全双工异步串行口同时内含5个中断源2个优先级2个16位定时计数器STC89C52的存储器系统由4K的程序存储器掩膜ROM和128B的数据存储器RAM组成图单片机管脚图32光敏电阻窗帘自动控制系统的光控功能是可以根据光照的强弱来自动控制窗帘的开闭的因此需要用到光照传感元器件在本设计中采用了光敏电阻光敏电阻又称光导管常用的制作材料为硫化镉另外还有硒硫化铝硫化铅和硫化铋等材料这些制作材料具有在特定波长的光照射下其阻值迅速减小的特性这是由于光照产生的载流子都参与导电在外加电场的作用下作漂移运动电子奔向电源的正极空穴奔向电源的负极从而使光敏电阻器的阻值迅速下降光敏电阻属半导体光敏器件除具灵敏度高反应速度快光谱特性及r值一致性好等特点外在高温多湿的恶劣环境下还能保持高度的稳定性和可靠性可广泛应用于照相机太阳能庭院灯草坪灯验钞机石英钟音乐杯礼品盒迷你小夜灯光声控开关路灯自动开关以及各种光控玩具光控灯饰灯具等光自动开关控制领域33时钟芯片DS1302图与接口电路图32为DS1302的接口电路其中Vcc1为后备电源Vcc2为主电源VCC1在单电源与电池供电的系统中提供低电源并提供低功率的电池备份VCC2在双电源系统中提供主电源在这种运用方式中VCC1连接到备份电源以便在没有主电源的情况下能保存时间信息以及数据DS1302由VCC1或VCC2两者中较大者供电当VCC2大于VCC102V时VCC2给DS1302供电当VCC2小于VCC1时DS1302由VCC1供电34温度传感器DS18B20DS18B20装置适用于人民的日常生活和工农业生产用于温度测量由半导体公司生产的DS18B20型单线智能温度传感器属于新一代适配微处理器的智能温度传感器可广泛用于工业民用军事等领域的温度测量及控制仪器测控系统和大型设备中它具有体积小接口方便传输距离远等特点本系统中DS18B20作为温度传感器在本系统中可以实时的采集环境温度并在液晶屏进行显示当温度超过设定的上限时进行温度报警35液晶显示LCD1602液晶显示器以其微功耗体积小显示内容丰富超薄轻巧的诸多优点在各种小系统中得到了更广泛的应用本设计中使用的液晶显示模块是LCD1602LCD1602是一种用5x7点阵图形来显示字符的液晶显示器模块它显示的容量为2行16个字图连接图36步进电机本系统的设计目的为了高效控制步进电机的转动因此需要将单片机发出的脉冲转化为步进角度才能控制步进电机转动我们在这里采用ULN2003为步进电机提供脉冲信号ULN2003七NPN达林顿连接晶体管是低逻辑电平数字电路如TTLCMOS或PMOSNMOS和大电流高电压要求的灯继电器打印机锤和其他类似负载间的接口的理想器件广泛用于计算机工业和消费类产品中所有器件有集电极开路输出和用于瞬变抑制的续流箝位二极管ULN2003的设计与标准TTL系列兼容它的管脚连接图如图34所示图管脚连接图37蜂鸣报警器本设计中蜂鸣器报警电路采用NPN型S8550三极管驱动当单片机的P24口输出低电平时三极管的VEVBVC0三极管的发射结正偏集电结反偏三极管饱和导通此时蜂鸣器发出声报警当单片机的P24口输出高电平时三极管截止停止声报警停止工作图蜂鸣器报警电路图第四章程序分析与设计系统软件设计主要有几部分组成其中包括显示子程序定时时钟程序步进电机控制程序等本章介绍了自动窗帘控制系统的主程序以及各主要部分功能程序的设计过程程序代码详见附录41主程序设计主程序构成无限循环主要完成单片机初始化关中断菜单显示内容初始化按键扫描电机运行计时等功能主程序的流程图如图41所示图主程序流程图启动主程序先关中断并且设置堆栈接着初始化寄存器初始化显示内容然后执行按键查询执行相应的操作如果是设定键则设定时间开始计时到时间后步进电机开始相应的工作工作完成后停机如果是电机控制键则也执行相应的工作如果都不是则是复位键采取复位操作42主要功能子程序设计421步进电机程序设计步进电机程序设计的主要任务是1判断旋转方向2按顺序传送控制脉冲3判断所要求的控制步数是否传送完毕图步进电机工作流程图422显示程序显示程序开始后起始地址60H发送到R001H发送至显示位代码R2再将位代码发送到单片机A口单片机取显示数据查表转换成显示代码发送至单片机B口延时2ms指针R0加1然后判断6显示是否完成如果完成则返回没完成则位代码R2左移一位继续显示查表一直到6位显示完成后返回显示子程序流程图如图43所示图显示部分流程图423时钟程序设计DS1302时钟模块程序设计主要显示当前的时间和设置当前时间利用闹钟功能可以设置步进电机的开启和关闭图44是定时功能流程图图定时功能流程424DS18B20测温流程图单片机读出并处理DS18B20的测量的当前温度值温度测量每1s进行一次这样可以在一秒之内测量一次被测温度主程序的主要功能是负责温度的实时显示读出并处理DS18B20的当前温度值与设定的报警温度比较其程序流程见图45所示通过调用读温度子程序把存入内存储中的整数部分与小数部分开分存放在不的的两个单元中然后通过调用显示子程序显示出来开始DS1302初始化设置DS1302读年月日星期时分秒将读取的数据处理后送液晶屏显示返回图温度流程图调用显示子程序初始1s初上温度转换开始命令读出温度值温度计算处理显示数据刷新第五章心得体会在本次的课程设计中我们做的课题是基于单片机的自动窗帘控制系统这是一种接受收光信号从而控制系统开关的装置利用光照检测模块检测光强由于光照强度不同光照检测模块转换的阻值也就不同当光照强度处于设置范围内电阻变化转化为电压变化然后将电压变化的信号送至单片机单片机通过电机驱动模块控制着步进电机的正反转实现窗帘的来回移动本次的基于单片机的自动窗帘控制系统设计将我们学到的知识进行了综合并应用到了实践使我们对光敏电阻等电学元器件有了深刻的了解同时再一次回顾了以前课程中用到过的电路仿真软件及protel软件又一次得到了练习大学四年以来除却当初在课堂上学习的理论知识和实践操作我们从这次课程设计中得到的不仅仅是课本上的东西更重要的是我们通过自己的独立动手和老师的耐心指导学会了分析电路设计电路的步骤以及计算机仿真等在此设计中利用到了光敏电阻等元器件让我们温习了光电传感器的知识与应用在我们进一步巩固和掌握前面所学的基础知识的同时也加深了对传感器电路设计的理解对元器件的使用更加深刻对于原理我们进行了一次次的文献查阅关于软件仿真我们多次尝试却迟迟得不到我们想要的结果一时间组内气氛变得消沉但经过组员间相互的鼓励我们又一次投入到紧张的设计之中经历过一次次失败后终于修改出一份明了的设计方案在软件仿真环节也得到了想要的结果一时间大家兴奋不已回想这个设计过程不禁觉得受益匪浅通过这次课程设计我们对如何使用单片机相关技术有了进一步的了解对于相关器件也有了一定的认识如单片机等巩固并加深了我们对课程的学习促进和深化了知识与实践的综合应用提高了分析问题的能力培养了严谨的科学态度通过实际电路方案的分析比较设计计算软件仿真元件选择等环节初步掌握了有关单片机的课程设计分析制作方法同时通过相互之间的合作分工也使我们培养了团队合作精神这是对我们大学生活一个完美的交代参考文献略附录附录一仿真电路图附录二PCB板附录三控制电路图附录四程序清单includedefineucharunsignedchardefineuintunsignedintbitflag200mssbitbeepP24蜂鸣器IO口定义bitflagrelayenucharflagkaigmoshi0开关模式bitflagzdsd自动手动模式bitflagljen按键连加使能bitflaglj3en按键连3次连加后使能加的数就越大了ucharkeytimeflagvalue用做连加的中间变量bitkey500msucharmenushudu20用来控制连加的速度ucharvalueiucharkshi1kfen2开窗帘时间uchargshi3gfen4关窗帘时间uintthigh高温报警值sbitDOP26DO定义为P1口的第4位脚连接ADC0832DO脚sbitSCLP27SCL定义为P1口的第3位脚连接ADC0832SCL脚sbitCSP25CS定义为P1口的第4位脚连接ADC0832CS脚ucharguanxianguanxianset4光线voidwriteeepomincludeeepom52hincludekeyhincludeds1302hincludelcd1602hinclude18b202luhincludebujindianjihsbitkeyjiaP31加sbitkeyjieP32减写单片机内部EEPOMvoidwriteeepomSectorErase0x2000bytewrite0x2000flagzdsdbytewrite0x2001kshi256bytewrite0x2002kfen256bytewrite0x2003gshi256bytewrite0x2004gfen256bytewrite0x2005thigh256bytewrite0x2009guanxianset256bytewrite0x2010bjdjvalue256bytewrite0x2050aa读单片机内部EEPOMvoidreadeepomflagzdsdbyteread0x2000kshibyteread0x2001kfenbyteread0x2002gshibyteread0x2003gfenbyteread0x2004thighbyteread0x2005guanxiansetbyteread0x2009bjdjvaluebyteread0x2010aabyteread0x2050初始化EEPROMvoidiniteepom初始化EEPROMreadeepomifaa0xffflagzdsd1模式设置aa1kshi8kfen2开gshi3gfen4关thigh35guanxianset4bjdjvalue0writeeepomincludemenuh读数模转换数据请先了解ADC0832模数转换的串行协议再来读本函数主要是对应时序图来理解本函数是模拟0832的串行协议进行的100通道111通道unsignedcharad0832readbitSGLbitODDunsignedchari0value0value10SCL0DO1CS0开始SCL1第一个上升沿SCL0DOSGLSCL1第二个上升沿SCL0DOODDSCL1第三个上升沿SCL0第三个下降沿DO1fori0iSCL1SCL0开始从第四个下降沿接收数据valueifDOvaluefori0i接收校验数据value11ifDOvalue10x80SCL1SCL0CS1SCL1ifvaluevalue1与校验数据比较正确就返回数据否则返回0returnvaluereturn01ms延时函数voiddelay1msuintquintijfori0iforj0j定时器0初始化程序voidinit1602ds1302writesfm2ds130224nianwritesfm2ds130227yuewritesfm2ds1302210riwritesfm2ds130214shiwritesfm2ds130217fenwritesfm2ds1302110miaowritesfm1114week定时器0初始化程序voidinittime0EA1开总中断TMOD0X01定时器0工作方式1ET01开定时器0中断TR01允许定时器0定时手动开关窗帘voidshoudongkaiguan手动开关窗帘ifflagzdsd0手动模式ifmenu10ifflagkaigmoshi0ifkeycan2flagzf1手动开窗ifkeycan3flagzf2手动关窗ifflagljen0flagzf0ifflagkaigmoshi0ifflagzdsd1自动模式ifguanxianflagzf2手动开窗elseflagzf1手动关窗智能窗帘处理函数voidzinengchuangliandis智能窗帘处理函数ifmiao0ampampfenkfenampampshikshi定时开窗flagzf2关窗beep0闹钟到flagkaigmoshi1ifmiao0ampampfengfenampampshigshi定时关窗flagzf1开窗flagkaigmoshi2voidmaininiteepom初始化EEPROMinit1602lcd1602初始化init1602discsflcd1602初始化显示initds1302io初始化ds1302Ioinittime0初始化定时器menu1break菜单初始界面initds1302ds1302初始化temperature1read1temp读温度1delay1ms650while1key按键程序ifkeycankeywithshoudongkaiguan手动开关窗帘ifflag200ms1flag200ms0temperature1read1temp读温度1环境温度iftemperature199temperature199zinengchuangliandis智能窗帘处理函数guanxianad0832read1090255ifmenu10readtime读时间init1602ds1302显示时钟writesfm18b20213temperature1显示温度writesfm120guanxian显示温度iftemperature1thighbeepbeep蜂鸣器温度报警elsebeep1bujindj步进电机函数voidtime0interrupt1staticucharvalueTH00X3CTL00XB050msvalueifvalue4200msvalue0flag200ms1ifflagljen1按下按键使能keytimeifkeytimemenushudu500mskeytime0key500ms1500msflagvalueifflagvalue3flagvalue10flaglj3en13次后15秒后连加大些
tj