光电系统智能窗帘控制课程设计_第1页
光电系统智能窗帘控制课程设计_第2页
光电系统智能窗帘控制课程设计_第3页
光电系统智能窗帘控制课程设计_第4页
光电系统智能窗帘控制课程设计_第5页
已阅读5页,还剩43页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大学光电系统课程设计(基于单片机的智能窗帘控制系统)设计课题:姓 名:学 院:专 业:指导教师:20 年 月 日摘要随着社会的进步和科技的发展,智能家居系列产品正慢慢进入 人们的生活,智能窗帘逐渐走入人们的视野。然而,目前传统的窗 帘多为手动式,而自动窗帘大多只能实现对光线的检测。针对这些 问题,设计了一款智能窗帘,具有实用性强、灵敏度高、价格相对 低和方便快捷的特点。木文综述了自动窗帘控制系统的设计与制作 过程,介绍了设计制作一个完整的窗帘控制系统需要做的理论分析 以及其制作过程。自动窗帘控制系统核心采用的是单片机STC 89C52,其次利用了光照传感器、键盘显示接口电路以及信号调理电 路等

2、外围电路,整个系统在各模块的配合下可实现半自动控制、自 动控制、定时控制等功能。该设计在理论层而上,用程序语言驱动 各模块工作,实现系统的内在联系,在应用层面上则采用Protel软 件进行原理图设计。自动窗帘控制系统的构成主要由单片机最小系统、蜂鸣器报警 模块、电源模块、按键模块、LCD1602液晶显示模块、步进电机驱 动模块、DS1302时钟模块、光照检测模块和温度检测模块组成。重 点讨论了窗帘自动控制系统的设计过程、硬件选用和软件调试等问 题,通过木系统根据用户的需求通过按键进行窗帘的开关,此功能 可以使窗帘的开闭处于任何一种状态;可实现利用光照强度以及设 置时间来控制窗帘自动开闭。具有温

3、度测量和报警功能。关键词:单片机STC89C52;智能窗帘;光敏电阻 TOC o 1-5 h z 第一章前言11.1课题来源11.2课题目的21.3智能窗帘的国内外现状2第二章设计方案及论证32.1设计思想及基木功能32电路设计及其方案论证3第三章主要元器件选择71 STC89C52 单片机73. 2光敏电阻73. 3时钟芯片DS1302 83. 4温度传感器DS18B2093. 5液晶显示器LCD 1602 93. 6步进电机97蜂鸣报警器10第四章 程序分析设计 114.1主要程序设计112主要功能子程序设计12第五章心得体会21参考文献17附录18附录一protel电路图18附录二PCB

4、板19附录三控制电路图20附录四程序清单21第一章前言1.1课题来源伴随着信息化时代的到来,人们的生活速度以及对生活质量的 追求也在大幅提高。电子产品智能化速度的加快,也使人们的工 作、生活和通讯的关系日益紧密。智能化的产品设计在改变人们工 作方式与生活习惯的同时,让人们对生活质量的提升提出了更高的 要求,方便、舒适成了人们所追求的生活方式,在现代家庭生活环 境中,居家环境早己不仅仅局限在物理空间上,人们更为关注的是 一个安全、方便、舒适的环境。智能化的电子产品以及设计将以前 的被动静止物体转变为人们能够方便操控的工具,这些产品具有提 供全方位的信息交换的功能,不仅能够优化人们的生活方式,帮助

5、 人们合理的安排时间,增强居家环境的安全性,甚至还可以为各种 能源费用节约资金。在智能化产品中,单片机的应用己经越来越广泛,单片机以它 体积小、质量轻、耗电省、可靠性高、价格低等优点,开始不断发 展,并广泛应用于仪器仪表、家用电器、医疗设备、航天航空领 域、工业专用设备的管理及过程控制等领域,在很多的大中型的电 气设备以及小型的电子产品中也用到了单片机进行控制。针对人们对智能化的需求以及对舒适生活的追求,窗帘自动控 制系统改变了传统窗帘的劣势,它可以根据外界光照强度的不同而 自动开闭窗帘,也可以根据人们设定的时间来控制窗帘。该系统利 用光敏电阻检测光照强度的变化,并且将光敏检测模块的电阻变化

