单片机水温控制器1.doc

上传人:本田雅阁 文档编号:2051207 上传时间:2019-02-08 格式:DOC 页数:41 大小:1.11MB
返回 下载 相关 举报
单片机水温控制器1.doc_第1页
第1页 / 共41页
单片机水温控制器1.doc_第2页
第2页 / 共41页
单片机水温控制器1.doc_第3页
第3页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机水温控制器1.doc》由会员分享,可在线阅读,更多相关《单片机水温控制器1.doc(41页珍藏版)》请在三一文库上搜索。

1、摘 要随着国民经济的发展,单片机技术应用已经成为高、新科学技术的重要内容和标志之一,它在国民经济的各个领域正在发挥着引人注目的作用。本系统设计热水器温度控制系统是以单片机AT89S52为核心,通过3个数码管显示温度和4个按键实现人机对话,使用单总线温度转换芯片DS18B20实时采集温度并通过数码管显示,并提供各种运行指示灯用来指示系统现在所处状态,如:温度设置、加热、停止加热等,整个系统通过四个按键来设置加热温度和控制运行模式,可以用于热水器温度控制系统和饮水机等各种电器电路中。采用单片机的热水器温度控制系统不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高产品的性能比指标,提高产品的

2、质量和数量。关键词: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.Heate

3、r 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

4、 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 temp

5、erature 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 quant

6、ity 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 报警电路设计16

7、3.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 选题的目的和意义温度控制系统可以说是无所不在,热水器系统、空调系统、冰箱、电煲电风扇等家电产品以至手持式高速高效的计算机和电子设备,均需要提供温度控制功能。以计算机为例,当中的中央处理器的运行速

8、度愈快,所耗散的热量便愈多,为免计算机系统过热而受损,有关系统必须加强温度过高保护功能。传统的温度采集电路相当复杂,需要经过温度采集、信号放大、滤波、AD转换等一系列工作才能得到温度的数字量,并且这种方式不仅电路复杂,元器件个数多,而且线性度和准确度都不理想,抗干扰能力弱。现在常用的温度传感器芯片不但功率消耗低、准确率高,而且比传统的温度传感器有更好的线性表现,最重要的一点是使用起来方便。自动控制仪器仪表总的发展趋势是高性能、数字化、集成化、智能化和网络化。智能温度控制系统的设计是为了满足市场对成本低、性能稳定、可远程监测、控制现场温度的需求而做的课题,具有较为广阔的市场前景。目前,测温控温系

9、统得到快速的发展,国外的测量控制系统已经成熟,产品也较多。近两年,国内也出现了许多高精度的温度控制系统产品,但相对于用户来说,价格还是偏高。而由于竞争越来越激烈,现在企业发展的趋势是如何最有效的提高生产效率,降低生产成本。寻求性能可靠、价格低廉,且应用广泛的元器件是生产过程的首先要考虑的问题,因此设计一种控制简单、精度较高、价格低廉的控制系统会有很好的发展前景。1.2 国内外研究状况及发展1. 国外温度测控系统研究国外对温度控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。80年代末出现了分布式控制系统。目前正开发和研制计算机数据采集控制系统

10、的多因子综合控制系统。现在世界各国的温度测控技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。2. 国内温度测控系统研究我国对于温度测控技术的研究较晚,始于20世纪80年代。我国工程技术人员在吸收发达国家温度测控技术的基础上,才掌握了温度室内微机控制技术,该技术仅限于对温度的单项环境因子的控制。我国温度测控设施计算机应用,在总体上正从消化吸收、简单应用阶段向实用化、综合性应用阶段过渡和发展。在技术上,以单片机控制的单参数单回路系统居多,尚无真正意义上的多参数综合控制系统,与发达国家相比,存在较大差距。我国温度测量控制现状还远远没有达到工厂化的程度,生产实际中仍然有许

