单片机水温控制系统论文.doc

上传人:文库蛋蛋多 文档编号:3936561 上传时间:2023-03-28 格式:DOC 页数:44 大小:946KB
返回 下载 相关 举报
单片机水温控制系统论文.doc_第1页
第1页 / 共44页
单片机水温控制系统论文.doc_第2页
第2页 / 共44页
单片机水温控制系统论文.doc_第3页
第3页 / 共44页
单片机水温控制系统论文.doc_第4页
第4页 / 共44页
单片机水温控制系统论文.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

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

1、 本科毕业论文(设计) 题目:基于单片机水温控制系统设计学 院: 专 业: 班 级: 学 号: 学生姓名: 指导教师: 年 月 日 贵州大学本科毕业论文(设计)诚信责任书本人郑重声明:本人所呈交的毕业论文(设计),是在导师的指导下独立进行研究所完成。毕业论文(设计)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。特此声明。论文(设计)作者签名: 日 期: 2014年 6月 7日目录摘要1第一章 引言31.1系统设计的背景31.2研究的目的及其意义31.3水温控制系统的国内外现状和发展趋势3第二章 系统相关技术介绍52.1单片机知识介绍52.1.1单片机组成结构62.1.2

2、单片机内部结构62.1.3单片机的引脚说明62.2 DS18B20温度传感器应用解析82.2.1 DS18B20的主要特征82.2.2 DS18B20封装结构图9第三章 系统各部件设计103.1硬件电路分析和设计报告103.2单片机最小系统电路103.2.1复位电路103.2.2晶震电路103.3 键盘电路113.4 数码管和指示灯显示电路及报警电路123.4.1数码管显示说明123.4.2运行指示灯说明133.4.3报警电路133.5 系统的抗干扰措施133.5.1 DS18B20介绍133.5.2 DS18B20的单线(1wire bus)系统143.5.3 DS18B20的供电方式163

3、.5.4 DS18B20设计中应注意的几个问题17第四章系统总设计184.1主程序流程图184.2各个模块的流程图194.2.1读取温度DS18B20模块的流程194.2.2键盘扫描处理流程224.2.3报警处理流程22第五章系统调试245.1硬件电路调试245.2软件调试255.3系统操作说明25第六章 总结与展望26参考文献27致谢28附录1单片机水温控制系统程序29单片机水温控制系统设计摘要随着科学技术的不断发展,和人们对生活品质要求的不断提高,现代电子产品在大众的生活中有着举足轻重的作用,产品的功能、性能也随着人们的要求不断完善,不断提高。在此要求下,设计了一个基于单片机的水温控制系统

4、,以单片机为核心,完成测量水温、温度加热、水温现实和报警灯功能。系统采用了DS18B20采集温度,用键盘设定所需温度,设定温度与现实温度都通过数码管显示出来,当温度达到设定温度时自动报警。通过基于单片机水温控制系统设计的实验,表明以单片机为核心可以实现对水温的控制,也可以根据用户的需要进行设置。该系统应用广泛,在该系统的基础上在进行改善可达到更理想的用途。在工业生产中温度、压力、流量和液位是四种常用的物理量,其中温度是一个非常重要的过程量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成型,结晶以及空气流动等物理和化学过程。温度控制在工业领域应用非常广泛,由于其具有影响因素多

5、、参数多变、运行惯性大、控制滞后等特点,所以对控制调节器要求较高。温度控制不好就会引起生产安全,产品质量和产量等一系列问题。在日常生活中水温也是经常要用的参量,如饮水机、热水器、浴池、游泳池等都需要对水温进行控制,从而使人们生活更为便利。针对这个系统而言,是以89C51单片机为核心,配合温度传感器,信号处理电路,显示电路,输出控制电路等组成,软件选用C语言编程。单片机将温度传感器监测到的水温,显示于LED数码管显示器上,可根据用户设定对水温进行加热以及对于设定温度高于或低于界限温度时报警。系统灵活性强,易于操作,可靠性高,在将来会有更广阔的发展前景。关键词: C51单片机,温度控制,DS18B

6、20 Designoftemperaturecontrolsystembased onMCU Abstract With the development of science and technology, and the continuous improvement of quality of life, and modern electronic products play an important role in the public life, product features, performance as people continue to improve, and contin