6、转化为电压变化,然后将电压变化的信号送单片机,单片机通过电 机驱动模块控制着步进电机的正反转实现窗帘的来回移动。本设计 正是把利用STC89C52单片机的优点以及简单实用性,顺利的完成 了对智能控制的要求,并且为智能化的家居设备提供了良好的基 础。此外,对该系统进行扩展,比如可以加上防火,防盗,甚至室 内煤气浓度监测等功能,会使该系统更具有实用性,而且也完善了 系统。1.2课题目的设计一个不仅能实现手动和光线来控制窗帘的开合,而且还能 实现语音、温湿度来控制窗帘的开合的系统,以尽最大可能满足不 同人对窗帘开闭的不同需求。1.3智能窗帘的国内外现状21世纪是信息化的时代,知识与科技成为时代的潮流

7、,在它们 的推动下,智能化也因此得到了很大的发展,其作用在社会生活中 H益得到彰显。智能控制系统主要利用计算机技术、网络通信技 术、综合布线技术等现代化技术的有机结合而发挥作用。在通信技 术、计算机技术、网络技术、智能控制技术的迅猛发展潮流下,家 庭生活实现了现代化与智能化,居家环境也变得更加舒适与安全。 智能化控制的工作原理自然离不开运算和控制单元,而该系统采用 的主控器件STC89C52,正是运算与控制单元的集合体。系统的整体 主要由硬件和软件两部分组成。硬件部分由单片机扩展的外围电路 以及各种实现单片机系统控制功能的接口电路组成;软件部分主要 由单片机系统实现其特定控制功能的各种程序组成

8、。本设计中介绍 了自动窗帘控制系统的硬件构成以及软件设计过程,以尽最大可能 满足不同人对窗帘开闭的不同需求。同时,系统在针对人们一般需 求的设计开发外,还提出多种解决方案,在考虑到经济性和简便性 的前提下,可以供日后对控制系统的功能进行扩展。第二章设计方案及论证2.1设计思想及基本功能该系统具有一般的窗帘控制系统的最基本的功能,即通过电动 按钮来开闭窗帘,在此基木功能的前提下,木设计根据需求还设计 了可以根据光照强度和设定时间自动开闭窗帘的功能,在选取设计 方案和采用元器件方而,该系统木着简单实用经济的思想,尽量简 化电路设计,用最简单的电路布线和选用最经济实用的器件来达到 设计要求。自动窗帘

9、控制系统具有以下几个基本功能:(1)手动控制:该功能是根据用户的需求通过按键进行窗帘的 开关,此功能可以使窗帘的开闭处于任何一种状态;(2)光照自动控制:系统可以根据用户设定的光照强度值通过 感光器采集光照自动开光窗帘;(3)时间控制:此功能是根据用户设定的时间一次性开关窗 帘,并显示当前温度。(4)温度报警系统:可以自行设置温度报警温度。(5)时间显示及闹钟系统:可以自行设置闹钟时间。(6)手动自动控制按键随时切换。2.2电路设计及其方案论证2.2.1单片机芯片设计与论证方案一:采用FTC10F04单片机,还带有非易失性Flash程序存储器。它 是一种高性能、低功耗的8位CMOS微处理芯片,

10、市场应用最多。其 主要特点如下:8KB Flash ROM,可以擦除1000次以上,数据保存 10年。方案二:采用可编程逻辑器件CPLD作为控制器。CPLD可以实现各种复 杂的逻辑功能、规模大、密度高、体积小、稳定性高、10资源丰 富、易于进行功能扩展。采用并行的输入输出方式,提高了系统的 处理速度,适合作为大规模控制系统的控制核心。但本系统不需要 复杂的逻辑功能,对数据的处理速度的要求也不是非常高。且从使 用及经济的角度考虑我们放弃了此方案。方案三:采用传统的STC89C52RC作为电机的控制核心。单片机算术运算 功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和 逻辑控制,并且由于

