基于DS18B20温度控制的单片机系统设计_第1页
基于DS18B20温度控制的单片机系统设计_第2页
基于DS18B20温度控制的单片机系统设计_第3页
基于DS18B20温度控制的单片机系统设计_第4页
基于DS18B20温度控制的单片机系统设计_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、 本科生毕业设计(论文)基于AT89C51的温控制系统设计 Temperature Control System Design Based on AT89C51总计: 毕业设计(论文)50 页表 格: 6 个插 图 : 31 幅 本 科 毕 业 设 计(论文)基于AT89C51的温控制系统设计Temperature Control System Design Based on AT89C51学 院(系): 机电工程系 专 业: 机械设计制造及自动化 学 生 姓 名: 学 号: 指 导 教 师(职称): (教授) 评 阅 教 师: 完 成 日 期: 基于AT89C51的温控制系统设计机械设计制造

2、及自动化专业: 摘 要:本文系统地介绍了基于DS18B20的多点温度测量控制系统的组成、设计方案、电路原理、程序设计以及系统仿真过程。DS18B20多点温度测量系统是以AT89C51单片机作为控制核心,智能温度传感器DS18B20为控制对象,用LM016L液晶显示,运用汇编语言实现系统的各种功能。设计完成了读DS18B20的ROM序列号电路和四点温度选择检测及分屏显示电路。借助EDA设计与仿真工具Proteus和单片机编程软件Keil实现了系统软、硬件的交互仿真,并结合液晶显示器1602C、DS18B20和STC89C52RC单片机开发板进行了电路焊接和调试,实现了课题设计目的。本课题所设计的

3、多点温度控制系统可实现对远程环境的温度测量与监控,适用于电力工业、煤矿、火灾、高层建筑等场所,还可以用于环境恶劣的工业控制现场。关键词:数字温度传感器DS18B20;单片机;Proteus仿真;Keil AT89C51 Based Temperature Control System Design and productionMechanical Design, Manufacturing and Automation Abstract:The paper introduces the composition, design project, circuit principle, progra

4、m design and the process of simulation of mutil-point temperature measuremetn control system based on DSl8B20 systematically. The multi-point temperature measurement system based on DSl8B20 uses SCM AT89C51 as control core, the intelligent temperature sensor DSl8B20 as control boject,LCD LM016L ad d

5、isplay output and performs system functions by compilation-language. This design performs the circuit of reading ROM serial numbers of DS18B20, selecting detection and multi-screen display circuit of four-point temperature. The the system interaction simulation of hardware and software has been real

6、ized with EDA design and simulation tools Proutes and with SCM programming software Keil. Finally, The author performs the circuit connection and debugging combined with LCD 1602CDS18B20 and STC89C52RC SCM development board, implementing the design goal of the project.The multi-point control system

7、of this project can realize long-range environmental temperature measurement and monitoring. It is suitable for power industry,coalf mine, fire disaster, high-rise building and other places and It can be also used for the environment of industrial control site Keywords: Digital temperature sensor DS

8、18B20;SCM;Proteus simulation;Keil目录1 绪论11.1 课题来源和研究目的11.2 温度传感器国内外现状及水平11.3 课题设计任务22 系统硬件设计22.1系统硬件组成22.2 单片机的典型电路:32.3 DS18B20温度传感器和单片机接口技术42.3.1 DSl8B20简介42.3.2 DSl8B20具体参数及工作方式72.3.3 DS18B20与单片机接口电路72.4 LM016L液晶显示器和单片机接口技术82.4.1 LM016L显示器简介82.4.2 1602LCD的基本参数及引脚功能82.4.3 LM016L与单片机接口电路92.5 键盘电路设计1

9、02.5.1 行列式键盘与单片机接口电路102.5.2 PROTUSE中22键盘的制作102.6 读DS18B20温度传感器序列号电路设计122.7 系统在PROTUSE中原理图的设计132.7.1 PROTUSE简介132.7.2 原理图绘制143 系统软件设计153.1 读DS18B20的序列号程序设计153.2 主程序设计163.3 子程序设计173.3.2 LCD 子程序的设计193.3.3 温度的精度设计214 系统仿真与调试224.1 软件编程与调试简介224.2 系统软、硬件交互仿真224.2.1 程序编译224.2.2 程序加载234.2.3 系统仿真234.3.1 STC89