7、uously improve. Under this requirement, designed a water temperature based on single-chip microcomputer control system with SCM as the core completed reality heating water temperature, temperature measurement, temperature and the alarm lamp function. System uses a DS18B20 collected temperature, set

8、the desired temperature with the keyboard, the set temperature and actual temperature through the digital display, automatic alarm when temperature has reached the set temperature. Through the design of temperature control system based on single-chip microcomputer experiment showed that SCM as the c

9、ore can realize temperature control, can also be set according to users needs. The system is widely used in that system improvements can be achieved on the basis of a better use of. In industrial production of temperature, pressure, flow, and level are four commonly used physical quantities, where t

10、he temperature is a very important process because it directly affects the combustion, chemical reaction, baking, roasting, calcination, distillation, concentration, extrusion, crystallization, and air movement, and other physical and chemical processes. Temperature control is widely used in industr

11、y, because of their number, parameter, variable, influencing factors operating control of large inertia, hysteresis characteristics, so the control regulator to demand higher. Poor temperature control can cause the production safety, product quality and productivity and other problems. In the parame

12、ters of the water temperature is often used in everyday life, such as water coolers, water heater, hot tub, pool, needed to control the water temperature, so as to make peoples lives easier. For this system,Is 89C51 SCM as the core, with the temperature sensors, signal processing circuit, display ci

13、rcuits, output control circuits and other components, software using c language programming. Monolithic temperature sensors to monitor water temperature, displayed on the LED digital tube display, to heat the water temperature can be set according to the user, and when the set temperature is above o

14、r below the limit temperature alarm. System flexibility, ease of operation, high reliability, and will have broader prospects for development in the future.KEY WORDS:SCM,temperatre control,DS18B20第一章 引言随着科学技术的进步,水温控制在生活中的地位越来与重要,水温控制系统在温度控制区域受到广泛的应用。1.1 系统设计的背景在能源日益紧张的今天,电热水器,饮水机,电饭煲之类的家用电器在保温时,由于其简

15、单的温控系统,利用温敏电阻来实现温控,因而会造成很大的能源浪费。本系统是以AT89C51单片机为核心,配合温度传感器,信号处理器,显示电路,输出控制电路等组成,软件选用C语言编程。单片机可将温度传感器检测到的水温现实于LED数码显示器上。目前,国外温度控制系统及仪表正朝着高精度智能化,小型化等方面快速发展。温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,与国外的日本,美国,德国等先进国家相比,仍有较大差距。1.2 研究的目的及其意义温度控制无论是在工业生产中,还是在日常生活中都起着非常重要的作用,过低的温度或者过高的温度都会使得水资源失去应

16、有的作用,从而造成大量能源的浪费。特别是在当前全球能源紧缺的情况下,我们更应该掌握好对水温的控制,从而更好地利用能源。1.3 水温控制系统的国内外现状和发展趋势目前,国外温度控制系统及仪表正朝着高精度智能化,小型化等方面快速发展。温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,与国外的日本,美国,德国等先进国家相比,仍有较大差距。目前我国这方面总体技术处于20世纪80年代中后期水平。成熟产品主要以“点位”以及常规的PID控制器为主。它只能适应一半温度控制系统,难于控制滞后复杂时变温度控制系统。目前我国这方面总体技术处于20世纪80年代中后期

17、水平。成熟产品主要以“点位”以及常规的PID控制器为主。它只能适应一半温度控制系统,难于控制滞后复杂时变温度控制系统。国外对温度控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。80年代末出现了分布式控制系统。目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。现在世界各国的温度测控技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。我国工程技术人员在吸收发达国家温度测控技术的基础上,才掌握了温度室内微机控制技术,该技术仅限于对温度的单项环境因子的控制。我国温度测控设施计算机应用,在总体上正从消化吸收、简单应

18、用阶段向实用化、综合性应用阶段过渡和发展。在技术上,以单片机控制的单参数单回路系统居多,尚无真正意义上的多参数综合控制系统,与发达国家相比,存在较大差距。我国温度测量控制现状还远远没有达到工厂化的程度,生产实际中仍然有许多问题困扰着我们,存在着装备配套能力差,产业化程度低,环境控制水平落后,软硬件资源不能共享和可靠性差等缺点。第二章 系统相关技术介绍2.1单片机知识介绍2.1.1单片机组成结构单片机,它是一种典型的嵌入式微控制器,常用英文字母的缩写MCU表示单片机。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器、控制器、存储器、输入

