饮水机温度智能控制系统_第1页
饮水机温度智能控制系统_第2页
饮水机温度智能控制系统_第3页
饮水机温度智能控制系统_第4页
饮水机温度智能控制系统_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上毕业论文“饮水机温度智能控制系统”论文题目: 饮水机温度智能控制系统 学生姓名: 张祥 学 号: 02 学院专业: 电信学院·10电气工程及其自动化 电子信箱: 指导教师: 邹云峰 2014年5月摘要本设计可以实现对水温监控和显示,经过改进可以用于饮水机的温度控制。本文用AT89C51单片机与DS18B20温度传感器实现了对水温的测量,并对数据用四位一体数码管进行显示,同时在达到输入目标温度时候发出报警。论文主要研究了:1 硬件方面:DS18B20温度传感器技术参数的检测以及他的相关模块电路;无线红外遥控电路的原理和信号传输;用于显示温度的数码管显示模块;用

2、于目标温度设定的按键输入模块;用于执行的加热模块。2 软件方面:主要研究温度传输和数码管显示电路。3:电路的仿真和实物的焊接制作。本文的特色在于控制温度的可设定,对不同温度要求的用户提供了很好的解决方案,对水温的反馈调节使得系统达到了很好的动态平衡。关键词:单片机,温度控制,DS18B20温度传感器 ABSTRACTThe design can achieve the water temperature monitoring and shows that the improved can be used for the temperature control of the water cool

3、er. This paper use STC89C52 MCU and DS18B20 temperature sensor for temperature measurement is achieved, and the data integration with four digital tube display, at the same time to enter the target temperature when issued a report to the police.Thesis mainly studied: 1 hardware aspects: DS18B20 temp

4、erature sensor technology parameters detection and his related module circuit; The principle of wireless infrared remote control circuit and signal transmission; Used to display temperature of digital tube display module; For the target temperature setting key input module; Used to perform heating m

5、odule. 2 software aspects: research temperature transmission and digital tube display circuit. 3: circuit simulation and real welding production.Characteristic of this paper is to control temperature can be set, the temperature requirements of different users provides a good solution, the water temp

6、erature feedback control to achieve the good dynamic balance system.KEY WORDS: Single chip computer, temperature control, DS18B20 temperature sensor目 录一、 绪论1.1 本课题研究的意义随着人类社会的不断进步,人类饮用水的供给方式也随其发生着变化,其过程为:河水井水自来水购买桶装水自制健康纯水。对此已形成了“喝纯净水,用自来水”的现代饮水新观念。我国现阶段的生活饮用水市场,实质上是桶装饮用水、自来水终端制水、管道直饮水三分天下的格局。其中桶装水以

7、85%的绝对优势占据着市场的主导地位,但是桶装水存在着“二次污染”问题以及假冒伪劣等现实问题。管道分质供水在美国等发达国家的普及率为30%左右,但由于工程浩大,近年内难有大的作为。自来水终端制水就产品来分,可以分为对自来水等进行初步过滤的净水器和各种大、中、小型的办公、家用纯水机,普及率在15%左右。可见现在仍普遍用桶装水,但是为避免反复烧开造成的“千滚水”产生的重金属对身体的危害,因而本文设计用单片机来控制水温使其保持在一个较适合的温度,以适于用户的即时饮用。1.2 国内外研究现状及存在的问题目前饮水机的控制方式可分为普通控制型、智能感应型和微电脑控制型三类。普通控制型饮水机其加热和制冷均自

8、动恒温控制,是目前用户使用最多的机型,并且其价位适中一般为首选。因而,本文在此基础上,做了一些改造使其更为人性化,比如说设置一定的保温温度使其一直处在这已设定温度左右,可供随时饮用,不必担心水温过烫的问题等1.3 本课题研究的内容和目标该设计可以实时检测饮水机水箱的水温,并且可以显示饮水机水箱水温度数,可以人为设置水的温度的保温值,当温度在设定的范围内时正常工作,当低于保温温度时控制加热器加热;当温度高于水温保温温度时继电器断开停止加热。另外,其温度检测范围为0100,精度±1,并且有一定的时间延迟本设计以常见的入门级单片机STC51单片机为核心,有键盘输入模块和无线输入模块进行控制