10、C52开发板244.3.2 焊接DS18B20的电路板图244.3.3 实物的连线及调试255 结束语26参考文献27附录28致谢501 绪论1.1 课题来源和研究目的温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一,同时他也是一种最基本的环境参数。人民的生活与环境度息息相关,物理、化学、冶金、机械制造、大型仓储室、实验室、农场塑料大棚甚至人们的居室里经常需要对环境温度进行检测,并根据实际的要求对温度进行控制。比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行。炼油

11、过程中,原油必须在不同的温度和压力条件下进行分流才能得到汽油、柴油、煤油等产品;没有合适的温度环境。可见研究温度的测量具有重要的理论意义和推广价值。随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日益突出,成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其应用已遍及工农业生产和日常生活的各个领域。本设计就是为了满足人们在生活中对温度测量系统方面的需求。21世纪科学技术的发展日新月异,科技的进步带动了测量技术的发展,现代控制设备的性能和结构发生了巨大的变化,我们已经进入了高速发展的信息时代,测量技术也成为当今科技的主流之一,被

12、广泛地应用于生产的各个领域。对于本次设计,其目的在于: (1) 本课题综合了现代测控、电子信息、计算机技术专业领域方方面面的知识,具有综合性、科学性、代表性,可全面检验和促进学生的理论素养和工作能力。(2) 本课题的研究可以使学生更好地掌握基于单片机应用系统的分析与设计方法,培养创新意识、协作精神和理论联系实际的学风,提高电子产品研发素质、增强针对实际应用进行控制系统设计制作的能力。(3) 掌握一个显示屏和一个温度传感器的原理、性能、使用特点和方法,利用单片机对系统进行编程。1.2 温度传感器国内外现状及水平传感器属于信息技术的前沿尖端产品,尤其是温度传感被广泛用于工业生产究和生活领域,数量高

13、居各种传感器之首。温度传感器的发展大致经历了一下三个阶段:传统的分离式温度传感器(含敏感元件)、模拟集成温度传感器/控制器和数字温度传感器。目前,国际上新型温度传感器正从模拟式向数字式、由集成化向智能化、网络化的方向发展,同时具有抑制串模干扰能力强、分辨力高、线性度好、成本低等优点。数字式温湿度传感器:就是能把温度物理量和湿度物理量,通过温、湿度敏感元件和相应电路转换成方便计算机、PLC、智能仪表等数据采集设备直接读取得数字量的传感器。数字式传感器的接口形式有RS232数据格式接口;RS485数据格式接口、一总线数据格式接口、CAN总线数据格式接口、ZIGBEE数据格式接口、TCP/IP数据格

14、式接口等。在信息化程度越来越高的今天,担当信息处理与交换重任的机房是整个信息网络工程的数据传输中心、数据处理中心和数据交换中心。为保证机房设备正常运行及工作人员有一个良好的工作环境,对机房温湿度的监测是必不可少的,合理正常的温湿度环境是机房设备正常运行的重要保障。温湿度监测除用于机房监测外,还可以广泛应用于如生物制药、无菌室、洁净厂房、电信银行、图书馆、档案馆、文物馆、智能楼宇等各行各业需要温湿监测的场所和领域。随着我国经济的高速发展,我国在科技和生产各领域都取得了飞速的发展和进步,发展以温度传感器为载体的温度测量技术具有重大意义。 1.3 课题设计任务本设计要求系统测量的温度的点数为4个,测

15、量精度0.1测量范围为2580。采用液晶显示温度值,显示格式为:温度的整数部分,小数部分,温度符号,最后一位温度的报警判断,显示数据不断刷新。本设计的难点主要是软件方面,其中软件开发的难点在于DS18B20的序列号读出和液晶温度符号的显示以及温度的精度显示如何实现,如果DS18B20的序列号读出不正确,将无法正确的匹配和读出的温度值;温度符号的显示需要对LM016L的CGROM进行读写。温度显示的精度的实现需要编程人员对程序熟悉。2 系统硬件设计2.1系统硬件组成本设计使用单片机作为控制核心,采用多个温度传感器对多点温度进行检测,以液晶显示屏显示检测温度,通过22矩阵键盘模块对检测温度进行选择

