基于51单片机的智能热水器控制系统_第1页
基于51单片机的智能热水器控制系统_第2页
基于51单片机的智能热水器控制系统_第3页
基于51单片机的智能热水器控制系统_第4页
基于51单片机的智能热水器控制系统_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、I / 25目 录摘要 IABSTRACTABSTRACTII引言 11 智能热水器控制系统的总体设计方案 11.1 方案的分析与选择 11.2 系统总体设计概述 21.3 各功能模块介绍 31.3.1 控制模块 31.3.2 显示模块 31.3.3 输入模块 51.3.4 其它模块 61.4 本章小结 82 硬件电路的设计与实现 82.1 单片机最小系统硬件电路设计 82.2 显示模块硬件电路设计 82.3 温度传感器 DS18B20 电路设计 92.4 电子式水位开关硬件电路设计 102.5 时钟芯片电路设计 102.6 声光报警电路设计 112.7 按键设置模块电路设计 112.8 电源

2、和开关模块设计 122.9 本章小结 123 热水器控制系统的软件设计与算法实现 123.1 软件总体流程图 133.2 显示模块程序设计 143.2.1 写命令子函数 143.2.2 写数据子函数 143.3 温度传感器模块程序设计 15II / 253.4 时钟芯片相关程序设计 163.5 按键设置程序设计 163.6 主程序和中断服务程序设计 173.7 本章小结 174 测试、总结与评价 174.1 软件平台仿真测试 174.2 面包板电路搭建测试 184.3 系统方案总结与评价 195 结束语 19参考文献 20致 21I / 25基于 51 单片机的智能热水器控制系统摘 要随着科技

3、的进步和人们生活水平的不断提高,热水器越来越普遍地走进千家万户,给人们的生活带来了极大的方便。同时,人们对热水器的智能化和安全性都提出了更高的要求。这就要求热水器具有一个智能控制系统,能够自动获取当前水温和水位信息,判断实际温度与预设温度关系,从而实现加热的自动控制。本文提出了一种基于 51 单片机的智能热水器控制系统的解决方案,该方案采用 DS18B20 单线数字温度传感器来对水温进行检测,使用 DS1302 时钟芯片实现计数和定时功能,同时加入了水位判断和报警设计。用户通过按键和显示屏来完成系统的参数设置,从而实现定时加热、自动恒温等功能。关键词:单片机,热水器,控制,DS18B20II

4、/ 25TheThe intelligentintelligent waterwater heaterheater controlcontrol systemsystem basedbased onon 5151 singlesingle chipchip microcomputermicrocomputerAbstractAbstractWith the progress of science and technology and the continuous improvement of peoples living standard, the water heater is more a

5、nd more widely into the thousands, has brought great convenience to peoples life.At the same time, people also hope that the water heater is not just simply by switch or button commands, to heat water, also can according to the people set the temperature of the automatic constant temperature, timing

6、, heating, automatic judgment function such as water level, the water heater of intelligence and security are put forward higher requirements.This requires a water heater has a intelligent control system, can automatically access to current information, water temperature and water level determine th

7、e actual temperature and the preset temperature relations, so as to realize the automatic control of heating.This paper puts forward a kind of intelligent water heater control system based on 51 single chip solution, the scheme adopts DS18B20 single line digital temperature sensor to test the water

8、temperature, using DS1302 clock chip realize counting and timing functions, at the same time joined the water judgment and alarm design.The user through the buttons and screen to complete the system parameter setting, so as to realize the function such as timing, III / 25automatic constant temperatu

9、re heating.Key Words:single chip microcomputer, water heater, control, DS18B201 / 25引言随着人们对生活质量的要求不断提高,热水器逐渐成为了城市居民生活的一个不可或缺的东西。经过多年的发展和技术积累,整个热水器行业也不断涌现出新的产品,热水器的种类也越来越多,从最初的燃气热水器一家独大,到现在的燃气热水器、电热水器、太阳能热水器等多种热水器都有一定的市场占有率。在热水器的使用效果上,功能也越来越丰富,使用更加人性化,甚至结合最新的智能家居和物联网理念,智能化程度大大提高,给人们的生活带来了极大的方便。现在的热水器