9、信号输入,温度传感器进行温度信号反馈,数码管显示电路对温度进行显示,以及蜂鸣器电路进行报警。通过相关硬件电路模块搭建一个平台。用c语言编写相关程序,从而实现设计的要求。研究的温控系统能用于简易家用饮水机的改造,实现饮水机的人性化智能管理,提高用电效率;实现自动、手动控制相兼容,以降低成本;通过反复试验和改进,最终达到可靠性、实用性、推广性较好的目标。1.4 本课题拟解决的关键问题1、温度检测与传输问题;2、人机交互问题(包括键盘、遥控和显示);3、光耦继电器的控制原理问题;二、系统总体设计方案 2.1 系统简介饮水机温度控制系统以调节饮水机温度为目的,其输入参数主要是水温信号和设置的设定温度。

10、输出信号主要是温度显示、声光报警和执行加热。工作时传感器将温度传给单片机,当水温低于设定温度时,单片机控制加热模块加热,当温度低于设定温度,继电器断开,加热停止。从而实现温度控制的目标。2.2 系统功能方框图 图2.2.2 系统功能原理图2.3 各模块功能的介绍 1、温度传输:以温度传感器实时反馈温度给中央处理器。2、人机交互:3.1 远程控制:远程设置饮水机设定温度。3.2 按键控制:按键设置饮水机设定温度。3.3 显示输出:显示系统设定温度和水温。4、中央控制:负责系统的集中控制。5、执行加热:控制继电器开合,从而控制加热器加热。2.4 硬件方案的选择2.4,1 Cpu方案的选择按MCU内

11、核可分为: MSP、ARM、MCS51等等。MSP430单片机功耗低,速度快,内置硬件乘法器,乘除法运算都为单周期指令,片内集成资源丰富,但是学习起来比较复杂。ARM单片机控制能力强,速度快,价格比较适中,但比51要贵些,可以加操作系统,但是对ARM接触较少,应用起来较为困难。AT89C51是一种带4K字节FLASH存储器)的低电压、高性能CMOS 8位微处理器。AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CP

12、U和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。本设计选择AT89C51 单片机作为主控部分。2.4,2 温度传感器方案的选择常用的温度传感器芯片有pt100、AD590、DS18B20等等。pt100温度传感器是一种将温度变量转换为可传送的标准化输出信号的仪表。主要用于工业过程温度参数的测量和控制。带传感器的变送器通常由两部分组成:传感器和信号转换器。传感器主要是热电偶或热电阻;信号转换器主要由测量单元、信号处理和转换单元组成(由于工业用热电阻和热电偶分度表

13、是标准化的,因此信号转换器作为独立产品时也称为变送器),有些变送器增加了显示单元,有些还具有现场总线功能。但温度电阻曲线为非线性,易干扰,且存在延时温度累计现象。AD590是美国ANALOG DEVICES公司的单片集成两端感温电流源,其输出电流与绝对温度成比例。在4 V至30 V电源电压范围内,该器件可充当一个高阻抗、恒流调节器,调节系数为1 µA/K。片内薄膜电阻经过激光调整,可用于校准器件,使该器件在298.2K (25°C)时输出298.2 µA电流。AD590适用于150°C以下、目前采用传统电气温度传感器的任何温度检测应用。低成本的单芯片集成

14、电路及无需支持电路的特点,成为许多温度测量应用的备选方案。应用AD590时,无需线性化电路、精密电压放大器、电阻测量电路和冷结补偿。属于特种环境的传感器。DALLAS(达拉斯)公司生产的DS18B20温度传感器,全数字温度转换及输出,先进的单总线数据通信,小体积,低硬件开消,干扰能力强,精度高,DS18B20优势明显。封装后的DS18B20可用于各种非极限温度场合,适用于各种狭小空间设备数字测温。综合考虑电路设计、测量精度、测量范围以及性价比,本设计采用DS81B20芯片。2.4,3 显示模块方案的选择一般的显示有LED8位数码管显示、LCD1602、lcd12864等等LED8位数码管显示,

