




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于单片机的空调温度控制器设计学生姓名:学生学号:院(系): 电气信息工程学院 年级专业: 电子信息工程 指导教师:助理指导教师:二一五年五月48 摘 要摘 要随着国民经济的发展和人民生活水平的不断提高,空调已然成为了绝大多数家庭必备的家用电器。目前,虽然我国大量生产空调制冷产品,但由于我国人口众多,地区气候差异较大,再加上人们的使用不当,温度不能很好的控制在一定的范围内。夏天室内温度过低,冬天温度过高。这样不但造成电能的浪费,而且对人们正常生活带来不利的影响。本文主要从硬件和软件两方面介绍了单片机温度控制系统的设计。该系统以AT89C51单片机为核心,主要由温度检测电路、按键与显示电路、输
2、出控制电路等构成。软件由主程序、显示模块主程序、DS18B20主程序、LCD1602主程序组成。利用Proteus7.6进行了可行性的仿真,利用单片机开发板验证在实际电路中能起到的效果。本次设计通过温度传感器DS18B20对室内温度进行采样,将采集到温度信号传给单片机,再由单片机控制液晶1602显示。并比较擦剂到的温度值与设定的温度值是否一致。然后驱动空调机的加热或降温,从而实现对室内温度的调节。关键词 DS18B20,单片机 ,温度控制, 1602液晶显示 ABSTRACTABSTRACTWith the development of economy and the improve
3、ment of living standards, air conditioning has become the most necessary home appliances. At present, although a large number of air conditioning refrigeration products in China, but due to the large population in our country, regional differences in climate, coupled with the improper use of people,
4、 not good control within a certain range of temperature. Low indoor temperature in summer, winter temperature is too high. Such not only wastes the energy, and unfavorable influence on the normal life.This article mainly from two aspects of hardware and software, this paper introduces the single chi
5、p microcomputer temperature control system design. The system USES AT89C51 microcontroller as the core, mainly by the temperature detection circuit, buttons and display circuit, output control circuit, etc. Software consists of the main program, display module of the main program, DS18B20, LCD1602 m
6、ain program of the main program. Using single chip computer simulation, the feasibility of using Proteus7.6 development board verification can play an effect in the practical circuit. The design of indoor temperature by temperature sensor DS18B20 sample, will be collected temperature signals to sing
7、le chip microcomputer, again by single-chip microcomputer control liquid crystal display 1602. And compare the liniment to temperature and setting temperature value is consistent. Then drive air conditioning heating or cooling, so as to realize the indoor temperature regulation.Keywords DS18B20, mic
8、rocomputer, temperature control, 1602 liquid crystalI 目 录目 录摘 要IABSTRACTII1 绪论11.1 课题背景11.2 国内外研究现状、水平11.3 本课题的发展趋势21.4本课题的研究内容和任务21.4.1 本设计实现的技术指标21.4.2 本设计的创新点22 方案论证与选择32.1系统方案设计32.2系统方案选择33 系统的硬件设计53.1单片机的选择与其性能分析53.1.1 单片机概述53.1.2 单片机AT89C51的介绍53.2各模块电路设计73.2.1 时钟电路设计73.2.2 复位电路设计83.2.3 按键电路设计9
9、3.2.4 温度采集电路设计103.2.5 显示电路设计123.2.6 输出控制电路设计124 软件设计134.1 整体设计思想134.2 主要程序模块144.2.1 按键模块程序设计144.2.2 湿度采集模块程序设计154.2.3显示块程序设计175 仿真设计与结果分析205.1 程序仿真205.1.1 keil uVision4编程开发工具的简介205.1.2 软件仿真流程205.2 硬件电路仿真245.2.1 Proteus软件简介245.2.2 Proteus仿真流程图246 PCB设计306.1 PCB设计软件简介306.2 设计流程306.2.1 原理图设计流程306.2.2 P
10、CB设计流程316.2.3 新建一个新的工程327 组装与调试347.1系统组装347.2硬件调试347.3软件调试357.4软硬联调35结 论37参 考 文 献38附录A:空调温度控制器源程序代码39附录B:仿真原理图45附录C:PCB原理图46附录D:实物展示47致 谢481 1 绪论1 绪论1.1 课题背景随着国民经济的发展和人民生活水平的不断提高,空调已然成为了绝大多数家庭必备的家用电器,于此同时空调也成为家庭中的用电大户。然而这就与当今以节能环保和低碳的生活方式相违背。低碳生活不仅是当今世界的潮流,更是维护世界持续健康发展的必然,作为能耗大户的空调,节能减排迫在眉睫。空调作为家用电器
11、中的用电大户,应从设计、运行等多方面进行完善和提高,在不降低空调运行能力和舒适度的情况下,使空调更加地节能环保。目前,虽然我国大量生产空调制冷产品,但由于我国人口众多,地区气候差异较大,再加上人们的使用不当。温度不能很好的控制在一定的范围内,夏天室内温度过高,冬天温度过低。这样不但造成电能的浪费,而且对人们正常生活带来不利的影响,温度、湿度均达不到人们的要求。以前温度控制主要利用机械通风设备进行室内、外空气的交换来达到降低室内温度。通风设备的开启和关停,均是由人手动控制的,即由人们定时查看室内外的温度、湿度情况,按要求开关通风设备,这样人们的劳动强度大,可靠性差,而且消耗人们体力,劳累成本过高
12、。为此,我设计了一款基于单片机的空调温度控制系统。1.2 国内外研究现状、水平温度控制器是一种温度控制装置,它根据用户所需温度与设定温度之差值来控制中央空调末端之水阀(风阀)及风机,从而达到改变用户所需温度的目的。实现以上目的的方法理论上有很多,但目前业界主要有机械式温度控制器及智能电子式两大系列。普通的机械式温度控制器基是一个独立的度调节系统,主要由热敏电阻式温度检测器、手动开关、温度设置器和冷热切换开关构成。这种控制器的控制原理是根据温度传感器测得的当前温度与设定的温度值的比较结果进而产生双向控制信号,双向控制信号控制冷热水循环管路电动水阀的开关。第一代空调温控器主要是电气式产品,空调温度
13、控器的温度传感器采用双金属片或气动温包,通过“给定温度盘”调整预紧力来设定温度,风机三速开关和季节转换开关为泼档式机械开关。这类空调温控器产品普遍存在“温度设定分度值过粗”、“时间常数太大”、“机械开关易损坏”等问题13。第二代空调温控器为电子式产品,温度传感器采用热敏电阻或热电阻,部分产品的温度设定和风速开关通过触摸键和液晶显示屏实现人机交互界面,冷热切换自动完成,运算放大电路和开关电路实现双位调节。这类智能空调温控器产品改善了人机交互界面,解决了“温度设定分度值过粗”等问题,但仍存在“控制精度不高”、“时间常数大”、“操作较复杂”等问题13。1.3 本课题的发展趋势目前国内外生产厂家正在研
14、究开发第三代智能型室温空调温控器,应用新型控制模型和数控芯片实现智能控制。现在已有国内厂家生产出了智能型室温空调温控器,并已应用于实际工程12。1.4本课题的研究内容和任务设计一个AT89C51单片机作为核心控制器件空调温度控制器,通过温度传感器DS18B20对室内温度进行采样,将采集到温度信号传给单片机,再由单片机控制液晶1602显示。并比较擦剂到的温度值与设定的温度值是否一致。然后驱动空调机的加热或降温。1.4.1 本设计实现的技术指标输入直流电压5V控制精度:±1温度显示精度:0.5工作环境:-45-451.4.2 本设计的创新点本设计以DS18B20为温度传感器,其输出数字信
15、号可与单片机直接通信,减少A/D转换电路,提高了测量精度。以LCD1602作为显示器,人机交互性好。1 2 方案论证与选择2 方案论证与选择2.1系统方案设计方案一 该方案采用AT89C51单片机作为核心控制器件,通过温度传感器DS18B20对室内温度进行采样,将采集到温度信号传给单片机,再由单片机控制液晶1602显示。并比较擦剂到的温度值与设定的温度值是否一致。然后驱动空调机的加热或降温,从而实现对室内温度的调节。在整个设计中,涉及到温度检测电路,显示电路,键盘电路等电路,而单片机的控制程序是起到各个电路之间的相互协调,控制各个电路正常工作。其方框图如下:单 片 机键盘输入DS18B20液晶
16、显示复位电路晶振时序输出控制图 2.1 方案一框图方案二该方案采用AT89C51单片机作为核心控制器件,用它来处理各个 单元电路的工作及检测其运行情况。首先通过热敏电阻组成的温度采集电路对空气进行采样。将采集到的温度信号转换成数字信号,然后输出给单片机,再由单片机控制显示。并比较擦剂到的温度值与设定的温度值是否一致。然后驱动空调机的加热或降温。其原理结构图如图2.1所示:数码管输出控制8段译码8段译码温度采样电路A/D转换电路复位电路晶振时序键盘输入数码管键盘输入数码管数码管输出控制8段译码8段译码温度采样电路复位电路A/D转换电路晶振时序单 片 机图 2.2 方案二框图2.2系统方案选择方案
17、一:该方案通过温度传感器对空气进行温度采集,将采集到的温度信号输给单片机,再由单片机控制液晶显示,并比较采集到的温度与设定温度是否一致,然后驱动空调机的制冷或制热,从而实现对室内温度的调节。在整个设计中,涉及到温度检测电路、显示电路、键盘电路、输出控制电路等电路。优点:控制简单,思路简单,各个单元模块的相互连接比较简单,同时成本较低廉,用的所有元件都是常用元件,更具有实用性。方案二:该方案采用与方案一的设计思路是基本相同,主要区别在温度采集方式上。本方案采用AT89C51单片机作为核心控制器件,用它来处理各个单元电路的工作以及检测器运行情况。首先通过由热敏电阻构成的温度采集电路对室内温度进行采
18、集,将采集的温度进行A/D转换,使模拟的温度信号转变成数字的温度信号。然后输给单片机,再由单片机控制显示当前温度值和设定的温度值,并比较采集到的温度与设定温度是否一致,最后驱动空调机的制冷或制热,从而模拟空调温度控制单元的工作情况。优点:该方案易控制,系统原理比较简单,电路可靠。缺点:该方案中的温度采集是由热敏电阻构成的温度采集电路完成,精确度不高,且需要A/D转换电路使电路变复杂。容易产生误差,由于电路复杂从而导致设备使用寿命低等一系列问题。最终方案选择:选择方案一:控制简单,思路清晰,各个单元模块连接简单,同时成本低廉,所有元器件都是常用器件,更具实用性。3 3 系统的硬件设计3 系统的硬
19、件设计3.1单片机的选择与其性能分析3.1.1 单片机概述单片机又称单片微控制器,是一种集成电路芯片。它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。它体积小、重量轻、价格便宜,为学习、应用和开发提供了便利条件。单片机就是在一块半导体上集成了定时/计数器、时钟电路系统、中断系统、串并行I/O口、存储器(RAM、ROM)、CPU及总线的微型计算机。随着微电子技术和集成技术的进步,人们在单片机中还集成了A/D转换器、PWM、HSO等“片内外设”的特殊功能的部件。些这电路能在软件的控制下准确迅速高效地完成程序设计者事先规定的任务。单片机的出现是集成电路技术与微型计算机技术高速发
20、展的产物,它的发展与运用在工业自动化等领域带来了一场重大的工业革命和技术进步。由于单片机具有软件与硬件相结合、体积小、稳定可靠、可以很容易地嵌入到各种系统中的特点,所以单片机可以在各个领域得到广泛的运用。如工业检测与控制、通信、汽车电子设备、各种终端机计算机外部设备、仪器仪表、消费类电子产品等领域。3.1.2 单片机AT89C51的介绍AT89C51是美国ATMEL公司生产的一种带4K字节Flash存储器的低电压,高性能CMOS8位单片机。AT89C51是一种带2K字节闪存可编程、可擦除、只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。AT89C51可提供以下标准功能:4K
21、字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU工作,但允许RAM,定时/计数器,停止串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一硬件复位。AT89C51的管脚图如图3.1所示。图3.1 AT89C51管脚图AT89C51各引脚功能介绍如下:1.VCC:电源引脚,接+5V电源;2.GND:接地;3.P0口:8位,漏级开路双向I/O
22、口。当AT89C51外部存储器及I/O口接芯片时,P0口作为地址总线(低8位)及数据总线的时分复用端口。P0口也可以作为通用I/O口使用,但需要加上拉电阻,这时为准双向口。当作为通用I/O输入时,应先向端口输出锁存器写入1 。P0口可驱动8个LS型TTL负载。4.P1口:8位,准双向I/O口,具有内部上拉电阻。P1口是专为用户使用的准双向I/O口。当作为通用的I/O口输入时,应先向端口锁存写入1。P1口可驱动4个LS型TTL负载。5.P2口:8位,准双向I/O口,具有内部上拉电阻。P2口缓冲器可接收,输出4个TTL门电流,当P2口被写入“1”时,其管脚电位被内部上拉电阻拉高,且作为输入时,P2
23、口的管脚电位被外部拉低将电流输出,这是由于内部有上拉电阻的缘故。6.P3口:8位,准双向I/O口,具有内部上拉电阻,可接收输出4个TTL门电流。P3口还可提供第二功能。其第二功能定义见表2-1。7.RST:复位信号输入端,高电平有效。在此引脚加上持续时间大于2个机器周期的高电平,就可以使单片机复位。8.ALE / PROG :在单片机拓展外部RAM时,ALE用于控制把P0口到输出低位地址送到锁存器锁存起来,从而可以把数据和低位地址区分开来。ALE可为高电平也可为低电平,当ALE是高电平时,允许地址锁存信号,当访问外部存储器时,ALE信号负跳变将P0口上低8位地址信号送入锁存器;当ALE是低电平
24、时,P0口上的内容和锁存器输出一致。在没有访问外部存储器期间,ALE以1/6的振荡周期输出频率;当访问外部存储器时,以1/12的振荡周期输出频率。PROG为编程脉冲的输入端,单片机的内部程序存储器,它的作用是来存放用户需要执行的程序。9.PSEN:全称是程序存储器允许输出控制端。在读外部程序存储器时PSEN低电平有效,以实现外部程序存储器单元的读操作。内部ROM读取时,PSEN无动作。外部ROM读取时,在每个机器周期会动作两次。外部ROM读取时,两个PSEN脉冲被跳过不会输出。外接ROM时,与ROM的OE脚相接。10.EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内
25、部锁定为RESET;当EA端保持高电平时,访问内部ROM。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP);11.XTAL1:外接时钟引脚,片内振荡电路的输入端。表3.1 P3口的第二功能12.XTAL2:外接时钟引脚,片内振荡电路的输出端。引脚第二功能说明P3.0RXD串行输入口P3.1TXD串行输出口P3.2外部中断0 P3.3外部中断1 P3.4T0定时器/计数器0外部输入端P3.5T1定时器/计数器1外部输入端P3.6外部数据存储器写脉冲P3.7外部数据存储器读脉冲3.2各模块电路设计3.2.1 时钟电路设计 时钟电路产生AT89C51单片机工作时所必需的控制信号。AT8
26、9C51单的内部电路正是在时钟信号的控制下,严格地按时序执行指令工作。单片机执行的指令均是在CPU控制器的时序控制电路的控制下进行的,各种时序均与时钟周期有关。时钟周期:时钟周期是单片机时钟控制信号的最小时间单位。机器周期:CPU执行一个基本操作的时间,单片机的每12个时钟周期为一个机器周期。指令周期:指了周期是执行一条指令所需要的时间。AT89C51单片机各功能部件的运行都以时钟控制信号为基准,它们在时钟信号的控制下有条不紊、一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。1.
27、 内部时钟方式AT89C51内部有一个由于构成振荡器的高增益反向放大器,它的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体和微调电容,构成一个稳定的自激振荡器,如图3.2所示。晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。电路中的电容C1和C2的典型值通常选择为30pF。该电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体振荡频率的范围通常是在1.212MHz。晶体的频率越高,系统的时钟频率越高,单片机的运行速度也就越快。但反过来,运行速度快对存储器的速度要求就高,对印制电路板的工艺要求也越高
28、,即要求线间的寄生电容要小。晶体和电容应尽可能安装得与单片机机芯片靠近,以减少寄生电容,更好地保护振荡器稳定、可靠性。30pFC1XTAL2XTAL1AT89C51晶振30pFC2图3.2 AT89C51内部时钟方式电路2. 外部时钟方式外部时钟方式使用现成的外部振荡器产生的脉冲信号,常用于多片AT89C51单片机同时工作,以便于多片AT89C51单片机之间的同步,一般为低于12MHz的方波。外部时钟源直接接到XTAL1端,XTAL2悬空,其电路如图3.3所示。AT89C51外部振荡信号XTAL1悬空XTAL2GND图 3.3 AT89C51外部时钟方式电路根据查阅空调温度控制器的相关资料和电
29、路的相关知识,使用在本次设计中采用内部时钟方式,两个电容为30pF,晶振为12MHz。设计电路如图3.4所示。图 3.4 时钟电路3.2.2 复位电路设计 AT89C51进行复位时,PC初始化为0000H,使AT89C51单片机从程序存储器的0000H单元开始执行程序。除了进入系统的正常初始化之外,当程序运行出错(如程序“跑飞”)或操作错误使系统处于“锁死”状态时,也需要按复位键即RST脚为高电平,使AT89C51摆脱“跑飞”或“锁死”状态而重新启动程序。AT89C51的复位电路是通过外部电路实现的。复位引脚RST通过一个施密特触发器与复位电路相连,施密特触发器用来抑制噪声,在每个机器周期的S
30、5P2,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作是需要的信号。复位电路通常采用上电自动复位和按钮自动复位。最简单的上电自动复位如图3.5所示。对于CMOS型单片机,由于在RST引脚内部有一个下拉电阻,故将电阻R去掉,而将电容C选为10uF。上电的瞬间,RST端的电位与Vcc相同,随着外部复位电路充电电流的减小,RST的电位下降,只要RST保持10ms以上的高电平就能使单片机复位。复位电路中的电容和电阻可以根据实际需要来进行调整。当设计的电路需要单片机的振荡频率为6MHz时,电容就要选择22uF的,电阻选用10 K的,就能够实现单片机的自动复位。+5VRSTC+AT89
31、C51R图 3.5 上电复位电路图按键手动电平复位是通过RST端经电阻与电源Vcc接通来实现的,如图3.6所示。+5V+10uFRSTAT89C51R2K图 3.6 按键电平复位电路 根据查阅空调温温度控制器的相关资料和本次设计的实际需要,决定本设计采用按键电平复位电路。同时选用的晶振为12MHz,所以根据经验可将电阻值分别定为10 K和8.2 K,电容值为10F,这样,就能保证复位信号高电平持续时间大于2 个机器周期,即可使系统的复位。设计电路如图3.7所示。 图 3.7 复位电路图3.2.3 按键电路设计按键在单片机应用系统中,除了完成基本的功能外,另一个重要的任务是设计优秀的人机交互接口
32、。人机交互接口用来实现控制命令及数据的输入,并且将系统运行信息反映给操作者。键盘以按键的形式来设置控制功能或数据,是人机交互的最基本途径。在键盘中,按键输入状态本质上是一个开关量。常用的两种键盘:独立式按键和矩阵式按键。其中独立式按键比较简单,适合于较少开关量的输入场合;而矩阵式键盘则适合输入命令或者数据较多、功能复杂的系统。采用矩阵式键盘结构可以最大限度地节省单片机的引脚资源,因此应用十分广泛。按键为常开型按钮开关,可分为两大类:一类是触点式开关按键,另一类是无触点式开关按键。由于前者价格低廉,后者使用时间长。在本次实验中使用触点式开关。按键输入电路由按键K1 和K2 组成。这2 个按键分别
33、连接到单片机的输入引脚P3.2和P3.3。键K1 为“升温”控制键;K2 为“降温”控制键,分别对应于2 个LED灯。按键用于设置两位温度值,而两个LED灯则由于模拟空调机的制冷和制热。当按键K1、K2 按下时,相应的单片机输入引脚P32 和P33 只能监测到低电平。因为P2 和P33 只高电平有效所以需要要将按键与一个反相器串接后再与单片机相连。按键电路设计如图3.8所示。K1 K2图 3.8 按键电路设计3.2.4 温度采集电路设计本系统的温度测量采用DS18B20来实现。DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比
34、,它能直接读出被测温度,并且可根据实际要求通过简单的编程实912位的数字值读数方式。DS18B20是第一个采用“一总线”接口的温度传感器。它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理。DS18B20的性能及特点如下:l 采用单总线的接口方式与单片机相连。仅需一条线即可实现单片机与DS18B20的双向通信。单总线具有经济性好,抗干扰能力强,能够在环境恶劣的测控现场进行温度测量,使用十分的简单方便。使用者可以用多个DS18B20组成传感器网络,为人们带来了全新的测量系统概念。l 温度测量的范围宽,温度测量的精确度很高。DS18B20的处
35、理范围为-55+125,在范围-10+85内,精度为±0.5。l 用DS18B20组成才温度测量电路简单,在使用中只需加一个上拉电阻。l 可以实现多点组网功能,多个DS18B20可以并联在单总线上,实现多点测温。l DS18B20具有多种供电方式。它可以通过内部寄生电路从数据线上获取电源,即寄生电源供电方式;也可以由单片机VDD供电,但要加上拉电阻,即外部电源供电方式。l 测量参数可配置。DS18B20的测量辨率在可通过程序设定为912位。在9位分辨率时,最多可以在93.75ms内把所测得的温度值转换为数字,12位分辨率时最多可以在750ms内把所测得的温度值转换为数字,速度快。l
36、测量结果直接输出数字温度信号,不需要外加A/D转换器,同时还可以传送循环冗余校验码,有非常强的抗干扰能力。l 负压保护特性。当正负极接反时,传感器不会被烧毁,但是会影响传感器的正常工作。l 掉电保护功能。DS18B20内部含有EEPROM,在系统掉电以后,它仍可保存分辨率及报警温度的设定值。DS18B20有两种封装:三角PR-35直插式(用的最多、最普遍的封装)如图3.9所示。在本次设计中采用三角SOSI直插式DS18B20。图 3.9 DS18B20的两种封装DS18B20的三角PR-35直插式引脚定义如表3.2所示:表3.2 DS18B02引脚定义是引脚定义GND电源负极DQ信号输入输出V
37、DD电源正极NC空引脚定义GND电源负极DQ信号输入输出VDD电源正极NC空温度检测系统原理图如图3.10所示。采用外接电源供电方式。为保证在有效的DS18B20时钟周期内提供足够的电流,用一个电阻和单片机的一个I/O口来完成对DS18B20总线的上拉。当DS18B20处于写存储操作和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间最大为10微秒。采用外接电源供电方式时Vcc接外部电源,GND接地,I/O与单片机I/O口相连。在本次设计中采用单个DS18B20测室内温度,并把它直接接于单片机的I/O口相连,将测得的温度值送入CPU与键盘输入的设定值竞选比较,然后通过CPU来控制负载电路
38、的工作。CPU对DS18B20的访问流程是:先对DS18B20进行初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20的每一步操作都要严格遵循工作时序和通信协议。图 3.10 温度测量电路DS18B20 虽然具有测温系统简单、测量精度高、连接方便、占用I/O口少等优点,但在实际应用中也应注意以下几方面的问题:1. DS18B20 从测温结束到将温度值转换成数字量并不是瞬间完成的,所以DS18B20需要一定的转换时间,在编写程序时必须考虑到这一点,不然会出现温度测量错误的现象。2. 在实际应用电路中,应使DS18B20的供电电源电压保持在5V 左右,如果电压过低,就会使D
39、S18B20的测量精度降低。3. 较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。4. DS18B20的单总线上可以挂多个DS18B20,但是在相关的资料中并没有说明可以挂多少个的问题,这就容易使人误认为可以任意挂多个DS18B20,而经过实践证明事实并非如此,当DS18B20的单总线上所挂超过8个时,就会出现单片机不能驱动DS18B20的问题,当组建多点测温系统设计时必须要注意这一问题。3.2.5 显示电路设计显示器是单片机常用的功能单元之一,显示器的主要功能是为单片
40、机系统使用者提供必要的单片机工作信息,或者提供工作状态的提示信息,显示器的工作是由单片机通过显示接口驱动的。以往的测控仪器的显示装置大多采用LED数码管,这种显示器显示的信息量小、人机交互性差、形式单一。而液晶显示器具有功耗低、质量小及可编程驱动等特有优点。液晶显示器不仅可以显示数字,字符而且能显示文字和图像,人机交互界面更加友好。本系统的显示部分选用LCD1602液晶显示器,该液晶为5V电压驱动,带背光功能,可通过一个滑动变阻器进行调节,可显示两行,每行有16个字符。但是不能显示汉字,内置有128个字符的ASCII字符集字库。只有并行接口,无串行接口。LCD1602液晶显示器功耗低、体积小、
41、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。LCD1602型液晶接口说明如表3.3所示:表3.3 1602液晶接口信号说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据口2VD电源正极10D3数据口3VO晶显示器对比度调整11D4数据口4RS数据/命令选择端12D5数据口5R/读写选择端13D6数据口6E使能信号14D7数据口7D0数据口15BLA背光电源正极8D1数据口16BLK背光电源负极本次设计中LCD1602接口说明如下:(1)液晶1,2端为电源;15,16为背光电源。(2)液晶3端为液晶对比度调节端,通过一个10千欧姆的滑动变阻器然后接在地来调节LCD160
42、2的对比度。第一次使用的时候,液晶上在通电的状态下,调节滑动变阻器直至液晶的第一行显示出黑色小格为止。(3)液晶4端为向液晶控制器写数据/写命令选择端,接单片机的P2.5口。(4)液晶5端为读/写选择段,因为我们不从液晶读取任何数据,只向其写入命令和显示数据,因此始终选择为写状态。(5)液晶6端为使能信号,是操作时必需的信号,接单片机的P2.4口。电路连接如图3.11所示:图 3.11 显示电路设计3.2.6 输出控制电路设计温度控制器的输出控制的是空调电机的运行,由于本次设计只是涉及控制器,为了能够更好地模拟出控制系统的效果。故采用一个红色LED灯和一个蓝色LED灯,分别来模拟空调的制热和制
43、冷。当前室温低于设定温度时,能够自动驱动加热系统工作,在当前室温高于设定温度时能够自动驱动制冷系统工作。本系统在复位后即置P26脚和P27脚为低电平,在当前室温低于设定温度时,通过置P27脚为高电平来驱动后级加热系统,点亮红色LED来代替加热系统;在当前室温高于设定温度时,通过置P26脚高电平来驱动后级制冷系统,点亮蓝色LED灯来代替制冷系统。当设定温度与当前室内温度相同时,输出电路无动作,即红色LED灯和蓝色LED灯均灭。如图3.12所示。图 3.12 输出控制电路15 4 软件设计4 软件设计4.1 整体设计思想一个完整的系统,除了必须的硬件条件外,还需要相应的软件配合才能完成其功能。因此
44、,这一部分内容将在硬件结构的基础上进行系统软件的设计,全面阐述各部分软件的设计思想和具体实现方法。整个软件采用模块化设计结构,并利用C51语言编制。整个程序由主程序、显示、按键、测量、控制等子程序模块组成。开 始NYY初始化子程序 是否高于设定温度显示温度执行测温程序序判断初始化是否成功YY制冷 是否低于设定温度制热 是否与设定温度相同无动作图4.1 主要程序框图4.2 主要程序模块4.2.1 按键模块程序设计键盘是人与微机打交道的主要设备,按键的读取容易引起错误动作。按键按下后,并不像理想的那样,马上由高电平变为低电平,而是有一个前沿抖动,大约为10ms。这段时间因为按键弹片的作用,会交替地
45、产生数个高低电平。接着是按键稳定的过程,此时就是要读取按键状态,该过程持续时间和按键按下的时间有关。前沿抖动和按键稳定两个过程,都是包含在按键按下的。当按键释放时,会产生一个延后的抖动,该抖动和前沿抖动类似,持续时间也为10ms左右,因为按键弹片的作用,会交替产生数个高低电平。整个过程如图所示。如果不采取妥善的处理方法,将会引起按键命令错误或重复执行。理想波形实际波形释放抖动按下抖动稳定闭合图4.2 按键过程分析图消除抖动的方法通常有两种。一种是通过软件的方法来实现的,其基本思想是:在软件检测到外部电路有按键按下时,该按键所对应的单片机的I/O口为低电平,这时就需要在这里加入一个延时10ms的
46、子程序,然后再确认该输出口是否任然是低电平,如果还是低电平,则认为按键按下。当按键松开时,该I/O由低电平变为高电平,这时也需要加入一个延时10ms的子程序,检测其确实为高电平,就说明按键已经松开。采取以上的措施可以消除两个抖动期,由于这种方法简单易实现,故在多数情况下都采用软件去抖动的方法。另外一种方法就是使用专用的键盘接口芯片,在芯片中有专门的去抖动硬件电路。相较于前一种方法,这种成本较高,硬件电路较为复杂,不经常使用。单片机检测按键的原理是:单片机的I/O口既可以作为输出端口,也可以作为输入端口。检测按键时是利用单片机的输入功能,把按键的一端接地,另一端和单片机的某个I/O口连接。首先给
47、单片机I/O端口赋值为高电平,然后让单片机不断检测该I/O口是否变为低电平。当按键按下时,该I/O端口会被拉低为低电平;当按键没有按下或按下后释放了,该I/O口电平为高电平。开 始扫描I/ON按键是否按下?Y延时20ms重新扫描按下的I/ON按键是否仍按下Y判断按键被按下图 4.3 按键程序框图4.2.2 湿度采集模块程序设计湿度检测是通过DS18B20来实现的。访问一个DS18B20必须经过初始化、ROM命令和功能命令着三个步奏,且缺一不可,否则DS18B20不会响应主机的任何命令。首先对DS18B20进行初始化,接着发送跳过ROM命令(CCH),然后再发一个启动温度转换命令(44H)。这时
48、温度数据已经被存到了暂存寄存器的第0、1地址。这时不能直接发送读暂存寄存器指令(BEH),因为DS18B20操作的3个步奏缺一不可。接着,再次对DS18B20进行初始化,如果DS18B20有应答,直接发送跳过ROM命令(CCH),然后发送一个读暂存寄存器指令(BEH)。这时,DS18B20的温度数据被取出s。图4.4为DS18B20的初始化时序图。前半部分为单片机操作,后半部分为DS18B20操作。初始化成功的标志就是能否读到DS18B20在后半部分的先低后高的操作时序。指令定义单片机控制DS18B20的相应引脚为DQ。初始化过程如下: 首先给DQ赋值为低电平。 延时600s,该时间范围是48
49、0960s 接着给DQ赋值高电平。 延时75s。超过规定延时的1560s,精确地检测到DS18B20的存在脉冲 这时可以检测DQ的高低电平,如果为低电平,则表示DQ存在,存在脉冲会持续60240s;为高电平则复位失败。 从第4步开始,延时最小480s。这时初始化过程结束。 最后给DQ赋值为高电平。控制器Tx“复位脉冲”最小值480s最大值960s控制器Rx最小值480s等待1560sDS18B20Tx60240sVCCGND图 4.4 DS18B20写时序图由图4.4可以看出,读时序的采样是在15s内完成的,使用在12s时读取数据就可以得到时序高低电平。 首先给DQ赋值为低电平; 延时时间3s
50、; 给DQ置高电平; 延时8s; 在12s时,读取总线上的电平; 延时60s; 最后把DQ置为高电平;控制器读“0”时间隙控制器读“0”时间隙>1s控制器采样15s30s15s15s图4.5 读数据时序图经过对DS18B20读时序图和写时序的分析后,先对DS18B20进行初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。根据DS18B20的工作时序和通信协议,设计的温度采集模块程序框图如图4.6所示:开始初始化DS18B20Y读DS18B20的序列号检测DS18B20存在发送跳过ROM指令温度转换I=1,等待初始化DS18B20读取温度数据图4.6 LCD1602显示程序框图
51、4.2.3显示块程序设计1602液晶的控制器内部带有80字节的RAM缓冲区,它内部RAM地址映射表如图4.7所示。当向00H0FH、40H4FH地址中的任何一个地址写入显示数据时,液晶都可以立即显示出来;当写入到10H27H或50H67H地址时,必须通过移屏指令将他们移到正常区域才能显示出来。LCD16字×2行000102030405060708090A0B0C0D0E0F10 27404142434445464748494A4B4C4D4E4F40 67图 4.7 1602内部RAM地址映射图20 5 仿真设计与结果分析从1602液晶的RAM地址映射表可以知道,每个显示的数据对应一
52、个地址。同时控制器内部设有一个数据地址指针,要显示数据就需要设置好数据指针。用户可以通过它们访问内部的全部80字节的RAM地址,数据指针如表所示。表 4.1 1602液晶的数据指针指针设置说 明80H+地址码(00H27H)显示第一行数据80H+地址码(40H67H)显示第二行数据1602液晶显示初始化过程 延时15ms,写指令18;。 延时5ms,写指令38H; 延时5ms,写指令38H,延时5ms;(以上都不检测忙信号)(以下都要检测忙信号) 写指令38H; 写指令08H(关闭显示); 写指令01H(显示清屏); 写指令06H(光标移动设置); 写指令0CH(显示开及光标设置)。对1602液晶状态进行忙状态检测时要用到读操作时序,如图4.8所示。Tsp1Thd1TpwTaT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋买卖按揭合同二零二五年
- 个人押车借款合同二零二五年
- 公交临时用地承租合同标准文本
- 音乐教学计划
- 设计人员绩效考核方案
- 项目实施服务合同协议书范本
- 北师大版一年级数学上册搭积木教学设计
- 海大生物反应工程原理大全
- 心内科消防应急预案
- 青岛版小学二年级数学上册教学计划
- 河南省绿色建筑评价表(建筑专业)
- 2022-2023学年山东省济南市市中区八年级(下)期中语文试卷-普通用卷
- 江铃系列维修手册
- 造价咨询公司组织机构及人员岗位职责
- 中国文化科举制度的等级
- GB/T 700-2006碳素结构钢
- 多发性骨髓瘤NCCN患者指南中文版2022
- GB/T 13441.4-2012机械振动与冲击人体暴露于全身振动的评价第4部分:振动和旋转运动对固定导轨运输系统中的乘客及乘务员舒适影响的评价指南
- 教科版科学五年级下册全册全套课件【最新版】
- 中绿的制度课
- 机械原理课程设计-抽油机机械系统设计说明书
评论
0/150
提交评论