欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    基于51单片机对两路DS18B20温度传感器的设计.doc

    • 资源ID:3408980       资源大小:18KB        全文页数:4页
    • 资源格式: DOC        下载积分:2
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要2
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于51单片机对两路DS18B20温度传感器的设计.doc

    基于51单片机对两路DS18B20温度传感器的设计本文提出了基于51单片机两路温度控制器的设计方案,该设计方案采用两个DS18B20温度传感器,采集两个不同地方的温度,通过AT89C51处理进行,由四位LED数码管显示所测量温度,前两位为第一个温度传感器的温度,后两位为第二个温度传感器的温度。采用3个按键实现温度最高和最低的设定,采用蜂鸣器和电动机实现温度过高或过低报警。1.引言目前,温度控制器存在的问题是如何缩减成本,减少功耗,温度测量的准确性和多路温度的同时显示。本方案设计的实现基于C51单片机的两路温度控制器,做到成本最低化,精确度高,两路温度的显示和控制,能在温度超出设定的最高温度时启动电风扇进行降温,在温度低于设定的最低温度时启动蜂鸣器报警,能够用户设定最高最低温。2.系统结构温度控制器系统包括以下几个主要部分:温度传感器,报警电路,LED显示电路,键盘控制,89C51控制部分。如图所示:本系统设计实现:启动温度控制器后,绿灯亮起,四位LED数码显示器上前两位为温度传感器1所测的环境温度,后两位为温度传感器2所测的环境温度。3.硬件结构3.1 温度传感器本设计采用的是DS18B20作为温度传感器,DS18B20与传统的热敏电阻相比具有精确度高,测量误差小,方便实现多点测温等优点,因此用DS18B20作温度传感器。3.2 报警电路本设计采用蜂鸣器和电风扇报警电路。蜂鸣器报警电路由三极管和蜂鸣器组成。当温度低于设定的最低温度时,则蜂鸣器报警。电风扇报警电路由三极管和电风扇组成。当温度高于设定的最高温度时,则电风扇报警。3.3 显示电路本系统采用L E D数码显示管显示,LED亮度高,可视角度高。LCD的可视角度低,亮度较低,价格高。考虑到此温度传感器主要用于温室大棚等亮度不太高的环境,从经济与实用的角度来看选LED作为显示器。3.4 键盘控制本系统采用3个独立的按键作为键盘控制电路。键盘一般分为独立式和矩阵键盘两种。独立式键盘结构简单,但占用的资源较多;矩阵键盘结构比较复杂,但占用的口线少。考虑到本设计所需按键数不多,采用三个独立键盘完成两个温度传感器温度的设定。3.5 89C51控制部分本系统采用的是AT89C51,小电子产品用51,硬件设计电路如图1所示。4.软件设计本系统使用汇编语言编码实现的,比C语言编码的程序处理时间更快。主程序中包含系统初始化,键盘扫描选择子程序,温度比较子程序,温度测量子程序,温度计算子程序,显示子程序。4.1 主程序模块主程序中先对数据进行初始化,然后调用键盘扫描子程序KEY_TEST,温度比较子程序C O M P A R E,温度采集子程序G E T _ T E M P,温度显示子程序D I S _ S E T和DISPLAY,再判断采集,显示第二个温度传感器的温度值。编写程序如下:4.2 LED显示模块LED显示可以分为动态显示和静态显示两种,静态显示占用更多口线,为了减少硬件成本,本设计采用动态扫描显示的方法显示两个温度传感器的温度值。DISPLAY和DISPLAY1函数分别读取第一个和第二个温度传感器的温度并根据暂存单元的数据显示两个温度传感器的温度。编程思路:根据SIGN标志来判断转入不同的显示,将查表所得的数据存入不同的单元并显示在LED上。4.3 键盘控制模块键盘通过设定SIGN标志来判断设定第一个或者第二个温度传感器的最高温或者最低温,编程思路为:将SIGN初始设定为0,当第一个按键按下时将其赋为1,再次按下时加一,直到按到第5次重新赋值为0,根据SIGN的值确定进行不同的设置。4.4 温度传感器模块根据温度传感器DS18B20完成温度转换所必须经过的3个步骤,程序:MOV A,#0CCH/跳过ROM MOV A,#44H / / 进行温度变换 MOV A,#0BEH/读暂存存储器内容。4.5 报警模块当实时温度高于设定的最高温度时或者实时温度低于设定的最低温度时,单片机会控制蜂鸣器或者电风扇工作,判断当前温度是否在正常范围的函数为COMPARE,高温部分程序如下:5.仿真测试我们对DS18B20写入程序之前,必须调试自己的程序。但我们不能看到程序是怎样运行的。因此我们可以用仿真机来仿真,通过仿真机我们可以看到DS18B20发送过来的数据,读出来的温度值,所利用寄存的值的变化。系统连接示意图如下图所示:我们现在能把DS18B20所采集到的温度在PC机上显示出来并且每一个温度值显示后换一行。试验证明了系统实用性强,达到了预定的功能。6.总结本方案中所设计的温度控制器,采用AT89C51单片机作为内核,采用DS18B20作为温度传感器,通过四位LED显示,通过循环扫描实现了两路温度的采集与显示。然后又经过过仿真测试证实了改设计方案经济适用,实用性强,能够测量两个地方的温度,满足温室大棚,室内家居,工业控制等不同环境下的使用。

    注意事项

    本文(基于51单片机对两路DS18B20温度传感器的设计.doc)为本站会员(白大夫)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开