15、显示分为动态显示和静态显示,虽然价格比较便宜,但是其外部电路比较复杂。LCD液晶显示器在单片机中应用一般有LCD1602液晶显示和LCD12864液晶显示。LCD1602液晶显示没有中文字库,而且显示的内容也较少。LCD12864液晶显示分为两种,带字库的和不带字库的,不带字库的液晶显示汉字的时候可以选择自己喜欢的字体。而带字库的液晶,只能显示GB2312字体,当然也可以显示其他的字体,不过是用图片的形式显示。考虑本设计显示内容较少,不需要显示图形,故选用LCD1602液晶显示作为显示部分。2.4,4 按键输入方案选择微机键盘主要有两种:一种是全编码键盘,另一种是非编码键盘。全编码键盘,其键码

16、全由硬件提供,但是这种方式硬件结构复杂,成本高。典型的编码矩阵式键盘接口设计。将I/O口线的一部分作为行线,另一部分作为列线,按键设置在行线和列线的交叉点上,这就构成了矩阵式键盘。矩阵式键盘中按键的数量可达行线数n乘以列线数m,如4行、4列的矩阵键盘的按键数可以达到4×4=16个。此类键盘在按键较多时,可以节省IO口线。非编码键盘,这种键盘多采用矩阵方式,利用软件识别键码及完成各种键功能处理。实现起来简单,典型的独立式按键是各按键相互独立的接通一条输入数据线,每个键的工作不会影响其它的I/0口。但占用I/O口多。考虑简化结构,降低成本,本系统中多采用非编码的独立式按键。2.4,5 电

17、源模块方案的选择电源供电部分可采取三端稳压电路进行电源转换、多节干电池串联供电。用市电220V,50Hz电源转换供电,而单片机以及其它芯片均采用直流5V和12V电压供电。故需要设计降压电路。三端稳压电路使用了由LM7805和LM7812构成的桥式稳压整流电路。该电路具有结构简单、调节方便、输出电压稳定性强、波纹电压和输出电流小的特点。但是,由于调整管始终工作在放大状态,自身功耗比较大,故三端稳压器的效率比较低,甚至仅为3040。为了解决散热问题,必须安装散热器,这必然增大整个电源设备的体积、重量和成本。干电池串联供电,由于单片机机芯片的工作电压都是5V,但是干电池一般都是每节1.5V,若想得到

18、要求的工作电压,需要几节干电池串联进行供电。所以还需再加上一个稳压集成电路就可达到要求的5V电压,稳压芯片选择LM7805芯片。 由于本设计使用需220v供电,综合考虑最终选电源转换作为电源供电部分。2.4,6 红外遥控方案的选择市场上红外芯片种类繁琐,BC7210、TC9012、ht6122等等BC7210比高公司拥有版权的红外遥控解码专用芯片。BC7210 可以完成目前国内市场上最常用的飞利浦RC5和NEC两种红外编码信号的解码。(支持的编码芯片包括:SAA3010, KS51900, uPD6121, uPD6122, TC9012, KS5410, MN6010, LC7426, PT

19、2210, PT2221, PT2222, SC6121, SC6122, SC9012等等) BC7210的输出可以设置为并行输出或者串行输出,串行输出方式兼容SPI和UART两种接口,可以轻松完成与各种MCU、PC机的接口。可以取代SAA3049等芯片。TC9012是一块用于东芝系列红外遥控系统中的专用发射集成电路,采用CMOS工艺制造。它可外接32个按键, 提供8种用户编码,另外还具有3种双重按键功能。TC9012的管脚设置和外围应用线路都进行了高度优化,以配合PCB的布图和低成本的要求ht6122 芯片是通用红外遥控发射集成电路,采用CMOS 工艺制造,最多可外接64个按键,并有三组双

20、重按键。封装形式为SOP-24和SOP-20。考虑应用方便,本设计用此方案。三、主要元器件介绍3.1 AT89C51单片机介绍AT89C51的主要特点:与MCS-51 兼容、4K字节可编程闪烁存储器 、寿命:1000写/擦循环数据保留时间:10年、全静态工作:0Hz-24Hz、三级程序存储器锁定、128×8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源 、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路。(a) (b)图3.1.1 单片机芯片实物引脚图管脚说明:VCC:供电电压、GND:接地。P0,P1,P2,P3:输入/输出端口。P3.0/RXD

