时永宝

摘 要:伴随着时代的快速发展,智能将会成为今后的主流方向,按照设定好的思路,在特定的环境里自主工作,不需要人为的操控。在本次研究中,以STC89C51单片机作为核心控制器,用DS18B20温度传感器检测温度,当采集到的数值高于或低于预先设定值时,报警模块进行反馈工作;待检测的数值处理后,显示时数据可以读取到十分位。

关键词:STC89C51单片机;DS18B20;1602液晶模块

文章编号:2095-2163(2019)04-0301-03 中图分类号:TP274.2 文献标志码:A

0 引 言

温度采集器,严格地讲,是由设定好的程序来控制传感器的采集,用以表示实时温度的简易装置。其优势在于输入速度快、可靠性高和采集数据方便。利用单片机的储存功能,温度采集器反馈回的信息可以随时储存,并具有一定的自动报警能力。温度采集器易于制作,不仅能单独使用,还可以和其它设备结合使用,结合后可以实现自动化管理。

选取STC89C51作为控制的核心芯片,因其具有擦写功能,擦写次数可达1000次。STC89C51是集成芯片,集成了中央处理器、数据存储器等,同时还具有编写性能,结合相应工具,可以下载程序到51芯片中,省去一些环节,从而降低成本。选择51芯片为控制单元,因为其性价比高,容易买到[1]。

1 系统硬件设计

1.1 单片机的选择

整个系统的神经中枢是STC89C51单片机,用其指挥控制传感器,进行温度采集,便于达到仿真效果。结合控制器,设计采集温度器的高温与低温报警系统,通过传感器进行温度检测,当检测到的温度高于或低于设定值时,报警模块出现反馈[4]。

1.2 温度采集器电路设计

采用温度传感器DS18B20可以在任意环境和位置下,进行实时数据采集。然后将采集的数值输送给控制单元,控制单元处理后,会得到一个比较稳定的数据值,将其送入主控单元;主控单元对其处理分析后,将处理的数据送给显示模块。温度采集器电路设计原理如图1所示。

1.3 电源模块设计

根据仿真要求,设计单片机传感器的电压为4.5 V,现实中可以利用电池供电。在多次的验证后,最终得到的结果,符合最初的设定。使用电池供电,一是方便, 二是安全, 系统可在稳定电压范围内进行工作。

1.4 显示模块选择

选择工业字符型液晶LCD1602显示,可以给系统提供一个标准的LCD驱动接口,按照仿真要求进行操作,从而控制实时显示。结合上述观点,选用工业字符型液晶完成模拟仿真,物尽其用。

1.5 传感器模块选择

根据此设计而使用数字温度传感器,由于其性价比高,能够更加清晰地反应采集到的实时温度数值;还可以较为直观的得到测量后的数值;通过相关的转换,从而完成设计的要求。传感器理想状态可以选取2种供电方式,一是数据总线供电方式,二是外部供电;结合实际情况,仿真设计采用的是后者。电路总体构思结合软件仿真相对容易完成。温度采集模块的设计方案如图2所示。

2 硬件单元模块设计

2.1 主控制模块

主控制模块的设计相对来说比较简单,其遵循尾重原则,用来协调各个模块之间的联系,从而完成各个模块之间的连接,如图3所示。

2.2 液晶显示模块

根据仿真需求,选择工业字符型液晶显示,数据口与单片机P1端口相连接,控制键与单片机的RS、RW相连接。温度采集器报警模块。如果有报警可以通过显示模块查看报警信息,且具有声光报警功能。即采集温度高于或低于设定值时,出现报警反馈。传感器可以精准地检测到温度的十分位,并具有断电储存数据功能;人性的智能化的按键设置,使得其具有连加、减功能。LCD1602液晶能同时显示4个温度W1、W2、W3、W4并3 s后自动循环切换到温度W5、W6、W7、W8显示,如图4所示。

2.3 报警器电路

报警电路具有声光反馈效果,即采集的温度数值高于设定温度数值时,高温报警,二极管闪烁;采集的温度数值低于设定的温度数值时,低温报警,二极管不发光。蜂鸣器与发光二极管两者互相结合,形成的反馈效果,更加直观地反映出报警的情况。

3 系统软件设计

软件设计分为2块—主程序和子程序,为了使程序简洁,采用側重主程序与子程序辅助的原则,从而有效地完成仿真,调用的子程序分别是DS18B20温度采集模块、显示模块、报警模块。温度传感器在检测到实时数据时,把数值送给芯片,芯片进行判断处理,通过显示模块显示,然后对采集的数据进行存储,掉电时采集数据不会丢失。报警程序的声光反馈,更加直观地显示出报警的情况,当采集的温度数值大于或者小于设定数值时,出现报警反馈,流程如图5所示。

4 结束语

对不同地点(封闭或开放环境)进行温度采集,采集数值达到上限和下限时进入报警反馈,报警反馈时,温度数值显示可以精确到十分位,且系统整体具有防掉电,自我数据保存功能。数据读取方便;仿真中还增加了连加、减功能。利用显示模块的特点,可以看到采集的温度数值的实施情况。在教室、宿舍、操场不同地点不同时间进行测试,在测试地点选取一个固定位置,打开仿真软件,进行数据读取,先读取实际值,然后根据实际值设定相对的最高和最低报警参数,以便于实验快速地进行。测试结果显示可以完成高温报警及发光二级管闪烁,低温只报警,二极管不闪烁的功能,从而实现温度采集的功能。

参考文献

[1]郭惠,吴迅. 单片机C语言程序设计完全自学手册[M]. 北京:电子工业出版社,2008.

[2]贾振国. DS18B20及高精度温度测量的实现[J]. 电子技术应用,2000, 26(1):58-59.

