




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I 燕山大学 课课 程程 设设 计计 说说 明明 书书 题目 题目 智能空调控制系统智能空调控制系统 学院 系 学院 系 年级专业 年级专业 学学 号 号 学生姓名 学生姓名 指导教师 指导教师 教师职称教师职称 II 摘摘 要要 智能空调控制系统是根据温度传感器采集室内的环境温度与系统的预设值 进行对比 通过控制系统的预先设置 空调进行自动制冷或制热 从而达到了 智能控制的目的 根据人们对生活环境的要求和单片机的应用特性 本文介绍 了应用 STC89C52 单片机进行控制的智能空调控制系统 智能空调控制系统主要由电源电路 液晶显示电路 单片机控制电路 按 键电路 控制指示电路等组成 其工作原理是温度传感器 DS18B20 采集室内 温度传送给单片机 单片机分析数据 控制智能空调加热或制冷 此系统可以通过按键设置空调的温度 使空调对室内进行加温或降温 也可以对系统预设一个温度值 通过传感器感知室内温度与智能空调的预设温 度值进行对比 通过单片机控制空调对室内进行加温或降温 达到智能空调的 自动控制功能 在定时功能启动的情况下 如果计时时间与定时时间相同 此 时空调相应的状态会自动关闭 把定时时间存在 STC89C52 单片机内部的 EEPROM 中 断电后不会消失 直至通过按键去改变 达到了智能空调的定 时功能 关键词 关键词 智能空调 液晶显示 STC89C52 单片机 ds18b20 温度检测芯片 I 目 录 1智能空调控制系统的方案设计智能空调控制系统的方案设计 1 1 1智能空调控制系统 1 1 2系统工作原理 2 1 2 1系统功能模块工作原理介绍 2 1 2 2各功能要求实现的工作原理 2 2系统功能模块的设计与实现系统功能模块的设计与实现 5 2 1主控制模块 5 2 1 1主控制单元模块设计 5 2 1 2主控制单元工作原理 5 2 2电源模块设计 6 2 2 1电源模块概述 6 2 2 2电源模块的应用 6 2 3温度检测模块设计 7 2 3 1温度传感器的选取 7 2 3 2DS18B20 概述 7 2 3 3温度检测单元电路 8 2 4显示模块设计 10 2 4 11602 液晶显示器概述 10 2 4 2显示模块电路 15 2 5模块设计 17 2 5 1键盘电路功能设定 17 2 5 2矩阵键盘电路工作原理 17 2 6外围驱动电路模块设计 18 2 6 1驱动电路 18 2 6 2JQC 3FF 继电器 18 II 3系统软件设计系统软件设计 20 4系统测试及结果分析系统测试及结果分析 23 4 1系统测试 23 4 2系统测试结果及分析 25 结结 论论 26 心得体会心得体会 27 参考文献参考文献 27 附附 录录 28 燕山大学里仁学院智能空调控制系统 1 1智能空调控制系统的方案设计 本系统以单片机 STC89C52 为核心 采用电源模块 温度采集 键盘 输入 液晶显示 驱动电路等 实现了基于空调温度控制系统 把定时时 间存入单片机 EEPROM 中 不易丢失 人机交互采用按键输入 液晶显 示 界面友好 易于操作 1 11 1 智能空调控制系统 DS18B20 温度传感器采集室内温度数据 并将信息反馈给 CPU 单 片机分析并与设定的温度值进行比较 通过驱动电路使智能空调调节不同 的工作状态 单片机的工作状态有加热 制冷工作状态 不同的按键 S 的功能设置为 S2 为 加 S10 为 减 S3 启动 关闭 S5 为启动智能空调制冷状态 S6 为调节走时按键 S7 为启动智能 空调暖风工作状态 S13 为开启 关闭定时 S14 为调节定时 系统的结构框图如图 1 1 所示 图 1 1 智能空调控制系统结构框图 单 片 机 键盘输入 晶振电路 复位电路 液晶显示 温度检测 驱动电路 燕山大学里仁学院智能空调控制系统 2 1 21 2 系统工作原理 1 2 11 2 1 系统功能模块工作原理介绍 电源管理模块将外部交流电通过整流变压器及稳压芯片 7805 进行稳 压 以便提供给各个系统工作模块 如 DS18B20 温度传感器 单片机主 控制单元 液晶显示单元 驱动电路单元等 单片机 STC89C52 主控制单元负责整个智能空调控制系统的运行 控制 通过人际交互单元 按键及液晶显示 的系统功能设置 用 1602 液晶显示器将室内温度显示出来 并且可以通过按键进行调整 实现空调 加热或制冷的工作状态设置 即达到智能空调的手动控制功能 通过 DS18B20 温度传感器实时检测室温并通过 1602 液晶显示器显示室温 并 将室温与预设值进行对比 实现空调自动制冷或加热 实现了智能空调的 自动控制功能 在定时功能启动的情况下 如果计时时间与定时时间相同 此时 空调相应的工作状态会自动关闭 把定时时间存在 STC89C52 单片 机内部的 EEPROM 中 断电后不会消失 直至通过按键去改变 实现了 智能空调的定时加热或制冷功能 1 2 21 2 2 各功能要求实现的工作原理 1 定时与时间显示 刚开始上电时 1602 液晶显示器上产生实时时间 此系统运用单片 机的定时器功能产生走时 采用的是二十四小时制 在一直通电的情况下 会一直加到 23 59 59 然后清零从 00 00 00 重新开始 若开启定时功能 液晶右下角显示定时时间 在显示器的右上角显示 ON 未开启定时功能则显示 OFF 液晶显示屏的显示画面 如表 1 1 所示 表1 1 未开启定时或开启定时功能 液晶显示屏显示结果 燕山大学里仁学院智能空调控制系统 3 0123456789101112131415 O O F N F 单片机得电后 其内部定时器会立即开启 在软件程序中设定其相应 的内部定时器的寄存器从而相应的走时会比较准确的记录下来 2 温度检测与显示 DS18B20 检测的室内温度信号返回给单片机 单片机会相应的处理 此温度信号 同时送往液晶显示器显示 提前设定的温度值存在单片机 ROM 中 单片机处理后 也会在液晶上显示 如表 1 2 所示 用 表示 实时室内温度 表1 2 液晶显示屏显示实时室内温度 为温度值 0123456789101112131415 智能温控就是感温头精确感应 把室内温度的变化传递给中央控制芯 片 由芯片控制系统使室内温度达到显示屏上的设定温度 使用者只需要 自身的要求而去设定不同的温度即可 以达到最大的智能化控制 3 键盘调节 人机交互采用键盘输入 通过键盘输入指令 控制相应的不同状态的 切换 时间定时长短的设定 调整时间设定 表示光标闪烁 如表 1 3 所示 燕山大学里仁学院智能空调控制系统 4 表1 3 液晶显示的调整时间设定 为走时时间 为定时时间 0123456789101112131415 通过按键把定时的时间写入单片机的 EEPROM 中 永久性保存 燕山大学里仁学院智能空调控制系统 5 2系统功能模块的设计与实现 2 12 1 主控制模块 2 1 12 1 1主控制单元模块设计 系统主控制单元 采用 AT89c52 单片机为主控制芯片 主要包括 AT89c52 单片机 复位电路 时钟电路 下载电路 电源指示电路 2 1 22 1 2主控制单元工作原理 系统主控制单元如图 2 1 所示 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89C52 R10 10k C1 30pF C2 30pF C3 10uF GND GND X1 CRYSTAL Vcc 图 2 1 系统主控制单元功能电路 STC89C52 单片机具有 256KB 的程序存储区 8KBFlashROM 完全 满足系统设计需要 按键 S1 为复位按键 采用低电平复位 电容 C3 与 燕山大学里仁学院智能空调控制系统 6 电阻 R10 组成上电复位电路 为了提高串行通信波特率的准确度 时钟 电路采用 12MHZ 的晶振和电容 C1 电容 C2 组成振荡电路 2 22 2 电源模块设计 2 2 12 2 1电源模块概述 LM7805 是常用的三端稳压器 一般使用的是 TO 220 封装 能提供 DC 5V 的输出电压 应用范围广 内含过流和过载保护电路 带散热片时能 持续提供 1A 的电流 如果使用外围器件 它还能提供不同的电压和电流 2 2 22 2 2电源模块的应用 电源模块电路如图 2 2 所示 电源电路主要为系统提供工作 TR1 TRAN 2P2S LP 1H LS 0 0025h M 1 RP 1m RS 1m C6 0 1uF C8 470uf C10 0 1uF C9 220uF 88 8 AC Volts 88 8 Volts VI 1 VO 3 GND 2 U2 7805 BR1 BRIDGE 88 8 Volts 图 2 2 电源模块功能电路 电源 总电源有 220V 输入 通过变压器和整流器输出 12V 直流电源 但 是这个直流电源很不稳定 所以再用一个 7805 进行稳压 输出稳定的 5V 直流电源 供单片机 lcd1602 等使用 燕山大学里仁学院智能空调控制系统 7 2 32 3 温度检测模块设计 2 3 12 3 1温度传感器的选取 温度是一种最基本的环境参数 人民的生活舒适度与环境的温度息息 相关 DS18B20 装置适用于人民的日常生活和工业和农业生产用的温度 测量 由半导体公司生产的 DS18B20 型单线智能温度传感器 属于新一代 适配微处理器的智能温度传感器 可广泛用于工业 民用 军事等领域的 温度测量及控制仪器 测控系统和大型设备中 DS18B20 具有体积小 接口方便 传输距离远等特点 采用数字温度传感器 DS18B20 与传统的热敏电阻相比 它能够直 接读出被测温度并且可根据实际要求通过简单的编程实现 9 12 位的数字 值读数方式 可以分别在 93 75ms 和 750ms 内完成 9 位和 12 位的数字量 并且从 DS18B20 读出的信息或写入 DS18B20 的信息仅需要一根口线 单 线接口 读写 温度变换功率来源于数据总线 总线本身也可以向所挂接 的 DS18B20 供电 而无需额外电源 因而使用 DS18B20 可使系统结构更 趋简单 可靠性更高 成本更低 测量温度范围为 55 125 在 10 85 精度为 0 5 DS18B20 的精度较差为 2 现场温度 直接以 一线总线 的数字方式传输 大大提高了系统的抗干扰性 2 3 22 3 2 DS18B20 概述 1 DS18B20的性能特点 1 采用单总线专用技术 既可通过串行口线 也可通过其它I O口 线与微机接口 无须经过其它变换电路 直接输出被测温度值 9位二进制数 含符号位 2 测温范围是 55 125 3 内含 64 位经过激光修正的只读存储器 ROM 4 适配各种单片机或系统机 燕山大学里仁学院智能空调控制系统 8 5 用户可分别设定各路温度的上 下限 6 内含寄生电源 2 DS18B20内部结构 DS18B20 内部结构主要由 4 部分组成 64 位光刻 ROM 温度传感器 非挥发的温度报警触发器 TH 和 TL 配制寄存 DS18B20 的管脚排列如 图 2 3 所示 图 2 3 DS18B20 引脚图 3 DS18B20引脚功能如下 NC 1 2 6 7 8脚 空引脚 悬空不使用 VDD 3脚 可选电源脚 电源电压范围是3 5 5V DQ 4脚 数据输入 输出脚 漏极开路 常态下高电平 2 3 32 3 3温度检测单元电路 温度检测单元采用DS18B20实现温度的检测 功能电路如图2 4所示 温度传感器DS18B20将采集回来的数据经P2 3口给AT89c52单片机 AT89c52单片机把这些数据进行分析 送至1602液晶显示器上显示温度 燕山大学里仁学院智能空调控制系统 9 27 0 DQ 2 VCC 3 GND 1 U1 DS18B20 P2 3 图 2 4 DS18B 20 温度检测功能电路 具体操作如下 1 DS18B20初始化 1 数据线拉到低电平 0 2 延时480微妙 该时间的时间范围可以从480到960微妙 3 数据线拉到高电平 1 4 延时等待80微妙 如果初始化成功则在15到60微妙时间内产生一 个由DS18B20所返回的低电平 0 根据该状态可以来确定它的 存在 但是应注意不能无限的进行等待 不然会使程序进入死循 环 所以要进行超时判断 5 若CPU读到了数据线上的低电平 0 后 还要做延时 其延时 的时间从发出的高电平算起 第 3 步的时间算起 最少要480 微妙 2 控制器写时序 1 数据线先置 0 2 延时15微妙 3 按从低位到高位的顺序发送数据 一次只发生一位 4 延时60微妙 5 将数据线拉到高电平 燕山大学里仁学院智能空调控制系统 10 6 重复1 5步骤 直到发送完整的字节 7 最后将数据线拉高 3 控制器读时序 1 将数据线拉低 0 2 延时6微妙 3 将数据线拉高 1 释放总线准备读数据 4 延时4微妙 5 读数据线的状态得到1个状态位 并进行数据处理 6 延时30微妙 7 重复1 7步骤 直到读完一个字节 2 42 4 显示模块设计 2 4 12 4 1 1602 液晶显示器概述 1 液晶显示器简介 液晶显示器的主要工作原理是通过电流刺激液晶分子 从而产生点 线 面 并配合背部灯管构成不同的显示画面 各种不同型号的液晶显示器都是按照显示字符的行数或者是液晶显示 器点阵的行 列数进行命名的 例如 1602 液晶显示器所表述的意思就 是 每行显示 16 个字符 一共能够有两行进行显示字符 本设计就是应 用 1602 液晶显示器进行显示温度以及定时时间 液晶显示器的英文名称 是 Liquid Crystal Display 所以液晶显示器又可以叫做 LCD 以下的 1602 液晶显示器都称为 LCD1602 字符型液晶显示模块是一种专门用于显示字母 数字 符号等点阵式 液晶显示器 LCD1602 以并行操作方式占大多数 但是有的也并行操作 方式和串行操作方式同时具有 用户自行选择并口或串口操作 2 LCD1602的基本参数及引脚功能 LCD1602 分为带背光和不带背光两种 基控制器大部分为 燕山大学里仁学院智能空调控制系统 11 HD44780 带背光的比不带背光的要厚 是否带背光在应用中并无差别 两者尺寸差别 如图 2 5 所示 图2 5 LCD1602尺寸图 3 LCD1602主要技术参数 1 显示容量 162 个字符 2 芯片工作电压 4 5 5 5V 3 工作电流 2 0mA 5 0V 4 模块最佳工作电压 5 0V 5 字符尺寸 2 954 35 WH mm 4 引脚功能说明 LCD1602 采用标准的 14 脚 无背光 或 16 脚 带背光 接口 各 引脚接口说明如表 2 1 所示 第1脚 VSS为地电源 第2脚 VDD接5V正电源 第3脚 VL为液晶显示器对比度调整端 接正电源时对比度最弱 接地时 对比度最高 对比度过高时会产生 鬼影 使用时可以通过一 个10K的电位器调整对比度 第4脚 RS为寄存器选择 高电平时选择数据寄存器 低电平时选择指令 燕山大学里仁学院智能空调控制系统 12 寄存器 表2 1 LCD1602引脚接口说明 编号符号引脚说明编号符号引脚说明 1VSS电源地9D2数据口 2VDD电源正极10D3数据口 3VL液晶显示偏压11D4数据口 4RS数据 命令选择12D5数据口 5R W读 写选择13D6数据口 6E使能信号14D7数据口 7D0数据口15BLA背光源正极 8D1数据口16BLK背光源负极 第5脚 R W为读写信号线 高电平时进行读操作 低电平时进行写操作 当RS和R W共同为低电平时可以写入指令或者显示地址 当RS为 低电平R W为高电平时可以读忙信号 当RS为高电平R W为低电 平时可以写入数据 第6脚 E端为使能端 当E端由高电平跳变成低电平时 液晶模块执行命 令 第7 14脚 D0 D7为8位双向数据线 第15脚 背光源正极 第16脚 背光源负极 5 LCD1602的指令说明 燕山大学里仁学院智能空调控制系统 13 LCD1602内部的控制器共有11条控制指令 如表3 2所示 LCD1602液 晶模块的读写操作 屏幕和光标的操作都是通过指令编程来实现的 说 明 1为高电平 0为低电平 表3 2 LCD1602控制指令 序号指令RSR WD7D6D5D4D3D2D1D0 1清显示0000000001 2光标返回000000001 3置输入模式00000001I DS 4显示开 关控制0000001DCB 5光标或字符移位000001S CR L 6置功能00001DLNF 7置字符发生存贮器地址0001字符发生存贮器地址 8置数据存贮器地址001显示数据存贮器地址 9读忙标志或地址01BF计数器地址 10 写数到CGRAM或 DDRAM 10 要写的数据内容 11 从CGRAM或DDRAM读 数 11 读出的数据内容 指令 1 清显示 指令码 01H 光标复位到地址 00H 位置 指令 2 光标复位 光标返回到地址 00H 燕山大学里仁学院智能空调控制系统 14 指令 3 光标和显示模式设置 I D 光标移动方向 高电平右移 低电平 左移 S 屏幕上所有文字是否左移或者右移 高电平表示有效 低电 平则无效 指令 4 显示开关控制 D 控制整体显示的开与关 高电平表示开显示 低电平表示关显示 C 控制光标的开与关 高电平表示有光 标 低电平表示无光标 B 控制光标是否闪烁 高电平闪烁 低电平不闪烁 指令 5 光标或显示移位 S C 高电平时移动显示的文字 低电平时移 动光标 指令 6 功能设置命令 DL 高电平时为 4 位总线 低电平时为 8 位总 线 N 低电平时为单行显示 高电平时双行显示 F 低电平时显 示 5x7 的点阵字符 高电平时显示 5x10 的点阵字符 指令 7 字符发生器 RAM 地址设置 指令 8 DDRAM 地址设置 指令 9 读忙信号和光标地址 BF 为忙标志位 高电平表示忙 此时模 块不能接收命令或者数据 如果为低电平表示不忙 指令 10 写数据 指令11 读数据 6 LCD1602的RAM地址映射及标准字库表 液晶显示模块是一个慢显示器件 所以在执行每条指令之前一定要 确认模块的忙标志为低电平 表示不忙 否则此指令失效 要显示字符时 要先输入显示字符地址 也就是告诉模块在哪里显示字符 图2 7是 LCD1602的内部显示地址 在对液晶模块的初始化中要先设置其显示模式 在液晶模块显示字符 时光标是自动右移的 无需人工干预 每次输入指令前都要判断液晶模块 是否处于忙的状态 燕山大学里仁学院智能空调控制系统 15 图2 7 LCD1602内部显示地址 LCD1602液晶模块内部的字符发生存储器 CGROM 已经存储了 160个不同的点阵字符图形 如图3 7所示 这些字符有 阿拉伯数字 英 文字母的大小写 常用的符号等 每一个字符都有一个固定的代码 比如 大写的英文字母 A 的代码是B 41H 显示时模块把地址41H中的点 阵字符图形显示出来 我们就能看到字母 A 7 LCD1602的一般初始化 复位 过程 写指令38H 显示模式设置 写指令08H 显示关闭 写指令01H 显示清屏 写指令06H 显示光标移动设置 写指令0CH 显示开及光标设置 2 4 22 4 2显示模块电路 在该系统中显示用到的是LCD1602液晶显示器 液晶显示器以其微 功耗 体积小 显示内容丰富 超薄轻巧的诸多优点 在各种小系统中得 到了非常广泛的应用 LCD1602是指显示的内容为16 2 即可以显示2行 每行16个字符液晶模块 显示字符和数字 燕山大学里仁学院智能空调控制系统 16 GND D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD1 LM016L P0 5 P0 0 P2 7 P0 2 P0 1 P2 5 P2 6 P0 6 P0 7 P0 4 P0 3 图 2 8 LCD1602 与单片机接线电路图 燕山大学里仁学院智能空调控制系统 17 2 52 5 模块设计 2 5 12 5 1键盘电路功能设定 键盘电路图如图 2 9 所示 S1S2S3S4 S5S6S7S8 S9S10S11S12 S13S14S15S16 P3 0 P3 1 P3 2 P3 3 P3 7 P3 4 P3 5 P3 6 图2 9 键盘电路图 按键 S1 16 组成矩阵键盘与单片机 AT89c52 的 P3 口相连接 S2 为 加 S10 为 减 S3 启动 关闭 S5 为启动智能空调制冷状态 S6 为调节走时按键 S7 为启动智能空调暖风工作状态 S13 为开启 关闭定 时 S14 为调节定时 2 5 22 5 2矩阵键盘电路工作原理 矩阵键盘采用动态扫描的方式 首先给 P3 0 口低电平 然后逐列扫 描 如果 S1 键按下则 P3 4 口为低电平 然后给 P3 1 口低电平 再逐列 扫描 以此类推 直到 P3 3 为低电平 扫描完一次矩阵键盘 燕山大学里仁学院智能空调控制系统 18 2 62 6 外围驱动电路模块设计 2 6 12 6 1驱动电路 本系统中AT89c52单片机根据读取的按键值 做出不同的响应动作 单片机只是一个主控方 他的强大功能必须依靠外围器件驱动才能完成 所以本设计中通过三极管VT1 8550 继电器K1后 驱动智能空调的启动 停止功能 最终使室内的温度保持在一个人为感觉良好的理想状态 通过 控制继电器的通 断即可达到智能空调智能控制的要求 驱动电路图如图2 10所示 R11 1k RL1 T75S5D11 12V D3 DIODE Q1 2N3904 RL2 T75S5D11 12V Q2 2N3904 R12 10kD4 DIODE P1 1P1 2 图2 10 驱动电路图 2 6 22 6 2JQC 3FF 继电器 继电器的工作原理实质是通过低电压 小电流控制高电压 大电流 JQC 3FF 5V继电器的触点形式是一开一闭 继电器的工作参数如表3 4所 示 表2 4 继电器工作参数 燕山大学里仁学院智能空调控制系统 19 额定电压 DC 12V额定电流 12 触点切换电流 10触点切换电压 1 防护特征 塑封式触点负载 大功率 应用范围 电磁型号 JQC 3FF 5VDC 1ZS 551 触点形式 一开一闭 燕山大学里仁学院智能空调控制系统 20 3系统软件设计 系统软件设计采用模块化 结构化的设计思想 使程序便于移植 系 统程序主要包括主程序 系统宏定义 键盘处理函数 LCD显示函数 温 度检测 系统控制算法函数 首先系统上电后启动系统功能 此时处于待机状态 S3按下后液晶显 示器显示 空调开始工作 然后可以通过人机交互选择系统所运行的功能 系统上电后自动开始走时 开机后显示器显示时间 室内温度确定值 设定值以及定时时间 通过人机交互选择系统所运行的功能 确定这些数 值是否需要进行改动 当上述所有数值设定好后 再次通过人机交互选择系统所运行的功能 把所定时的时间写入到单片机的EEPROM中 把定时功能开启 智能空调控制系统的主程序流程图 如图3 1所示 燕山大学里仁学院智能空调控制系统 21 开始 调用键盘程序 DS18B20 检测温 度 判断按键做出 相应处理 液晶显示 有按键 N Y 图 3 1 主程序流程图 智能空调控制系统按键部分的子程序流程图 如图3 2所示 图 3 2 按键部分的子程序流程图 燕山大学里仁学院智能空调控制系统 22 液晶显示部分的子程序流程图 如图3 3所示 图 3 3 液晶显示部分的子程序流程图 燕山大学里仁学院智能空调控制系统 23 4系统测试及结果分析 通过两周的设计和制作 本系统成功地实现了设计要求 为验证系 统的功能和各项技术指标 下面通过实验对本系统进行功能验证 4 14 1 系统测试 1 首先上电 液晶显示器不显示 2 S3按下后显示走时 定时 实际温度值等 D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 3 按下S7按键 开启暖风模式 右上角显示1 D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 4 按下S13按键 开启定时模式 燕山大学里仁学院智能空调控制系统 24 D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 5 定时模式开启时 按下S14按键 可调节定时时间 此时光标闪 烁 按下S2或S9可调节时间 D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 6 按下S6按键 光标在时间处闪烁 此时按下S2或S9可调节时间 D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 燕山大学里仁学院智能空调控制系统 25 4 24 2 系统测试结果及分析 通过以上的测试数据分析 可以得出以下结论 1 本系统的走时功能 定时功能得以实现 2 本装置使用了矩阵键盘 按键简洁方便 满足人们的习惯 可实 现各个功能的调节与运行 3 走时精确度较高 与现实的时间相差甚小 可以完全作为一个电 子钟使用 走时精确 而就会减小定时长短的失误 更加精确化 利用单 片机的自身资源 节省了成本 减少了外围电路的设计 4 温度传感器检测的实时温度准确度较高 可以使室内温度始终保 持在一个比较理想的状态中 使人们的生活更加舒适 5 在本设计中 为了防止在温控点上压缩机频繁的启动 关闭 影 响其寿命 温控的精度误差控制在1摄氏度 实践证明 这对室内的温度 并没有明显的影响 燕山大学里仁学院智能空调控制系统 26 结结 论论 本论文分析了智能空调控制系统结构和特点 总结全文 主要的研 究工作有以下几个方面 1 对智能空调控制系统的原理和组成进行了详细的介绍 确定了系 统的总体设计方案 2 对智能空调控制系统的控制过程做了准确的算法分析 包括检测 过程中的实时温度 按键复用 驱动等 通过上述分析最终通过程序算法 实现温度的自动控制控制 3 对键盘详细的分析 采用内部定时器产生实时时钟供显示屏显示 使其可作为一台精度较高的电子时钟使用 这样节省了成本 4 以AT89c52最小系统板为控制系统 进行并完成了系统要求所需 的各硬件模块的原理图 并做了相应的硬件制作调试 采用了DS18B20温 度传感器检测实时温度状态 使数据更准确 并对DS18B20温度传感器进 行了精确的控制 提高了检测系统的可靠性 5 完成了相关的分析算法程序和各功能模块的应用程序的设计 实 现了温度控制 整个软件的设计采用模块化 结构化设计思想 使程序便 于移植 6 分析了控制系统中可能存在的各种干扰源 在设计控制系统时 采用硬件和软件抗干扰技术相结合的方法进行了抗干扰设计 保证了控制 系统的可靠性 燕山大学里仁学院智能空调控制系统 27 1 谭浩强 C程序设计 北京 清华大学出版社 2005 07 2 7805电压转换模块使用说明书 3 DS18B20温度传感器使用手册 4 LCD1602液晶显示模块使用说明书 5 数字电子技术基础 常丹华 主编 6 单片机原理及应用技术 张淑清等编著 7 百度文库以及网上的各种资料 燕山大学里仁学院智能空调控制系统 28 附 录 附录1 系统主程序 包含所需头文件 include include LCD1602 h include ds18b20 h define uint unsigned int define uchar unsigned char uchar key value sbit led P2 2 电源指示灯 uchar p 定时中断参数 uchar key scan 矩阵键盘扫描 定时中断初始化 void dszd init TMOD 0 x01 TR0 1 TH0 65535 10000 256 TL0 65535 10000 256 ET0 1 EA 1 空调启动停止 uchar start 燕山大学里仁学院智能空调控制系统 29 if key value 2 按键s3按下 打开 关闭空调 delay 500 延时500ms key value 0 s3num s3num s3num 2 if s3num 1 begin 1 if s3num 0 begin 0 if s3num 1 s3num 0 return begin 室温与设定温度比较 void compare if cold 0 制冷模式下 if temper temp 1 temp temper 1 jidianqi 1 1 温差大于一度 启动电动机 燕山大学里仁学院智能空调控制系统 30 if temper temp 室内温度等于设定温度 关闭 电动机 jidianqi 1 0 if hot 0 暖风模式下 if temper temp 1 temp temper 1 jidianqi 2 1 温差大于一度 启动电动机 if temper temp 室内温度等于设定温度 关闭电动机 jidianqi 2 0 主程序 void main dszd init 开定时中断 while 1 key scan 开矩阵键盘扫描 start write com 0 x08 关闭显示 jidianqi 1 0 jidianqi 2 0 启动前电机关闭 cold 0 hot 0 制冷 暖风指示灯关闭 while begin 燕山大学里仁学院智能空调控制系统 31 init 初始化液晶显示 cold 0 默认为制冷模式 hot 1 while begin led 1 电源指示灯一直亮 write hms 0 hour write hms 3 min write hms 6 sec 显示时间 key scan 矩阵键盘扫描 start 扫描空调开启 关闭 lcd mode 工作模式 LCD scan 更新液晶时间显示 lcd temp 更新液晶温度显示 dingshi 定时时间显示和调节 LcdDisplay Ds18b20ReadTemp 温度检测 compare 温度比较 控制电动机起动 关闭 定时中断 void Timer0 interrupt 1 TH0 65536 10000 256 TL0 65536 10000 256 燕山大学里仁学院智能空调控制系统 32 p if p 100 p 0 sec if sec 60 sec 0 min if min 60 min 0 hour if hour 24 hour 0 子程序LCD1602 h ifndef LCD1602 H define LCD1602 H define uint unsigned int define uchar unsigned char uchar key value sbit cold P2 0 绿灯时制冷指示灯 燕山大学里仁学院智能空调控制系统 33 sbit hot P2 1 红灯为暖风指示灯 sbit jidianqi 1 P1 1 sbit jidianqi 2 P1 2 定义液晶显示器 sbit LCDE P2 7 sbit LCDRS P2 6 sbit LCDRW P2 5 uchar num s1num s2num s3num r uchar hour min sec hour 1 1 min 1 uchar temper 26 uchar shi ge uchar begin uchar code table 1 27 26 OFF 0 液晶显示器第一行显示结果 uchar code table 2 00 00 00 00 00 液晶显示器第二行显示结果 void delay uint z 1ms延时函数 uint i j for i 0 i z i for j 0 j 110 j 矩阵键盘扫描程序 uchar key scan uchar table 0 i for i 0 i 4 i P3 0 x10 i table P3 燕山大学里仁学院智能空调控制系统 34 table table if table 0 x0f delay 5 去抖 table P3 区分独立键盘 table table if table 0 x0f switch table case 0 x0e key value 0 i break case 0 x0d key value 4 i break case 0 x0b key value 8 i break case 0 x07 key value 12 i break while table 0 x0f 松手检测 table P3 table table return key value 液晶显示器写命令 void write com uchar com 燕山大学里仁学院智能空调控制系统 35 LCDRS 0 LCDRW 0 P0 com delay 5 LCDE 1 delay 5 LCDE 0 液晶显示器写数据 void write data uchar date LCDRS 1 LCDRW 0 P0 date delay 5 延时5ms LCDE 1 delay 5 LCDE 0 液晶显示器初始化 void init LCDE 0 write com 0 x38 显示模式设制 write com 0 x0c 开显示 不显示光标 光标不闪烁 write com 0 x06 当读或写一个字符后地址指针加一 且光标加一 整屏不移动 燕山大学里仁学院智能空调控制系统 36 write com 0 x01 显示清屏 write com 0 x80 设计数据指针地址 for num 0 num 16 num write data table 1 num delay 20 延时20 ms write com 0 x80 0 x40 重新设置数据指针 换行 for num 0 num30 最高温度30度 temper 30 write temp temper if key value 9 delay 50 key value 0 temper 燕山大学里仁学院智能空调控制系统 43 if temper 16 最低温度16度 temper 16 write temp temper 定时开关及定时时间调整 void dingshi uchar panduan 2 write hms 11 hour 1 write hms 14 min 1 if key value 12 按键S13按下 开启 关闭定时 delay 500 延时500 ms防止加的过快 key value 0 r r r 2 if r 1 开定时 write com 0 x80 0 x0b write data O write data N write data 0 x20 write com 0 x0c 燕山大学里仁学院智能空调控制系统 44 if r 0 关定时 write com 0 x80 0 x0b write data O write data F write data F write com 0 x0c if r 1 按键S13摁下开定时 delay 50 延时50ms if key value 13 panduan 2 1 while panduan 2 if key value 13 delay 500 延时500ms 防止加的过快 key value 0 s2num if s2num 1 write com 0 x80 0 x40 0 x0c 光标移至小时处 闪烁 write com 0 x0f 燕山大学里仁学院智能空调控制系统 45 if s2num 2 write com 0 x80 0 x40 0 x0f 光标移至分处闪 烁 if s2num 3 s2num 0 write com 0 x0c 光标停止闪烁 panduan 2 0 跳出循环 if s2num 0 if key value 1 按键S2按下 delay 500 延时500ms key value 0 if s2num 1 hour 1 if hour 1 24 hour 1 0 write hms 11 hour 1 光标在小时处闪烁 write com 0 x80 0 x40 0 x0c 使 光标再回到小时处闪烁 燕山大学里仁学院智能空调控制系统 46 if s2num 2 min 1 if min 1 60 min 1 0 write hms 14 min 1 光标在分处闪烁 write com 0 x80 0 x40 0 x0f 光标 再回到分处闪烁 if key value 9 按键S10按下 delay 500 延时500ms key value 0 if s2num 1 hour 1 if hour 1 1 hour 1 23 write hms 11 hour 1 光标在小时处闪烁 write com 0 x80 0 x40 0 x0c 使 光标再回到小时处闪烁 if s2num 2 min 1 if min 1 1 min 1 59 燕山大学里仁学院智能空调控制系统 47 write hms 14 min 1 光标在分处闪烁 write com 0 x80 0 x40 0 x0f 光标 再回到分处闪烁 key scan 子程序ds18b20 h ifndef DS H define DS H define uint unsigned int define uchar unsigned char sbit DSPORT P2 3 ds18b20接口 int temp temp 1 uchar deceive ready void delay us uint us while us 函 数 名 Ds18b20Init 函数功能 初始化 输 入 无 输 出 初始化成功返回1 失败返回0 燕山大学里仁学院智能空调控制系统 48 uchar Ds18b20Init DSPORT 0 将总线拉低480us 960us delay us 50 延时642us DSPORT 1 然后拉高总线 如果DS18B20做出反应会将 15us 60us后总线拉低 delay us 5 deceive ready DSPORT delay us 25 等待DS18B20拉低总线 return deceive ready 函 数 名 Ds18b20WriteByte 函数功能 向18B20写入一个字节 输 入 com 输 出 无 void Ds18b20WriteByte uchar dat uint i j for j 0 j 1 函 数 名 Ds18b20ReadByte 函数功能 读取一个字节 输 入 com 输 出 无 uchar Ds18b20ReadByte uchar byte bi uint i j for j 8 j 0 j DSPORT 0 先将总线拉低1us i DSPORT 1 然后释放总线 i i 延时6us等待数据稳定 bi DSPORT 读取数据 从最低位开始读取 将byte左移一位 然后与上右移7位后的bi 注意移动之后移掉那位补 0 byte byte 1 bi 7 i 4 读取完之后等待48us再接着读取下一个数 while i 燕山大学里仁学院智能空调控制系统 50 return byte 函 数 名 Ds18b20ChangTemp 函数功能 让18b20开始转换温度 输 入 com 输 出 无 void Ds18b20ChangTemp Ds18b20Init delay 1 延时1ms Ds18b20WriteByte 0 xcc 跳过ROM操作命令 Ds18b20WriteByte 0 x44 温度转换命令 Delay1ms 100 等待转换成功 而如果你是一直刷着的话 就不 用这个延时了 函 数 名 Ds18b20ReadTempCom 函数功能 发送读取温度命令 输 入 com 输 出 无 void Ds18b20ReadTempCom 燕山大学里仁学院智能空调控制系统 51 Ds18b20Init delay 1 延时1ms Ds18b20WriteByte 0 xcc 跳过ROM操作命令 Ds18b20WriteByte 0 xbe 发送读取温度命令 函 数 名 Ds18b20ReadTemp 函数功能 读取温度 输 入 com 输 出 无 int Ds18b20ReadTemp int temp 0 uchar tmh tml Ds18b20ChangTemp 先写入转换命令 Ds18b20ReadTempCom 然后等待转换完后发送读取温度命令 tml Ds18b20ReadByte 读取温度值共16位 先读低字节 tmh Ds18b20ReadByte 再读高字节 temp tmh temp 8 temp tml return temp void LcdDisplay int temp lcd显示 燕山大学里仁学院智能空调控制系统 52 unsigned char datas 0 0 0 0 0 定义数组 float tp if temp 0 当温度值为负数 因为读取的温度是实际温度的补码 所以减1 再取反求出原 码 temp temp 1 temp temp tp temp temp tp 0 0625 else tp temp 因为数据处理有小数点所以将温度赋给一个浮点型变 量 如果温度是正的那么 那么正数的原码就是补码它本身 temp tp 0 0625 datas 0 temp 10 datas 1 temp 10 只取前两位 temp 1 temp 10 10 temp 10 write com 0 x80
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 正骨专家签合同范本
- 收购股分合同范本
- 私人飞机转让合同范本
- 锚索锚杆合同范本
- 新农村劳务合同范本
- 广告维修制作合同范本
- 商品网签合同范本
- 酒店房间租房合同范本
- 手写的转租合同范本
- 电缆报废回收合同范本
- 新生儿病房护理安全管理
- 乘客遗失物品处理课件
- 美编设计面试题目及答案
- 2025年云南省中考物理真题(含答案)
- 肿瘤患者有效沟通技巧
- 医院科室停电应急预案
- 2025-2030中国工业用地开发与产业升级分析报告
- 2025年教育学家教学理论考试试题及答案解析
- 2025年医疗器械不良事件培训考试试题(有答案)
- 第1课 互联网和物联网 课件 2025-2026学年七年级下册信息技术浙教版
- 信息技术在课堂教学中的应用
评论
0/150
提交评论