21、:串行输入口、P3.1/TXD:串行输出口、P3.2 /INT0:外部中断0、P3.3 /INT1:外部中断1、P3.4/T0:计时器0外部输入、P3.5 T1:计时器1外部输入、P3.6 /WR:外部数据存储器写选通、P3.7 /RD:外部数据存储器读选通、P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可

22、用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RES

23、ET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入、XTAL2:来自反向振荡器的输出。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。3.2 LCD1602液晶显示介绍工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶

24、模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。3.3V或5V工作电压,对比度可调,内含复位电路,提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能,有80字节显示数据存储器DDRAM,内建有192个5X7点阵的字型的字符发生器CGROM,8个可由用户自定义的5X7的字符发生器CGRAM。表3.2.1 引脚说明引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使

25、用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或EN)端为使能(enable)端,写操作时,下降沿使能。读操作时,E高电平有效7-14DB0双向数据总线15BLA背光电源正极16BLK背光 电源负极表3.2.2寄存器选择控制表RSR/W操作说明00写入指令寄存器(清除屏等)01读busy flag(DB7),以及读取位址计数器(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据表3.2.3相关控制命令表控制命令

26、表 1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平) 指令1:清显示,指令码01H,光标复位到地址00H位置。 指令2:光标复位,光标返回到地址00H。 指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令5:光标或显示移位 S/C:高电平时移动显示的文字,

27、低电平时移动光标。 指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。 指令7:字符发生器RAM地址设置。 指令8:DDRAM地址设置。 指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令10:写数据。 指令11:读数据。表3.2.4 芯片时序表LCD1602液晶显示实物引脚图:(a) (b)图3.2.1 LCD1602液晶显示实物图3.3 DS18B20温度传感器介绍1: 技术性能描述、 独特的单线

28、接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。、测温范围 55+125,固有测温误差(注意,不是分辨率,这里之前是错误的)1。、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。、工作电源: 3.05.5V/DC (可以数据线寄生电源)、在使用中不需要任何外围元件、 测量结果以912位数字量方式串行传送、不锈钢保护管直径 6、适用于DN1525, DN40DN250各种介质工业管道和狭小空间设备测温、 标准安装螺纹 M10X1, M12X

29、1.5, G1/2”任选、PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。2、结构 DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。该装置信号线高的时候,内部电容器 储存能量通由1线通信线路给片子供电,而且在低电平期间为片子供电直至下一个高电平的到来重新充电。 DS18B20的电源也可以从外部3V-5 .5V的电压得到。DS18B20采用一线通信接口。因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一: 1 )读ROM, 2 )ROM匹配, 3 )搜索ROM,

30、4 )跳过ROM, 5 )报警检查。这些指令操作作用在没有一个器件的64位光刻ROM序列号,可以在挂在一线上多个器件选定某一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。若指令成功地使DS18B20完成温度测量,数据存储在DS18B20的存储器。一个控制功能指挥指示DS18B20的演出测温。测量结果将被放置在DS18B20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器TH和TL都有一字节EEPROM 的数据。如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写TH,TL指令以及配置

31、字节利用一个记忆功能的指令完成。通过缓存器读寄存器。所有数据的读,写都是从最低位开始。3特点一线接口,简化了分布式温度传感应用,可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源 测量温度范围为-55 ° C至+125 ,精度为±0.5 ° C。温度传感器可编程的分辨率为912位,温度转换为12位数字格式最大值为750毫秒,应用范围包括恒温控制、工业系统、消费电子产品温度计、或任何热敏感系统。描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数)。由于DS18B20是一条口线通信,所以中央微处理器与DS18B20只有一个一条口线连接。因

32、为每一个DS18B20的包含一个独特的序号,多个ds18b20s可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。4.工作原理:DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。 DS18B20测温原理如图3-5所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振 随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对 低温度系数晶振产生的脉冲信号进行减法计数,当计数器