10、向着安全、节能、稳定、高效、人性化的方向快速发展着。单片机是一种微控制器,体积小、功耗低、通过编程和外围电路设计,可以完成多种智能控制任务。随着单片机技术的迅速发展,越来越多的家用电器采用各种型号的单片机为控制核心,来完成和人类的交互,并通过相应的程序和部运算,实现一些智能化的控制,使家用电器的操作更加人性化,控制更加智能化。在热水器中,也广泛采用了单片机作为控制核心,通过相应的温度传感器,在热水器的温度控制上达到了更高的精度,完成了从最初的旋钮调节逐渐向数字化调节方向转变。同时,通过不同的传感器,由单片机控制并指示热水器的各种工作状态,在发生缺水、水温过热等情况时与时向用户给出声光报警,从而

11、防止发生意外,保障了用户的安全。本文所提出的智能热水器控制系统,以 51 系列单片机为控制核心,通过温度传感器、水位传感器感知热水器状态,并通过按键、显示屏和用户进行人机交互,实现了定时加热、自动恒温的功能,同时也有过热、缺水的报警设计,给用户带来方便。本设计具有成本低、实用性强、温度控制精度高的特点。1 智能热水器控制系统的总体设计方案本设计所提到的智能热水器控制系统主要是实现对温度的自动控制、定时加热控制和智能报警的功能,因此,智能热水器控制系统主要分为控制模块、显示模块、信息输入模块、加热模块、声光报警模块等几部分构成。1.1 方案的分析与选择对于主控芯片,本方案选择最简单的 8 位 5

12、1 系列的单片机,性能可靠,成本低,完全可以满足本系统的要求。而且由于 51 系列的单片机在电子相关专业2 / 25中的基础性地位,对其使用和编程都比较熟练,可以极大缩短开发周期,更好地完成设计任务。对于显示模块,LED 液晶显示屏、LCD1602 字符型液晶、LCD12864 点阵型液晶三者都是简单的、小型的显示器件,均可完成显示任务。LED 液晶显示的容过于简单,LCD1284 更适合显示图像类信息,而 LCD1602 非常适合显示少量的、丰富的字符信息。因此,选择 LCD1602 字符型液晶。对于输入模块,分为用户信息输入和传感器信息输入。用户信息输入方面,使用按键进行输入要比旋钮更容易

13、控制,用户也更易于接受,通过设置相应的调节按键,可以十分精确地定位到用户所希望达到的温度。当然,按键也有机械按键、电容按键等许多不同的种类,因为本系统处于实验调试阶段,故选取最简单的机械按键。传感器信息输入分为两个部分,第一部分是温度信息输入,使用温度传感器,用于告诉单片机当前的水温,实现温度的自动控制;第二部分是水位信息输入,使用水位传感器,用来告诉单片机水量信息,达到缺水报警的目的。温度传感器一般有热敏电阻和数字式温度传感器 DS18B20 可供选择。热敏电阻的可靠性差,且输出的是模拟量,需要进行相应的 A/D 转换后才能输入,比较麻烦,而相比之下,数字式温度传感器测温围宽、以单线串行方式

14、与单片机进行通信,节约了单片机的 I/O 口资源,且直接输出数字量,外围电路简单,因此最符合要求。水位信息输入只需考虑是否是缺水状态,因此只要对是否缺水给出一个电平信息即可,直接封装一个断触电点,一端接地,当有水时,单片机对应端口被拉低,无水时端口电平被拉高,来完成是否缺水的判断即可。同时,为了实现精确的定时加热功能,引入专门的时钟芯片 DS1302 进行计时,为单片机提供日期和时间基准。为了保证使用者的安全,加入声光报警提示模块,在加热、缺水时给出提示。1.2 系统总体设计概述本系统采用 51 系列单片机为控制核心,以 DS18B20 单线数字式温度传感器获取温度信息,采用 DS1302 时

15、钟芯片为单片机提供日期基准,显示方面采用LCD1602 液晶显示屏,以机械按键的形式供用户输入,设置当前的系统时间、定时加热的开始时间、水温设定等,来完成整个控制器的控制工作。系统整体的结构框图如下图 1.1 所示。3 / 255V 电源模块1602 显示单片机与其最小系统与电源接口温度传感器模块水位传感器模块声光报警模块按键输入时钟电路图 1.1 系统整体框图1.3 各功能模块介绍要顺利完成整个系统的设计工作,就要对所采用的各个模块的元器件进行具体的选型,并通过元器件的数据手册、操作说明的资料,详细地了解各个元器件的性能、操作方法、硬件连接要求的容。1.3.1 控制模块本设计采用的主控芯是