11、其功耗低、体积小、技术成熟和成本低等优 点,使其在各个领域应用广泛。这样一来,单片机就可以充分发挥 其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低 廉等优点。STC89C52单片机具有功能强大的位操作指令,I/O 口均 可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的 是STC89C52单片机价格非常低廉。由于木系统对CPU运算速度要求很高,需要执行很复杂的运 算,方案三成本比较低,适合做设计,方案一运算速度高,性能 好,所以这两种方案都有可取之处。选用方案三作为主方案,方案 一作为备用方案。2.2.2按键控制模块设计与论证方案一:采用矩阵式键盘,此类键盘采用矩阵式行列

12、扫描方式,优 点是当按键较多时可降低占用单片机的I/O 口数目,缺点为电路复 杂且会加大编程难度。方案二采用独立式按键电路,每个按键单独占有一根I/O接口线,每个 I/O 口的工作状态互不影响,此类键盘采用端口直接扫描方式。缺 点为当按键较多时占用单片机的I/O 口数目较多,优点为电路设计 简单,且编程相对比较容易。综合考虑两种方案及题目要求,考虑到焊接问题,故采用第二 种方案。2.2.3时钟模块设计与论证方案一:直接采用单片机定时计数器提供秒信号,使用程序实 现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯 片的使用,节约成本,但是,实现的时间误差较大。方案二:采用DS1302时钟

13、芯片实现时钟,DS1302芯片是一种 高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰 年补偿的年进行计数,而且精度高,位的RAM作为数据暂存区,工作 电压2. 5V5. 5V范围内,2. 5V时耗电小于300nA.由于DS1302时钟芯片计数时间精度高,而且具有闰年补偿功能 等优点,故采用方案二。2.2.4温度采集模块设计与论证方案一:采用PT100作为测温电路的温度传感器。PT100传感 器是利用钳电阻的阻值随温度变化而变化、并呈一定函数关系的特 性来进行测温的,具有抗振动、稳定性好、准确度高、耐高压等优 点。但使用起来比较复杂。方案二:采用数字温度芯片DS18B20测量实际温度

14、,输出信号 全数字化。便于单片机处理及控制,省去传统的测温方法的很多外 围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件, 此元件线形较好。在0-100摄氏度时,最大线形偏差小于1摄氏 度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温 度计DS18B20和微控制器STC89C52构成的温度测量装置,它直接输 出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就 比较简单,体积也不大。采用51单片机控制,软件编程的自由度 大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积 小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工 作,还可以与PC机通信

15、上传数据,另外STC89C52在工业控制上也 有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。因为用DS18B20温度芯片,采用单总线访问,降低成本、降低 制作难度且可节省单片机资源,故采用方案二。2.2.5显示模块模块设计与论证方案一:采用静态显示方法,静态显示模块的硬件制作较复杂 及功耗大,要用到多个移位寄存器,但不占用端口,只需两根串口 线输出。方案二:采用动态显示方法,动态显示模块的硬件制作简单, 段扫描和位扫描各占用一个端口,总需占用单片机14个端口,采用 间断扫描法功耗小、硬件成本低及整个硬件系统体积相对减小。方案三:采用LCD的方法,具有硬件制作简单可直接与单片机接 口

16、,显示内容多,功耗小,成本低等优点,LCM1602可显示32个字符, 采用LCD的缺点是亮度不够。比较以上三种方案:方案一硬件复杂体积大、功耗大;方案二 硬件简单、功耗小;方案三硬件简单,显示内容多,功耗小,成本低 等。本系统设计要求达到功耗小、体积小、成本低,显示信息多等 要求,权衡三种方案,选择方案三。2. 2. 6系统总体结构设计随着人民生活水平的不断提高,人们对家庭生活舒适性的需求 越来越强烈,窗帘作为每个家庭生活中最必须的家居用品之一,自 然也需要满足人民更舒适性的需求。窗帘最基本的作用无非是保护 业主的个人隐私以及遮阳挡尘等功能,但传统的窗帘您必须手动去 开关,每天早开晚关也是挺麻