33、1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即 为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。图3.3.1 DS18B20测温原理图DS81B20芯片实物引脚图: (a) (b)图3.3.2 DS81B20芯片实物引脚图表3-4:ROM指令表指 令约定代码功 能读ROM33H读DS1820温度传感器ROM中的编码(即64位地址)符合 ROM55H发出此命令之后,接着发出 64 位 RO

34、M 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。搜索 ROM0FOH用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。跳过 ROM0CCH忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作。告警搜索命令0ECH执行后只有温度超过设定值上限或下限的片子才做出响应。表3-5:RAM指令表指 令约定代码功 能温度变换44H启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。读暂存器0BEH读内部RA

35、M中9字节的内容写暂存器4EH发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器48H将RAM中第3 、4字节的内容复制到EEPROM中。重调 EEPROM0B8H将EEPROM中内容恢复到RAM中的第2、3字节。读供电方式0B4H读DS1820的供电模式。寄生供电时DS1820发送“ 0 ”,外接电源供电 DS1820发送“ 1 ”。3.4 HT6221遥控器芯片介绍特征工作电压: 1.8V3.5V、Dout 输出 38KHz、最小发射字: 一个字、一个 455KHz 的陶瓷或晶体、16 位地址码、8 位数据码、ppm代码方式、最大活动键 HT

36、6221: 32 键表3.4.1 引脚说明代码的特征1: HT6221 键码的形成当一个键按下超过36ms 振荡器使芯片激活如果这个键按下且延迟大约108ms,这 108ms 发射代码由一个起始码9ms ,一个结果码4.5ms ,低 8 位地址码9ms18ms ,高 8 位地址码9ms18ms ,8 位数据码9ms18ms 和这 8 位数据的反码 9ms18ms 组成 如果键按下超过108ms 仍未松开接下来发射的代码 连发代码将仅由起始码9ms 和结束码2.5ms 组成2 :代码格式以接收代码为准接收代码与发射代码反向位定义图3.4.1 红外高低位定义(a) 单发代码格式 (b)连发代码格式

37、图3.4.2 代码格式解码方法及软件说明解码的关键是如何识别0 和 1 从位的定义我们可以发现0 1 均以 0.56ms的低电平开始不同的是高电平的宽度不同0 为 0.56ms, 1 为 1.68ms,所以必须根据高电平的宽度区别0 和 1 如果从 0.56ms 低电平过后开始延时0.56ms 以后 若读到的电平为低说明该位为0 反之则为1 为了可靠起见 延时必须比0.56ms 长些 但又不能超过1.12ms,否则如果该位为0 读到的已是下一位的高电平因此取1.12ms+0.56ms /2=0.84ms 最为可靠一般取0.84ms左右均可根据码的格式应该等待9ms 的起始码和4.5ms 的结果

38、码完成后才能读码四、 硬件电路设计4.1 单片机最小系统单片机芯片工作时,必需加一个最小系统。最小系统中主要包括复位电路和时钟电路两大部分。图4.1.1 最小系统图1.复位电路单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。常用的复位电路有四种方式:(1)上电复位电路(2)按键复位电路(3)脉冲复位电路(4)兼有上电复位与按键复位的电路。由于考虑到结构和成本等原因,决定选用兼有上电复位与按键复位的电路。该复位电路工作原理为:在通电瞬间,

39、在RC电路充电过程中,RST端出现正脉冲,保证RST引脚出现10 ms以上稳定的高电平,从而使单片机复位。在电路图中,电容的的大小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。也就是说在电脑启动的0.1S内,电容两端的电压时在03.5V增加。这个时候10K电阻两端的电压为从51.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号

40、为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。2. 时钟电路时钟电路用于产生AT89C51单片机工作时所必需的时钟信号。在MCS51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。根据硬件电路的不同,单片机的时钟连接方式可分为内部时钟方式和外部时钟方式. (a)内部方式时钟电路     (b)外接时钟电路 本设计使用内部方式,须在XTAL1和XTAL2引脚两端跨接石英晶体振荡