[3]周月霞, 孙传友. DS18B20硬件连接及软件编程[J]. 传感器世界,2001 (12):25-29.

[4]杨恢先,黄辉光. 单片机原理及应用[M]. 北京:人民邮电出版社,2006.

[5]杨丽君. AT89C51单片机控制的多路温度检测系统[M]. 自动化与仪表,2000, 15(3):66-68.

郭惠,吴迅.单片机c语言程序设计完全自学手册出版时间,基于单片机的多路温度采集器设计...相关推荐

  1. 郭惠,吴迅.单片机c语言程序设计完全自学手册出版时间,(中北大学电气信息检索与写作实验二.doc...

    (中北大学电气信息检索与写作实验二 实验名称计算机信息检索和利用实验日期2014-11-1班 级学号1205044115学生姓名闫强实验成绩实验 目的1.熟悉信息.知识.情报和文献的联系和区别:区分信 ...

  2. C语言编程新手自学手册下载,C语言编程新手自学手册

    C语言编程新手自学手册 出版时间:2012年01月 定 价:69.80 I S B N :9787111358343 所属分类: 计算机•网络 &nbsp计算机•网络  >  编程语言与 ...

  3. 单片机c语言程序设计实训报告,(整理)单片机C语言程序设计实训100例.doc

    (整理)单片机C语言程序设计实训100例.doc .单片机C语言程序设计实训100例基于8051Proteus仿真案例第 01 篇 基础程序设计01闪烁的LED/* 名称闪烁的LED说明LED按设定的 ...

  4. pic单片机c语言存储器定义,PIC单片机C语言程序设计1 7.PDF

    PIC单片机C语言程序设计1 7 学电子跟我来FOLLOW ME PIC 单片机C 语言程序设计(1) ◆ 丁锦滔 编者按:为了帮助具有PI C 单片机汇编语言知识的技术人员或工程师,快速掌握利用C ...

  5. 单片机独立式按键c语言程序,(原创)51单片机C语言程序设计--速学教程实例(入门篇)之独立按键(查询)...

    (原创)51单片机C语言程序设计--速学教程实例(入门篇)之独立按键(查询) /************************************************************ ...

  6. 单片机C语言仿真图,单片机C语言程序设计代码和仿真图.doc

    word完美格式 精心整理 学习帮手 <单片机C语言程序设计实训100例-基于8051+Proteus仿真>案例 第 01 篇 基础程序设计 01闪烁的LED /* 名称:闪烁的LED 说 ...

  7. 51单片机c语言程序控制,51单片机C语言程序设计源代码

    <51单片机C语言程序设计源代码>由会员分享,可在线阅读,更多相关<51单片机C语言程序设计源代码(281页珍藏版)>请在人人文库网上搜索. 1.51 SCM c语言教程示例2 ...

  8. 单片机交通灯灯c语言程序,关于LED模拟交通灯单片机C语言程序设计 - 全文

    本文为大家带来三个关于LED模拟交通灯单片机C语言程序设计. 关于LED模拟交通灯单片机C语言程序设计一 功能说明 东西向绿灯亮若干秒,黄灯闪烁5次后红灯亮,红灯亮后,南北向由红灯变为绿灯,若干秒后南 ...

  9. stc15系列c语言pwm编程,STC单片机C语言程序设计 第25章 STC单片机增强型PWM原理及实现.docx...

    STC单片机C语言程序设计 第25章 STC单片机增强型PWM原理及实现 STC单片机增强型PWM发生器原理及应用主 讲:何宾Email:hebin@mail.buct.edu.cn2016.03增强 ...

最新文章

  1. 安装nagios时出现version 1.21 does not match bootstrap parameter 1.35的解决办法
  2. 71 Zabbix自定义触发器
  3. GC DevKit 快速入门 -- 游戏概览(三)
  4. android glide的历史,Android 图片加载的那些事:为什么你的Glide 缓存没有起作用?...
  5. 【Tensorflow】打印输出tensor张量和变量的方法
  6. 泳池里到底有多少排泄物?
  7. rabbitmq配置文件_RabbitMQ学习
  8. c语言单链表功能,[数据结构]单链表(C语言)的各种功能
  9. LeetCode 55 - 跳跃游戏
  10. mac如果装win系统运行,虚拟机好还是双系统好?
  11. 飞猪java怎么样_2021春招面试必看:飞猪/新浪/饿了么内部Java面经手册首次发布...
  12. 以太坊概念知识入门篇 1
  13. Fabric中的私有数据
  14. android系统相机实时数据采集流程,Android摄像头获取实时数据+Demo
  15. 程序员职场规划之转型-安晓辉-专题视频课程
  16. IEEE Fellow梅涛:计算机视觉的前沿进展与挑战
  17. python识别中文人名_使用Python在NLP中的命名实体识别中提取人名
  18. UGA5TBYB_E_USG.exe
  19. 服务器异常卡顿 无法重装系统,电脑重装系统经常卡死怎么解决
  20. CC2530编程基础

热门文章

  1. python通过win32api、win32clipboard等包实现微信pc端消息自动发送
  2. PCA主成分分析法详解
  3. iba6.24版本支持连接S7-1500,S7-1200系列PLC
  4. 【STM32】STM32标准库与HAL库对照学习教程特别篇--系统时钟RCC详讲
  5. Floyd-Warshall[弗洛依德]算法
  6. 八大排序算法之快速排序(下篇)(快排的优化+非递归快排的实现)
  7. 推荐:微软出的免费录屏软件Community Clips
  8. error: Microsoft Visual C++ 14.0 is required. Get it with Microsoft Visual C++ Build安装scrapy出错解决方法
  9. Win11不能安装SolidWorks怎么办?
  10. 图书馆rfid智慧图书馆解决方案