16、显示。系统总体控制框图如图1所示: 图1 系统总体控制框图 单片机选用市场上常见的美国ATMEL公司的AT89C51作为控制元件,温度传感器选用DS18B20数字温度传感器,它的输入输山采用数字量,以单总线技术,接收单片机发送的命令,根据DSl8B20内部的协议进行相应的处理,将转换的温度以串口发送给单片机。主机按照通信协议用一个I0口模拟DSl8B20的时序,发送命令(初始化命令、ROM命令、RAM命令)给DSl8B20,转换完成之后读取温度值,在内部进行相应的数值处理,用液晶显示屏LM016L显示各点的温度,液晶显示该传感器的制作人姓名、路数、实际温度值及报警显示,从而实现了对各点温度的实

17、时监控。2.2 单片机的典型电路:(1)时钟电路:如图2连接即可构成自激振荡电路,振荡频率取决于适应晶体的振荡频率,范围可取1.212MHZ,C1、C2主要起频率微调和稳定作用,电容可取530pF。 图2 单片机时钟电路(2)复位电路上电复位电路:RC构成微分电路,在接电瞬间产生一个微分脉冲,其宽度若大于2个机器周期,MCS51型单片机将复位。选用22uF电容、1k电阻。如图3所示: 图3 单片机复位电路2.3 DS18B20温度传感器和单片机接口技术2.3.1 DSl8B20简介DSl8B20温度传感器是美国DALLAS半导体公司继DSl820之后最新推出的只用改进型智能温度传感器。与传统的

18、热敏电阻相比,他能够直接读出被测温度并且可根据要求通过简单的编程实现9l2位的数字直读方式。可以分别存93.75ms和750ms内完成9位和12位的数字量,并且从DSl8B20读出的信息或写入DSl8B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接DSl8B20供电,而无需额外电源。因而使用DSl8B20可使系统结构更趋简单,可靠性更高。他在测温精度,转换时时间,传输距离,分辨率等方面较DSl820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。DSl8B20采用3脚PR35封装或8脚SOIC封装,其内部结构框图如4所示: 图4 DSl

19、8B20的内部结构图DS18B20的内部结构主要有四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如图5所示: 图5 DS18B20的管脚DS18B20的引脚说明如下:GND :地 DQ :数据I/O VDD :电源 NC :空脚64位激光ROM开始8位是产品类型的编号,接着是每个器件的惟一的序号共有48位,最后8位是前56位的CRC校验码,这也是多个DSl8B20可以采用一线进行通信的原因。64位激光ROM的机构如表1所示:表1 64位激光ROM的结构8位CRC编号48位序列号8位产品系列编码MSB LSB MSB LSB MS

20、B LSBDSl8B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除EEPRAM。后者用于存储TH,TL值。数据先写入RAM,经校验后再传给EEPRAM。而配置寄存器为高速暂存器中的第5个字节,他的内容用与确定温度值的数字转换分辨率,DSl8B20 工作时按此寄存器中的分辨率将温度转换为相应精度的数值。低5位一直都是1,TM是测试模式位,用于设置DSl8B20在工作模式还是在测试模式。如表2所示。在DSl8B20出厂时该位被设置为0,用户不要去改动,Rl和R0决定温度转换精度位数。 表2 字节各位的定义TMR1R011111由表3可见,设定的分辨率越高,所需要的温度数据

21、转换时间就越长。因此,在实际应用中要在分辨率和转换时间权衡考虑。高速暂存存储器除了配置寄存器外,还有其他8个字节组成,其分配如表4所示。其中温度信息(第l,2字节),TH和TL值第3,4节,第68字节,表现为全逻辑1;第9字节读出的是前面所有的8字节的CRC码,可用来保证通信正确。表3 数据分辨率和转换时间R1R0分辨率温度最大转换时间/ms 00993.750110187.51011275.001112750.00当DSl8B20接收到温度转换命令后,开始启动转换,如表4所示。转换完成后的温度值就以16位带符号扩展到二进制补码形式储存在高速暂存存储器的第l,2字节。单片机可通过单线接口读到该