41、器和两个微调电容构成振荡电路,通常C1和C2一般取30pF,晶振的频率取值在1.2MHz12MHz之间。对于外接时钟电路,要求XTAL1接地,XTAL2脚接外部时钟,对于外部时钟信号并无特殊要求,只要保证一定的脉冲宽度,时钟频率低于12MHz即可4.2 电源电路本设计将220V的电网电压,经变压、整流后得到+5v直流电压。1变压部分:规定v1为变压器的高压侧,v2为低压侧,v1侧的线圈要比v2侧的线圈多,将220V的电网电压降低。图4.2.1 变压器2.单相桥式整流电路:整流电路由四只整流二极管组成。单相桥式整流电路的工作原理如下:在v2的正半周,电流从变压器副边线圈的上端流出,经过二极管D1

42、,再由二极管D4流回变压器,所以D1、D4正向导通,D2、D3反向截止,产生一个极性为上正下负的输出电压。在v2的负半周,其极性正好相反,电流从变压器副边线圈的下端流出,经过二极管D2,再由二极管D3流回变压器,所以D1、D4反向截止,D2、D3正向导通。桥式整流电路利用了二极管的单向导电性,利用四个二极管,是它们交替导通,从而负载上始终可以得到一个单方向的脉动电压。单相桥式整流电路如图所示:图4.2.2 单相桥式整流电路3.滤波电路:采用电解电容和二极管并联方式滤波,电容两端电压升高时,电容充电,电压降低时,电容放电,让电压降低时的坡度变得平缓,从而起到滤波的作用。这里选用电解电容是因为电解

43、电容单位体积的电容量非常大,能比其它种类的电容大几十到数百倍,并且其额定的容量可以做到非常大,价格比其它种类相比具有相当大的优势,因为其组成材料都是普通的工业材料,比如铝等等。电解电容并联二极管,有效防止了电压反相。滤波电路如图所示:图4.2.3 滤波电路47805三端稳压集成芯片:电子产品中,常见的三端稳压集成电路有正电压输出的78 ×× 系列和负电压输出的79××系列三端稳压器。 MC78M05CT将输出电压稳定在+5V上,只有三条引脚输出,分别是输入端、接地端和输出端。 (a) (b)图4.2.4 7805三端稳压芯片引脚图图4.2.5 电源电路总

44、设计图4.3 按键信号输入电路按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为5ms10ms。键抖动会引起一次按键被误读多次。为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。图4.3.1 按键抖动原理图按键的消抖,可用硬件或软件两种方法硬件消抖。在键数较少时可用硬件方法消除键抖动。下图所示的RS触发器为常用的硬件去抖。图4.3.1硬件消抖原理两个

45、“与非”门构成一个RS触发器。当按键未按下时,输出为0;当键按下时,输出为1。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),只要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。也就是说,即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。这一点通过分析RS触发器的工作过程很容易得到验证。软件消抖。如果按键较多,常用软件方法去抖,即检测出键闭合后执行一个延时程序,5ms10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms10ms的延时,待后沿抖

46、动消失后才能转入该键的处理程序。一般来说,软件消抖的方法是不断检测按键值,直到按键值稳定。实现方法:假设未按键时输入1,按键后输入为0,抖动时不定。可以做以下检测:检测到按键输入为0之后,延时5ms10ms,再次检测,如果按键还为0,那么就认为有按键输入。延时的5ms10ms恰好避开了抖动期。本设计使用软件消抖的方法。图4.3.1 按键信号输入电路图键盘功能说明S1:模式设置键,按一下进入到温度系统设置状态。S2:步进加键,每按一下,要设置的限制值加。S3:步进减键,每按一下,要设置的限制值减。S4:确定键,确定前面所设的温度值。4.4 红外遥控电路 图4.4.1红外遥控发送端电路图4.5 温

47、度传感器电路DS18B20 接线方式有两种:第一种方法,当进行温度转换或拷贝到E2存储器操作时,给I/O线提供一个强上拉。用MOSFET把I/O线直接拉到电源上就可以实现,见图2。在发出任何涉及拷贝到E2存储器或启动温度转换的协议之后,必须在最多10s之内把I/O线转换到强上拉。使用寄生电源方式时,VDD引脚必须接地。图4.5.1 DS18B20寄生电源接线方式另一种给DS1820供电的方法是从VDD引脚接入一个外部电源。这样做的好处是I/O线上不需要加强上拉,而且总线控制器不用在温度转换期间总保持高电平。这样在转换期间可以允许在单线总线上进行其他数据往来。另外,在单线总线上可以挂任意多片DS

