文档视界 最新最全的文档下载
当前位置:文档视界 > 基于单片机饮水机温度控制系统的设计(1)

基于单片机饮水机温度控制系统的设计(1)

摘要

温度控制系统可以说是无所不在,热水器系统、空调系统、冰箱、电饭煲、电风扇等家电产品以至手持式高速高效的计算机和电子设备,均需要提供温度控制功能。本系统的设计可以用于热水器温度控制系统和饮水机等各种电器电路中。它以单片机AT80C51为核心,通过3个数码管显示温度和4个按键实现人机对话,使用单总线温度转换芯片DS18B20实时采集温度并通过数码管显示,并提供各种运行指示灯用来指示系统现在所处状态,如:温度设置、加热、停止加热等,整个系统通过四个按键来设置加热温度和控制运行模式。

关键词: 单片机;数码管显示;单总线;DS18B20

ABSTRACT

Temperature control system can be said to be ubiquitous, water heaters, air conditioning systems, refrigerators, rice cookers, electric fans and other home appliances as well as high-speed and efficient hand-held computers and electronic equipment are required to provide temperature control. The system design can be used for drinking water heater temperature control systems and other electrical circuits. AT80C51 microcontroller as the core of it, through the three temperature digital display and 4 keys to achieve man-machine dialogue, the use of single-chip bus temperature conversion temperature DS18B20 real-time acquisition and through the digital display and offers a variety of operating light to indicate system now live in the state, such as: temperature setting, heating, and stop heating, the entire system through the four buttons to set the heating temperature and control the operating mode.

key words:Microcontroller;digital display; single bus; DS18B20

目录

第1章前言 (1)

1.1研究的目的及意义 (1)

1.2 单片机的发展趋势 (1)

1.3主要研究的内容 (3)

第2章系统总体的设计 (5)

2.1硬件总体的设计 (5)

2.2软件总体的设计 (5)

第3章硬件系统设计 (7)

3.1硬件电路分析和设计报告 (7)

3.1.1单片机最小系统电路 (8)

3.1.2 键盘电路 (9)

3.1.3 数码管及指示灯显示电路 (10)

3.1.4 温度采集电路 (12)

3.1.5 电源电路 (17)

3.1.6 报警电路设计 (18)

3.1.7 加热管控制电路设计 (18)

3.2系统硬件总图 (20)

第4章系统总设计 (21)

4.1 主程序流程图 (21)

4.2各个模块的流程图 (22)

4.2.1 读取温度DS18B20模块的流程 (22)

4.2.2 键盘扫描处理流程 (25)

4.2.3 报警处理流程 (26)

第5章系统调试 (27)

5.1软件调试 (27)

5.2系统操作说明 (28)

5.3数据测试 (28)

5.4社会效益 (29)

5.5经济效益 (30)

第6章总结与展望 (31)

致谢 (32)

参考文献 (33)

附录系统源代码 (34)

第1章前言

1.1研究的目的及意义