16、51 系列的单片机处理器 STC89C52RC,这是一款采用了 CMOS 工艺进行生产的 8 位处理器,该处理器具有相当可靠的工作性能,正常工作的功耗极低,而且有着相当丰富的系统资源,片的程序存储空间达到了4K、具有 512 字节的 RAM 空间,可以满足大多数的程序要求。指令系统完全兼容传统的 8051 单片机核,有 2K+的 EEPROM 存储空间。要建立完整的控制模块,还要为单片机配置其最小系统的外围电路,主要包括晶振和复位电路,单片机才能正常的工作。1.3.2 显示模块本设计所采用的 LCD1602 液晶显示屏,是一种小型的、集成度很高的液晶显示屏,可以显示字母、数字、符号等,其特点是

17、功耗低、体积小、轻薄、模块化,而且由于其自带字符库,在显示方面的实现上只需要按照要求对其进行初始化、设定相关的显示位置和显示容即可,操作简单。作为一个集成化的显示模块,其相应的管脚的具体定义可以查阅操作手册获取,而与单片机的具体连接方式将在硬件设计部分详细介绍。如下图 1.2 所示为 LCD1602 的控制器接口的时序说明,在液晶的初始化、4 / 25读写操作的相关的编程中,要参考该时序图,结合单片机晶振的选取情况作出必要调整,只有正确的时序才能保证单片机给出正确的控制指令。图 1.2 字符型液晶 LCD1602 的读写操作时序图LCD1602 自带字符库,这就在很大程度上方便了用户的开发,同

18、时也节省了单片机的程序存储空间,不需要在程序中对字符的显示进行定义。如下图1.3 所示。图 1.3 字符型液晶 LCD1602 的字符库1.3.3 输入模块对于单片机而言,要对其进行一定是设置,就必须要有用户进行相关的指令输入,单片机要对热水器的热水温度状态和是否缺水进行感知,要有相关的传感器进行信号输入。输入模块分别为用户指令输入、温度数据输入和是否缺水的信号输入。指令输入由 4 个独立按键完成,温度输入由 DS18B20 来完成,是否缺水的信号由电子式水位开关提供。指令输入模块采用 4 个独立按键完成。独立按键的触发方式为低电平有效,在平时的系统开启状态下,单片机相应端口保持高电平状态,当

19、按键被按下,独立按键两端连通,然后接地,单片机的相应的连接端口的电平被地线拉低,从而能够被单片机捕捉到按键动作。4 个独立按键分别是设定键、键值增加、键值减小、确认这个 4 个功能定义,通过这 4 个按键,结合软件和算法编程,进行按键状态扫描,然后对相应的键值动作设定正确的响应逻辑,就能够为用户提供完整的参数设置功能。温度输入模块主要采用的是一种数字式集成单线温度传感器,型号为DS18B20。图 1.4 数字式单线温度传感器 DS18B20 封装与引脚图在 DS18B20 的芯片手册中,阅读单线传输协议的时序要求,如下图 1.5 所示。图 1.5DS18B20 的读写操作时序水位信号输入选择电

20、子式水位开关 BZ2401,供电电压围在 5V-24V,有三根5 / 25线,电源线、地线和信号线。该产品通过置芯片检测水位信号,由部芯片处理,当判断到有水时,芯片输出与电源电压一样的高电平,当判断到无水时,芯片输出 0V,产品正常供电后,与单片机通过数据线和地线连接。1.3.4 其它模块为了实现准确的定时功能,本系统采用了专门的时钟芯片 DS1302,来提供详细的日期和时间基准。同时,设置 3 个 LED 灯和蜂鸣器,组成其声光提示和报警模块。DS1302 是一款涓流充电时钟保持芯片,由 DALLAS 公司出品,可以通过简单的串口同单片机进行通信,芯片部有自己的独立时钟电路和一个 31 字节

21、的静态 RAM,能够向单片机提供详细的时钟信息,如日期年月日,时间时分秒等,对于每月的天数和闰年能够自动进行处理,保证日期记录的准确性。在硬件连接上,其使用三个数据线同单片机的相应端口进行连接,分别为复位、数据和串行时钟。其芯片正常工作的功率极低,在日期时间数据的保持和记录时消耗的功率不足 1mW。其封装形式和管脚定义如下图 1.6 所示。图 1.6DS1302 的封装和管脚定义在使用时,该芯片要外接 32.768KHz 的晶振,需要简单的外围电路。如下图 1.7 所示为其一种典型的应用电路。图 1.7 一种典型的 DS1302 应用电路图6 / 25声光报警模块所采用的 LED 灯和小型的蜂