48、1820,而且如果它们都使用外部电源的话,就可以先发一个SkipROM命令,再接一个Convert T命令,让它们同时进行温度转换。注意当加上外部电源时,GND引脚不能悬空。图4.5.1 DS18B20外部电源接线方式本设计使用的接线方式为第二种外部电源接线方式。4.6 显示电路图4.6.1 液晶显示电路图4.7 报警电路当引脚为低电平时,蜂鸣器响,也就是说,如果温度超过上限值时,通过DS18B20报警信号使单片机内部引脚口拉低,高电平时,蜂鸣器响声停止。从而达到报警作用。压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成。当接

49、通电源后(1.515V直流工作电压),多谐振荡器起振,输出1.52.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。图4.7.1 报警电路图4.8 继电器加热电路控制电路就是用I/O口控制继电器线圈,继电器来控制加热器。来达到加热的目的,通过继电器根据单片机从DS18B20读入的数据打开和闭合来达到控制饮水机温度的控制,下图为部分控制电路。图4.8.1 执行加热电路图 固态继电器是一种无触点通断型电子开关,是四端有源器件,其中两个端子为控制输入端,另外两个为输出受控端。

50、为了实现输入与输出的隔离,器件采用了高耐压的光耦合器。当输入信号有效时,电路呈导通状态,反之,呈断开状态,可以实现类似电磁继电器的开关功能。固态继电器将MOSFET、GTR、普通晶闸管等组合在一起与触发电路封装在一个模块中,而且驱动电路与输出电路隔离。固态继电器是可控硅过零触发器,无触点,不用调节,对电网不会产生波形畸变。因此,非常适合本设计。 控制电路工作原理:当AT89C51的RXD口输出一个高电平时,三极管开始工作,驱动继电器k工作,继电器k呈导通状态,加热装置开始工作.仿真中用LED代替加热器。五、软件编程 系统软件设计也就是程序设计,就是在完成了硬件系统的基础上,再编写相应的程序,下

51、载到芯片里,通过执行程序指令控制硬件,从而实现各种功能。一般来讲,软件的功能可分为两大类。一类是执行软件,它能完成各种实质性的功能,如测量、计算、显示、打印、输出控制等。另一类是监控软件,它专门协调执行模块和操作者的关系,在系统中充当组织协调的角色。由于用C语言编写程序简介明了,效率相对其他高级语言较高,所以本设计采用C语言编写。5.1 总程序流程 本设计的软件设计包括主程序、键盘子程序、18b20温度转换子程序、控制子程序及显示子程序。结合本系统的功能,程序长度不会超过AT89C51内部的程序存储器,所以硬件上不用外扩程序存储器。图5.1.1主程序流程图5.2 温度采集子程序DS18B20的

52、工作流程图:图5.2.1 温度采集流程图基于工作时序底层驱动程序:(1)、DS18B20的复位时序 DS18B20在工作前需要进行复位初始化,为后续的操作做好准备。复位程序段:void Init_DS18B20(void) unsigned char x=0; DQ = 1; /DQ复位 Delay(8); /稍做延时 DQ = 0; /单片机将DQ拉低 Delay(80); /精确延时,大于480us DQ = 1; /拉高总线 Delay(14); x = DQ; /稍做延时后,如果x=0则初始化成功,x=1则初始化失败 Delay(20); (2)、DS18B20的读时序对于DS18B2

53、0的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。读程序段:/*读一个字节*/ unsigned char ReadOneChar(void) unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i-) DQ = 0; / 给脉冲信号 dat>>=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; Delay(4); retu

54、rn(dat); (3)、DS18B20的写时序对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。写程序段:/*写一个字节*/ void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i>0; i-) DQ = 0; DQ = dat&0x01; Delay(5); DQ = 1; dat>>=1; 5.3 红外

温馨提示

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

评论

0/150

提交评论