19、输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。单片机内部各功能部件之间通过地址总线、数据总线和控制总线三大总线进行通信。一个普通的8051单片机包含以下部件:一个8位的微处理器CPU、片内程序内存ROMEPROM(4KB8KB)、片内数据存储器RAM(128B256B、两个或三个定时计数器、四个8位并行IO口)、一个全双工UART(通用异步数据接收发送器)的串行IO口、五个中断源、两个优先级嵌套中断结构、寻址外部数据存储器和外部程序存储器。 图2-1 8051单片机框图2.1.2 单片机内部结构 8051单片机的内部

20、结构如下图所示: 图2-2 8051单片机内部结构MCS-51单片机是在一块芯片中集成了CPU、RAM、ROM、定时/计数器和多种功能的IO线等一台计算机所需要的基本功能部件,各功能部件由内部总线联在一起(如图2-2所示)。2.1.3单片机的引脚说明MCS-5l系列单片机的外部封装有两种方式,双列直插式封装(PDIP)和方形封装(PLCC、MQFP)。8051、8031、8751的40条引脚均采用双列直插封装(DIP)方式。如下图所示:图2-3 8051单片机引脚图40条引脚功能简要说明如下:(1)主电源引脚Vss和Vcc: Vss(20脚):电源地。 Vcc(40脚):电源端,正常工作电压为

21、+5V。 (2)时钟电路引脚XTAL1和XTAL2:硬件电路连接时,接外部晶体和微调电容的一端。XTAL1(19引脚)片内振荡电路输入端,外接晶体的一个引脚;XTAL2(18引脚)片内振荡电路的输出端,外接晶体的另一端。(3)控制信号引脚RST、ALE、PSEN和VPP: RST(9引脚):复位控制输入/断电时,将提供备用电源输入。当振荡器运行时,在该引脚上会出现两个机器周期的高电平(由低到高跳变),使单片机复位。ALE(30引脚):允许地址锁存输出/编程脉冲输入。 (29引脚):片外程序存储器读选通信号输出。VPP(31引脚):片内、片外程序存储器选择输出编程电压输入。(4)输入/输出(I/

22、O)端口引脚P0.0 P0.7、P1.0 P1.7、P2.0 P2.7、P3.0 P3.7。I/O口的负载驱动能力:P0口的每条口线能以吸收电流方式驱动8个TTL电路。P1、P2、P3口都只能驱动(吸收或输出电流方式)4个TTL电路。P3口具有双重功能,它除了具有作为一般准双向IO口外,还具有专门的功能,见下表: 表2-1 P3口引脚功能 口 线 第 二 功 能 P3.0RXD(串行口输入)P3.1TXD(串行口输出)P3.2INT0(外部中断0输入线)P3.3 INT1(外部中断1输入线)P3.4 T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6 WR(片外数据存储器写选

23、通控制输出)P3.7RD(片外数据存储器读)2.2 DS18B20温度传感器应用解析 温度传感器的种类众多,在应用与高精度,高可靠性是的场合DALLAS(达拉斯)公司生产的DS18B20温度传感器当仁不让.超小的体积,超低的硬件开消,搞干扰能力强,精度高,附加功能强,使得DS18B20更受欢迎.对于我们普通的电子爱好者来说,DS18B20的优势更是我们学习单片机技术和开发温度相关的小产品的不二选择.了解其工作原理和应用可以拓宽您对单片机开发的思路.2.2.1 DS18B20的主要特征 全数字温度转换及输出 先进的单总线数据通信. 最高12位分辨率,精度可达0.5摄氏度. 12位分辨率时的最大工

24、作周期为750毫秒. 可选择寄生工作方式. 检测温度范围为-55C +125C(-67F+257F) 内置EEPROM,限温报警功能. 64位光刻ROM,内置产品序列号,方便多机挂接. 多样封装形式,适应不同硬件系统.2.2.2 DS18B20封装结构图 图2-4 DS18B20封装第三章 系统部件设计3.1硬件电路分析和设计报告本次设计主要思路是通过对单片机编程将由温度传感器DS18B20采集的温度外加驱动电路显示出来,包括对温度的控制,进行模拟升温,当温度达到上下限蜂鸣器进行报警。P3.1开关按钮是用于设定温度的,初始按下表示开始进入温度上限设定状态,然后通过P3.2和P3.3设置温度的升