17、烦的,特别是别墅或复式房的大窗 帘,比较长,而且重,用时需要很大的力才能开关窗帘,特别不方 便;于是电动窗帘应运而生。现有的电动窗帘都可以自动开关闭窗 帘,到了时间自动控制窗帘的开关,可以根据光的但是他们也有些 缺点。窗帘控制器的自动开关如何让窗帘能够开关自如,停机的时 间是否到位。自动窗帘控制系统总体方案设计是基于满足设计要求的前提并 且根据理论上的可实现性和硬件上的经济实用性,而进行设计的重 要环节。本章从人们对系统功能需求出发,在综合考虑各种因素的 情况下,设计出自动控制系统的总体构架,并且在基本功能需求的 基础上尽可能考虑系统的可扩展性。经过综合考虑本系统由单片机 最小系统、光照采集电

18、路、数模ADC0832转换模块、温度DS18B20 采集模块、按键模块、电源模块、液晶LCD显示模块、蜂鸣器报警 模块、步进电机驱动模块和DS1302时钟模块组成。智能窗帘具有手动和自动两种模式。手动模式和自动模式可以 通过按键切换。手动模式是根据用户的需求通过按键进行窗帘的开 关,此功能可以使窗帘的开闭处于任何一种状态;自动模式是根据 用户设定的光照强度值通过感光器采集光照自动开关窗帘根据用户 设定的时间一次性开关窗帘。光照模块采用光敏电阻根据环境光线 的变化改变电阻的阻值然后通过ADC0832模数转换器传输给单片机 处理。时钟芯片采用的美国DALLAS公司DS1302芯片,实时记录当 前时

19、间,可以设置预设时间开启和关闭窗帘。温度模块采用的是 DS18B20温度传感器,并且显示当前温度,可以自行设置温度报警 温度。液晶显示模块显示当前时间、温度和光线等级和工作模式等 信息。第三章主要元器件选择3. 1STC98C52 单片机51系列单片机最初是由Intel公司开发设计的,但后来Intel 公司把51核的设计方案卖给了几家大的电子设计生产商,譬如 SST、Philip、Atmel等大公司。因此市面上出现了各式各样的均以 51为内核的单片机。这些各大电子生产商推出的单片机都兼容51 指令、并在51的基础上扩展一些功能而内部结构是与51致的OSTC89C52有40个引脚,4个8位并行I

20、/O 口,1个全双工异步 串行口,同时内含5个中断源,2个优先级,2个16位定时/计数 器。STC89C52的存储器系统由4K的程序存储器(掩膜ROM),和 128B的数据存储器(RAM)组成。图3STC89C52单片机管脚图3.2光敏电阻窗帘自动控制系统的光控功能是可以根据光照的强弱来自动 控制窗帘的开闭的,因此需要用到光照传感元器件,在本设计中采 用了光敏电阻。光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有 硒、硫化铝、硫化铅和硫化钮等材料。这些制作材料具有在特定波 长的光照射下,其阻值迅速减小的特性。这是由于光照产生的载流 子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的

21、 正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降 9o光敏电阻属半导体光敏器件,除具灵敏度高,反应速度快,光谱特性及r值一致性好等特点外,在高温,多湿的恶劣环境下,还能保持高度的稳定性和可靠性,可广泛应用于照相机,太阳能庭院 灯,草坪灯,验钞机,石英钟,音乐杯,礼品盒,迷你小夜灯,光 声控开关,路灯自动开关以及各种光控玩具,光控灯饰,灯具等光 自动开关控制领域。3.3时钟芯片DS1302ItdiH图3.2 DS 1302与MCU接口电路图3. 2为DS1302的接口电路,其中Vccl为后备电源,Vcc2为 主电源。VCC1在单电源与电池供电的系统中提供低电源并提供低功 率的电池备份。

22、VCC2在双电源系统中提供主电源,在这种运用方式 中VCC1连接到备份电源,以便在没有主电源的情况下能保存时间信 息以及数据。DS1302由VCC1或VCC2两者中较大者供电。当VCC2大于 VCC1+0. 2V 时,VCC2 给 DS1302 供电。当 VCC2 小于 VCC1 时,DS1302 由VCC1供电。3.4温度传感器DS18B20DS18B20装置适用于人民的日常生活和工、农业生产用于温度 测量。由半导体公司生产的DS18B20型单线智能温度传感器,属于新 一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事 等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体 积

