郭惠,吴迅.单片机c语言程序设计完全自学手册出版时间,基于单片机的多路温度采集器设计...
时永宝
摘 要:伴随着时代的快速发展,智能将会成为今后的主流方向,按照设定好的思路,在特定的环境里自主工作,不需要人为的操控。在本次研究中,以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语言程序设计完全自学手册出版时间,基于单片机的多路温度采集器设计...相关推荐
- 郭惠,吴迅.单片机c语言程序设计完全自学手册出版时间,(中北大学电气信息检索与写作实验二.doc...
(中北大学电气信息检索与写作实验二 实验名称计算机信息检索和利用实验日期2014-11-1班 级学号1205044115学生姓名闫强实验成绩实验 目的1.熟悉信息.知识.情报和文献的联系和区别:区分信 ...
- C语言编程新手自学手册下载,C语言编程新手自学手册
C语言编程新手自学手册 出版时间:2012年01月 定 价:69.80 I S B N :9787111358343 所属分类: 计算机•网络  计算机•网络 > 编程语言与 ...
- 单片机c语言程序设计实训报告,(整理)单片机C语言程序设计实训100例.doc
(整理)单片机C语言程序设计实训100例.doc .单片机C语言程序设计实训100例基于8051Proteus仿真案例第 01 篇 基础程序设计01闪烁的LED/* 名称闪烁的LED说明LED按设定的 ...
- pic单片机c语言存储器定义,PIC单片机C语言程序设计1 7.PDF
PIC单片机C语言程序设计1 7 学电子跟我来FOLLOW ME PIC 单片机C 语言程序设计(1) ◆ 丁锦滔 编者按:为了帮助具有PI C 单片机汇编语言知识的技术人员或工程师,快速掌握利用C ...
- 单片机独立式按键c语言程序,(原创)51单片机C语言程序设计--速学教程实例(入门篇)之独立按键(查询)...
(原创)51单片机C语言程序设计--速学教程实例(入门篇)之独立按键(查询) /************************************************************ ...
- 单片机C语言仿真图,单片机C语言程序设计代码和仿真图.doc
word完美格式 精心整理 学习帮手 <单片机C语言程序设计实训100例-基于8051+Proteus仿真>案例 第 01 篇 基础程序设计 01闪烁的LED /* 名称:闪烁的LED 说 ...
- 51单片机c语言程序控制,51单片机C语言程序设计源代码
<51单片机C语言程序设计源代码>由会员分享,可在线阅读,更多相关<51单片机C语言程序设计源代码(281页珍藏版)>请在人人文库网上搜索. 1.51 SCM c语言教程示例2 ...
- 单片机交通灯灯c语言程序,关于LED模拟交通灯单片机C语言程序设计 - 全文
本文为大家带来三个关于LED模拟交通灯单片机C语言程序设计. 关于LED模拟交通灯单片机C语言程序设计一 功能说明 东西向绿灯亮若干秒,黄灯闪烁5次后红灯亮,红灯亮后,南北向由红灯变为绿灯,若干秒后南 ...
- stc15系列c语言pwm编程,STC单片机C语言程序设计 第25章 STC单片机增强型PWM原理及实现.docx...
STC单片机C语言程序设计 第25章 STC单片机增强型PWM原理及实现 STC单片机增强型PWM发生器原理及应用主 讲:何宾Email:hebin@mail.buct.edu.cn2016.03增强 ...
最新文章
- 安装nagios时出现version 1.21 does not match bootstrap parameter 1.35的解决办法
- 71 Zabbix自定义触发器
- GC DevKit 快速入门 -- 游戏概览(三)
- android glide的历史,Android 图片加载的那些事:为什么你的Glide 缓存没有起作用?...
- 【Tensorflow】打印输出tensor张量和变量的方法
- 泳池里到底有多少排泄物?
- rabbitmq配置文件_RabbitMQ学习
- c语言单链表功能,[数据结构]单链表(C语言)的各种功能
- LeetCode 55 - 跳跃游戏
- mac如果装win系统运行,虚拟机好还是双系统好?
- 飞猪java怎么样_2021春招面试必看:飞猪/新浪/饿了么内部Java面经手册首次发布...
- 以太坊概念知识入门篇 1
- Fabric中的私有数据
- android系统相机实时数据采集流程,Android摄像头获取实时数据+Demo
- 程序员职场规划之转型-安晓辉-专题视频课程
- IEEE Fellow梅涛:计算机视觉的前沿进展与挑战
- python识别中文人名_使用Python在NLP中的命名实体识别中提取人名
- UGA5TBYB_E_USG.exe
- 服务器异常卡顿 无法重装系统,电脑重装系统经常卡死怎么解决
- CC2530编程基础
热门文章
- python通过win32api、win32clipboard等包实现微信pc端消息自动发送
- PCA主成分分析法详解
- iba6.24版本支持连接S7-1500,S7-1200系列PLC
- 【STM32】STM32标准库与HAL库对照学习教程特别篇--系统时钟RCC详讲
- Floyd-Warshall[弗洛依德]算法
- 八大排序算法之快速排序(下篇)(快排的优化+非递归快排的实现)
- 推荐:微软出的免费录屏软件Community Clips
- error: Microsoft Visual C++ 14.0 is required. Get it with Microsoft Visual C++ Build安装scrapy出错解决方法
- Win11不能安装SolidWorks怎么办?
- 图书馆rfid智慧图书馆解决方案