25、降,再按下P3.1时,表示确认所设定的温度上限并进入温度下限设定状态,然后通过P3.2和P3.3设置温度的升降,再按下P3.1时,表示确认所设定的温度下限,然后转入升温或降温。P1.2所接的发光二极管用于表示加热状态,P1.1所接的发光二极管用于表示减温状态。P1.0为蜂鸣器报警控制接口,P2.0是温度信号线。整个电路都是通过软件控制实现设计要求。3.2单片机最小系统电路因为80C51单片机内部自带8K的ROM和256字节的RAM,因此不必构建单片机系统的扩展电路。单片机最小系统有复位电路和振荡器电路。值得注意的一点是单片机的31脚必须接高电平,否则系统将不能运行。因为该脚不接时为低电平,单片

26、机将直接读取外部程序存储器,而系统没有外部程序存储器,所以必须接VCC。3.2.1复位电路RST引脚是单片机复位端,高电频有效。在引脚端输入至少连续两个单片机周期的高电频,单片机复位。使用时,在引脚与VSS引脚之间接一个10K的下拉电阻,与VCC引脚之间接一个约10F的电解电容,即可保证上电复位。本设计中复位电路如图3-1所示 图3-1 复位电路3.2.2晶振电路在单片机电路中晶振的作用非常大,结合单片机内部的电路,产生单片机所必需的时钟频率,单片机一切指令的执行都是建立在晶振的基础上。晶振是利用一种特殊的晶体,在电能和机械能之间相互转化产生共振,提供稳定精确的单频震荡,为系统提供基本的时钟信

27、号。晶振元器件实物图如图3-2所示:图3-2 晶振实物图XTAL1和XTAL2是外接时钟电路的接入端,C1、C2为负载电容,Y1为12MHz的晶振。本设计的时钟电路如图3-3所示:图3-3 晶振电路3. 3 键盘电路键盘是单片机应用系统中的主要输入设备,单片机使用的键盘分为编码键盘和非编码键盘。编码键盘采用硬件线路来实现键盘的编码,每按下一个键,键盘能够自动生成按键代码,并有去抖功能。因此使用方便,但硬件较复杂。非编码键盘仅仅提供键开关状态,由程序来识别闭合键,消除抖动,产生相应的代码,转入执行该键的功能程序。非编码键盘中键的数量较少,硬件简单,在单片机中应用非常广泛。如图3-4所示,按键和5

28、1单片机的接线图,检测仪共设有3个按键,每个按键由软件来决定其功能,3个按键功能分别为:(1) K1:设定按键(设定按键)(2) K2:加法按键(当前位加5)(3) K3:减法按键(当前位减5)图34 单片机按键3. 4 数码管和指示灯显示电路及报警电路3.4.1数码管显示说明各个数码管的段码都是单片机的数据口输出,即各个数码管输入的段码都是一样的,为了使其分别显示不同的数字,可采用动态显示的方式,即先只让最低位显示0(含点),经过一段延时,再只让次低位显示1,如此类推。由视觉暂留,只要我们的延时时间足够短,就能够使得数码的显示看起来非常的稳定清楚。本论文中使用了4个数码管,采用动态扫描显示实

29、测温度,在设置上限温度值的时候,数码管显示“H-xx”其中xx表示上限温度值;设置下限温度值的时候,数码管显示“L-xx”其中xx表示下限温度值,以提示目前处在温度设置状态。3.4.2运行指示灯说明本水温温度控制系统中共使用到2个LED指示灯。接P1.2口红色LED是加热指示灯,当刚开机或温度降到设定温度以下时,该灯会亮,表示目前处于加热状态;当温度上升到设定温度时,该LED灭,表示停止加热。接P1.1口红色LED是减温指示灯,当刚开机或温度升到设定温度以上时,该灯会亮,表示目前处于减温状态;当温度下降到设定温度时,该LED灭,表示停止减温。用户可以使用该水温系统;当温度再次超出设定温度时,红

30、色LED灯亮,不断循环。图3-5 LED数码管电路图3.4.3报警电路 报警电路采用三极管S8550放大电路驱动蜂鸣器,设计中当测量温度超出设定温度时,单片机触发三极管工作,使蜂鸣器发出声响。如图3-6所示。图3-6 LED数码管显示电路图3.5 温度采集电路3.5.1 DS18B20介绍Dallas最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济。Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、DS1