23、小,接口方便,传输距离远等特点,2,4 o本系统中,DS18B20作为温度传感器,在本系统中可以实时的 采集环境温度,并在液晶屏进行显示。当温度超过设定的上限时, 进行温度报警。3.5液晶显示LCD1602液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的 诸多优点,在各种小系统中得到了更广泛的应用。本设计中使用的 液晶显示模块是LCD1602o LCD1602是一种用5x7点阵图形来显示字 符的液晶显示器模块,它显示的容量为2行16个字。11 3.3 LCD 1602 连接图3.6步进电机本系统的设计目的为了髙效控制步进电机的转动,因此需要将单片机发出的脉冲转化为 步进角度,才能控制步进

24、电机转动,我们在这里采用ULN2003为步进电机提供脉冲信号。 ULN2003七NPN达林顿连接晶体管是低逻辑电平数字电路(如 TTL, CMOS或PMOS/NMOS)和大电流高电压要求的灯、继电器、打卬机 锤和其他类似负载间的接口的理想器件卜川。广泛用于计算机,工业 和消费类产品中。所有器件有集电极开路输出和用于瞬变抑制的续流 箝位二极管。ULN2003的设计与标准TTL系列兼容。它的管脚连接图 如图3. 4所示:3.7蜂鸣报警器本设计中蜂鸣器报警电路采用NPN型S8550三极管驱动,当单 片机的P24 口输出低电平时,三极管的VEVBVC0o三极管的发 射结正偏,集电结反偏,三极管饱和导通

25、,此时蜂鸣器发出声报 警,当单片机的P2V 口输出高电平时,三极管截止,停止声报警停 止工作。图3.5蜂鸣器报警电路图第四章程序分析与设计系统软件设计主要有几部分组成,其中包括显示子程序,定时 时钟程序,步进电机控制程序等。本章介绍了自动窗帘控制系统的 主程序以及各主要部分功能程序的设计过程,程序代码详见附录。4.1主程序设计主程序构成无限循环,主要完成单片机初始化,关中断,菜单 显示内容初始化,按键扫描,电机运行,计时等功能。主程序的流程图如图4.1所示。关中断i殳蓋堆栈复位,初贻化 W图4.1主程序流程图启动主程序,先关中断并且设置堆栈,接着初始化寄存器,初 始化显示内容;然后执行按键查询

26、,执行相应的操作。如果是设定 键,则设定时间,开始计时;到时间后步进电机开始相应的工作, 工作完成后停机。如果是电机控制键,则也执行相应的工作。如果 都不是,则是复位键,采取复位操作。4.2主要功能子程序设计4.2.1步进电机程序设计步进电机程序设计的主要任务是:判断旋转方向;按顺序传送控制脉冲;判断所要求的控制步数是否传送完毕。图4.2步进电机工作流程图4.2.2显示程序显示程序开始后,起始地址60H发送到RO, 01H发送至显示位代 码R2,再将位代码发送到单片机A 口,单片机取显示数据查表转换 成显示代码发送至单片机B 口,延时2ms,指针RO加1,然后判断6 显示是否完成。如果完成则返

27、回,没完成则位代码R2左移一位,继续显示查表,一直到6位显示完成后返回。显示子程序流程图如图4. 3所示。图4.3显示部分流程图4.2.3时钟程序设计DS1302时钟模块程序设计,主要显示当前的时间,和设置当前 时间,利用闹钟功能可以设置步进电机的开启和关闭。图4. 4是定 时功能流程图。图4.4定时功能流程4.2.4DS18B20测温流程图单片机读出并处理DS18B20的测量的当前温度值,温度测量每 Is进行一次。这样可以在一秒之内测量一次被测温度,主程序的主 要功能是负责温度的实时显示,读出并处理DS18B20的当前温度 值,与设定的报警温度比较,其程序流程见图4. 5所示。通过调用读温度