温度控制是无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用,过低的温度或过高的温度都会使水资源失去应有的作用,从而造成水资源的巨大浪费。特别是在当前全球水资源极度缺乏的情况下,我们更应该掌握好对水温的控制,把身边的水资源好好地利用起来。所以我们必须能实时获取水温变化。对于超过适宜范围的温度能够报警]1[。同时,我们也希望在适宜温度范围内可以由人们根据实际情况加以改变。

传统的温度采集电路相当复杂,需要经过温度采集、信号放大、滤波、AD转换等一系列工作才能得到温度的数字量,并且这种方式不仅电路复杂,元器件个数多,而且线性度和准确度都不理想,抗干扰能力弱。现在常用的温度传感器芯片不但功率消耗低、准确率高,而且比传统的温度传感器有更好的线性表现,最重要的一点是使用方便]2[。

本次设计为一个基于单片机的饮水机的温度控制系统,该系统可以实时检测饮水机水箱的水温,并且可以通过数码管显示饮水机水箱水温度数,可以通过键盘或开关选择制冷或加热,可以人为设置水的温度的上下限]3[,如加热,当温度在设定的范围内时正常工作,当低于水温下限时控制

加热器加热;如制冷,当温度高于水温上限时控制压缩机制冷,当温度超过设定值时具有示警功能。

1.2 单片机的发展趋势

早期虽然有通用计算机改装而成的嵌入式计算机系统,而真正意义上的嵌入式系统始于单片机的出现[4]。因为单片机是专门为嵌入式应用设计的,单片机只能实现嵌入式应用。单片机能最好地满足嵌入式应用的环境要求,例如,芯片级的物理空间、大规模集成电路的低价位、良好的外围接口总线和突出控制功能的指令系统。

单片机有计算机系统内核,嵌入到电子系统中,为电子系统智能化奠定了基础。因此,当前单片机在电子系统中的广泛使用,使经典电子系统迅速过渡到智能化的现代电子系统[5]。

嵌入式系统源于计算机的嵌入式应用,早期嵌入式系统为通用计算机经改装后嵌入到对象体系中的各种电子系统,如舰船的自动驾驶仪,轮机监测系统等。嵌入式系统首先是一个计算机系统,其次它被嵌入到对象体系中、在对象体系中实现对象要求的数据采集、处理、状态显示、输出控制等功能,由于嵌入在对象体系中,嵌入式系统的计算机没有计算机的独立形式及功能。单片机完全是按照嵌入式系统要求设计的,因此单片机是最典型的嵌入式系统。早期的单片机

只是按嵌入式应用技术要求设计的计算机单芯片集成,故名单片机[5]。随后,单片机为满足嵌入式应用要求不断增强其控制功能与外围接口功能,尤其是突出控制功能,因此国际上已将单片机正名为微控制器(MCU,Microcontroller Unit)。

单片机是器件级计算机系统,它可以嵌入到任何对象体系中去,实现智能化控制。小到微型机械,如手表、助听器。集成器件级的低价位,低到几元、十几元,足以使单片机普及到许多民用家电、电子玩具中去。单片机构成的现代电子系统已深入到各家各户,正改变我们的生活,如家庭中的音响、电视机、洗衣机、微波炉、电话、防盗系统、空调机等。单片机革新了原有电子系统,如微波炉采用单片机控制后,可方便地进行时钟设置、程序记忆、功率控制;空调机采用单片机后不但遥控参数设置方便,运行状态自动变换,还可实现变频控制。目前许多家用电器如VCD、DVD只有单片机出现后才可能实现其功能。

目前电子元器件产业除了微处理器、嵌入式系统器件外,大多是围绕现代电子系统配套的元器件产业,例如满足人机交互用的按键,LED/LCD显示驱动、LED/LCD显示单元、语音集成器件等,满足数据采集通道要求的数字传感器、ADC、数据采集模块、信号调理模块等,满足伺服驱动控制的DAC、固体继电器、步进电机控制器、变频控制单元等,满足通信要求的各种总线驱动器、电平转换器等。

世界电子元器件在嵌入式系统带动下,沿着充分满足嵌入式应用的现代电子系统要求发展。这就使原来经典电子系统的天地愈来愈小。电子系统中的各类从业人员应尽早转向现代电子系统的康庄大道[7]。

若将经典电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。单片机应用系统的硬件结构给予电子系统“身躯”,单片机应用系统的应用程序赋予其“生命”[8]。例如,在设计智能化仪器显示器的显示功能时,可在开机时显示系统自检结果,未进入工作时显示各种待机状态,仪器运行时显示运行过程,工作结束后可显示当前结果、自检结果、原始数据、各种处理报表等。在无人值守时,可给定各种自动运行功能。

21世纪是全人类进入计算机时代的世纪,许多人不是在制造计算机便是在使用计算机。在使用计算机的人们中,只有从事嵌入式系统应用的人才真正地进入到计算机系统的内部软、硬件体系中,才能真正领会计算机的智能化本质并掌握智能化设计的知识。从学习单片机应用技术入手是当今培养计算机应用软、硬件技术人才的最佳道路之一。

独具魅力的单片机能使你体会到电脑的真谛,你可以用单片机亲自动手设计智能玩具,可以设计不同的应用程序实现不同的功能。既有硬件制作又有软件设计,既动脑、又动手。初级水平可开发智能玩具,用宏指令编程。中级水平可

开发一些智能控制器,如电脑鼠、智能车、各种遥控模型。高级水平可开发机器人,如机器人足球赛,开发工业控制单元,网络通信等,并用汇编语言或高级语言设计应用程序。围绕单片机及嵌入式系统形成的电子产业的未来,将会为电子爱好者提供广阔的天地,一个比当年无线电世界更广阔、更丰富、更持久、更具魅力的电子世界。投身到单片机世界来,将使你一生受益[9]。

1.3主要研究的内容

1.本系统上电后数码管显示当前测量温度,此时加热指示灯和保温指示灯均不点亮;若此时按“自动加热”键,则单片机自动将预加热温度设置为80℃并开始加热,送出一个加热信号,并点亮加热指示灯;若按“温度设置”键,则进入预加热温度设置界面,此时数码管闪烁显示预设置温度,此时通过按键“+”和“-”进行设置温度,预设置温度按“5”递增或递减,设置好温度后再按一次“温度设置”键确定,单片机保存预设置温度,并开始加热;

2.如果实测温度大于或等于预设置温度,则单片机发出停止加热信号并熄灭加热指示灯,点亮保温指示灯,且当超过预设温度时发出报警;

3.当温度下降到预设置温度以下5度时,单片机再次发出加热信号,同时熄灭保温指示灯,点亮加热指示灯,依

次循环控制;

4.完成加热管控制电路、报警电路设计,重点设计好临界点问题。

第2章系统总体的设计

2.1硬件总体的设计

设计并制作一个基于单片机的热水器温度控制系统的电路,其结构框图如图2.1:

基于单片机饮水机温度控制系统的设计(1)

图2.1 系统机构框图

硬件系统子模块:

1.单片机最小系统电路部分;

2.键盘扫描电路部分;

3.数码管温度显示和运行指示灯电路部分;

4.温度采集电路部分;

5.继电器控制部分;

6.报警部分。

2.2软件总体的设计

良好的设计方案可以减少软件设计的工作量,提高软件的通用性,扩展性和可读性。

本系统的设计方案和步骤如下:

1.根据需求按照系统的功能要求,逐级划分模块;

2.明确各模块之间的数据流传递关系,力求数据传递少,以增强各模块的独立性,便于软件编制和调试;

3.确定软件开发环境,选择设计语言,完成模块功能设计,并分别调试通过;

4.按照开发式软件设计结构,将各模块有机的结合起来,即成一个较完善的系统。

首先接通电源系统开始工作,系统开始工作后,通过按键设定温度值的上限值和下限值,确定按键将设定的温度值存储到指定的地址空间,温度传感器开始实时检测,调用显示子程序显示检测结果,调用比较当前显示温度值与开始设定的温度值比较,如果当前显示值低于设定值就通过继电器起动加热装置,直到达到设定值停止加热,之后进行保温,如果温度高于上限进行报警。

第3章硬件系统设计

3.1硬件电路分析和设计报告

本次设计主要思路是通过对单片机编程将由温度传感器DS18B20采集的温度外加驱动电路显示出来,包括对继电器的控制,进行升温,当温度达到上下限蜂鸣器进行报警。P1.7开关按钮是用于确认设定温度的,初始按下表示开始进入温度设定状态,然后通过P1.5和P1.6设置温度的升降,再次按下P1.7时,表示确认所设定的温度,然后转入升温或降温。P2.3所接的发光二极管用于表示加热状态,P2.5所接的发光二极管用于表示保温状态。P2.3接继电器。P3.1是温度信号线。整个电路都是通过软件控制实现设计要求。

AT80C51的管脚说明:

VCC:供电电压。本设计供电电压为+5V。

GND:接地。

P0口:P0口为一个8位漏极开路双向I/O口,每个管脚可吸收8个TTL门电流。当P1口的管脚第一次写“1”时,被定义为高阻输入。P0口能够作为外部程序数据存储器,它可以被定义为数据/地址的低八位。在Flash编程时,P0口作为原码输入口,当Flash进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,

P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入“1”后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1口作为低八位地址接收。

P2口:P2口为一个带内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被上拉电阻拉高,且作为输入。P2口的管脚被外部下拉为低电平时,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,不能八位。在给出地址“1”时,它利用内部上拉电阻,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在Flash编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。

RST:复位输入端。当振荡器复位器件时,要保持RST 脚两个机器周期的高电平时。

ALE:当访问外部存储器时,地址锁存于锁存地址的低位字节。在FLASH编程期间,该引脚用于输入编程脉冲。在平时,ALE端口以不变的频率周期输出正脉冲信号,此频率

为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而,要注意的是:每当其用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出,可将SFR8EH 地址置0。此时,ALE只有在执行MOVX,MOVC指令时ALE 才起作用。

PSEN:外部程序存储器的选通信号。在由外部程序存储器取指令期间,每个机器周期PSEN两次有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。

EA:EA功能为内外程序存储器选择控制端。当EA保持低电平时,单片机访问外部程序存储器。当EA端保持高电平时,单片机访问内部程序存储器。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入端。

XTAL2:来自反向振荡器的输出端。

3.1.1单片机最小系统电路

因为80C51单片机内部自带8K的ROM和256字节的RAM,因此不必构建单片机系统的扩展电路]10[。如图3.1,单片机最小系统有复位电路和振荡器电路。值得注意的一点是单片机的31脚VP

EA/必须接高电平,否则系统将不能运行。因为该脚不接时为低电平,单片机将直接读取外部程序存储器,而系统没有外部程序存储器,所以VP

EA/必须接VCC。在按键两端并联一个电解电容,滤除交流干扰,增加系统抗

干扰能力。

基于单片机饮水机温度控制系统的设计(1)

VCC

图3.1单片机最小系统图

3.1.2 键盘电路

键盘是单片机应用系统中的主要输入设备,单片机使用的键盘分为编码键盘和非编码键盘。编码键盘采用硬件线路来实现键盘的编码,每按下一个键,键盘能够自动生成按键代码,并有去抖功能。因此使用方便,但硬件较复杂。非编

码键盘仅仅提供键开关状态,由程序来识别闭合键,消除抖动,产生相应的代码,转入执行该键的功能程序。非编码键盘中键的数量较少,硬件简单,在单片机中应用非常广泛。

图为按键和AT80C51的接线图,检测仪共设有4个按键,每个按键由软件来决定其功能,4个按键功能分别为:

1.SW1:设定按键(设定按键)

2. SW2:加法按键(当前位加5)

3.SW3:减法按键(当前位减5)

4.SW4:退出设置键(系统初始化)

基于单片机饮水机温度控制系统的设计(1)

基于单片机饮水机温度控制系统的设计(1)

基于单片机饮水机温度控制系统的设计(1)

基于单片机饮水机温度控制系统的设计(1)

码管输入的段码都是一样的,为了使其分别显示不同的数

字,可采用动态显示的方式,即先只让最低位显示0(含点),经过一段延时,再只让次低位显示1,如此类推。由视觉暂留,只要我们的延时时间足够短,就能够使得数码的显示看起来非常的稳定清楚,过程如表3-1。

表3-1 数码管编码表

4.7k