单片机水温控制器设计1.doc

上传人:good****022 文档编号:116645148 上传时间:2022-07-06 格式:DOC 页数:41 大小:1.11MB
返回 下载 相关 举报
单片机水温控制器设计1.doc_第1页
第1页 / 共41页
单片机水温控制器设计1.doc_第2页
第2页 / 共41页
单片机水温控制器设计1.doc_第3页
第3页 / 共41页
点击查看更多>>
资源描述
摘 要随着国民经济的发展,单片机技术应用已经成为高、新科学技术的重要内容和标志之一,它在国民经济的各个领域正在发挥着引人注目的作用。本系统设计热水器温度控制系统是以单片机AT89S52为核心,通过3个数码管显示温度和4个按键实现人机对话,使用单总线温度转换芯片DS18B20实时采集温度并通过数码管显示,并提供各种运行指示灯用来指示系统现在所处状态,如:温度设置、加热、停止加热等,整个系统通过四个按键来设置加热温度和控制运行模式,可以用于热水器温度控制系统和饮水机等各种电器电路中。采用单片机的热水器温度控制系统不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高产品的性能比指标,提高产品的质量和数量。关键词:AT89S52;DS18B20;温度控制系统AbstractWith the development of the national economy, the application of SCM technology has become one of the important content and symbol of high, new science and technology in all fields of the national economy, it is playing the role of attract sb.s attention.Heater temperature control system design of the system of hot water is AT89S52 MCU core, the realization of human-computer dialogue temperature and 4 buttons displayed by the 3 digital tube, using a single bus temperature conversion real-time collection of temperature chip DS18B20 and through the digital tube display, and provide various operation indicator lamps are used to indicate the system present status, such as: temperature setting stop heating, heating, etc., the whole system to set the temperature and control mode of operation through the four buttons, can be used for the water heater temperature control system and water dispensers and other electrical circuit.The water heater temperature control system based on single chip is not only easy to control, simple and flexible and other advantages, and can greatly improve the performance index of the product, improve the quality and quantity of products.Keywords:AT89S52; DS18B20; temperature control system目 录摘 要IAbstractII第1章 绪 论11.1 选题的目的和意义11.2 国内外研究状况及发展11.3 论文研究的主要内容1第2章 系统总体设计32.1 系统需求及可行性分析32.2 硬件总体设计32.3 软件总体设计4第3章 硬件系统设计53.1 设计思想53.2 AT89S5253.3 单片机最小系统电路73.4 键盘电路73.5 数码管及指示灯显示电路73.6 温度采集电路93.7 存储电路设计123.8 电源电路153.9 报警电路设计163.10 加热管控制电路设计16第4章 系统软件设计184.1 主程序流程图184.2 各个模块的流程图194.2.1 读取温度DS18B20模块的流程194.2.2 键盘扫描处理流程214.2.3 报警处理流程21第5章 系统调试235.1 硬件电路调试235.2 软件调试235.3 系统操作说明245.4 数据测试24结 论25致 谢26参考文献27附录A28附录B32-IV-第1章 绪 论1.1 选题的目的和意义温度控制系统可以说是无所不在,热水器系统、空调系统、冰箱、电煲电风扇等家电产品以至手持式高速高效的计算机和电子设备,均需要提供温度控制功能。以计算机为例,当中的中央处理器的运行速度愈快,所耗散的热量便愈多,为免计算机系统过热而受损,有关系统必须加强温度过高保护功能。传统的温度采集电路相当复杂,需要经过温度采集、信号放大、滤波、AD转换等一系列工作才能得到温度的数字量,并且这种方式不仅电路复杂,元器件个数多,而且线性度和准确度都不理想,抗干扰能力弱。现在常用的温度传感器芯片不但功率消耗低、准确率高,而且比传统的温度传感器有更好的线性表现,最重要的一点是使用起来方便。自动控制仪器仪表总的发展趋势是高性能、数字化、集成化、智能化和网络化。智能温度控制系统的设计是为了满足市场对成本低、性能稳定、可远程监测、控制现场温度的需求而做的课题,具有较为广阔的市场前景。目前,测温控温系统得到快速的发展,国外的测量控制系统已经成熟,产品也较多。近两年,国内也出现了许多高精度的温度控制系统产品,但相对于用户来说,价格还是偏高。而由于竞争越来越激烈,现在企业发展的趋势是如何最有效的提高生产效率,降低生产成本。寻求性能可靠、价格低廉,且应用广泛的元器件是生产过程的首先要考虑的问题,因此设计一种控制简单、精度较高、价格低廉的控制系统会有很好的发展前景。1.2 国内外研究状况及发展1. 国外温度测控系统研究国外对温度控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。80年代末出现了分布式控制系统。目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。现在世界各国的温度测控技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。2. 国内温度测控系统研究我国对于温度测控技术的研究较晚,始于20世纪80年代。我国工程技术人员在吸收发达国家温度测控技术的基础上,才掌握了温度室内微机控制技术,该技术仅限于对温度的单项环境因子的控制。我国温度测控设施计算机应用,在总体上正从消化吸收、简单应用阶段向实用化、综合性应用阶段过渡和发展。在技术上,以单片机控制的单参数单回路系统居多,尚无真正意义上的多参数综合控制系统,与发达国家相比,存在较大差距。我国温度测量控制现状还远远没有达到工厂化的程度,生产实际中仍然有许多问题困扰着我们,存在着装备配套能力差,产业化程度低,环境控制水平落后,软硬件资源不能共享和可靠性差等缺点。1.3 论文研究的主要内容本设计利用单片机结合传感器技术而开发设计了这一温度控制系统,文中传感器与单片机实际应用有机结合,简单讲述了利用新型芯片探测环境温度的过程,以及实现模数转换的原理过程。1. 功能实现本设计的目的是以单片机为核心设计出一个温度采集系统。通过本课题设计,综合运用单片机及接口技术、微机原理、微电子技术,锻炼动手操作能力。综合运用能力,学习论文的写作方法和步骤。设计的温度控制器有以下功能:(1) 测温范围:-55+125;(2) 测温分辨力:=0.5;(3) 测温准确度:=0.5;(4) 温度显示:采用6个7段数码管;(5) 温限可经键盘实现简单的人机互动,灵活设定温度范围;(6) 超温度范围报警。2. 方案设计本系统采用了单片机AT89S52,利用数字温度传感器DS18B20对环境进行测温,同时采用MAX7219驱动六位7段共阴极数码管,同时还采用EEPROM对温度上下限进行存储,此外还有键盘设备来实现温度上下限值的设置,红绿灯报警温度的越线,继电器和电机对温度进行调整等来实现该温度控制器的智能化。总体硬件结构框图如图1-1所示。AT89S52EEPROM按键继电器电机驱动LED显示报警电路温度传感器DS18B20MAX7219图1-1 系统硬件结构第2章 系统总体设计当将单片机用作测控系统时,系统总要有被测信号的输入通道,由计算机拾取必要的输入信息。对于测量系统而言,如何准确获得被测信号是其核心任务;而对测控系统来讲,对被控对象状态的测试和对控制条件的监察也是不可缺少的环节。2.1 系统需求及可行性分析温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机 AT89S5获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器),当采集的温度经处理后低于设定温度的下时,单片机通过三极管驱动继电器开启升温设备(加热器)。当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声。2.2 硬件总体设计设计并制作一个基于单片机的热水器温度控制系统的电路,其结构框图如图2-1所示:电源单片机AT89S52数码管显示继电器温度传感器DS18B20报警键盘指示灯图2-1 系统结构框图硬件系统子模块(1) 单片机最小系统电路部分(2) 键盘扫描电路部分(3) 数码管温度显示和运行指示灯电路部分(4) 温度采集电路部分(5) 继电器控制部分(6) 报警部分2.3 软件总体设计良好的设计方案可以减少软件设计的工作量,提高软件的通用性,扩展性和可读性。本系统的设计方案和步骤如下:(1) 根据需求按照系统的功能要求,逐级划分模块。(2) 明确各模块之间的数据流传递关系,力求数据传递少,以增强各模块的独立性,便于软件编制和调试。(3) 确定软件开发环境,选择设计语言,完成模块功能设计,并分别调试通过。(4) 按照开发式软件设计结构,将各模块有机的结合起来,即成一个较完善的系统。首先接通电源系统开始工作,系统开始工作后,通过按键设定温度值的上限值和下限值,确定按键将设定的温度值存储到指定的地址空间,温度传感器开始实时检测,调用显示子程序显示检测结果,调用比较当前显示温度值与开始设定的温度值比较,如果当前显示值低于设定值就通过继电器起动加热装置,直到达到设定值停止加热,之后进行保温,如果温度高于上限进行报警。第3章 硬件系统设计3.1 设计思想本设计是基于单片机对数字信号的高敏感和可控性、温湿度传感器可以产生模拟信号,和A/D模拟数字转换芯片的性能,本设计了以51单片机基本系统为核心的一套检测系统,其中包括A/D转换、单片机、复位电路、温度检测、湿度检测、键盘及显示、报警电路、系统软件等。本次设计主要思路是通过对单片机编程将由温度传感器DS18B20采集的温度外加驱动电路显示出来,包括对继电器的控制,进行升温,当温度达到上下限蜂鸣器进行报警。P1.7开关按钮是用于确认设定温度的,初始按下表示开始进入温度设定状态,然后通过P1.5和P1.6设置温度的升降,再次按下P1.7时,表示确认所设定的温度,然后转入升温或降温。P2.3所接的发光二极管用于表示加热状态,P2.5所接的发光二极管用于表示保温状态。P2.3接继电器。P3.1是温度信号线。整个电路都是通过软件控制实现设计要求。3.2 AT89S52AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。AT89S52使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统 可编程,亦适于常规编程器。在单芯片上,AT89S52拥有灵巧的8 位CPU和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。采用40引脚双列直插封装(DIP)的AT89S52单片机引脚分配如图3-1所示。图2-1 AT89S52引脚分配图1. 主要性能参数(1) 与MCS51兼容;(2) 1000次擦写寿命;(3) 工作电压为4.0V5.5V;(4) 全静态工作:024MHz;(5) 3级程序安全加密保护;(6) 2568位内部RAM;(7) 32个可编程I/O端口;(8) 3个16位定时器/计数器;(9) 8个中断源;(10) 支持低功耗及掉电模式;(11) 支持中断从掉电模式唤醒;(12) 内置看门狗 。2. 引脚功能(1) P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写 “1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。(2) P1口:P1口是一个具有内部上拉电阻的8 位双向I/O 口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写 “1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(TTL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数和定时器/计数器2的触发输入。P2口:P2 口是一个具有内部上拉电阻的8位双向I/O 口,P2输出缓冲器能驱动4个TTL 逻辑电平。对P2端口写 “1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(TTL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX A,DPTR)时,P2口送出高八位地址。P3口:P3口是一个具有内部上拉电阻的8位双向I/O 口,P3输出缓冲器能驱动4个TTL 逻辑电平。对P3 端口写 “1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(TTL)。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。3.3 单片机最小系统电路单片机最小系统有复位电路和振荡器电路。值得注意的一点是单片机的31脚必须接高电平,否则系统将不能运行。因为该脚不接时为低电平,单片机将直接读取外部程序存储器,而系统没有外部程序存储器,所以必须接VCC。在按键两端并联一个电解电容,滤除交流干扰,增加系统抗干扰能力。 3.4 键盘电路键盘是单片机应用系统中的主要输入设备,单片机使用的键盘分为编码键盘和非编码键盘。编码键盘采用硬件线路来实现键盘的编码,每按下一个键,键盘能够自动生成按键代码,并有去抖功能。因此使用方便,但硬件较复杂。非编码键盘仅仅提供键开关状态,由程序来识别闭合键,消除抖动,产生相应的代码,转入执行该键的功能程序。非编码键盘中键的数量较少,硬件简单,在单片机中应用非常广泛。图为按键和AT89S52的接线图,检测仪共设有4个按键,每个按键由软件来决定其功能,4个按键功能分别为:(1) SW1:设定按键(设定按键)(2) SW2:加法按键(当前位加5)(3) SW3:减法按键(当前位减5)(4) SW4:退出设置键(系统初始化) 图3-1 单片机最小系统3.5 数码管及指示灯显示电路1. 数码管显示说明各个数码管的段码都是单片机的数据口输出,即各个数码管输入的段码都是一样的,为了使其分别显示不同的数字,可采用动态显示的方式,即先只让最低位显示0(含点),经过一段延时,再只让次低位显示1,如此类推。由视觉暂留,只要我们的延时时间足够短,就能够使得数码的显示看起来非常的稳定清楚,过程如表3-1所示。表3-1 数码管编码表段码位码显示器状态08H01H0abH02H112H04H222H08H3a1H10H424H20H504H40H6aaH80H7本论文中使用了3个数码管,其中前两位使用动态扫描显示实测温度,在设置加热温度的时候,两个数码管是闪烁,以提示目前处在温度设置状态。第三位数码管静态显示符号“”。(2) 运行指示灯说明本热水器温度控制系统中共使用到3个LED指示灯和3个数码管。右上角的红色LED是电源指示灯;数码管右边的红色LED是加热指示灯,当刚开机或温度降到设定温度5以下时,该灯会亮,表示目前处于加热状态;当温度上升到设定温度时,该LED灭,同时数码管右边的绿色LED亮,表示目前处于保温状态,用户可以使用热水器;当温度再次下降到设定温度5以下时,绿色LED灭,红色加热的LED灯亮,不断循环。图3-2 LED数码管显示电路图3.6 温度采集电路(1) DS18B20介绍Dallas最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济。Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、DS1822 “一线总线”数字化温度传感器同DS18B20一样,DS18B20也支持“一线总线”接口,测量温度范围为 -55+125,在-10+85范围内,精度为0.5。DS1822的精度较差为2。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。其DS18B20的管脚配置和封装结构如图3-3所示。 图3-3 DS18B20封装引脚定义: DQ为数字信号输入/输出端; GND为电源地; VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 (2) DS18B20的单线(1wire bus)系统单线总线结构是DS18B20的突出特点,也是理解和编程的难点。从两个角度来理解单线总线:第一,单线总线只定义了一个信号线,而且DS18B20智能程度较低(这点可以与微控制器和SPI器件间的通信做一个比较),所以DS18B20和处理器之间的通信必然要通过严格的时序控制来完成。第二,DS18B20的输出口是漏级开路输出,这里给出一个微控制器和DS18B20连接原理图。这种设计使总线上的器件在合适的时间驱动它。显然,总线上的器件与(wired AND)关系。这就决定:(1) 微控制器不能单方面控制总线状态。之所以提出这点,是因为相当多的文献资料上认为,微控制器在读取总线上数据之前的I/O口的置1操作是为了给DS18B20一个发送数据的信号。这是一个错误的观点。如果当前DS18b20发送0,即使微控制器I/O口置1,总线状态还是0;置1操作是为了是I/O口截止(cut off),以确保微控制器正确读取数据。(2) 除了DS18B20发送0的时间段,其他时间其输出口自动截止。自动截止是为确保:1时,在总线操作的间隙总线处于空闲状态,即高态。2时,确保微控制器在写1的时候DS18B20可以正确读入。由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 DS18B20的复位时序,如图3-4所示:图3-4 DS18B20的复位时序图 DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。DS18B20的读时序图如图3-5所示。图3-5 DS18B20的读时序 DS18B20的写时序对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。如图3-6所示。图3-6 DS18B20的写时序图(3) DS18B20的供电方式在图3-7中示出了DS18B20的寄生电源电路。当DQ或VDD引脚为高电平时,这个电路便“取”的电源。寄生电路的优点是双重的,远程温度控制监测无需本地电源,缺少正常电源条件下也可以读ROM。为了使DS18B20能完成准确的温度变换,当温度变换发生时,DQ线上必须提供足够的功率。有两种方法确保 DS18B20 在其有效变换期内得到足够的电源电流。第一种方法是发生温度变换时,在 DQ 线上提供一强的上拉,这期间单总线上不能有其它的动作发生。如图3-8所示,通过使用一个 MOSFET 把 DQ 线直接接到电源可实现这一点,这时DS18B20 工作在寄生电源工作方式,在该方式下 VDD 引脚必须连接到地。图3-7 DS18B20供电方式1另一种方法是 DS18B20 工作在外部电源工作方式,如图 3-8 所示。这种方法的优点是在 DQ 线上不要求强的上拉,总线上主机不需要连接其它的外围器件便在温度变换期间使总线保持高电平,这样也允许在变换期间其它数据在单总线上传送。此外,在单总线上可以并联多个 DS18B20,而且如果它们全部采用外部电源工作方式,那么通过发出相应的命令便可以同时完成温度变换。图3-8 DS18B20供电方式2(4) DS18B20设计中应注意的几个问题DS18B20具有测温系统简单、测温精度高、连接方便、占用接口线少等优点,但在实际应用中也应注意以下几方面的问题:较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送。因此,在对DS18B20 进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在DS18B20 有关资料中均未提及1Wire上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当1Wire上所挂DS18B20超过8个时,就需要考虑微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。连接DS18B20的总线电缆是有长度限制的。实际应用中,测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC 和地线,屏蔽层在源端单点接地。本文以广泛应用的数字温度传感器DS18B20为例,说明了1Wire总线的操作过程和基本原理。事实上,基于1Wire总线的产品还有很多种,如1Wire总线的E2PROM、实时时钟、电子标签等。他们都具有节省I/O资源、结构简单、开发快捷、成本低廉、便于总线扩展等优点,因此有广阔的应用空间,具有较大的推广价值。本设计将温度传感器DS18B20与单片机TXD引脚相连,读取温度传感器的数值。DS18B20与单片机连接图如图所示3-9所示。图3-9 DS18B20与单片机连接图3.7 存储电路设计系统通过AT24C02存储温度信息,AT24C02内部存储地址0 x00和0 x01分别存储温度上下限数据信息;温度上下限数据可通过外部按键进行修改,并通过数码管实时显示。数据存储格式如表3-2所示。表3-2 数据存储格式地址0 x000 x010 x020 x030 xFF数据温度上限温度下限1. 存储芯片简介CAT24WC02是一个2K位串行CMOS EPROM内部含有256个8位字节CATALYST公司的先进CMOS技术实质上减少了器件的功耗,CAT24WC02有一个16字节页写缓冲器该器件通过C总线接口进行操作有一个专门的写保护功能。2. 特性(1) 与400KHz IC总线兼容;(2) 1.8到6.0伏工作电压范围;(3) 写保护功能当WP为高电平时进入写保护状态;(4) 页写缓冲器;(5) 自定时擦写周期;(6) 1,000,000编程/擦除周期;(7) 可保存数据100年。2. 极限参数(1) 工作温度工业级 -55+125;(2) 贮存温度-65+150;(3) 各管脚承受电压-2.0V+2.0V;(4) Vcc管脚承受电压-2.0V+7.0V;(5) 焊接温度(10秒)300;(6) 输出短路电流100mA。3. AT24C02管脚结构AT24C02管脚结构如图3-10所示。图3-10 管脚结构1. 管脚描述:SCL:串行时钟CAT24WC02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟这是一个输入管脚。SDA:串行数据/地址CAT24WC01/02/04/08/16双向串行数据/地址管脚用于器件所有数据的发送或接收SDA是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线或wire-OR。A0、A1、A2:器件地址输入端这些输入脚用于多个器件级联时设置器件地址当这些脚悬空时默认值为0。使用24WC02时最大可级联8个器件,如果只有一个24WC02被总线寻址这三个地址输入脚A0、A1、A2可悬空或连接到Vss。WP:写保护如果WP管脚连接到Vcc所有的内容都被写保护只能读当WP管脚连接到Vss或悬空允许器件进行正常的读/写操作。Vcc:+1.8V6.0V工作电压。Vss:接地。2. 工作原理只有在总线非忙时才被允许进行数据传送。在数据传送时,当时钟线为高电平,数据线必须为固定状态,不允许有跳变。时钟线为高电平时,数据线的任何电平变化将被当作总线的启动或停止条件。3. 启始条件:起始条件必须在所有操作命令之前发送。时钟线保持高电平期问,数据线电平从高到低的跳变作为IC总线的启动信号。CAT24C02一直监视SDA和SCL电平信号直到条件满足时才响应。4. 停止条件:时钟线保持高平期问,数据线电平从低到高的跳变作为IC总线的停止信号。操作结束时必须发送停止条件。5. 器件地址的约定:主器件在发送启动命令后开始传送,主器件发送相应的从器件的地址(见表3-3),8位从器件地址的高4位固定为1010。接下来的3位无意义。最后一位为读写控制位。“1”表示对从器件进行读操作,“0”表示对从器件进行写操作。在主器件发送启动命令和发送一字节从器件地址后,如果从器件地址相吻合,CAT24C02发送一个应答信号(通过SDA线)。然后CAT24C02再根据读/写控制位进行读或写操作。表3-3 从器件寻址1010A2A1A0R/6. 时序图CAT24C02工作时序包括起始/停止时序、应答时序、写时序和读时序。图3-11 起始/停止时序图图3-12 应答时序图图3-13 时序图图3-14 读时序图7. 存储电路A0、A1、A2接地,SDA、SCL与单片机I/O口连接,通过程序软件模拟I C时序,WP引脚接地,如图3-15所示。图3-15 硬件连接图3.8 电源电路采用L7805稳压块,输出为5V。电子组件要正常运作都需要电源电压供电,一般常用的电源电压为+5V或+12V,因为数字IC(Ingegrated Circuit:集成电路)所供给的电压为+5V,而CMOS IC所供给的电压为+12V,7805是一个稳压块。7805稳压管把高电压转换到低电压,7805稳压管具有保护单片机的作用。L7805输出端要并联上一个电解电容,滤除交流电干扰,防止损坏单片机系统。本设计采用两种供电方式,一种为DC718V直流稳压电源变换成5V的直流电;另一种为四节干电池共6V经二极管加压后得到将近5V的直流电源,电源配以开关和指示灯,以方便使用。黄色发光二极管表示保温,红色的表示加热状态。图3-16 系统电源设计图3.9 报警电路设计同时可以在系统里设定温度上限值,由于加热停止后,加热管还有余热当采集到的外界温度高于当前所设定温度上限值时,程序就会进入报警子程序,触发蜂鸣器进行报警。报警电路原理图如图3-17所示。图3-17 报警电路图3.10 加热管控制电路设计继电器是常用的输出控制接口,可以做交直流信号的输出切换。它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。继电器控制接点操作说明如下:COM:Common,共同点。输出控制接点的共同接点。NC:Normal Close常闭点。以Com为共同点,NC与COM在平时是呈导通状态的。NO:Normal Open常开点。NO与COM在平时是呈开路状态的,当继电器动作时,NO与COM导通,NC与COM则呈开路状态。当89S52的P2.5输出高电平时,继电器不导通,反之当输出低电平时,继电器导通,这样就激活了连接回路。第4章 系统软件设计本系统采用的是循环查询方式,来显示和控制温度的。主要包括四段程序的设计:DS18B20读温度程序,数码管的驱动程序,键盘扫描程序,以及抱经处理程序。4.1 主程序流程图图4-1 主程序流程图4.2 各个模块的流程图4.2.1 读取温度DS18B20模块的流程由于DS18B20采用的是一根数据线实现数据的双向传输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。DS18B20单线通信功能是分时完成的,它有严格的时隙概念。因此系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点, DS18B20必须首先调用启动温度转换函数,根据数据手册上对应转换时间来超作,如为12位转换,则应该是最大750mS,另外在对DS18B20超作时,时序要求非常严格,因此最好禁止系统中断。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20的读时序:(1) 对于DS18B20的读时序分为读0时序和读1时序两个过程。 (2) 对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。DS18B20的写时序:(1) 对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。 (2) 对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。系统程序设计主要包括三部分:读出温度子程序、温度转换命令子程序、显示温度子程序。图4-2 读取温度DS18B20模块的流程图程序代码为:GET_TEMPER:SETBDQ;读出转换后的温度值LCALLINIT_1820;先复位DS18B20JBFLAG1,TSS2RET;判断DS1820是否存在?若DS18B20不存在则返回TSS2:MOVA,#0CCH;DS18B20已经被检测到!跳过ROM匹配LCALLWRITE_1820MOVA,#44H;发出温度转换命令LCALLWRITE_1820LCALL DISPLAY;这里通过调用显示子程序实现延时一段时间,等待AD转换结束,12位的话750微秒LCALLINIT_1820;准备读温度前先复位MOVA,#0CCH;跳过ROM匹配LCALLWRITE_1820MOVA,#0BEH;发出读温度命令LCALLWRITE_1820LCALLREAD_18200;将读出的温度数据保存到35H/36HRET4.2.2 键盘扫描处理流程此流程为键盘扫描处理,CPU通过检测各数据线的状态(0或1)就能知道是否有按键闭合以及哪个按键闭合。键盘管理程序的功能是检测是否有按键闭合,如果有按键闭合,消除抖动,根据键号转到相应的键处理程序,按键流程图如图4-3所示。图4-3 键盘扫描子程序流程图4.2.3 报警处理流程运行程序后,温度传感器DS18B20即可对环境进行温度采集,并送LED数码管显示。我们可以在程序里设定温度上限值,当采集到的外界温度高于当前所设定温度上限值时,程序就会进入报警子程序,触发蜂鸣器进行报警。其程序流程图如图4-4所示。图4-4 报警子程序流程图第5章 系统调试5.1 硬件电路调试仔细检查所接电路,按照硬件原理图接线,理论上是能实现的,如果数码管不显示,则应该检查线路是否正确,或是因为单片机没有工作,还有集电极和发射极是否接对。如果只显示两个八,则可能是DS18B20没有接正确,检查上拉电路是否接好。另外要注意的是,由单片机输出的控制信号比较小,需要进行放大才能驱动继电器工作,否则就不能实现升温过程,通常选用8550三极管来进行放大。还有220V交流电绿色接头和加热管黄色接头必须接正确,否则导致电路烧坏。蜂鸣器是低电平有效。如果能注意这些问题,电路基本不会出错。5.2 软件调试如果硬件电路检查后,没有问题却实现不了设计要求,则可能是软件编程的问题,首先应检查初始化程序,然后是读温度程序,显示程序,以及继电器控制程序,对这些分段程序,要注意逻辑顺序,调用关系,以及涉及到了标号,有时会因为一个标号而影响程序的执行,除此之外,还要熟悉各指令的用法,以免出错。还有一个容易忽略的问题就是,源程序生成的代码是否烧入到单片机中,如果这一过程出错,那不能实现设计要求也是情理之中的事。本人在设计的时候在伟福仿真软件进行调试,通过此软件进行调试可以很方便的观察单片机内部各个寄存器及内部存储器变化情况,以方便进行调试。图为单片机功能调试图。图5-1 单片机功能调试图硬件与软件调试相结合,仔细检查各个模块的设计,旧能顺利完成任务,实现设计要求,在调试过程中必须认真耐心,不能有一点马虎,否则遗漏一个小的问题就会导致整个设计的失败。5.3 系统操作说明本系统上电后数码管显示当前测量温度,此时加热指示灯和保温指示灯均不点亮;若此时按“自动加热”键,则单片机自动将预加热温度设置为80并开始加热,送出一个加热信号,并点亮加热指示灯;若按“温度设置”键,则进入预加热温度设置界面,此时数码管闪烁显示预设置温度,此时通过按键“”和“”进行设置温度,预设置温度按“5”递增或递减,设置好温度后再按一次“温度设置”键确定,单片机保存预设置温度,并开始加热。此时单片机通过数码管显示实时检测的温度并和预设置温度进行对比,如果实测温度大于或等于预设置温度,则单片机发出停止加热信号并熄灭加热指示灯,点亮保温指示灯,且当超过预设温度时发出报警;当温度下降到预设置温度以下5度时,单片机再次发出加热信号,同时熄灭保温指示灯,点亮加热指示灯,依次循环控制。5.4 数据测试1. 静态数据测试取一桶净水,改变它的温度,观察数码管上显示的温度值,并用温度计进行测温,记录两组数据,比较差异。记录表如下:表5-1 静态温度数据测试表温度123456显示温度234763778490测量温度244763808491有测试数据可知,本系统测温结果与温度计测温基本一致,能满足设计,证明了设计的合理性。2. 动态数据测试进行温度设定,通过设定温度值(75),观察加热管的加热情况,以及数码管的显示值,再用温度计测量水温,每隔一段时间记录一次数据,将两组值进行比较。记录表如下:(设定前温度为25)表5-2 静态温度数据测试表组数分组12345678910111213显示温度25293439424853586267707375测量温度25283438424953596367717475通过上表可看出在加热的过程中,显示的温度与实测的温度近似一样,说明系统的设计达到精度要求,但还是略有偏差,基本不影响设计结果。整个测试过程表明设计达到了任务书的要求,证明了该方案是合理可行的,顺利完成了设计,达到了预想结果。结 论通过本次的设计,使我们不仅对单片机这门课程有了更深刻的认识,懂得了如何运用课本知识结合实际来完成定时器的显示和编程方法以及数码显示电路的驱动方法,使我们能够很快的适应现代控制技术发展的需求,同时也提高了我们的思维能力和实际操作能力,为以后更好的走上工作岗位奠定了坚实的基础。另外,这次的设计还让我更进一步的认识了关于AT89S52等芯片的引脚功能以及使用方法,使我学会了应用不同的芯片来配合完成整个设计的操作。在做硬件电路的这段时间里,从思考设计到对电路的调试经过了许多困难。同样在对软件进行设计时,也可为一路坎坷。但是通过对软硬件不断撞墙,不断思考解决问题的过程中,我学会了很多东西,同时对单片机也有了更深的认识。在做设计的时候,很需要耐心和对事物的细心,很多时候一个简单问题的一个简单的疏忽就会导致整个电路的不工作,只有不断的检查不断的调试,才能真正完成一个设计的制作。只有不断的发现问题解决问题,才能从问题中改变自己,提升自己对单片机的能力。此设计虽然能够完成温度的显示和控制,但功能和精度有待于进一步提高。以后可以通过加入PID算法优化控制功能,并通过液晶显示屏实时显示温度。致 谢时间如梭,转眼毕业在即。回想在大学求学的四年,心中充满无限感激和留恋之情。感谢母校为我们提供的良好学习环境,使我们能够在此专心学习,陶冶情操。谨向我的论文指导老师多智华教授致以最诚挚的谢意!老师不仅在学业上言传身教,而且以其高尚的品格给我以情操上的熏陶。本文的写作更是直接得益于他的悉心指点,从论文的选题到体系的安排,从观点推敲到字句斟酌,无不凝聚着他的心血。滴水之恩,当以涌泉相报,师恩重于山,师恩难报。我只有在今后的学习、工作中,以锲而不舍的精神,努力做出点成绩,以博恩师一笑。另外,我必须感谢我的父母。焉得谖草,言树之背,养育之恩,无以回报。作为他们的孩子,我秉承了他们朴实、坚韧的性格,也因此我有足够的信心和能力战胜前进路上的艰难险阻;也因为他们的日夜辛劳,我才有机会如愿完成自己的大学学业,进而取得进一步发展的机会。最后,我必须感谢我的朋友,正是因为他们在电脑技术上的无私指引,我才能得以顺利完成该论文。参考文献1 乐建波.温度控制系统.化学工业出版社, 2003;2 Ken C.Pohlmann.数字音频原理及应用.电子工业出版社,2005年6月;3 谢自美.电子线路设计实验测试.华中科技大学出版社,2000;4 陈东光.单片微型计算机原理及C语言程序设计.华中科技大学出版社,2004年4月;5 武庆生,仇梅.单片机原理与应用.电子科技大学出版社,1998年2月;6 谭浩强.C程序设计.清华大学出版社,2007;7 华中理工大学电子学教研室编.电子技术基础模拟部分.高等教育出版社, 2009年7月;8 华中理工大学电子学教研室编.电子技术基础数字部分.高等教育出版社,2008年10月;9 赵晶.电路设计与制版Protel 99se 的高级应用.人民邮电出版社,2000年1月;10 王彬,任艳颖.Digital IC System Design.西安电子科技大学出版社,2005年9月;11 赵丽娟,邵欣.基于单片机的温度监控系统的设计与实现.人民大学出版社,2008;12 郭炳坤.简单的恒温箱温控电路.电子工业出版社,1991;13 Guiyun Tian.Foundation and Application of Microcontraller.高等教育出版社,2004.附录AIntroductions to SCMThe single chip microcomputer referred to as SCM, is typical of embedded micro-controller (Microcontroller Unit), the commonly used letters of the abbreviation MCU MCU, it was first used in the field of industrial control. Master microcontroller technology to enable more people in the industry, students, enthusiasts, product developers, the question arose due to the extensive application of SCM in the field of industrial control, microcontroller development board, the more famous such as e-DZR-01A microcontroller development board . SCM evolved by the only dedicated processor CPU chip.The first design concept by a large number of peripherals and CPU integrated in a single chip, the computer system is smaller, more easily integrated into complex and require strict control equipment on the volume. INTEL Z80 is the first processor designed in accordance with this idea, since then, the development of microcontroller and dedicated processor have grown apart. Early microcontrollers are 8 or 4. One of the most successful is the INTEL 8031, because the simple and reliable pe
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 医学现状


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!