11、多问题困扰着我们,存在着装备配套能力差,产业化程度低,环境控制水平落后,软硬件资源不能共享和可靠性差等缺点。1.3 论文研究的主要内容本设计利用单片机结合传感器技术而开发设计了这一温度控制系统,文中传感器与单片机实际应用有机结合,简单讲述了利用新型芯片探测环境温度的过程,以及实现模数转换的原理过程。1. 功能实现本设计的目的是以单片机为核心设计出一个温度采集系统。通过本课题设计,综合运用单片机及接口技术、微机原理、微电子技术,锻炼动手操作能力。综合运用能力,学习论文的写作方法和步骤。设计的温度控制器有以下功能:(1) 测温范围:-55+125;(2) 测温分辨力:=0.5;(3) 测温准确度:

12、=0.5;(4) 温度显示:采用6个7段数码管;(5) 温限可经键盘实现简单的人机互动,灵活设定温度范围;(6) 超温度范围报警。2. 方案设计本系统采用了单片机AT89S52,利用数字温度传感器DS18B20对环境进行测温,同时采用MAX7219驱动六位7段共阴极数码管,同时还采用EEPROM对温度上下限进行存储,此外还有键盘设备来实现温度上下限值的设置,红绿灯报警温度的越线,继电器和电机对温度进行调整等来实现该温度控制器的智能化。总体硬件结构框图如图1-1所示。AT89S52EEPROM按键继电器电机驱动LED显示报警电路温度传感器DS18B20MAX7219图1-1 系统硬件结构第2章

13、系统总体设计当将单片机用作测控系统时,系统总要有被测信号的输入通道,由计算机拾取必要的输入信息。对于测量系统而言,如何准确获得被测信号是其核心任务;而对测控系统来讲,对被控对象状态的测试和对控制条件的监察也是不可缺少的环节。2.1 系统需求及可行性分析温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机 AT89S5获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器),当采集的温度经处理后低于设定温度的下时,单片机通

14、过三极管驱动继电器开启升温设备(加热器)。当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声。2.2 硬件总体设计设计并制作一个基于单片机的热水器温度控制系统的电路,其结构框图如图2-1所示:电源单片机AT89S52数码管显示继电器温度传感器DS18B20报警键盘指示灯图2-1 系统结构框图硬件系统子模块(1) 单片机最小系统电路部分(2) 键盘扫描电路部分(3) 数码管温度显示和运行指示灯电路部分(4) 温度采集电路部分(5) 继电器控制部分(6) 报警部分2.3 软件总体

15、设计良好的设计方案可以减少软件设计的工作量,提高软件的通用性,扩展性和可读性。本系统的设计方案和步骤如下:(1) 根据需求按照系统的功能要求,逐级划分模块。(2) 明确各模块之间的数据流传递关系,力求数据传递少,以增强各模块的独立性,便于软件编制和调试。(3) 确定软件开发环境,选择设计语言,完成模块功能设计,并分别调试通过。(4) 按照开发式软件设计结构,将各模块有机的结合起来,即成一个较完善的系统。首先接通电源系统开始工作,系统开始工作后,通过按键设定温度值的上限值和下限值,确定按键将设定的温度值存储到指定的地址空间,温度传感器开始实时检测,调用显示子程序显示检测结果,调用比较当前显示温度

16、值与开始设定的温度值比较,如果当前显示值低于设定值就通过继电器起动加热装置,直到达到设定值停止加热,之后进行保温,如果温度高于上限进行报警。第3章 硬件系统设计3.1 设计思想本设计是基于单片机对数字信号的高敏感和可控性、温湿度传感器可以产生模拟信号,和A/D模拟数字转换芯片的性能,本设计了以51单片机基本系统为核心的一套检测系统,其中包括A/D转换、单片机、复位电路、温度检测、湿度检测、键盘及显示、报警电路、系统软件等。本次设计主要思路是通过对单片机编程将由温度传感器DS18B20采集的温度外加驱动电路显示出来,包括对继电器的控制,进行升温,当温度达到上下限蜂鸣器进行报警。P1.7开关按钮是