22、鸣器就比较常见,电路特性也很容易掌握,在 LED 灯的使用时,要注意选择合适的颜色,同时要根据最大电流限制,加上合适的限流电阻,从而保护 LED 灯工作在正常的电压电流条件下。蜂鸣器的驱动无法靠单片机的端口直接完成,要使用相应型号的三极管进行放大,如 9012、8550 等型号,通过三极管驱动蜂鸣器,才能正常发声。1.4 本章小结本章对系统的总体方案进行了设计,同时详细确定了系统所应该具有的功能模块,对控制模块、显示模块、输入模块等模块的主要实现方案和元器件的选择方案进行了分析与比较,从而确定了系统所需要使用的各个元器件。同时,根据元器件的资料和数据手册,对主要元器件的硬件连接、使用和操作方法

23、进行了重点研究,为硬件电路的搭建和软件编程提供了基础。2 硬件电路的设计与实现2.1 单片机最小系统硬件电路设计单片机最小系统包括晶振、复位电路等。单片机部已经具有时钟震荡电路,因此,我们搭建单片机最小系统,只需要在其 XTAL1 和 XTAL2 两个引脚之间加入反馈电路,就可以让单片机得到时钟信号。一般的反馈电路就是石英晶体振荡器和两个 30uf 的旁路电容,电容值的大小是根据其晶振频率高低进行调整的。在单片机的最小系统的电路中,石英晶体振荡器的频率越高,单片机部时钟信号的周期就越短,单片机的指令执行速度就越快。本设计中在单片机时钟频率的设置方面采用 12MHz,同时对单片机的复位引脚设置相

24、应的复位按键,以供用户在必要的时候对单片机进行重启操作。对于本系统的各个传感器接口,也要进行引出,以供各个传感器、电源、数据线接口使用。最小系统可以在万用板上手工搭建,也可以直接使用 PCB 板上焊接好的成品模块,其硬件原理图如下图 2.1 所示。7 / 25图 2.1 单片机最小系统与其接口电路设计2.2 显示模块硬件电路设计本设计选用字符型液晶 LCD1602 为显示器件,将 LCD1602 的数据引脚都接入单片机的 P0 端口,即 P0.0P0.7 分别对应地和 1602 显示屏的 8 根数据线DB0DB7 相连接。如图 2.2 所示,特殊功能端 RS、RW、E 通过网络标号,分别接 P

25、1.0,P1.1 和 P1.2。模块的 VEE 端可以调节显示模块显示字符的亮度和对比度,在实际电路中采用 10K 欧姆蓝白卧式可调电阻 102,通过拧动,可以改变显示字符的效果。图 2.2 显示模块与其接口电路设计2.3 温度传感器 DS18B20 电路设计8 / 25DS18B20 温度传感器与单片机的连接比较简单,直接将其数据线连接到单片机的 P2.1 端口上,即网络标号 DQ,电源和地线也连接到单片机主板上,同时数据线用电源电压通过 4.7K 的电阻上拉。图 2.3 温度传感器与其接口电路设计2.4 电子式水位开关硬件电路设计缺水判断由电子式水位开关完成,有水时输出高电平,无水时输出低

26、电平。高电平等于电源电压,因此其供电选择为 5V,数据线和地线接入单片机主板,如下图 2.4 所示,网络标号 WATER 对应单片机的 P2.2 端口。图 2.4 电子式水位开关接口电路设计2.5 时钟芯片电路设计时钟芯片 DS1302 的 RST、SCLK 和 I/O 三个端口与单片机相连,进行数据交换,如下图 2.5 所示,网络标号分别为 RST、SCK 和 IO,分别与单片机的P3.7、P3.5 和 P3.6 相连,实现与单片机的通信。通过参考 DS1302 时钟芯片的经典电路设计方案,设计本系统所需要电路结构。DS1302 具有涓流充电功能,可以设置双电源,其中 VCC1 为备用电源,

27、在电路中另外引出,接一块型号为9 / 25CR2302 的纽扣电池。VCC2 在主板上直接取电。在 X1 和 X2 两个引脚之间接入32.768KHz 的晶振,为芯片提供基本时钟信号。图 2.5 时钟芯片电路设计2.6 声光报警电路设计报警电路分为灯光报警和声音报警,用于对系统的各种需要报警的状态进行响应,并通过声音和灯光对用户进行提示。如下图 2.6 所示为声音报警模块电路设计,蜂鸣器使用与单片机一样的+5V电源,使用三极管 9013 进行控制,集电极接单片机端口,网络标号为 BEEP 对应单片机的 P2.0 端口。图 2.6 蜂鸣器电路设计灯光报警和提示选用高亮度高寿命的 LED 灯,共阳