31、822“一线总线”数字化温度传感器同DS18B20一样,DS18B20也支持“一线总线”接口,测量温度范围为 -55+125,在-10+85范围内,精度为0.5。DS1822的精度较差为2。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。其DS18B20的管脚配置和封装结构如图3-7所示。 图3-7 DS18B20封装引脚定义: DQ为数字信号输入/输出端; GND为电源地; VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 3.5.2 DS18B20的单线(1wire bus)系统单线总线结构是DS18B20的突出特点,也是理解和编程的难点。从两个角度来理解单线总

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

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

34、序图 DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。DS18B20的读时序图如图3-9所示。图3-9 DS18B20的读时序 DS18B20的写时序对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平

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

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

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

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

39、-13所示。图3-13 DS18B20与单片机连接图第四章 系统总设计本系统采用的是循环查询方式,来显示和控制温度的。主要包括四段程序的设计:DS18B20读温度程序,数码管的驱动程序,键盘扫描程序,以及抱经处理程序。4.1主程序流程图及电路图开始显示字符获取计算采集温度值显示温度值扫描设置电路报警电路结束图 4-1 主程序流图 图 4-2 系统电路图4.2 各个模块的流程图4.2.1 读取温度DS18B20模块的流程由于DS18B20采用的是一根数据线实现数据的双向传输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18

40、B20芯片的访问。DS18B20单线通信功能是分时完成的,它有严格的时隙概念。因此系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点, DS18B20必须首先调用启动温度转换函数,根据数据手册上对应转换时间来超作,如为12位转换,则应该是最大750mS,另外在对DS18B20超作时,时序要求非常严格,因此最好禁止系统中断。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保

41、证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20的读时序:(1)对于DS18B20的读时序分为读0时序和读1时序两个过程。 (2)对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。DS18B20的写时序:(1)对于DS18B2

42、0的写时序仍然分为写0时序和写1时序两个过程。 (2)对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。 系统程序设计主要包括三部分:读出温度子程序、温度转换命令子程序、显示温度子程序。图4-3读取温度DS18B20模块的流程图程序代码为:unsigned char a=0; unsigned char b=0; unsigned int t=0; float tt=0; Tmpchange(); Init

43、_DS18B20(); WriteOneChar(0xCC); WriteOneChar(0xBE); a=ReadOneChar(); b=ReadOneChar(); t=b; t=8; t=t|a; tt=t*0.0625; t= tt*100+0.5; return(t);4.2.2 键盘扫描处理流程此流程为键盘扫描处理,CPU通过检测各数据线的状态(0或1)就能知道是否有按键闭合以及哪个按键闭合。键盘管理程序的功能是检测是否有按键闭合,如果有按键闭合,消除抖动,根据键号转到相应的键处理程序,按键流程图如图4-3所示。开始k1=0?是K2=0?是设置数值加 1否K3=0?设置数值减 1

44、是否结束 图 4-4键盘扫描子程序流程图4.2.3 报警处理流程我们可以在程序里设定温度上下限值,当采集到的外界温度高于或者低于当前所设定温度上限或者下限值时,程序就会进入报警子程序,触发蜂鸣器进行报警。其程序流程图如图4-4所示。开始温度超出设置范围 ?否正常显示不报警是启动报警图4-5 报警子程序流程图4.3 系统仿真结果演示图4-6 系统仿真初始状态图如图4-5所示,数码管所显示数值为系统初始现实温度,并可以通过图中温度传感器上的两个按键调控数值以达到模拟现实温度的变化。通过上图中下限按键则可以实现温度数值现实的转换,如图4-6、4-7则分别为系统的预设初始上限温度值(H60.0)和下限温度值(L20.0),并可以通过加减按键改编预设值。 图4-7 系统初始上限值图4-8系统初始下限值 当通过温度传感器上的按键改变现实温度值,达到上限报警温度或低于下限报警温度时,上、下限报警灯分别亮起,同时蜂鸣器发出蜂鸣报警。图4-9 上限温度报警图4-10 下限温度报警第五章 系统调试5.1 硬件电路调试仔细检查所接电路,按照硬件原理图接线,理论上是能实现的,如果数码管不显示,则应该检查线路是否正确,或是因为单片机没有工作,还

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号