17、用于确认设定温度的,初始按下表示开始进入温度设定状态,然后通过P1.5和P1.6设置温度的升降,再次按下P1.7时,表示确认所设定的温度,然后转入升温或降温。P2.3所接的发光二极管用于表示加热状态,P2.5所接的发光二极管用于表示保温状态。P2.3接继电器。P3.1是温度信号线。整个电路都是通过软件控制实现设计要求。3.2 AT89S52AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。AT89S52使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统 可编程,亦适于常规编程器

18、。在单芯片上,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) 支持中断从

19、掉电模式唤醒;(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”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外

20、部拉低的引脚由于内部电阻的原因,将输出电流(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 逻辑电平。

21、对P3 端口写 “1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(TTL)。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,

22、该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vp

23、p,当然这必须是该器件是使用12V编程电压Vpp。3.3 单片机最小系统电路单片机最小系统有复位电路和振荡器电路。值得注意的一点是单片机的31脚必须接高电平,否则系统将不能运行。因为该脚不接时为低电平,单片机将直接读取外部程序存储器,而系统没有外部程序存储器,所以必须接VCC。在按键两端并联一个电解电容,滤除交流干扰,增加系统抗干扰能力。 3.4 键盘电路键盘是单片机应用系统中的主要输入设备,单片机使用的键盘分为编码键盘和非编码键盘。编码键盘采用硬件线路来实现键盘的编码,每按下一个键,键盘能够自动生成按键代码,并有去抖功能。因此使用方便,但硬件较复杂。非编码键盘仅仅提供键开关状态,由程序来识别

24、闭合键,消除抖动,产生相应的代码,转入执行该键的功能程序。非编码键盘中键的数量较少,硬件简单,在单片机中应用非常广泛。图为按键和AT89S52的接线图,检测仪共设有4个按键,每个按键由软件来决定其功能,4个按键功能分别为:(1) SW1:设定按键(设定按键)(2) SW2:加法按键(当前位加5)(3) SW3:减法按键(当前位减5)(4) SW4:退出设置键(系统初始化) 图3-1 单片机最小系统3.5 数码管及指示灯显示电路1. 数码管显示说明各个数码管的段码都是单片机的数据口输出,即各个数码管输入的段码都是一样的,为了使其分别显示不同的数字,可采用动态显示的方式,即先只让最低位显示0(含点

25、),经过一段延时,再只让次低位显示1,如此类推。由视觉暂留,只要我们的延时时间足够短,就能够使得数码的显示看起来非常的稳定清楚,过程如表3-1所示。表3-1 数码管编码表段码位码显示器状态08H01H0abH02H112H04H222H08H3a1H10H424H20H504H40H6aaH80H7本论文中使用了3个数码管,其中前两位使用动态扫描显示实测温度,在设置加热温度的时候,两个数码管是闪烁,以提示目前处在温度设置状态。第三位数码管静态显示符号“”。(2) 运行指示灯说明本热水器温度控制系统中共使用到3个LED指示灯和3个数码管。右上角的红色LED是电源指示灯;数码管右边的红色LED是加

26、热指示灯,当刚开机或温度降到设定温度5以下时,该灯会亮,表示目前处于加热状态;当温度上升到设定温度时,该LED灭,同时数码管右边的绿色LED亮,表示目前处于保温状态,用户可以使用热水器;当温度再次下降到设定温度5以下时,绿色LED灭,红色加热的LED灯亮,不断循环。图3-2 LED数码管显示电路图3.6 温度采集电路(1) DS18B20介绍Dallas最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济。Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络

27、,为测量系统的构建引入全新概念。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的突

28、出特点,也是理解和编程的难点。从两个角度来理解单线总线:第一,单线总线只定义了一个信号线,而且DS18B20智能程度较低(这点可以与微控制器和SPI器件间的通信做一个比较),所以DS18B20和处理器之间的通信必然要通过严格的时序控制来完成。第二,DS18B20的输出口是漏级开路输出,这里给出一个微控制器和DS18B20连接原理图。这种设计使总线上的器件在合适的时间驱动它。显然,总线上的器件与(wired AND)关系。这就决定:(1) 微控制器不能单方面控制总线状态。之所以提出这点,是因为相当多的文献资料上认为,微控制器在读取总线上数据之前的I/O口的置1操作是为了给DS18B20一个发送数

29、据的信号。这是一个错误的观点。如果当前DS18b20发送0,即使微控制器I/O口置1,总线状态还是0;置1操作是为了是I/O口截止(cut off),以确保微控制器正确读取数据。(2) 除了DS18B20发送0的时间段,其他时间其输出口自动截止。自动截止是为确保:1时,在总线操作的间隙总线处于空闲状态,即高态。2时,确保微控制器在写1的时候DS18B20可以正确读入。由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 DS

30、18B20的复位时序,如图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,保证DS18

31、B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。如图3-6所示。图3-6 DS18B20的写时序图(3) DS18B20的供电方式在图3-7中示出了DS18B20的寄生电源电路。当DQ或VDD引脚为高电平时,这个电路便“取”的电源。寄生电路的优点是双重的,远程温度控制监测无需本地电源,缺少正常电源条件下也可以读ROM。为了使DS18B20能完成准确的温度变换,当温度变换发生时,DQ线上必须提供足够的功率。有两种方法确保 DS18B20 在其有效变换期内得到足够的电源电流。第一种方法是发生温度变换时,在 DQ

32、 线上提供一强的上拉,这期间单总线上不能有其它的动作发生。如图3-8所示,通过使用一个 MOSFET 把 DQ 线直接接到电源可实现这一点,这时DS18B20 工作在寄生电源工作方式,在该方式下 VDD 引脚必须连接到地。图3-7 DS18B20供电方式1另一种方法是 DS18B20 工作在外部电源工作方式,如图 3-8 所示。这种方法的优点是在 DQ 线上不要求强的上拉,总线上主机不需要连接其它的外围器件便在温度变换期间使总线保持高电平,这样也允许在变换期间其它数据在单总线上传送。此外,在单总线上可以并联多个 DS18B20,而且如果它们全部采用外部电源工作方式,那么通过发出相应的命令便可以

33、同时完成温度变换。图3-8 DS18B20供电方式2(4) DS18B20设计中应注意的几个问题DS18B20具有测温系统简单、测温精度高、连接方便、占用接口线少等优点,但在实际应用中也应注意以下几方面的问题:较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送。因此,在对DS18B20 进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在DS18B20 有关资料中均未提及1Wire上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当1Wire上所挂DS18B20超过8个时,就需要考虑微处理器的总线

34、驱动问题,这一点在进行多点测温系统设计时要加以注意。连接DS18B20的总线电缆是有长度限制的。实际应用中,测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC 和地线,屏蔽层在源端单点接地。本文以广泛应用的数字温度传感器DS18B20为例,说明了1Wire总线的操作过程和基本原理。事实上,基于1Wire总线的产品还有很多种,如1Wire总线的E2PROM、实时时钟、电子标签等。他们都具有节省I/O资源、结构简单、开发快捷、成本低廉、便于总线扩展等优点,因此有广阔的应用空间,具有较大的推广价值。本设计将温度传感器DS18B20与单片机TXD引脚相连,读取温度传感器的数值。

35、DS18B20与单片机连接图如图所示3-9所示。图3-9 DS18B20与单片机连接图3.7 存储电路设计系统通过AT24C02存储温度信息,AT24C02内部存储地址0x00和0x01分别存储温度上下限数据信息;温度上下限数据可通过外部按键进行修改,并通过数码管实时显示。数据存储格式如表3-2所示。表3-2 数据存储格式地址0x000x010x020x030xFF数据温度上限温度下限1. 存储芯片简介CAT24WC02是一个2K位串行CMOS EPROM内部含有256个8位字节CATALYST公司的先进CMOS技术实质上减少了器件的功耗,CAT24WC02有一个16字节页写缓冲器该器件通过C

36、总线接口进行操作有一个专门的写保护功能。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所示

37、。图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所有

38、的内容都被写保护只能读当WP管脚连接到Vss或悬空允许器件进行正常的读/写操作。Vcc:+1.8V6.0V工作电压。Vss:接地。2. 工作原理只有在总线非忙时才被允许进行数据传送。在数据传送时,当时钟线为高电平,数据线必须为固定状态,不允许有跳变。时钟线为高电平时,数据线的任何电平变化将被当作总线的启动或停止条件。3. 启始条件:起始条件必须在所有操作命令之前发送。时钟线保持高电平期问,数据线电平从高到低的跳变作为IC总线的启动信号。CAT24C02一直监视SDA和SCL电平信号直到条件满足时才响应。4. 停止条件:时钟线保持高平期问,数据线电平从低到高的跳变作为IC总线的停止信号。操作结束

39、时必须发送停止条件。5. 器件地址的约定:主器件在发送启动命令后开始传送,主器件发送相应的从器件的地址(见表3-3),8位从器件地址的高4位固定为1010。接下来的3位无意义。最后一位为读写控制位。“1”表示对从器件进行读操作,“0”表示对从器件进行写操作。在主器件发送启动命令和发送一字节从器件地址后,如果从器件地址相吻合,CAT24C02发送一个应答信号(通过SDA线)。然后CAT24C02再根据读/写控制位进行读或写操作。表3-3 从器件寻址1010A2A1A0R/6. 时序图CAT24C02工作时序包括起始/停止时序、应答时序、写时序和读时序。图3-11 起始/停止时序图图3-12 应答

40、时序图图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输出端要并联上一个电解电容,滤除交流电干扰,防止

41、损坏单片机系统。本设计采用两种供电方式,一种为DC718V直流稳压电源变换成5V的直流电;另一种为四节干电池共6V经二极管加压后得到将近5V的直流电源,电源配以开关和指示灯,以方便使用。黄色发光二极管表示保温,红色的表示加热状态。图3-16 系统电源设计图3.9 报警电路设计同时可以在系统里设定温度上限值,由于加热停止后,加热管还有余热当采集到的外界温度高于当前所设定温度上限值时,程序就会进入报警子程序,触发蜂鸣器进行报警。报警电路原理图如图3-17所示。图3-17 报警电路图3.10 加热管控制电路设计继电器是常用的输出控制接口,可以做交直流信号的输出切换。它具有控制系统(又称输入回路)和被

42、控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。继电器控制接点操作说明如下:COM:Common,共同点。输出控制接点的共同接点。NC:Normal Close常闭点。以Com为共同点,NC与COM在平时是呈导通状态的。NO:Normal Open常开点。NO与COM在平时是呈开路状态的,当继电器动作时,NO与COM导通,NC与COM则呈开路状态。当89S52的P2.5输出高电平时,继电器不导通,反之当输出低电平时,继电器导通,这样就激活了连接回路。第4章 系统软件设计本系统采用的是循

43、环查询方式,来显示和控制温度的。主要包括四段程序的设计:DS18B20读温度程序,数码管的驱动程序,键盘扫描程序,以及抱经处理程序。4.1 主程序流程图图4-1 主程序流程图4.2 各个模块的流程图4.2.1 读取温度DS18B20模块的流程由于DS18B20采用的是一根数据线实现数据的双向传输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。DS18B20单线通信功能是分时完成的,它有严格的时隙概念。因此系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发RO

44、M功能命令发存储器操作命令处理数据DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点, DS18B20必须首先调用启动温度转换函数,根据数据手册上对应转换时间来超作,如为12位转换,则应该是最大750mS,另外在对DS18B20超作时,时序要求非常严格,因此最好禁止系统中断。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求

45、单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20的读时序:(1) 对于DS18B20的读时序分为读0时序和读1时序两个过程。 (2) 对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。DS18B20的写时序:(1) 对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。 (2) 对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在1

46、5us到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_1820

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1