您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 基于LabView和51单片机的温度报警器
摘要随着信息领域各种技术的发展,在温度数据采集方面的技术也取得了很大的进步,采集温度数据的信息化是目前社会的主流发展方向。随着测控技术的迅猛发展,以虚拟仪器为核心的温度数据采集系统已经在测控领域中占到了统治地位。温度数据采集系统是将现场采集到的温度数据进行处理、传输显示、储存等操作。数据采集系统主要功能是把数据采集到上位机,由上位机进行分析、处理、存储和显示。温度数据采集系统广泛的应用于人们的日常生活中。本文主要介绍了温度采集系统的设计过程,系统利用了51单片机和LabVIEW的虚拟仪器技术,由LabVIEW系统通过串口采集生成温度信号,能够实现对温度数据的预处理,报警,储存和显示等功能。全文的内容主要包括:虚拟仪器的发展,LabVIEW虚拟仪器的介绍,温度采集系统的制作与调试以及自己在本次课程设计中的不足与展望。关键词:LabVIEW;虚拟仪器;51单片机;温度监测系统目录1绪论......................................................................12系统主要模块设计..........................................................23下位机系统设计............................................................33.1下位机电路的设计.....................................................33.2下位机程序的设计.....................................................43.2.1延时程序.......................................................43.2.2初始化DS18B20..................................................53.2.3向DS18B20写入数据.............................................63.2.4从DS18B20读取数据.............................................73.2.5从DS18B20读出温度值...........................................83.2.6下位机主程序..................................................104上位机程序的设计.........................................................144.1用户管理系统设计....................................................144.1.1密码登陆系统设计..............................................144.1.2用户注册系统设计..............................................164.1.3修改密码系统设计..............................................174.2温度监控报警系统设计................................................184.2.1串口接收子VI的设计...........................................184.2.2温度报警系统设计..............................................195运行结果分析.............................................................216小结与体会...............................................................24参考文献...................................................................25武汉理工大学《测控设备软硬件集成设计》课程设计说明书11绪论测控技术在现代科学技术、工业生产和国防科技等诸多领域中应用十分广泛,它的现代化已被认为是科学技术、国防现代化的重要条件和明显标志[1]。20世纪70年代以来,计算机、微电子等技术迅猛发展,在其推动下,测控仪器与技术不断进步,相继诞生了智能仪器、PC仪器、VXI仪器、虚拟仪器及互换性虚拟仪器等微机化仪器及其自动测控系统,计算机与现代化仪器设备间的界限日渐模糊,测控领域和范围不断拓宽[2]。现代化工厂安全检测部门要处理得信息浩如烟海,而温度又是体现安全信息的一项重要指标[3]。因此在实际应用中经常采用温度传感器采集温度信息,而要达到对温度的动态监测就会产生大量的信息,如果用人力来处理这些信息,根本无法满足现代化生产动态测量需要,因此就必须使用计算机来处理这些信息[4]。本次设计采用51单片机作为硬件平台,采用NI公司提供的LabVIEW作为软件平台,开发了一套温度实时监控报警装置。能够实现用户密码登陆,密码修改,密码注册,实时环境温度监控,温度报警,显示报警时间,报警数据记录等功能,具有报警速度快,温度精度高,能够实时监控的优点。武汉理工大学《测控设备软硬件集成设计》课程设计说明书22系统主要模块设计根据系统设计的要求系统应该包括软件和硬件两个部分,硬件部分的主要功能是通过DS18B20温度传感器来将外部的温度信息转化成为电信号,通过51单片机将电信号读出来,并且转化成为温度信息,同时将温度信息通过串口发送出去,在PC端通过LabVIEW编程实现串口数据的接收。系统的主要组成模块如图2.1所示:DS18B20温度传感器51单片机LabVIEW上位机温度数据串口图2.1系统模块组成上位机接收到数据后,将数据转化后实现温度的实时显示以及温度曲线的绘制,还可以通过二进制文件写入的方式将当前报警温度以及时间保存在计算机上,实现温度的智能监控与报警。同时在上位机还设计了用户的注册管理系统以及报警信息的保存系统,方便用户查看报警时间,操作员等信息,上位机组成如图2.2所示:用户注册用户登录密码修改密码管理模块报警模块温度报警报警记录图2.2上位机系统组成武汉理工大学《测控设备软硬件集成设计》课程设计说明书33下位机系统设计3.1下位机电路的设计为了保证设计的单片机温度测量系统结构简单、性能稳定可靠,选用了美国ATMEL公司生产的STC89C51RD+高性能8位单片机,片内含有4KBflashROM和1280B的RAM,能使用Keil软件进行编程实现比较复杂的硬件操作[5]。为了保证测量温度的准确性和实时性,本次设计采用了DS18B20温度传感器。DS18B20是一种具有独特的单线接口方式的数字温度计,在与微控制器(MCU)连接时仅需要一个接口即可实现微处理器与DS18B20的双向通讯,测温范围为-55℃~+125℃。在-10℃~+85℃范围内,精度为±0.5℃,能够满足测量的精度需要。DS18B20的可编程的分辨率为9~12位温度转换为12位数字格式最大值为750毫秒,能够满足测量的实时性。单片机与DS18B20的连接关系如图3.1所示:图3.1硬件连接原理图下位机与上位机之间的数据传输与通信方法有很多种,本次设计采用了串口通讯,为了保证数据传输的准确性,采用11.0592MHz的晶振,使系统数据传输的误差最小,采用4800波特率保证系统数据传输的实时性。武汉理工大学《测控设备软硬件集成设计》课程设计说明书43.2下位机程序的设计3.2.1延时程序由于DS18B20是一种具有独特的单线接口方式的数字温度计,因此DS18B20对于程序的时序要求非常严格,分析时序图可知DS18B20对于延时时间大部分都是15us或者1ms的倍数,因此需要分别设计两个延时函数。//延时15us函数voiddelay_15us(uintus){for(us;us0;us--){_nop_();_nop_();_nop_();_nop_();}_nop_();_nop_();}//延时1us函数voiddelay_1ms(uintms){uintj;for(;ms0;ms--){for(j=110;j0;j--);}}武汉理工大学《测控设备软硬件集成设计》课程设计说明书53.2.2初始化DS18B20DS18B20在使用之前必须进行初始化,根据DS18B20的时序图可以看出来,初始化时主机首先发出一个480-960微秒的低电平脉冲,然后释放总线变为高电平,并在随后的480微秒时间内对总线进行检测,如果有低电平出现说明总线上有器件已做出应答。若无低电平出现一直都是高电平说明总线上无器件应答。作为从器件的DS18B20在一上电后就一直在检测总线上是否有480-960微秒的低电平出现,如果有,在总线转为高电平后等待15-60微秒后将总线电平拉低60-240微秒做出响应存在脉冲,告诉主机本器件已做好准备。若没有检测到就一直在检测等待。图3.2DS18B20初始化时序图//DS18B20初始化程序ucharDs18b20Init(){uchari;DSPORT=0;//拉低总线delay_15us(33);//延时495usDSPORT=1;i=0;while(DSPORT){i++;武汉理工大学《测控设备软硬件集成设计》课程设计说明书6if(i5){return0;//5ms没有初始化成功,则认为初始化失败}delay_1ms(1);}return1;}3.2.3向DS18B20写入数据图3.3DS18B20写时序图由时序图可以看出:写周期最少为60微秒,最长不超过120微秒。写周期一开始作为主机先把总线拉低1微秒表示写周期开始。随后若主机想写0,则将总线置为低电平,若主机想写1,则将总线置为高电平,持续时间最少60微秒直至写周期结束,然后释放总线为高电平至少1微秒给总线恢复。而DS18B20则在检测到总线被拉底后等待15微秒然后从15us到45us开始对总线采样,在采样期内总线为高电平则为1,若采样期内总线为低电平则为0。//DS18B20写数据操作voidDs18b20WriteByte(uchardat){uinti;武汉理工大学《测控设备软硬件集成设计》课程设计说明书7for(i=0;i8;i++){DSPORT=0;//拉低总线_nop_();_nop_();//持续2个时钟周期即2usDSPORT=dat&0x01;//从低位开始写入数据delay_15us(4);//延时75usDSPORT=1;dat=1;}}3.2.4从DS18B20读取数据图3.4DS18B20读时序图由时序图可知:读周期是从主机把单总线拉低1微秒之后就得释放单总线为高电平,以让DS18B20把数据传输到单总线上。作为从机DS18B20在检测到总线被拉低1微秒后,便开始送出数据,若是要送出0就把总线拉为低电平直到读周期结束。若要送出1则释放总线为高电平。主机在一开始拉低总线1微秒后释放总线,然后在包括前面的拉低总线电平1微秒在内的15微秒时间内完成对总线进行采样检测,采样期内总线为低电平则确认为0。采样期内总线为高电平则确认为1。完成一个读时序过程,至少需要60微秒才能完成。武汉理工大学《测控设备软硬件集成设计》课程设计说明书8//DS18B20读取数据ucharDs18b20ReadByte(){ucharbyte,bi;uinti,j;for(j=8;j0;j--){DSPORT=0;//先将总线拉低1usi++;DSPORT=1;//然后释放总线i++;i++;//延时6us等待数据稳定bi=DSPOR
本文标题:基于LabView和51单片机的温度报警器
链接地址:https://www.777doc.com/doc-4514669 .html