22、数据,读取时低位在前面,高位在后,数据格式以0.0625LSB形式表示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变换为原码,再计算十进制值。 表4 码制转换温度低位温度高位THTL配置保留保留保留8位CRC在DSl8B20完成温度变换之后,温度值与贮存TH和TL内的触发值相比较因为这些寄存器仅仅是8位,所以0.5位在比较时被忽略。TH或TL的最高有较位直接对应于l6位温度奇存器的符号位。如果温度测量的结果高于TH或低于TL,那么器件内告警标志将置位。每次温度测量更新此标志。只要告警标志置位,DSl8B20将对告警搜索命令做出响应。这允许并联连接许多DS

23、l8B20,同时进行温度测量。如果某处温度超过极限,那么可以识别出正在告警的器件并立即将其读出而不必读出非告警的器件。部分温度转换如表5所示: 表5 部分温度转换值温度输入(2进制)输出(16进制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-1

24、0.1251111 1111 0101 1110FF5EH-25.06251111 1111 0101 1110EE6FH-551110 1110 0110 1111FE90H2.3.2 DSl8B20具体参数及工作方式参数特性:(1)独特的单线接口只需l个接口引脚即可通信(2)多点综合测温能力使分布式温度检测应用得以简化(3)不需要外部元件(4)可用数据线供电(5)需备份电源(6)测量范围从-55至+125增量值为05(7)以9位数字值方式读出温度(8)在1秒(典型值)内把温度变换为数字(9)用户可定义的非易失性的温度告警设置(10)告警搜索命令识别和寻址温度在编定的极限之外的器件温度告警情

25、况(11)应用范围包括恒温控制工业系统消费类产品温度计或任何热敏系统极限参数:(1)任何引脚相对于地的电压-0.5V至+7.0V(2)运用温度-55至+125(3)贮存温度-55。C至+125(4)焊接温度260/l0秒2.3.3 DS18B20与单片机接口电路如图6所示,为单片机与DS18B20的接口电路。DS18B20只有三个引脚,一个接地,一个接电源,一个数字输入输出引脚接单片机的P3.7口电源与数字输入输出脚间需要接一个4.7K的电阻。 VDD DS18B20 DQ GND 单P3.7 片 机4.7K 图6 DS18B20与单片机接口电路 DSl8B20使用中注意到事项:DSl8B20

26、虽然具有测温系统简单,测温精度高、连接方便、占用IO 口线少等优点,但在实际应用中也应注意以下问题:(1)在实际片使用中发现,应使电源电压保持在5v左右,如果电压过低,会使所测得到温度与实际温度出现偏高现象,使温度输出定格在85(2)连接DSl8B20的总线电缆是有长度限制的。当采用普通信号电缆传输长度超过50m时,读取的测温数据发生错误,当采用双绞线带屏蔽电缆为总线电缆时,正常通讯距离可达l50m,当采用每米胶合次数更多的双绞线带屏蔽电缆时,正常通讯距离可以进一步加长。这种情况主要由总线分布电容使信号波形产生畸变造成的。因此,存进行长距离测量时要充分考虑总线分布电容和阻抗匹配问题。2.4 L

27、M016L液晶显示器和单片机接口技术2.4.1 LM016L显示器简介LM016L字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。显示字符时,由于LM016L内带字符发生器的控制器,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。2.4.2 1602LCD的基本参数及引脚功能1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图7所示。 图7 L

28、M016L结构图LCD1602主要技术参数:容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm引脚功能说明:1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表6所示: 表6引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。第2脚

29、:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光

30、源负极。2.4.3 LM016L与单片机接口电路系统显示电路由单片机AT89C51、字符液晶显示器LM016L和1k8的排组构成。单片机实现对LCD命令和显示数据的读写控制功能,P0口作数据口,与LM016L的D0D7相接,在P0口与D0D7数据线之间分别接8个上拉电阻,以确保电路能够正常显示。AT89C51的P1口作为LCD的控制线,P2.0P2.2分别接LM016L的RS、RW和E端;LM016L的其它三个控制端V和V、V分别接电源和地。系统显示电路组成如图8所示。 图8 系统硬件电路组成2.5 键盘电路设计2.5.1 行列式键盘与单片机接口电路根据本设计需要,本系统采用22键盘实现对温度

31、值和功能键的设定。行列式键盘与单片机接口电路如图9所示,H0-H1为行线,接单片机P2口的P2.0、P2.1口,L0-L1为列线,接单片机的P2.4、P2.5口。初始化时键盘列线为高电平,行线为低电平。列线上需接10K的上拉电阻。 图9 22键盘结构2.5.2 Proteus中22键盘的制作首先在Proteus中画出键盘面板,如图10所示,并指定键盘的左上角为坐标圆点,用软件中的坐标跟踪功能检测出面板按键的边长为300mm和中心坐标,分别为:(-300,400 )(-300,700)(-700,400)(-700,700)。 图10 22键盘面板在Proteus中选中制作的面板右击鼠标,选Ma

32、ke Device选项,制作步骤如下图11所示: (a) (b) (c) (d) (e) (f) (g) (h) 图11 矩阵键盘制作步骤2.6 读DS18B20温度传感器序列号电路设计每个DS18B20温度传感器的序列号都不相同,在使用DS18B20温度传感器多点测温时要先读出其序列号。硬件设计如图12所示: 在P1.0口接DS18B20温度传感器,在片2.0口接发光二极管显示电路,发光二极管亮,与其相连的接口为低电平,发光二极管灭,与其相连的接口为高电平,在程序中把DS18B20的序列号读出后以8位为单位存放在单片机的RAM中,共放8个存储单元,依次把每个单元送到P2口显示,即可读出DS1

33、8B20温度传感器的序列号。图12 读DS18B20的序列号原理图2.7 系统在PROTUSE中原理图的设计2.7.1 PROTUSE简介Proteus是英国Labcenter electronics公司研发的EDA设计软件,是一个基于ProSPICE混合模型仿真器的,完整的嵌入式系统软、硬件设计仿真下台。Proteus不仅可以做数字电路、模拟电路、数模混合电路的仿真,还可进行多种CPU的仿真,涵盖了51、PIC、AVR、HCll、ARM等处理器,真正实现了在计算机上从原理设计、电路分析、系统仿真、测试到PCB板完整的电子设计,实现了从概念到产品的全过程。Proteus ISIS的工作界而是一

34、种标准的Windows界面,如图13所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。图13 Protuse ISIS 工作界面2.7.2 原理图绘制(1)新建文件:打开Protuse,点FILE,在弹出的下拉菜单中选择NEWDESIGN,在弹出的图幅选择对话框中选Landscape A4。(2)元器件选取:按设计要求,在对象选择窗口中点P,弹出PICK DEVICES对话框,在KEYWORDS中填写要选择的元器件,然后在右边对话框中选中要选的元器件,则元器件列存对象选择的窗口中。本设计所需

35、选用的元器件如下:l AT89C51:单片机l LM016L:图形液晶l RES、RESPACK-8:电阻、上拉电阻l CRYSTAL:晶振l KEYPAD-XIAO:22矩阵键盘l DS18B20:温度传感器l BUTTON:按钮l CERAMIC10P:电容(3)按设计连接原理图,如图 14所示图14 Proutes中系统仿真原理图3 系统软件设计3.1 读DS18B20的序列号程序设计 读DS18B20的序列号的主程序设计流程图如图15所示,程序中主要对DS18B20的初始化子程序,然后读出DS18B20的64位序列号存入到40H47H中,然后将40H内容送入P0口,显示出40H中的二进

36、制数,记录下来,然后分别把41H-47H的内容送入P0口显示并记录,四个DS18B20的序列号分别为:(1)28H 30H ECH 57H 02H 00H 00H 19H(2)28H 04H C6H 57H 02H 00H 00H 6DH(3)28H 75H E6H 57H 02H 00H 00H 3AH(4)28H 95H E5H 57H 02H 00H 00H 5DH3.2 主程序设计系统主流程图如图16所示,主要完成LCD初始化、DB块内容显示、对CGRAM的读写和对DS18B20的初始化和精度设置、多个DS18B20的匹配、温度值BCD码的转换、报警判断子程序。 图15 读DS18B2

37、0的序列号主程序流程图 图16 主程序流程图 在主程序流程图中,判断累加器中的数据为1时,把第一个DB块中的字符显示在LM016L的第一行,否则把第二个DB块中的字符显示在LM016L的第二行。显示完DB块内容后,向CGRAM中写入用户自义字符,并把该字符显示在LCD首行末位。3.3 子程序设计3.3.1 DS18B20的子程序设计DS18B20的初始化如图17所示。先将数据总线置高电平“1”,延时(该时间要求的不是很严格,但是尽可能的短一些),数据线拉倒低电平“0”,延时428微秒,数据线拉高到高电平“1”,延时等待,如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低

38、电平“0”。据该状态可以来确定他的存在, 但是不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制,若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间最少要480微秒,最后将数据线再次拉高到高电平“1”后结束。DS18B20的读操作如图18所示。将数据线拉高“1”,之后再将数据线拉低 ,延时18微秒,将数据线拉高“1”,同时端口应为输入状态, 读数据线的状态得到一个状态位,并进行数据处理,延时100微秒,按从低位到高位的顺序发送字节(一次只发送一位),分别把读出的数据存放在两个单元中,最后返回。 图17 DS18B20的初始化流程图 图18 DS18B20读操作流程图

39、图19 DS18B20的写操作流程图 图20 DS18B20的匹配操作流程图 DS18B20的写操作如图19所示。数据线先置低电平“0”延时7微秒,按从低位到高位的顺序发送字节(一次只发送一位),延时时间为62微秒。重复上述的操作直到所有的字节全部发送完为止,延时100微秒,最后将数据线拉高。DS18B20的匹配操作如图20所示。先对DS18B20初始化,然后跳过所有的DS18B20,对所有的DS18B20进行温度转换,延时1s,初始化DS18B20,此后发出匹配命令,写入64位的ROM序列号,总线上只有与此序列号相同的DS18B20才会作出反应,选中次DS18B20,然后对该DS18B20进

40、行读操作,把温度值存放在指定的两个地址中,接下来写入第二个、第三个、第四个DS18B20的序列号,把其温度值发在指定的地址。温度报警子程序流程图如图21所示。先将设定温度报警上限值与当前温度带借位相减,如果借位标志位为1,调高温度报警程序,温度值后面显示“H”否则顺序执行,把当前温度值与下限报警温度值相减,如果借位标志位为1,调低温报警程序,温度值后面显示“New Protuse,在弹出的对话框中输入工程的名字,点击保存;选择ATMEL公司的AT89C51单片机。(2)在Source Group 1上点击右键,选择“Add files to Group Source Group 1”,把所有的

41、源文件加进来。(3) 点击Project-Build target或者使用快捷键F9,编译工程。当Output Windows中提示“0 Error”时,则程序编译成功,生成可执行文件lHEX。4.2.2 程序加载在编辑环境中双击AT89C51,在弹出的对话框中将编译生成可执行文件1.HEX .加载进芯片中,设单片机的时钟工作频率为12MHZ。4.2.3 系统仿真开始是LM016L显示器的仿真调试,接着是单个DS18B20的测温显示调试,读出DS18B20温度传感器的序列号后,先调试两个DS18B20的测温仿真系统,之后调试四个DS18B20测温的仿真系统,最后加上报警显示及优化程序。点击全速运行按钮,将出现如下仿真结果:在系统的启动过程之中,液晶第一行将会显示“XIAO JUN FENG”,第二行将会显示“JI DIAN XI”。按下按键1,显示屏第二行显示第一个DS18B20的温度值,并判断温度值是否超出设定的报警范围。按下其他按键,将显示其对应的DS18B20的温度值。显示结果如图28所示。 (a) (b) (c) (d) (e) 图28 Protuse仿真效果图 4.3 实物电路调试4.3.1

温馨提示

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

最新文档

评论

0/150

提交评论