自动温湿度控制系统毕业论文.doc_第1页
自动温湿度控制系统毕业论文.doc_第2页
自动温湿度控制系统毕业论文.doc_第3页
自动温湿度控制系统毕业论文.doc_第4页
自动温湿度控制系统毕业论文.doc_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

安徽工程大学毕业设计(论文)自动温湿度控制系统毕业论文目录摘 要IAbstractII插图清单V表格清单VI引言- 1 -第1章 绪论- 2 -1.1 系统主机选择- 2 -1.2 温度传感器选择- 2 -1.3 湿度传感器选择- 3 -1.4 键盘选择- 4 -1.5 显示器选择- 4 -1.6 时钟芯片选择- 4 -第2章 自动温湿度控制系统的硬件电路设计- 6 -2.1 单片机最小系统设计- 7 -2.1.1 STC12C5A32S2功能特性- 7 -2.1.2 时钟电路- 8 -2.1.3 复位电路- 9 -2.2 测温电路设计- 9 -2.2.1 DS18B20的主要技术特性- 9 -2.2.2 DS18B20的工作原理及应用- 11 -2.3 测湿电路设计- 13 -2.3.1 SHT11的介绍- 13 -2.3.2 SHT11的应用- 15 -2.4 键盘电路设计- 15 -2.4.1 非编码键盘的介绍- 16 -2.4.2 键盘的接口电路- 17 -2.5 显示电路设计- 18 -2.5.1 12864的概述- 18 -2.5.2 12864的应用说明- 20 -2.6 时钟电路设计- 22 -2.6.1 实时时钟(RTC)简介- 22 -2.6.2 DS1302时钟芯片应用- 23 -2.7 功率接口电路设计- 24 -第3章 自动温湿度控制系统的软件设计- 26 -3.1 主程序- 26 -3.2 测温程序- 27 -3.2.1 DS18B20的工作过程及时序- 27 -3.2.2 源程序- 29 -3.3 测湿程序- 31 -3.3.1 SHT11的工作原理及流程图- 31 -3.3.2 源程序- 32 -3.4 键盘程序- 35 -3.4.1键盘的软件流程及原理- 35 -3.4.2 源程序- 36 -3.5 显示程序- 37 -3.5.1 12864软件相关知识介绍- 37 -3.5.2 源程序- 40 -3.6 时钟程序- 42 -3.6.1 DS1320的工作过程及流程图- 42 -3.6.2 源程序- 44 -第4章 调试- 47 -4.1系统的程序调试- 47 -4.2实验结果- 48 -结论与展望- 50 -致谢- 51 -参考文献- 52 -附录A原理图- 53 -附录B外文文献及其译文- 55 -附录C主要参考文献的题录及摘要- 58 -附录D源程序- 60 -插图清单图21 控制系统示意图- 6 -图22 系统结构原理图- 6 -图23单片机引脚图- 7 -图24晶振电路图- 9 -图25复位电路图- 9 -图26 DS1SB20芯片封装结构图- 10 -图27 DS1SB20内部结构图- 10 -图28 RAM及EEPROM结构图- 11 -图29 DS18B20与单片机的连接- 13 -图210 SHT11的实物图- 14 -图211 SHT11的引脚图- 14 -图212 SHT11的内部结构- 15 -图213 SHT11与单片机的连接- 15 -图214 电压变化图- 16 -图215 键盘与单片机的连接- 17 -图216 12864与单片机的连接- 22 -图217 DS1302引脚图- 23 -图218 DS1302的内部结构图- 24 -图219 DS1302与单片机的连接- 24 -图220空调和排湿器的功率接口电路图- 25 -图31 主程序软件总流程图- 26 -图32 单总线处理次序- 27 -图33 DS18B20的测温程序流程图- 27 -图34 初始化时序- 28 -图35 写时序- 28 -图36 读时序- 29 -图37 SHT11的软件流程图- 32 -图38 矩阵键盘的软件流程图- 35 -图39 12864的软件流程图- 40 -图310 帧的格式及读/写时序图- 43 -图311 DS1302的软件流程图- 44 -图41 程序KEIL调试- 47 -图42 通过宏晶电子公司的下载软件下载hex文件- 48 -图43 LCD12864显示信息- 48 -图44 显示温湿度及日历信息- 49 - 55 -表格清单表21 DS18B20ID编码- 11 -表22 存储格式- 12 -表23 各位的定义- 12 -表24 设置分辨率- 12 -表25 串行接法- 18 -表26 并行接法- 19 -表27 模式列表- 20 -表28 使能端信号- 20 -表29 字符显示对应关系- 21 -表210 地址映射- 21 -表31 SHT11命令集- 31 -表32 清除显示状态- 37 -表33 显示开/关- 37 -表34 进入点设定- 37 -表35 游标或显示移位控制- 37 -表36 功能设定- 38 -表37 设定CGRAM地址- 38 -表38设定DDRAM地址- 38 -表39 读取忙标志和地址- 38 -表310 写数据到RAM- 38 -表311读出RAM值- 38 -表312 地址归位- 38 -表313 设置显示起始行- 39 -表314 设置页地址- 39 -表315 设置列地址- 39 -表316 状态检测- 39 -表317 写显示数据- 39 -表318 读显示数据- 39 -表319 日历、时钟寄存器与控制字格式- 42 -表320 DS1302内部主要寄存器分布表- 42 -引言随着电信业的高速发展,众多的通信枢纽、中继站和基站的建设像雨后春笋一样在各地出现。通信机房是设备安装和运行的重要场所,提供各种设备长期可靠运行的外部条件。这些环境因素主要包括建筑、供电和温湿度的环境等。供电是设备运行安全的首要因素,受到人们的关注;然而保持适于设备工作的温湿度的环境的重要性和技术方法经常被人们忽视。本设计介绍一个通信机房的自动温湿度控制系统研制的实例。该系统主要是基于单片机的,运用最新的数字温度和湿度传感器对温度和湿度进行测量,并且最终根据系统控制的原则来控制空调和排湿器的开启或者关闭,从而控制温度和湿度处于一个理想的范围内。值得一提的是,本系统采用友好的人机接口实现灵活的机房温湿度的自动控制,具有良好的可靠性和实用性,推广价值较大。然而,本次设计的系统仍然有很多的不足之处,比如仅用了一个温度传感器和湿度传感器,这只能控制室内某一处的温湿度。在实际的运用中,系统应当测试室内多处的温湿度才能保证室内的温湿度稳定,这也就要求系统包括多个数字传感器。还有系统结果也尚未调试出来,程序中肯定还有错误存在,需要继续调试。第1章 绪论对于通信数据中心来说,最佳的运行环境是2224,相对湿度在35%50%之间,温度与湿度的大幅变化可能导致敏感设备不可靠工作,急剧的温湿度变化甚至可能导致设备的损坏。因而,保持适宜的温湿度的环境对保证设备的可靠工作是非常重要的。一般来说,通信机房内的温度由于电器设备的长期运行发热而升温,温度控制主要是降温处理;对湿度的要求是不能过大,当室内的湿度较大时,则要考虑采用排湿处理。这两种出处理方法主要是选用空调设备,并以排湿器加以辅助。1.1 系统主机选择计算机控制系统各主机有各自的特点:PLC专为在工业环境下应用而设,可靠性高,编程容易,功能完善,扩展灵活,安装调试方便;工控机是一种面向工业控制、采用标准总线技术和开放式体系结构的计算,配有丰富的外围接口,具有可靠性高,可维修性好,环境适应力强,控制实时性强,输入输出通道完善等优点;单片机体积小、功能全、价格低、软件丰富、面向控制、开发应用方便;DSP采用改进型的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊指令,可以用来快速地实现各种数字信号处理;智能调节器是一种数字化的智能仪表,以为处理器或单片微型计算机为核心,具有数据通信功能,能完成生产过程14个回路直接数字控制任务,在DCS的分散过程控制级中得到广泛应用。考虑成本、开发周期、应用等方面,在本次设计中采用单片机来作为控制系统主机。目前市场上主流的单片机有Intel公司的MCS系列、Motorola公司的M68HC系列、Microchip公司的PIC系列、以及Philips、Atmel、NEC、STC等公司的产品。本设计选用宏晶公司生产的带有看门狗功能的STC12C5A60S2系列单片机作为微控制器。该系列单片机是单时钟/机器周期的,是高速/低功耗/超强抗干扰的新一代8051单片机。指令代码完全兼容传统8051,但速度要快8到12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S,即25万次/秒),针对电机控制,强干扰场合。1.2 温度传感器选择温度传感器是检测温度的器件,其种类最多,应用最广,发展最快。目前市场上主要有热敏电阻、双金属片、集成化半导体温度传感器和热电偶四大类。热敏电阻(其中分正温度和负温度特性两类),其根据电阻材料随温度的变化而影响材料的电阻率随之相应变化的原理实现温度传感的,其特点是工作温度范围广,成本低、但线性差,误差较大,适用于温控精度要求不高的场合;双金属片通常是将两片不同的金属叠在一起,根据不同金属的热膨胀率的差异,导致双金属机构产生于温度变化相对应的形变的原理做成的,其特点的温度范围大,但精度极低;集成化半导体温度传感器是由硅二极管和运算放大器组成的,是三端器件,其根据硅二极管正向压降随温度的升高而线性降低的原理,由于线性降低的线性精度虽然良好,但变化值微小,所以要通过运算放大器线性放大,另外,通过改变运算放大器的负反馈电阻的值,实现输出不同电压变化范围的各规格产品,以适应不同设备的要求。其特点是精度高,热惯性小,响应快,输出负载能力大(抗电磁干扰能力强),成本较高,温度适用范围小;热电偶是根据两个不同导体或半导体在不同的温度之间产生电动势的所谓的温差发电效应产生的传感器,其并非真正意义上的温度传感器,但它对温差敏感。本次设计中采用的是集成化半导体温度传感器DS18B20。DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。1.3 湿度传感器选择湿度传感器,分为电阻式和电容式两种,产品的基本形式都为在基片上涂有感湿的材料形成一层膜。空气中的水蒸汽吸附在材料上后,元件的阻抗、介质常数发生很大的变化,从而制成湿敏元件。国内外各厂家的湿度传感器产品水平不一,质量价格都相差较大,用户如何选择性能价格比最优的理想产品确有一定难度,需要在这方面作深入的了解。湿度传感器具有如下特点: 精度和长期稳定性 湿度传感器的精度应达到2%5%RH,达不到这个水平很难作为计量器具使用,湿度传感器要达到2%3%RH的精度是比较困难的,通常产品资料中给出的特性是在常温(2010)和洁净的气体中测量的。在实际使用中,由于尘土、油污及有害气体的影响,使用时间一长,会产生老化,精度下降,湿度传感器的精度水平要结合其长期稳定性去判断,一般说来,长期稳定性和使用寿命是影响湿度传感器质量的头等问题,年漂移量控制在1%RH水平的产品很少,一般都在2%左右,甚至更高。 湿度传感器的温度系数 湿敏元件除对环境湿度敏感外,对温度亦十分敏感,其温度系数一般在0.20.8%RH/范围内,而且有的湿敏元件在不同的相对湿度下,其温度系数又有差别。温漂非线性,这需要在电路上加温度补偿式。采用单片机软件补偿,或无温度补偿的湿度传感器是保证不了全范围的精度的,湿度传感器温漂曲线的线性化直接影响到补偿的效果,非线性的温漂补偿不出较好的效果,只有采用硬件温度跟随性补偿才会获得真实的补偿效果。湿度传感器工作的温度范围也是重要参数。多数湿敏元件难以在40以上正常工作。 湿度传感器的供电 金属氧化物陶瓷,高分子聚合物和氯化锂等湿敏材料施加直流电压时,会导致性能变化,甚至失效,所以这类湿度传感器不能用直流电压或有直流成份的交流电压。必须是交流电供电。 互换性 目前,湿度传感器普遍存在着互换性差的现象,同一型号的传感器不能互换,严重影响了使用效果,给维修、调试增加了困难,有些厂家在这方面做出了种种努力,(但互换性仍很差)取得了较好效果。 湿度校正 校正湿度要比校正温度困难得多。温度标定往往用一根标准温度计作标准即可,而湿度的标定标准较难实现,干湿球温度计和一些常见的指针式湿度计是不能用来做标定的,精度无法保证,因其要求环境条件非常严格,一般情况,(最好在湿度环境适合的条件下)在缺乏完善的检定设备时,通常用简单的饱和盐溶液检定法,并测量其温度。显然选用比较成熟的数字式湿度计,将会得到比较高的精度和较高的可靠性。数字式湿度计的使用不如温度计那么广泛,湿度计的产品相对来说比较少。瑞士Scnsirion公司推出的高度集成的数字温湿度传感器SHT11是其中比较优秀的产品。出厂前,每个传感器都在极为精确的湿度室中做过精密校验,校准系数被编成相应的程序存入校准存储器中。因此本设计选用芯片SHT11。1.4 键盘选择键盘是单片机应用系统中不可缺少的输入设备,是实现人机对话的纽带,是操作人员控制干预单片机应用系统的主要手段。通过键盘可向单片机应用系统输入数据和控制命令,实现对应用系统的人为控制,提高应用系统的灵活性。按照结构形式分,键盘可以分为非编码键盘和编码键盘,前者可以用软件方法产生键码,后者则用硬件方法产生键码。键盘按组成形式可分为独立键盘和矩阵键盘,独立键盘与单片机连接时,每一个按键都需要单片机的一个I/O口。本系统需要16个按键,如果采用独立键盘就会占用过多的I/O口资源,而单片机的I/O口的资源往往比较宝贵,所以为了节省I/O口线,本文采用4*4非编码矩阵键盘。1.5 显示器选择液晶显示器(LCD)的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。LCD以其微功耗、体积小、重量轻、超薄型等诸多优点在袖珍式仪表和低功耗系统中得到越来越广泛的应用。应用当中通常是将显示屏和控制器集成在一块电路板上,称为液晶显示模块(LCM)。目前市场上主要有段式、字符式、点阵式三种类型的液晶显示模块。本设计需要显示汉字,所以只有点阵式液晶显示器符合要求。本设计中,选用带中文字库的12864。带中文字库的12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864,内置8192个16*16点汉字,和128个16*8点ASCII字符集。1.6 时钟芯片选择在很多单片机系统中都要求带有实时时钟电路,如最常见的数字钟、钟控设备、数据记录仪器。这些仪表往往需要采集带时标的数据,同时一般它们也会有一些需要保存起来的重要数据,有了这些数据,便于用户后期对数据进行观察和分析。本系统就需要设计一个时钟电路,来实时显示具体日期和时间下的温度和湿度数据。本设计选用市面上常见的时钟芯片DS1302的应用。DS1302是美国DALLAS公司推出的一款高性能、低功耗、带内部RAM的实时时钟芯片(RTC),也就是一种能够为单片机系统提供日期和时间的芯片。第2章 自动温湿度控制系统的硬件电路设计自动温湿度控制系统主要由以下部分组成:微控制器模块,传感器模块,键盘模块,显示模块和功率接口模块。控制系统的示意图如图21所示。图21 控制系统示意图系统的结构原理如图22所示。图22 系统结构原理图2.1 单片机最小系统设计单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。最小系统一般应该包括:单片机、晶振电路、复位电路、键盘输入、显示输出等。下面简单的介绍一下STC12C5A60S2系列单片机- STC12C5A32S2。2.1.1 STC12C5A32S2功能特性(1)特性概述STC12C5A32S2有PDIP40、LQFP44及LQFP48等三种封装形式,以适应不同产品的需求。本设计选用的是增加了P4口的PDIP40封装的STC12C5A32S2单片机。图23为单片机引脚图。图23单片机引脚图STC12C5A32S2的具体特性可描述如下:两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器,再加上2路PCA模块可实现2个16位定时器;ISP(在系统可编程 )/IAP(在应用可编程),无需专用编程器和仿真器,可通过串口(P3.0/P3.1)直接下载用户程序;通用全双工异步串行口(UART),由于STC12C5A32S2是高速8051,可再用定时器或PCA软件实现多串口;2个时钟输出,可由T0的溢出在CLKOUT0输出时钟,T1的溢出在CLKOUT1输出时钟;A/D转换,10位精度ADC,共8路,转换速度达250K/S,即25万次/秒;增强型8051 CPU,指令代码完全兼容传统8051,单时钟/机器周期;工作频率范围:035MHz,相当于普通的8051的0420 MHz;外部掉电检测电路:在P4.6口有一个低压门限比较器;32K 字节 Flash 闪速存储器和1280 字节内部 RAM;36个外部双向输入/输出(I/O)端口,增加了P4口;双串口,分别是RxD、TxD 和RxD2、TxD2;PWM(2路)/PCA(可编程计数器阵列,2路);内部集成了MAX810专用复位电路;工作电压:3.3V5.5V,一般取5V;工作温度范围:075;7个外部I/O中断;EEPROM功能;看门狗。(2)相关引脚及功能:P0 口:P0即可作为输入/输出口,也可作为地址/数据总总线使用。当 P0口作为输入/输出口时,P0口是一组 8 位开路型双向 I/O 口,需外加上拉电阻;P1 口、P2口、P3口:P1 、P2、P3是带内部上拉电阻的 8 位双向 I/O 口;CLKOUT0、CLKOUT2、CLKOUT3:CLKOUT0是定时器/计数器0的时钟输出,CLKOUT1是定时器/计数器1的时钟输出,CLKOUT2是独立波特率发生器的时钟输出;RST和RST2:复位输入端口和第2复位功能端口,当振荡器工作时,将RST 引脚拉高并维持至少24个时钟加10us后,单片机就进入复位状态;RxD、TxD 和RxD2、TxD2:串口数据接收端、串口数据发送端和第二串口数据接收端、第二串口数据发送端;XTAL1:内部振荡电路反相放大器的输入端,是外部晶体的一个引脚;XTAL2:内部振荡电路反相放大器的输入端,是外部晶体的一个引脚;T0和T1:定时器/计数器0和定时器/计数器1的外部输入;ADC0ADC7:数模转换寄存器的输入通道;CCP0、CCP1:PCA模块0、1的外部输入;ECI:PCA定时器的外部时钟输入引脚;MOSI、MISO:主出从入、主入从出;EX_LVD:外部低压检测中断/比较器;和:外部中断和外部中断0;ALE:地址锁存有效信号输出端;:外部数据存储器写脉冲;:外部存储器读脉冲;SCLK:SPI时钟信号;:从机选择信号;2.1.2 时钟电路STC12C5A32S2单片机内部有一个高增益反向放大器,用于构成片内振荡器,引脚XTAL1和XTAL2分别为该放大器的输入端和输出端,它与作为反馈元件的片外石英晶体或是陶瓷谐振器共同构成自激振荡器,振荡电路如图24所示。在此电路中,对电容的大小没有特别严格的要求,但是它的容量大小也会影响振荡器频率的高低及其稳定性、影响起振的快速性和温度的稳定性。若外接石英晶体时,在(30pF10 pF)范围内选取C1、C2值的大小;若外接陶瓷谐振器时,一般在(40pF10 pF)范围内选取C1和C2值的大小即可。本设计采用11.0592MHz的晶振为单片机提供内部时钟,振荡电路中的两个电容均取30pF。选用11.0592MHz的晶振最主要就是方便波特率的计算。图24晶振电路图2.1.3 复位电路复位电路对于单片机来说至关重要,是单片机在启动时要进行的必要操作。复位操作可以使单片机及其系统各个部分处于确定的初始化状态,并且从初始状态开始工作。复位操作一般有上电自动复位和按键手动复位两种类型。按键手动复位分为电平和脉冲两种类型。上电复位方式是通过外部位电路的电容充电来实现的,给系统的RST引脚加上大于2个机器周期(即24个时钟振荡周期)的高电平(即24个时钟振荡周期)就可以使单片机复位。本系统采用上电自动复位,选用10uF的电容和10K的电阻,那么时间常数T=R*C=10Ms,远大于2个机器周期的要求,可以对单片机进行复位。其复位电路如图25所示。 图25复位电路图2.2 测温电路设计 2.2.1 DS18B20的主要技术特性DS18B20是美国DALLAS半导体公司继DS1820之后推出的一种改进型智能数字温度传感器。与传统的测温电阻相比,它能直接读出被测温度,并且可根据实际需要通过简单的编程实现9至12位的数字值输出。值得注意的是,DS18B20采用单总线协议,即与单片机接口仅需要占用一个I/O端口。也就是说该端口既可传输时钟,又能传输数据,而且数据传输是双向的。因而这种单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等优点。(1)DS18B20的性能特点如下:可编程分辨率为912位,对应的可分辨温度分别为0.5,0.25,0.125和0.0625;多个DS18B20可以并联在唯一的三线上,实现组网多点测温功能;电压范围为3.0至5.5V,在寄生电源方式下可由数据线供电;测温范围-55+125,在-10+85时精度为0.5;64位光刻ROM,内置产品序列号,方便多机挂接;独特的单线接口,仅需要一个端口引脚进行通信;用户可定义的非易失性温度报警设置;与单片机连接无须外部器件。 (2)DS1SB2O芯片封装结构如图26所示。图26 DS1SB20芯片封装结构图(3)DS18B2O引脚功能GND:电源地;DQ:单数据总线,数据的输入或输出引脚;VDD:接电源引脚,电源供电3.0至5.5V;NC:空引脚。(4)DS18B20的内部结构DS18B20的内部结构如图27所示。 图27 DS1SB20内部结构图2.2.2 DS18B20的工作原理及应用DS1SB2O的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。一个工作周期可分为两个部分,即温度检测和数据处理。(1)DS18B20共有三种形态的存储器资源,它们分别是:64位闪速ROM(光刻ROM)结构如表21所示。用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置,不由用户更改。表21 DS18B20ID编码8位校验CRC48位序列号8位工厂代码(10H)MSB LSBEEPROM非易失性记忆体用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B2O共有3位EEPROM,并在RAM都存在镜像,以方便用户操作。数据存储器RAM及EEPROM结构图如图28所示。图28 RAM及EEPROM结构图DS18B2O的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPROM,后者用于存储TH、TL值。高速暂存RAM用于内部计算和数据存取,数据在掉电后丢失。如上图所示,DS18B20共有9个字节RAM,每个字节为8位。下面对这8个字节做一下简单的介绍。第1、2个字节是温度转换后的数据信息,表22列出了温度数据在高速暂存器RAM的第1字节和第2字节中的存储格式。表22 存储格式位7 位6位5位4位3位2位1位0位15位14位13位12位11位10位9位8SSSSSDS18B20出厂时默认配置为12位,其中最高位为符号位,即温度值共有11,单片机在读数据时,一次会读2字节共16位,读完后将低11位的二进制数转化为十进制后再乘以0.0625便为所测的实际温度值。另外,还需要判断温度的正负。前5个数字为符号位,这5位同时变化,只需要判断十一位就可以了。前5位为1时,读取的温度为负值,测到的数值需要取反再加1再乘以0.0625才可以得到实际的温度。前5位是0时,读取的温度为正值,且温度也是正的,只要将测得的数值乘以0.0625即可得到实际的温度。第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像,分别存放温度上限值TH和温度下限值TL,在2上电复位时其值将被刷新。第5个字节是配置寄存器,是用户第3个EEPROM的镜像,它的内容用于确定温度值的数字转换分辨率,DS18B2O出厂时被设置为12位字节,第5个字节各位的定义如表2.3下:表23 各位的定义TMR1 R011111MSB LSB低5位全为l,TM是测试模式位,用于设置DS18B2O在工作模式是在测试模式,在DS18B20出厂时该位被设置为0,用户不要去改动。RI和R0决定温度转换的精度位数,即是来设置分辨率,如表24所示。表24 设置分辨率R1R0分辨率温度最大转换时间/ms009 位93.750110位187.51011位275.01112位750.0第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。(2)DS18B20芯片与单片机的接口设计本系统DS18B2O与单片机的连接方式采用外部电源的工作方式,由于单总线为开漏输出,所以DQ端与电源VCC间接4.7K的上拉电阻。连接方式如图29所示。图29 DS18B20与单片机的连接DQ引脚的I/O为数据输入/输出端,该引脚为漏极开路输出,因此需要接一个上拉电阻。(如果DS18B20未接电源,那么可以用这个上拉电阻对芯片进行供电;如果芯片已经接上电源,那么只需接一个上拉电阻就可以稳定工作)常态下呈高电平,VDD端接电源,GND接电路地。用DS18B20数字传感器实现温度采集,主要工作是系统程序的编制,而正确地编好程序的关键即是弄清DS18B20的操作约定。详细的程序将在下一章中介绍。2.3 测湿电路设计芯片SHT11是瑞士Scnsirion公司推出的一款数字温湿度传感器。出厂前,每个传感器都在极为精确的湿度室中做过精密校验,校准系数被编成相应的程序存入校准存储器中,在测量过程中可对相对湿度进行自动校准。2.3.1 SHT11的介绍SHT11温湿度传感器的特点如下:将温湿度传感器、信号放大调理、A/D转换、 总线接口全部集成于一块芯片上面;可给出全校准相对湿度及温度值输出;带有工业标准的总线数字输出接口;具有露点值计算输出功能;具有卓越的长期稳定性;湿度值输出分辨率为14位,温度值输出分辨率为12位,并可编程为12位和8位;小体积(7.65*5.80*23.5mm),可表面贴装;具有可靠的CRC数据传输校验功能;片内装载的校准系数可保证100%互换性;电源电压范围为2.4至5.5V;测量时为55uA,平均为2uA,休眠时为3uA。SHT11的实物及引脚图分别如图210、211所示。 图210 SHT11的实物图 图211 SHT11的引脚图引脚说明:1.VDD和GND(电源引脚)SHT11的供电电压为2.45.5V。传感器上电后,要等待11ms以越过“休眠”状态。在此期间无需发送任何指令。电源引脚(VDD,GND)之间可增加一个100nF的电容,用以去耦滤波。2. SCK(串行时钟输入)SCK用于单片机与SHT11之间的通讯同步。由于接口包含了完全静态逻辑,因此不存在最小SCK频率。3. DATA(串行数据)DATA三态门用于数据的读取。DATA在SCK时钟下降沿之后改变状态,并仅在SCK时钟上升沿有效。数据传输期间,在SCK时钟高电平时,DATA必须保持稳定。为避免信号冲突,微处理器应驱动DATA在低电平。需要一个外部的上拉电阻(例如:10k)将信号提拉至高电平上拉电阻通常已包含在微处理器的I/O电路中。SHT11的内部结构如图212所示。图212 SHT11的内部结构由图可知道,SHT11的内部结构主要包括:相对湿度传感器、温度传感器、放大器、14位A/D转换器、校准存储器(EEPROM)、随机存取存储器(RAM)、状态寄存器、循环冗余校验码(CRC)寄存器、两线串行接口、控制单元、加热器及低电压检测电路。对照内部结构可以知道该传感器的测量原理,首先利用温度和湿度传感器分别测得温度和相对湿度,经过放大器放大以后,分别送至A/D转换器进行模/数转换、校准和纠错,最后通过二线串行接口将温度和相对湿度的数据送给单片机。显然,在本设计中,SHT11只需要完成相对湿度的检测。2.3.2 SHT11的应用图213是单片机与SHT11的接口电路。由于单片机不具备总线接口,故采用单片机通过I/O口线来虚拟总线,并利用P3.6来虚拟数据线DATA,利用P3.7来虚拟时钟线,并在DATA端接入一只4.7K的上拉电阻。同时在VDD和GND端接一只100nF的电容,起到去耦滤波的作用。图213 SHT11与单片机的连接2.4 键盘电路设计键盘的分类多种多样:键盘按结构形式可分为编码键盘和非编码键盘;按组成形式可分为独立式、矩阵式和拨码式;按硬件接口可分为直接I/O端口和键盘接口芯片;按程序实现方法可分为中断方式、程序控制扫描方式、定时扫描方式和中断扫描方式。上文已经叙述,本设计采用的键盘方式为矩阵式非编码键盘,硬件接口方式为直接I/O端口,程序实现方法为中断扫描方式。2.4.1 非编码键盘的介绍在单片机中以使用非编码键盘最为常见,因为非编码键盘结构简单,成本低,键盘上的按键是按行列式的形式构成,在行与列的交点处对应一个键,也就是一个机械开关,按下时交点处的行线列线的接通,键功能启用。为了实现键盘上数据的输入和命令处理功能,每一个键都有一个处理子程序,每一个键和一个键码相对应,根据键码可以转到与其相对应的处理子程序中。下面分别从键盘的工作原理、按键识别以及消抖动三方面对键盘电路进行说明。(1)键盘工作原理键盘实际上就是一组按键,在单片机外围电路中,通常采用的按键都是机械弹性开关。当开关闭合时,线路导通,开关断开时,线路断开。本文按键采用的是机械弹性小按键,被按下时闭合,松手后自动断开。(2)按键检测单片机的I/O接口既可以作为输出也可以作为输入使用,当检测按键时用的就是它的输入功能。对于独立键盘,只需要把按键的一端接地,另一端与单片机的某个I/O口相连,开始时先赋给该I/O口一高电平,然后让单片机不断地检测该I/O口是否变为低电平。当按键闭合时,即相当于该I/O口的通过按键与地相连,变为低电平,程序一旦检测到I/O口变为低电平则说明按键被按下,然后执行相应的指令。对于矩阵键盘,其识别方法其实还是基于上面的方式,只是更加的复杂,具体的方法可以在软件部分进行说明。(3)按键消抖电信号通过机械触点闭合断开的电压过程如图214所示。图214 电压变化图由上图可以知道,理想波形与实际波形之间是有区别的,实际波形在按下和释放的瞬间都有抖动现象,抖动时间的长短和按键的机械特性有关,一般为510ms。通常手动按下键然后立即释放,这个动作中稳定闭合的时间超过20ms。因此单片机在检测键盘是否按下时都要加上去抖动操作,有专用的去抖动电路,也有专用的去抖动芯片。本文采用的是软件延时的方法解决抖动问题,没有添加多余的硬件电路。在判断是否有键按下时,先执行一个大于10ms的延时子函数再去判断按下的键是哪一个,从而消除按下抖动的影响;对于释放抖动,只需在接收一个按键后,经过一个延迟函数,再去检测有无按键按下,这样自然跳过了释放时间消除了释放抖动。需要说明的是本设计中的键盘并不考虑两个或两个以上的键按下去的情况,因此不会对这种情况进行处理,所以在键输入的过程中必需要做到一个接着一个的往下按,并且要在中间停顿一会的时间,这样才能实现按键的正确识别。(4)键盘接口的工作过程键盘接口的工作过程如下:1.判别键盘中是否有键按下。2.如果有键按下,判别是哪一个键按下,即按键检测。确定被按键的位置(即获得按键的特征值行、列的编码),这就叫读键值。3.键值译码。每个按键都有一定的功能定义,将读取的键值,解释为定义键的功能过程称为键值译码。4.去除按键抖动。读取的键值理应是一个稳定的读数,而实际上,按键从最初接通到稳定接通要经过数毫秒的抖动,按键释放时也同样存在抖动的问题,抖动会引起一次按键的多次读数,所以必须消除按键抖动。2.4.2 键盘的接口电路本文键盘采用的44矩阵式结构,将16个按键排成4行4列,第一行将每个按键的一端连接在一起构成行线,第一列的每个按键的另一端连接在一起构成列线,这样便一共有4行4列共8根线,将这8根线连接到单片机的8个I/O口上,通过程序扫描键盘就可以检测16个按键,接口电路图如下图所示。键盘与单片机的连接方法如图215所示。图215 键盘与单片机的连接键盘的行线和列线接到单片机的P0口,由于P0口做输出口使用的时候,为漏极开路输出(因为此时上拉场效应晶体管截止),必须接上拉电阻才能有高电平输出。键盘的列线上也加了上拉电阻,主要是增加上拉电流,使得其抗干扰能力加强,从而可以防止单片机的误动作。2.5 显示电路设计显示电路是为了给使用者提示而设置的。考虑到显示电路可读性和直观性,并且能使用户更方便的执行储存温湿度、显示温湿度等操作,在本次设计中将采用12864液晶显示屏,其中LCD的英文全称是Liquid Crystal Display,即为液态晶体显示。在市场上,常用的点阵型LCD有12232、12864、240320等。本章重点讲述12864点阵显示屏的基本应用。12864点阵显示屏有三种控制器,分别是KS0107、T6963C和ST7920。三种控制器的主要区别是:KS0107不带任何字库,T6963C带ASC码,ST7920带国家二级字库。本章节以带字库的ST7920控制器LCD为例,介绍汉字的基本显示方法。2.5.1 12864的概述带中文字库的12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864,内置8192个16*16点汉字,和128个16*8点ASCII字符集。每屏可显示4行8列共32个1616点阵的汉字,每个显示RAM可显示1个中文字符或2个168点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字(共32个汉字),也可完成图形显示。低电压低功耗是其又一显著特点。(1)12864的基本参数低电源电压VDD:+3.0+5.5V;显示分辨率:12864点;内置汉字字库,提供8192个1616点阵汉字(简繁体可选);内置 128个168点阵字符;2MHZ时钟频率;显示方式:STN、半透、正显;驱动方式:1/32DUTY,1/5BIAS;视角方向:6点;背光方式:侧部高亮白色LED,功耗仅为普通LED的1/51/10;通讯方式:串行、并口可选;内置DC-DC转换电路,无需外加负压;无需片选信号,简化软件设计;工作温度: 0 - +55,存储温度: -20-+60。(2)模块接口说明1、串行接口表25 串行接法管脚号名称LEVEL功能1VSS0V电源地2VDD+5V电源正3VO-对比度调整4CSH/L模组片选端,高电平有效5SIDH/L串行数据输入端6CLKH/L串行同步时钟:上升沿时读取SID数据15PSBL串行方式(见注释1)17/RESETH/L复位端,低电平有效(见注释2)19AVDD背光源电压+5V(见注释3)20KVSS背光源电压0V(见注释3)注释1:如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平;注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空;注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。2、并行接口表26 并行接法管脚号名称LEVEL功能1VSS0V电源地2VDD+5V电源正3VO-对比度调整4RS(CS)H/LRS=“H”,表示DB7DB0为显示数据;RS=“L”,表示DB7DB0为显示指令5R/W(SID)H/LR/W=“H”,E=“H”,数据被读到DB7DB0R/W=“L”,E=“HL”, DB7DB0的数据被写到IR或DR6E(SCLK)H/L使能信号7DB0H/L三态数据线8DB1H/L三态数据线9DB2H/L三态数据线10DB3H/L三态数据线11DB4H/L三态数据线12DB5H/L三态数据线13DB6H/L三态数据线14DB7H/L三态数据线15PSBH/LH:8位或4位并口方式,L:串口方式(见注释1)16NC-空脚17/RESETH/L复位端,低电平有效(见注释2)18VOUTLCD驱动电压输出端19AVDD背光源电压+5V(见注释3)20KVSS背光源电压0V(见注释3)虽然并行方式所需要的接口比较多,而且硬件电路也是比较复杂的,但是使用并行方式数据传输的比较快,可以同时进行传输,提高效率。还有,就是本设计中单片机的引脚还有空余。综合上述的原因,本设计采用并行方式。2.5.2 12864的应用说明(1)控制接口介绍数据/命令选择RS、读/写选择R/W的配合选择决定控制界面的4种模式,见表27。表27 模式列表RSR/W功能说明LLMPU写指令到指令暂存器(IR)LH读出忙标志(BF)及地址记数器(AC)的状态HLMPU写入数据到数据暂存器(DR)HHMPU从数据暂存器(DR)中读出数据使能信号E信号作用时,相对

温馨提示

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

评论

0/150

提交评论