已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于C51的DS18B20多点测温系统20130722目录摘要3第一章绪论411开发背景及意义4第二章系统硬件设计521单片机522DS18B20温度测量模块523液晶显示模块824串口通讯模块9第三章系统软件设计10第2页/共25页31系统初始化1032温度测量程序11第四章系统仿真调试1241系统仿真调试12附录14摘要本文介绍了基于温度传感器DS18B20与AT89C52单片机组成的多点温度分布式测温系统。设计了其系统构成和软件方案。该系统面向实际需求,设定DS18B20温度范围为55125,采用LCD1602液晶显示屏,显示两路温度传感器的测量温度值。同时通过串口通讯与PC机进行通讯。传输采集到的温度值。实际应用表明。该系统结构简单,抗干扰能力强,适合于恶劣环境下现场温度的测量,可应用于仓库测温、楼宇空调控制和生产过程监控等领域。关键词DS18B20,分布式,1602串口通第3页/共25页第一章绪论11开发背景及意义温度的测量和控制在储粮仓库、智能楼宇空调控制及其他的工农业生产和科学研究中应用广泛。传统的温度检测是使用诸如热电偶、热电阻、半导体PN结之类的模拟传感器,经信号取样电路、放大电路和模数转换电路处理,获取表示温度值的数字信号,再交由微处理器。因为检测环境复杂,测量点多,信号传输距离远及各种干扰的影响,使得传统测量系统的稳定性和可靠性下降。近年来随着单片机的发展和传感器技术的革新,温度检测领域也完成了从模拟信号到数字信号的转变。DS18B20温度传感器的广泛应用更是推动了这一领域的发展。另外液晶显示模块具有体积小、功耗低、显示内容丰富、超薄轻巧等优点在各类仪表和显示系统中得到越来越多的应用,现在也是单片机应用设计中最常用的信息显示模块。综合以上产品的发展特点,希望温度检测系统在未来的发展中有更广阔的应用空间并且具有更好的现场测量优越性。第4页/共25页第二章系统硬件设计本系统通过DS18B20温度传感器采集温度值,经由单片机处理由液晶显示模块显示当前温度值,并经过串口通信将温度传送到PC上21单片机本系统采用AT89C52单片机作为微处理器。AT89C52单片机是ATMEL公司89系列单片机的一种8位FLASH单片机。它最大的特点是片内含有8K可重复编程的FLASH存储器,可进行1000次的擦写操作。另外AT89C52单片机采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS51指令集和输出管脚相兼容,并且其兼具省电耐用、性能稳定的特点,因此成为单片机市场的主流产品。本系统采用晶振根据需要确定系统工作频率为110592MHZ。第5页/共25页图21单片机结构图22DS18B20温度测量模块DS18B20是美国DALLAS公司推出的单总线数字化测温集成电路,它具有独特的单线接口方式,将非电模拟量温度值转换为数字信号串行输出仅需占用1位I/O端口,能够直接读取被测现场的温度值。它体积小,电压适用范围宽(3V5V),且可通过编程实现912位的温度读数,即具有可调的温度分辨率,因此实用性和可靠性较高,应用广泛。以下是DS18B20的内部结构图第6页/共25页图221DS18B20的内部结构图DS18B20有4个主要的数据部件64位激光ROM。64位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码28H组成。温度灵敏元件。非易失性温度报警触发器TH和TL。可通过软件写入用户报警上下限值。配置寄存器。配置寄存器为高速暂存存储器中的第五个字节。DS18B20在0工作时按此寄存器中的分辨率将温度转换成相应精度的数值。DS18B20的测温范围为55125,在1085范围内,精度为05。在电压低于34V时精度误差较大。根据其时序特点以下是DS18B20与AT89C52单片机构成的温度监测系统如下VCC1DQ2GND3DS18B20DS18B20R4100KDQ5图222温度监测系统第7页/共25页DS18B20的典型应用在本系统中两个温度传感器与单片机连接方式如下图223传感器与单片机连接图第8页/共25页本系统为多点温度测试。DS18B20采用外部供电方式,理论上可以在一根数据总线上挂256个DS18B20,但实际应用中发现,如果挂接20个以上的DS18B20就会产生功耗问题。另外单总线长度也不宜超过05M,否则会影响到数据的传输。在本电路板的设计中考虑到初步实践的准确性,暂使用2个DS18B20分别连接单片机的P26口。对DS18B20的设计,需要注意以下问题(1)对硬件结构简单的单线数字温度传感器DS18B20进行操作,需要用较为复杂的程序完成。编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格按要求编写。尤其在使用DS18B20的高测温分辨力时,对时序及电气特性参数要求更高。(2)实际应用时,要注意单线的驱动能力,不能挂接过多的DS18B20,同时还应注意最远接线距离。另外还应根据实际情况选择其接线拓扑结构。23液晶显示模块本系统使用的是1602液晶显示模块。1602液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧、位数多、程序简单的诸多优点,在各类仪表和低功耗系统中得到广泛的应用。根据显示内容可以分为字符型液晶,图形液晶。根据显示容量又可以分为单行16字,2行16字,两行20字等等。在本系统中使用的是字符型两行16字液晶显示器。在与单片机连接时使用接口电路(排针)相连,为并行通信。以下是1602液晶显示器外型图和液晶显示的典型应用。1602液晶显示采用标准的16脚接口,其中(模块背面有标注)图231液晶显示器外形图第9页/共25页图232串口通讯第1脚VSS为地电源第2脚VDD接5V正电源第3脚V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度第4脚RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址;当RS为高电平、RW为低电平时可以写入数据。第6脚E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚D0D7为8位双向数据线。第1516脚空脚1602液晶模块内部的字符发生存储器(CGROM已经存储了不同的点阵字符图形,这些字符有,阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,其中数字与字母同ASCII码兼容。24串口通讯模块UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。实现单片机和PC机的通讯工作,接一个MAX232实现电平转化。电路图如下第10页/共25页第三章系统软件设计图3系统流程图整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。本系统主程序主要包括三个子程序,分别为液晶显示子程序,温度测量子程序,串口通讯子程序。主体软件架构如左图31系统初始化系统初始化主要包括UART初始化,液晶显示初始化,温度传感器初始化。UART初始化包括定义定时器/计数器和串行口的工作方式,定义T1为自动重装8位计数器。液晶显示初始化主要是确定液晶显示器的工作方式、显示开关、光标开关等。温度传感器初始化包括一个由总线控制器发出的复位脉冲和跟有其后由传感器发出的存在脉冲。存在脉冲是让总线控制器知道DS18B20在总线上且已准备好操作。一个复位脉冲跟着一个存在脉冲表明DS18B20已经准备好发送和接收数据。以下是初始化序列图。第11页/共25页图311初始化序列图32温度测量程序温度测量程序主要是DS18B20与单片机之间的ROM操作命令和DS18B20的数据读写操作命令。当单片机对DS18B20进行初始化,检测到一个存在脉冲后,发出匹配ROM命令,然后发送ROM码。图321DS18B20基本工作流程第12页/共25页第四章系统仿真调试41系统仿真调试在KEIL开发环境下不能进行有效的仿真调试,所以在系统中采用PROTUES单片机仿真工具进行仿真调试。下图为PROTUES仿真读取温度后在LCD1602液晶屏上的显示结果。图411PROTUES仿真图上位机用串口调试软件来仿真,安装了虚拟串口驱动软件和PROTEUS进行调试仿真。虚拟串口驱动软件用了VSPD软件。VSPD软件在WINDOW操作系统上增加了一对在逻辑上交叉相互的虚拟串口,使串口调试助手能够和PROTEUS中的单片机串口相连。VSPD软件界面如下第13页/共25页图412VSPD软件界面串口仿真结果如下在串口调试助手上显示两个温度传感器采集到的温度图412温度传感器采集第14页/共25页附录温度采集体统原理图PCB图第15页/共25页源代码1602函数部分DEFINEPORTP1SBITRSP20/定义端口SBITRWP21SBITEP22/微秒延时函数/VOIDDELAY_USUNSIGNEDINTN/延时如果需要高精度延时IFN0RETURNWHILEN/毫秒函数声明/VOIDDELAY_MSUNSIGNEDCHARIUNSIGNEDINTBWHILEIFORB1B0ZFORB1B0BFORA2A0AVOIDDELAYUNSIGNEDINTZ/延时函数UCHARX,YFORXZX0XFORY101Y0Y/DS18B20函数部分/VOIDDSINIT/DS18B20初始化DAT1DSDELAY4DAT0/给一个脉冲信号DSDELAY50/低脉冲信号要保持480US960USDAT1/拉高第21页/共25页DSDELAY9/略微延时DELAY1UCHARREAD/DS18B20读一个字节UCHARI,KFORI8I0IDAT0/给脉冲信号K1/将读到的一位数向后移一位DAT1/给脉冲信号IFDATK|0X80/如果读到的是1,则,K和0X80进行或运算,首位变成1DSDELAY4/每位读取中间间隔大于1USRETURNKVOIDWRITEUCHARDATE/DS18B20写一个字节UCHARI,KKDATEFORI0I1DSDELAY1第22页/共25页FLOATREAD_TEMPEUCHARNUM/从DS18B20存储器中读书温度INTTFLOATTTUCHARA,B,IDSINIT/每次对DS18B20输入指令都要先进行初始化操作WRITE0X55/写序号列号FORI0I8IWRITEXLNUMIWRITE0X44/启动温度转换DSINITWRITE0X55/写序号列号FORI0I8IWRITEXLNUMIWRITE0XBE/读取温度寄存器等(共可读9个寄存器)前两个就是温度AREAD/读出温度的低八位BREAD/读出温度的高八位TBT8/T是INT,16位,讲高八位移到前面TT|A/将温度的高位与低位合并IFB/将带有小数点位的十六进制数化为十进制第23页/共25页FLAG0ELSETTT100625FLAG1RETURNTTUART函数部分VOIDINITUARTVOID/UART初始化TMOD0X20/110592M9600SCON0X50TH10XFDTL10XFDPCON0X00EA1ES1TR11VOIDSENDUNSIGNEDCHARC/UART发送SBUFCWHILETI0TI0第24页/共25页主函数部分UCHARLABLE“TEMPEC“/初始显示VOIDSEND_TEMPEFLOATTEMPE,UNSIGNEDCHARNUM/串口发送采集到的温度UNSIGNEDLONGTUNSIGNEDCHARIUNSIGNEDCHARTT“NUM0TEMPE1250CN“TT4NUM0X30TEMPETEMPE100TUNSIGNEDINTTEMPETT17T100X30TT/10TT16T100X30TT/10TT14T100X30TT/10TT13T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年防城港辅警招聘考试真题附答案详解ab卷
- 2025年萍乡辅警协警招聘考试备考题库附答案详解
- 2025年苗栗县辅警招聘考试题库及参考答案详解一套
- 2025年重庆辅警招聘考试题库及1套完整答案详解
- 2025年秀山土家族苗族自治县辅警协警招聘考试备考题库附答案详解(满分必刷)
- 2025年齐齐哈尔辅警协警招聘考试备考题库及答案详解(历年真题)
- 2025年鄂尔多斯辅警协警招聘考试备考题库及答案详解(典优)
- 2025年渭南辅警协警招聘考试真题附答案详解(典型题)
- 2025年遵义辅警协警招聘考试备考题库及答案详解1套
- 2025年辖县辅警协警招聘考试真题带答案详解(完整版)
- 2025宠物行业蓝皮书(简版)
- 黄桃采购合同
- 重大事故隐患上报和建档监控制度
- (新版)2026年导游资格证考试题库及一套参考答案
- 2025国网河北省电力校园招聘(提前批)笔试模拟试题浓缩500题及完整答案详解1套
- 2025-2026学年上学期小学语文统编版三年级期中必刷常考题之作文
- 运动馆安全培训课件
- 涂装知识培训课件
- 2025年国家开放大学《体育保健学》期末考试备考试题及答案解析
- 2025四川成都新都投资集团有限公司招聘23人笔试历年参考题库附带答案详解
- 热成像在桥梁检测中的应用-洞察及研究
评论
0/150
提交评论