×

基于DS18B20和单片机的热计量仪表采集系统设计资料下载

消耗积分:2 | 格式:pdf | 大小:255.66KB | 2021-04-28

84784

分享资料个

  随着生活水平的提高,人们对生活的环境提出了更高的要求,良好的温度控制对提高人民生活质量起着非常重要的作用。特别是北方,城镇居民冬季一般采取集中供暖,采暖质量的好坏,直接关系到人们生产生活。目前我国绝大数的地区采暖缺少有力的监控系统,无法完成按需采暖以及实现对温度数据的有效控制,从而造成了对供暖热能的浪费。随着人们节约能源意识的逐步增强,迫切需要一种操作简单、节能环保和高效利用的智能热计量仪表温度控制系统。因此本文以AT89S52为控制芯片,DS18B20为温度采集模块,LCD12864为显示采热信息显示模块,设计了一套集成控制室内温度与显示采热信息的热计量仪表温度控制系统。   1.热计量表工作原理   根据热量与流量、温度之间的关系:   Q=CM(T1-T0)   式中,Q 为散热器的散热量( 单位:J) ;C 为水的比热4.2*103J/kg° C ;T1-T0 为散热器进出口的温差(° C);M 为流经散热器的水的流量(L),也即质量(kg)大小。据上式可知,只要能测出流量和温差,就可计算出散热器的散热量大小。   温度传感器检测的信号传送到单片机,同时将流量信息传输到单片机,用矩阵键盘完成对温度的设定。单片机处理完数据后,发送命令到液晶显示器并控制电磁阀。系统总体框架如图1所示。   图1 系统总体框架   2.模块介绍   本设计主要有单片机、液晶显示、数字温度传感器、液体流量计、键盘、电磁阀等部分构成。温度显示:单片机控制数字温度传感器(DS18B20),把温度信号通过单总线从数字温度传感器传递到单片机上, 单片机数据处理之后,将当前温度信息发送到LCD(LCD12864) 进行显示。热量显示:流量计检测到的流量信息(脉冲信号)传输到单片机,单片机数据处理之后,将当前热量信息发送到LCD(LCD12864) 进行显示。温度设定:本系统还可以通过按键来设置温度限定值,单片机比较数字温度传感器的温度与设定的温度值,发出控制继电器动作的指令。   2.1 DS18B20 概述   DS18B20 的数字温度计提供9 至12 位摄氏温度测量,并具有报警功能与非易失性用户可编程上限和下限触发点。   DS18B20 的通信通过1-Wire 总线,需要定义只有一个数据线(与地面)与中央微处理器的通信。DS18B20 是“一线总线”接口的温度传感器,其内部使用了在板专利技术,其传感器元件及转换威廉希尔官方网站 集成在形如一只三极管的集成威廉希尔官方网站 内。由于一线总线具有独特,因此一个微处理器可控制大面积分布的DS18B20.   2.2 AT89S52单片机   单片机(Single-chip Microcomputer 或MicrocontrollerUnit)将CPU、ROM、RAM、I/O 接口威廉希尔官方网站 以及内部系统总线等全部集中在一块大规模集成威廉希尔官方网站 芯片上,就构成了单片机。   AT89S52 是一种低功耗、高性能CMOS8 位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度易失性存储器的技术制造,与工业用的80C51 产品指令和引脚功能完全兼容。 AT89S52   程序存储器可以在片上Flash 对系统进行编程,亦适于常规编程器。单芯片上,拥有灵活的8 位CPU 以及系统可编程的Flash,使得AT89S52 为许多的嵌入式控制系统提供非常灵活和有效的解决方案。   3.主要模块威廉希尔官方网站 的设计   3.1 温度信号采集威廉希尔官方网站 设计   本系统为多点温度测试,DS18B20 采用外部供电方式,理论上可以在一根数据总线上挂256 个DS18B20,但实践应用中发现,如果挂接25 个以上的DS18B20 仍旧有可能产生功耗问题。另外单总线长度也不宜超过80M,否则也会影响到数据的传输。在实际应用中还可以使用一个MOSFET 将I/O 口线直接和电源相连,起到上拉的作用,如图2 所示。在对DS18B20 进行操作的整个工作过程中,主要包括三个关键过程:搜索 DS18B20 序列号子程序;启动在线 DS18B20 作温度转换子程序:读取在线DS18B20的温度值子程序。   图2 温度采集模块设计   3.2 液晶显示威廉希尔官方网站 设计   液晶显示模块 LCD12864 的显示分辨率为128×64, 内置8192 个16*16 点汉字和128 个16*8 点ASCII 字符集,具有4 位/8 位并行、2 线或3 线串行多种接口方式。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。另外低电压低功耗是其又一显着特点,由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件威廉希尔官方网站 结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。设计图见图3。   图3 液晶显示模块设计   4.系统的软件设计   图4为主程序的流程图,主程序的功能是:开机以后,进行系统初始化操作,主要是进行定时/ 计数器的初始化。温度采集程序将温度信号转换成数字信号,在输入到单片机的RAM 存储器中;换算成负责进行温度的标度换算后的十六进制换算成BCD 码,并存储到显示缓冲区以便显示子程序使用,需显示时负责将缓冲区中的各路温度送到LCD 上显示出来。键盘子程序通过按键程序的编写,可以完成对温度的设定,图5 为温度设定部分算法流程。流量信号处理程序的作用是:通过设定定时器、计时器以及外部中断,完成对频率的测定,并转换成流量信息。   图4 主程序流程图   图5 温度设定部分算法流程图   结论   本系统对多处技术和方法进行改进,用STC89C52单片机作为控制核心,实现了对整个系统的控制和操作。液体流量计部分采用涡轮传感器实现对液体流量的采集,数字温度传感器采用实现对温度信号的采集,将数字温度信号传送到单片机,并且可以通过矩阵键盘完成对温度的设定,单片机通过对比设定温度与实际温度发出命令控制继电器开或者关,控制液体的流量,以达到控制室温的目的。 (mbbeetchina)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"//m.obk20.com/www/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'基于DS18B20和单片机的热计量仪表采集系统设计资料下载',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"https://www.elecfans.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);