《饮水机温度智能控制系统(共48页).doc》由会员分享,可在线阅读,更多相关《饮水机温度智能控制系统(共48页).doc(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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 cooler. Th
3、is 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 temperatur
4、e 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 module.
5、 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 temperatur
6、e feedback control to achieve the good dynamic balance system.KEY WORDS: Single chip computer, temperature control, DS18B20 temperature sensor目 录一、 绪论1.1 本课题研究的意义随着人类社会的不断进步,人类饮用水的供给方式也随其发生着变化,其过程为:河水井水自来水购买桶装水自制健康纯水。对此已形成了“喝纯净水,用自来水”的现代饮水新观念。我国现阶段的生活饮用水市场,实质上是桶装饮用水、自来水终端制水、管道直饮水三分天下的格局。其中桶装水以85%的绝对
7、优势占据着市场的主导地位,但是桶装水存在着“二次污染”问题以及假冒伪劣等现实问题。管道分质供水在美国等发达国家的普及率为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内核可分为: MSP、AR
11、M、MCS51等等。MSP430单片机功耗低,速度快,内置硬件乘法器,乘除法运算都为单周期指令,片内集成资源丰富,但是学习起来比较复杂。ARM单片机控制能力强,速度快,价格比较适中,但比51要贵些,可以加操作系统,但是对ARM接触较少,应用起来较为困难。AT89C51是一种带4K字节FLASH存储器)的低电压、高性能CMOS 8位微处理器。AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个
12、芯片中,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 (25C)时输出298.2 A电流。AD590适用于150C以下、目前采用传统电气温度传感器的任何温度检测应用。低成本的单芯片集成电路及无需支持电路的特点,成为许多温度测量应用的备选方案。应用AD590
14、时,无需线性化电路、精密电压放大器、电阻测量电路和冷结补偿。属于特种环境的传感器。DALLAS(达拉斯)公司生产的DS18B20温度传感器,全数字温度转换及输出,先进的单总线数据通信,小体积,低硬件开消,干扰能力强,精度高,DS18B20优势明显。封装后的DS18B20可用于各种非极限温度场合,适用于各种狭小空间设备数字测温。综合考虑电路设计、测量精度、测量范围以及性价比,本设计采用DS81B20芯片。2.4,3 显示模块方案的选择一般的显示有LED8位数码管显示、LCD1602、lcd12864等等LED8位数码管显示,显示分为动态显示和静态显示,虽然价格比较便宜,但是其外部电路比较复杂。L
15、CD液晶显示器在单片机中应用一般有LCD1602液晶显示和LCD12864液晶显示。LCD1602液晶显示没有中文字库,而且显示的内容也较少。LCD12864液晶显示分为两种,带字库的和不带字库的,不带字库的液晶显示汉字的时候可以选择自己喜欢的字体。而带字库的液晶,只能显示GB2312字体,当然也可以显示其他的字体,不过是用图片的形式显示。考虑本设计显示内容较少,不需要显示图形,故选用LCD1602液晶显示作为显示部分。2.4,4 按键输入方案选择微机键盘主要有两种:一种是全编码键盘,另一种是非编码键盘。全编码键盘,其键码全由硬件提供,但是这种方式硬件结构复杂,成本高。典型的编码矩阵式键盘接口
16、设计。将I/O口线的一部分作为行线,另一部分作为列线,按键设置在行线和列线的交叉点上,这就构成了矩阵式键盘。矩阵式键盘中按键的数量可达行线数n乘以列线数m,如4行、4列的矩阵键盘的按键数可以达到44=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, PT2210, PT2221, PT2222, SC6121, SC6122, SC90
19、12等等) BC7210的输出可以设置为并行输出或者串行输出,串行输出方式兼容SPI和UART两种接口,可以轻松完成与各种MCU、PC机的接口。可以取代SAA3049等芯片。TC9012是一块用于东芝系列红外遥控系统中的专用发射集成电路,采用CMOS工艺制造。它可外接32个按键, 提供8种用户编码,另外还具有3种双重按键功能。TC9012的管脚设置和外围应用线路都进行了高度优化,以配合PCB的布图和低成本的要求ht6122 芯片是通用红外遥控发射集成电路,采用CMOS 工艺制造,最多可外接64个按键,并有三组双重按键。封装形式为SOP-24和SOP-20。考虑应用方便,本设计用此方案。三、主要
20、元器件介绍3.1 AT89C51单片机介绍AT89C51的主要特点:与MCS-51 兼容、4K字节可编程闪烁存储器 、寿命:1000写/擦循环数据保留时间:10年、全静态工作:0Hz-24Hz、三级程序存储器锁定、1288位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源 、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路。(a) (b)图3.1.1 单片机芯片实物引脚图管脚说明:VCC:供电电压、GND:接地。P0,P1,P2,P3:输入/输出端口。P3.0/RXD:串行输入口、P3.1/TXD:串行输出口、P3.2 /INT0:外部中断0、P3.3 /INT
21、1:外部中断1、P3.4/T0:计时器0外部输入、P3.5 T1:计时器1外部输入、P3.6 /WR:外部数据存储器写选通、P3.7 /RD:外部数据存储器读选通、P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉
22、冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编
23、程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入、XTAL2:来自反向振荡器的输出。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。3.2 LCD1602液晶显示介绍工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有
24、一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。3.3V或5V工作电压,对比度可调,内含复位电路,提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能,有80字节显示数据存储器DDRAM,内建有192个5X7点阵的字型的字符发生器CGROM,8个可由用户自定义的5X7的字符发生器CGRAM。表3.2.1 引脚说明引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低
25、电平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相关控制命令表控制命令表 1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0
26、为低电平) 指令1:清显示,指令码01H,光标复位到地址00H位置。 指令2:光标复位,光标返回到地址00H。 指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。 指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电
27、平时为单行显示,高电平时双行显示 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: 技术性能描述、 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通
28、讯。、测温范围 55+125,固有测温误差(注意,不是分辨率,这里之前是错误的)1。、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。、工作电源: 3.05.5V/DC (可以数据线寄生电源)、在使用中不需要任何外围元件、 测量结果以912位数字量方式串行传送、不锈钢保护管直径 6、适用于DN1525, DN40DN250各种介质工业管道和狭小空间设备测温、 标准安装螺纹 M10X1, M12X1.5, G1/2”任选、PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。2、结
29、构 DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。该装置信号线高的时候,内部电容器 储存能量通由1线通信线路给片子供电,而且在低电平期间为片子供电直至下一个高电平的到来重新充电。 DS18B20的电源也可以从外部3V-5 .5V的电压得到。DS18B20采用一线通信接口。因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一: 1 )读ROM, 2 )ROM匹配, 3 )搜索ROM, 4 )跳过ROM, 5 )报警检查。这些指令操作作用在没有一个器件的64位光刻ROM序列号,可以
30、在挂在一线上多个器件选定某一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。若指令成功地使DS18B20完成温度测量,数据存储在DS18B20的存储器。一个控制功能指挥指示DS18B20的演出测温。测量结果将被放置在DS18B20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器TH和TL都有一字节EEPROM 的数据。如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写TH,TL指令以及配置字节利用一个记忆功能的指令完成。通过缓存器读寄存器。所有数据的读,写都是从最低位开始。3特点一线
31、接口,简化了分布式温度传感应用,可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源 测量温度范围为-55 C至+125 ,精度为0.5 C。温度传感器可编程的分辨率为912位,温度转换为12位数字格式最大值为750毫秒,应用范围包括恒温控制、工业系统、消费电子产品温度计、或任何热敏感系统。描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数)。由于DS18B20是一条口线通信,所以中央微处理器与DS18B20只有一个一条口线连接。因为每一个DS18B20的包含一个独特的序号,多个ds18b20s可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。4.工作原
32、理:DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。 DS18B20测温原理如图3-5所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振 随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对 低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环
33、直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即 为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。图3.3.1 DS18B20测温原理图DS81B20芯片实物引脚图: (a) (b)图3.3.2 DS81B20芯片实物引脚图表3-4:ROM指令表指 令约定代码功 能读ROM33H读DS1820温度传感器ROM中的编码(即64位地址)符合 ROM55H发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。搜索 ROM0FOH用于确
34、定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。跳过 ROM0CCH忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作。告警搜索命令0ECH执行后只有温度超过设定值上限或下限的片子才做出响应。表3-5:RAM指令表指 令约定代码功 能温度变换44H启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。读暂存器0BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器48H将
35、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代码方式、最大活动键 HT6221: 32 键表3.4.1 引脚说明代码的特征1: HT6221 键码的形成当一个键按下超过36ms 振荡器使芯片激活如果这个键按
36、下且延迟大约108ms,这 108ms 发射代码由一个起始码9ms ,一个结果码4.5ms ,低 8 位地址码9ms18ms ,高 8 位地址码9ms18ms ,8 位数据码9ms18ms 和这 8 位数据的反码 9ms18ms 组成 如果键按下超过108ms 仍未松开接下来发射的代码 连发代码将仅由起始码9ms 和结束码2.5ms 组成2 :代码格式以接收代码为准接收代码与发射代码反向位定义图3.4.1 红外高低位定义(a) 单发代码格式 (b)连发代码格式图3.4.2 代码格式解码方法及软件说明解码的关键是如何识别0 和 1 从位的定义我们可以发现0 1 均以 0.56ms的低电平开始不同
37、的是高电平的宽度不同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 的结果码完成后才能读码四、 硬件电路设计4.1 单片机最小系统单片机芯片工作时,必需加一个最小系统。最小系统中主要包括复位电路和时钟电路两大部
38、分。图4.1.1 最小系统图1.复位电路单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。常用的复位电路有四种方式:(1)上电复位电路(2)按键复位电路(3)脉冲复位电路(4)兼有上电复位与按键复位的电路。由于考虑到结构和成本等原因,决定选用兼有上电复位与按键复位的电路。该复位电路工作原理为:在通电瞬间,在RC电路充电过程中,RST端出现正脉冲,保证RST引脚出现10 ms以上稳定的高电平,从而使单片机复位。在电路图中,电容的的大小是10
39、uF,电阻的大小是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的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。2. 时钟电路时钟电路用于产生
40、AT89C51单片机工作时所必需的时钟信号。在MCS51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。根据硬件电路的不同,单片机的时钟连接方式可分为内部时钟方式和外部时钟方式.(a)内部方式时钟电路 (b)外接时钟电路本设计使用内部方式,须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常C1和C2一般取30pF,晶振的频率取值在1.2MHz12MHz之间。对于外接时钟电路,要求XTAL1接地,XTAL2脚接外部时钟,对于外部时钟信号并无特殊要求,只要保证一定
41、的脉冲宽度,时钟频率低于12MHz即可4.2 电源电路本设计将220V的电网电压,经变压、整流后得到+5v直流电压。1变压部分:规定v1为变压器的高压侧,v2为低压侧,v1侧的线圈要比v2侧的线圈多,将220V的电网电压降低。图4.2.1 变压器2.单相桥式整流电路:整流电路由四只整流二极管组成。单相桥式整流电路的工作原理如下:在v2的正半周,电流从变压器副边线圈的上端流出,经过二极管D1,再由二极管D4流回变压器,所以D1、D4正向导通,D2、D3反向截止,产生一个极性为上正下负的输出电压。在v2的负半周,其极性正好相反,电流从变压器副边线圈的下端流出,经过二极管D2,再由二极管D3流回变压
42、器,所以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 电源电路总设计图4.3 按键信号输入电路按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为
44、5ms10ms。键抖动会引起一次按键被误读多次。为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。图4.3.1 按键抖动原理图按键的消抖,可用硬件或软件两种方法硬件消抖。在键数较少时可用硬件方法消除键抖动。下图所示的RS触发器为常用的硬件去抖。图4.3.1硬件消抖原理两个“与非”门构成一个RS触发器。当按键未按下时,输出为0;当键按下时,输出为1。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),只要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。也就是说,即使B点的电压
45、波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。这一点通过分析RS触发器的工作过程很容易得到验证。软件消抖。如果按键较多,常用软件方法去抖,即检测出键闭合后执行一个延时程序,5ms10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms10ms的延时,待后沿抖动消失后才能转入该键的处理程序。一般来说,软件消抖的方法是不断检测按键值,直到按键值稳定。实现方法:假设未按键时输入1,按键后输入为0,抖动时不定。可以做以下检测:检测到按键输入为0之后,延时5ms10ms,再次检测,如果按键还为0,那么就认为有按键输入。延时的5ms10ms恰好避开了抖动期。本设计使用软件消抖的方法。图4.3.1 按键信号输入电路图键盘功能说明S1:模式设置键,按一下进入到温度系统设置状态。S2:步进加键,每按一下,要设置的限制值加。S3:步进减键,每按一下,要设置的限制值减。S4:确定键,确定前面所设的温度值。4.4 红外遥控电路 图4.4.1红外遥控发送端电路图4.5 温度传感器电