28、子程序把存入内存储中的整数部分与小数部分 开分存放在不的的两个单元中,然后通过调用显示子程序显示出 来。图4.5 DS18B20温度流程图初始第五章心得体会在木次的课程设计中,我们做的课题是“基于单片机的自动窗 帘控制系统”。这是一种接受收光信号从而控制系统开关的装置。利 用光照检测模块检测光强,由于光照强度不同,光照检测模块转换 的阻值也就不同,当光照强度处于设置范围内,电阻变化转化为电 压变化,然后将电压变化的信号送至单片机,单片机通过电机驱动 模块控制着步进电机的正反转实现窗帘的来回移动。本次的“基于单片机的自动窗帘控制系统”设计将我们学到的 知识进行了综合并应用到了实践,使我们对光敏电

29、阻等电学元器件 有了深刻的了解,同时再一次回顾了以前课程中用到过的电路仿真 软件及protel软件,又一次得到了练习。大学四年以来,除却当初 在课堂上学习的理论知识和实践操作,我们从这次课程设计中得到 的,不仅仅是课本上的东西,更重要的是我们通过自己的独立动手 和老师的耐心指导,学会了分析电路、设计电路的步骤以及计算机 仿真等。在此设计中利用到了光敏电阻等元器件让我们温习了光电 传感器的知识与应用,在我们进一步巩固和掌握前而所学的基础知 识的同时,也加深了对传感器电路设计的理解,对元器件的使用更 加深刻。对于原理,我们进行了一次次的文献查阅,关于软件仿真,我 们多次尝试却迟迟得不到我们想要的结

30、果,一时间组内气氛变得消 沉。但经过组员间相互的鼓励,我们又一次投入到紧张的设计之 中。经历过一次次失败后,终于修改出一份明了的设计方案,在软 件仿真环节也得到了想要的结果。一时间大家兴奋不己,回想这个 设计过程,不禁觉得受益匪浅。通过这次课程设计,我们对如何使用单片机相关技术有了进一 步的了解,对于相关器件也有了一定的认识,如单片机等。巩固并 加深了我们对课程的学习,促进和深化了知识与实践的综合应用, 提高了分析问题的能力,培养了严谨的科学态度。通过实际电路方 案的分析比较、设计计算、软件仿真、元件选择等环节,初步掌握 了有关单片机的课程设计分析制作方法,同时通过相互之间的合作 分工也使我们