28、极接法,单片机给出低电平点亮。设置 3 个 LED 灯,串接 510 欧姆电阻,D1 用于指示加热状态;D2 用来指示水位状态;D3 用来指示温度过热状态。这三个灯分别接单片机的端口P2.5、P2.4 和 P2.3 来完成相关的功能。10 / 25图 2.7 指示灯电路设计2.7 按键设置模块电路设计本系统的时钟设置、温度设置都需要通过按键来完成,采用 4 个独立按键的设计,一端接地,按下后将单片机的端口电平拉低,由单片机完成按键动作的捕捉。功能定义为设置键、确定键、值增加键和值减小键,网络标号分别为SELT、ENTER、UP 和 DOWN,对应接单片机的 P1.3、P1.4、P1.5 和 P

29、1.6 四个端口。图 2.8 按键模块电路设计2.8 电源和开关模块设计本系统的外接+5V 电源工作,为了控制方便,加入电源总开关,同时使用一个 LED 灯指示电源状态。在电源与地线之间并联两个滤波电容,滤除电源纹波。11 / 25图 2.9 电源模块电路设计2.9 本章小结本章主要在 PROTEL99SE 的软件环境下完成了电路硬件原理图的设计,通过对主要元器件电气特性的研究,合理、规、安全地构建了系统功能实现的硬件平台。3 热水器控制系统的软件设计与算法实现软件设计是整个系统的灵魂,优秀、可靠的软件设计能够充分发挥硬件的资源,并能够出色完成系统的预期功能。软件系统主要的设计思路如下:1、在

30、系统打开后,显示当前的系统时间信息和水温信息,如果水温低于设定值则开始加热;如果水温高于设定值或状态为缺水就进行声光报警。2、响应按键操作。当用户按下设置键时,进入功能选择菜单,功能选择菜单有三个,第一个是设置时间,第二个是设置定时加热开始的时间和结束的时间,第三个是设置温度围的上限和下限。在软件程序的设计中,充分体现了模块化的设计思想,整个软件系统主要包括了整体初始化函数、LCD1602 基础函数、DS18B20 基础函数、DS1302 基础函数、按键扫描设置策略基础函数几个大的部分,然后在主程序中进行相关模块的函数调用,如传感器状态读取、温度智能判断、报警处理策略、键盘扫描等,完成系统所预

31、期的操作功能。3.1 软件总体流程图12 / 25开始LCD 显示屏、1302 时钟芯片、定时器、独立按键、温度传感器、各种端口初始化正常模式?调用时间显示函数0.5s 时间到?调用温度读取函数温度显示函数调用报警模块函数调用按键扫描函数NNYY图 3.1 软件系统总体流程图3.2 显示模块程序设计显示模块程序主要包括初始化、写命令子函数、写数据子函数都是其重要的基础功能函数,因此都要在软件系统程序设计的底层库中进行包含。LCD 设置参数与端口定义sbit rs=P10; /LCD1602sbit rw=P11; /LCD1602sbit e=P12; /LCD16023.2.1 写命令子函数

32、1602 的操作需要对其进行命令输入,它有自己的指令库。而对于这些命令的写入,需13 / 25要编写特定的写命令子函数。void write_(uchar ) /写指令函数rw=0;delay1(5);rs=0;delay1(5);e=1;delay1(5);P0=;delay1(5);e=0;delay1(5);其中 delay1 为编写的延时函数,如下所示:void delay1(uint z) /延时函数uint x,y;for(x=z;x0;x-)for(y=10;y0;y-);3.2.2 写数据子函数对命令进行写入之后,紧接着就要进行所要显示的字符数据的输入,通过写数据子函数来完成。

33、void write_dat(uchar dat) rs=1;/选择写数据 rw=0; P0=dat; e=1; delay(5);/无延时不能正常工作 e=0;根据以上两个基本函数,来编写 1602 的初始化函数、显示字符串函数、显示两位十进14 / 25制数字函数,完成在时间设定、温度设定的过程中进行的各种显示,如以下为时间显示部分的程序代码。void Time_Display(void)read_rtc();Date_dispaly(0 x80+0 x40+12,time_data6); /显示秒Date_dispaly(0 x80+0 x40+9,time_data5); /显示分Da

34、te_dispaly(0 x80+0 x40+6,time_data4); /显示时Date_dispaly(0 x80+14,time_data3); /显示日Date_dispaly(0 x80+11,time_data2); /显示月Week_dispaly(0 x80+0 x40+15,time_data1); /显示周Date_dispaly(0 x80+8,time_data0); /显示年 /Year/10*16+Year%10Hour=time_data4/16*10+time_data4%16;Minute=time_data5/16*10+time_data5%16;Sec

35、ond=time_data6/16*10+time_data6%16;除此之外,还要编写在进行时间设定过程中和在温度设定过程中要显示的容,结合用户的输入,设置合适的光标显示处理。3.3 温度传感器模块程序设计温度传感器的端口定义在 P2.1 端口。sbit DQ = P21;在温度传感器的基础函数设计里边,主要是进行温度获取和处理,读取温度的函数包括读整数部分和读小数部分,通过对 DS18B20 的数据格式进行解析,编写合适的读取温度子函数。主要基础函数设计包括模块初始化函数、单线串行传输协议延时函数、总线协议配置、字节数据发送、字节数据接收等多个部分。在主程序中对这些函数进行调用,配合 LC

36、D 显示函数,来完成对温度显示、判断等多种功能。3.4 时钟芯片相关程序设计时钟芯片的数据传输定义在单片机的 P3.5、P3.6 和 P3.7 这三个端口。sbit sck=P35; /时钟端口sbit io=P36; /时钟端口15 / 25sbit rst=P37; /时钟端口在 DS1302 相关的程序设计中,主要就是对芯片的写入数据和读取数据的函数进行编写,然后再编写相应的日期设定函数。使用 write_ds1302_byt 函数进行数据准备工作,使用 write_ds1302 函数对数据进行写入,使用 read_ds1302函数对时间数据进行读出,使用 set_rtc 函数对时间进行

37、设置。3.5 按键设置程序设计按键设置程序主要是按键扫描策略,因为按键扫描和定义逻辑比较复杂,不仅要识别按下按键的次数、哪个按键,还要配合 LCD 显示函数,对不同的键值和状态进行显示,并通过控制 LCD1602 的光标位置与开闭,提示用户进行设置。按键扫描和设置程序单独做成一个子函数,在主程序中循环调用。在进行按键编程操作中,因为使用的是机械按键,会存在抖动的现象,造成检测不准确或按下次数误判,一般采用软件去抖的方式,即通过延时的方式,保证单片机读取到的键值的准确性。按键定义为 4 个,分别是设置键、确认键、键值增加和键值减小。使用变量 SELT 表示设置键状态,同时设定一个全局变量 Sel

38、ect_num 记录设置键被按下的次数,不同的次数就对应着不同的设置功能,根据按键功能设定,设置键按下的次数为 1 时,光标指向设置时间功能,同时标记进入调节模式;当按下次数为 2 时,光标指向设置定时功能;当按下次数为 3 时,光标指向设置温度功能;当按下次数为 4 时,取消标记调节模式,并回到正常模式。使用变量 ENTER 表示确认键的状态,同时使用 Enter_num 记录该键被按下的次数。对于 Enter_num 的每一个取值,都要首先检查变量 Select_num 的值,来判断处于哪有功能设定的模式下,进而显示不同的容,并控制光标的移动。并根据不同功能模式下按下确认键的次数,判断系统

39、当前要修改的数据是哪一个,该不该结束调试,返回正常状态。通过设置键和确认键按下次数的排列组合,构建了系统在调试模式下的每一个具体的调试状态,也就是说 Select_num 和 Enter_num 值的组合就确定了当前调整的数据。对于键值增加和键值减小的按键,当这两个按键按下时,使用 if 条件判断Select_num 和 Enter_num 值的组合情况,执行相应的数据增加 1 或者是数据减小 1 的操作。由于键盘检测循环进行,连续按增加或减小按键可以起到连续调16 / 25节的效果。同时,注意每一个数据的围,防止设置超出围。3.6 主程序和中断服务程序设计主程序中主要包含各个功能函数的调用。在程序运行开始,对各个模块、端口和定时器初始化操作,然后进入循环结构。循环结构过标志位判断系统处于调节模式还是正常模式,并不断执行键盘扫描函数。正常模式下执行温度显示和时间显示,调用报警模块的子函数,进行温度、水位状态的检测和判断。在程序中设置了相应的判断标志位,通过这些变量值的判断来确定是否达到报警条件。水温低于设定温度则开启加热指示灯,高于设定温度则报警,如果缺水

温馨提示

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

评论

0/150

提交评论