31、培养了团队合作精神。这是对我们大学生活一个完美 的交代!参考文献附录附录一仿真电路iMIH附录二PCB板LCD!R100000000000000000 0 OJO*0 R5C5“2 QR200 all0 X-o-o-o-o-oo-o畀二二二二U22U5oIJ2 gQ3 feBlL(DOOOOOOC Q0CICIMQQ00009丫1。Clo oSIS2S4 / S6 S585 $3OD 0B 0Q 0D0D 00eo oo oo oo00 0C3ooaooooohue Ro机R111 1*pA03亠ned rus03 evcci n MX?诊玉启BER8T5细cfi i pi i ?1.2 A1

32、.J Pl Pl 1 ?1.l Pl ?SW1U“心L_ri1Q GHD )5ienR?STCPFER-WDTOR2CIC cm448RV1LfeORSl?8ID1AJD19R5T5C1.K gA3.RC0 W.lWI ro Q TO XTO A3.MQ1 M.KAK ro Q R)心PM媚 PJ.lt* PI.SMD Pi.JZAJIP?AJ3 p?妙jq Pi.sw1nvxj0CHI01uwuvIWw(v*rparxD停止 k正转纟 peaQR4101电源模町附录四程序清单ffinclude #define uchar unsigned char#define uint unsigned

33、int/蜂鸣器10 口定义bit flag_200ms ; sbit beep = P24;bit flag_relay_en;uchar flag_kaig_moshi=0;/开关模式bit flag_zd_sd;/自动手动模式bit flag_lj_en;/按键连加使能bit flag_lj_3_en;/按键连3次连加后使能 加的数就越大了uchar key_time, flag_value;/用做连加的中间变量bit key_500ms ;uchar menu_shudu = 20;/用来控制连加的速度uchar value, i;uchar k_shi=l, k_fen=2; /开窗帘

34、时间uchar g_shi=3, g_fen=4;/关窗帘时间uint t_high;高温报警值sbit DO二P2飞;/DO定义为Pl 口的第4位脚,连接ADC0832D0 脚sbit SCL二P27;/SCL定义为Pl 口的第3位脚,连接ADC0832SCL 脚sbit CS二P25;/CS定义为Pl 口的第4位脚,连接ADC0832CS 脚/光线uchar guanxian, guanxian_set 二 4;void write_eepom();include eepom52 hinclude key. hinclude z/ds 1302. hinclude lcdl602. hin

35、clude 18b20_21u. hinclude ,zbujindianjihsbit key_jia = P3l;/加sbit key_jie = P32;/减void write_eepom()SectorErase(0 x2000);byte_write(0 x2000, flag_zd_sd);byte_write(0 x2001, k_shi%256);byte_write(0 x2002, k_fen%256);byte_write(0 x2003, g_shi%256);byte_write(0 x2004, g_fen%256);byte_write(0 x2005, t_h

36、igh%256);byte_write(0 x2009, guanxian_set%256);byte_write(0 x2010, bjdj_value%256);byte_write(0 x2050, a_a);void read_eepom()flag_zd_sd = byte_read(0 x2000);k_shi = byte_read(0 x2001);k_fen = byte_read(0 x2002);g_shi = byte_read(0 x2003);g_fen = byte_read(0 x2004);t_high = byte_read(0 x2005);guanxia

37、n_set = byte_read(0 x2009);bjdj_value = byte_read(0 x2010);a_a = byte_read(0 x2050);/*初女台化 EEPROM*:void init_eepom() /初始化 EEPROMread_eepom ();if (a_a = Oxff)flag_zd_sd = 1;/模式设置a_a = 1;k_shi=8;k_fen二2;/开g_shi=3;g_fen=4;/关t_high = 35;guanxian_set = 4; bjdj_value = 0; write_eepom();include menu, h/请先了

38、解ADC0832模数转换的串行协议,再来读木函数,主要是对应时序图来理解,木函数是模拟0832的串行协议进行的/1 0 0通道/111通道unsigned char ad0832read(bit SGL, bit ODD)unsigned char i=0,value=O, valuel=O;SCL二0;DO二 1;CS二0;/开始SOI;/第一个上升沿SOO;DO二SGL;SCL二1;/第二个上升沿SCL二0;DO二ODD;SOI;/第三个上升沿SOO;/第三个下降沿DOI;for(i=0;i8;i+)SCL=1;SCL二0; /开始从第四个下降沿接收数据value=l;辻(DO)value

39、+;for(i=0;i=l;辻(DO)valuel+=0 x80;SCL=1;SCL=O;CS=1;SCL=1;辻(value-valuel)/与校验数据比较,正确就返回数据,否则返回0:return value;return 0;/*lms 延时函数*/void delay_lms (uint q)uint i, j;for(i=0;iq;i+)for(j=0;j120;j+);void shoudong_kaiguan ()/手动开关窗帘/*定时器 0 初始化程序*/void init_1602_dsl302()write_sfm2_dsl302(2, 4, nian);write_sfm

40、2_dsl302(2, 7, yue);write_sfm2_dsl302(2, 10, ri);write_sfm2_dsl302(1, 4, shi);write_sfm2_dsl302(1, 7, fen);write_sfm2_dsl302(1, 10, miao);write_sfml (1, 14, week);/*定时器 0 初始化程序*/void init_time0()EA 二 1;/开总中断TMOD = 0X01;/定时器0、工作方式1ETO = 1;/开定时器0中断TRO = 1;/允许定时器0定时/ * * 手动开 关窗帘 */flag_z_f 二 2;/手动开窗辻(flag_zd_sd = 0)/手动模式if(menu_l = 0)if(flag_kaig_moshi = 0)if (key_can2)flag_z_f 二1;/手动开窗if (key_can3)flag_z_f 二2;/手动关窗if (

温馨提示

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

评论

0/150

提交评论