DS18B20与LCD1602温度测量显示案例
昨天推了一篇DS18B20测温与数码管显示的文章(见DS18B20测温与数码管显示),今天做一个DS18B20与LCD1602温度测量与显示应用案例。
系统原理图
引脚接线
LCD1602的数据引脚D0-D7接单片机P0引脚
LCD1602的RS引脚接单片机的P2.5引脚
LCD1602的R/W引脚接单片机的P2.6引脚
LCD1602的EN引脚接单片机的P2.7引脚
2.软件实现
DS18B20测量的温度值中,有小数和整数两部分。在显示的时候需要对测量结果进行处理,常用的带小数的数据处理方法有两种:一种是定义成浮点型直接处理;一种是定义成整型,然后把小数和整数部分分离出来,再合适的位置点上小数点即可。在DS18B20测温与数码管显示案例中使用的就是第二种方法。在本次应用案例中,我们采用第一种方法,直接定义浮点数据。主函数代码如下:
#include <reg52.h>
#include "DS18B20.H"
#include "LCD_1602.h"
#include <stdio.h>
unsigned char Disp_Buffer[20];
void main()
{
float Temp;
InitLcd1602();
dsInit();
LcdShowStr(0, 0, "Temp Val:00.0\xDF\x43");
while(1)
{
sendChangeCmd();
Temp=getTmpValue();
sprintf(Disp_Buffer,"%4.1f",Temp);
LcdShowStr(9, 0,Disp_Buffer );
}
}
定义一个数据unsigned char Disp_Buffer[20];用来存储要显示的数据。float Temp; 用于存储浮点的温度数据。 LcdShowStr(0, 0, "Temp Val:00.0\xDF\x43");液晶显示字符串函数,单片机上电初始化的时候显示
Temp Val:00.0℃,其中DF对应°,43对应C。Temp=getTmpValue();调用读取温度函数,获取当前温度。然后利用sprintf将浮点型的温度值转换为字符串,并存放在Disp_Buffer中。代码如下所示,sprintf(Disp_Buffer,"%4.1f",Temp);
3.运行效果(点击下方链接)
DS18B20与LCD1602温度测量显示案例 (qq.com)
公众号回复《DS18B20》自动获取完整程序
DS18B20与LCD1602温度测量显示案例相关推荐
- 51单片机温度语音播报系统TTS播报DS18B20温度LCD1602显示
实践制作DIY- GC0023-温度语音播报系统 一.功能说明: 基于51单片机设计-温度语音播报系统 功能介绍: 1.STC89C52单片机(STC89C51/52 AT89C51/52 任选其一) ...
- 51单片机DS18B20温度传感器使用及数码管温度计、LCD1602温度显示代码详解
温馨提示:读者若要彻底理解并会灵活使用DS18B20温度传感器,请详细阅读中文手册,并且对照代码注释充分分析代码.请不要觉得中文手册内容繁多!如能静心分析,定能深有体会,获益匪浅! 一.DS18B20 ...
- DS18B20温度转换与显示
单片机练习 - DS18B20温度转换与显示 最近都在学习和写单片机的程序, 今天有空又模仿DS18B20温度测量显示实验写了一个与DS18B20基于单总线通信的程序. DS18B20 数字温度传感器 ...
- 【Proteus仿真】Arduino UNO + PCF8563 +LCD1602时间显示
[Proteus仿真]Arduino UNO + PCF8563 +LCD1602时间显示 Proteus仿真 所需库 Rtc_Pcf8563库 LiquidCrystal库 编译信息 使用 1.0 ...
- AT32F437基于LVGL的桌面显示案例
AT32F437基于LVGL的桌面显示案例 示例目的 提供AT32F437基于LVGL V8的桌面显示案例. 注:本示例代码是基于雅特力提供的V2.x.x板级支持包(BSP)而开发,对于其他版本的BS ...
- 51单片机 DHT11+LCD1602温湿度显示 + Proteus仿真
51单片机 DHT11+LCD1602温湿度显示+ Proteus仿真 主程序代码 #include <reg52.h> #include <LCD1602.h> #inclu ...
- 【Proteus】Arduino UNO + DS1307+LCD1602时间显示
[Proteus]Arduino UNO + DS1307+LCD1602时间显示 Proteus仿真演示 添加串口输出信息,只是为了方便调试时查看信息. 所需库 可以在Arduino IDE管理库( ...
- 基于FPGA的 DS18B20多功能温度显示
基于FPGA的 DS18B20多功能温度显示 实现功能: 1.实时温度显示在数码管上,更新速率1-2s一次 2.按下按键显示最近30s内的最高温和最低温 不包含板子, 3.按下按键可以存储当前温度,最 ...
- 【51单片机】在LCD1602上显示时间:包含按键进行校准时间+闹钟功能:按键设置闹钟响铃时间,以及响铃的时间长度
在51开发板上面实现,晶振为:11.0592Mhz 电路如下: LCD1602 蜂鸣器部分: 显示时间界面: 更改时间页面: 设置触发闹钟时间页面: 设置闹钟响铃时长页面:(O泡时间长度 为3秒) ...
最新文章
- 致敬YOLO!华科提出YOLOS:基于视觉Transformer的目标检测
- 关于SpringCloud配置中心,ConfigClient需要注意的问题
- 面试必会:HashMap 实现原理解读
- 圣思园java se培训总结(82-)(观察者设计模式)
- python字符串字面量有哪四种定义方式_Python学习笔记(四)字符串型
- .net core 与ELK(4)后台运行els可视化工具和Kibana
- 娱乐游戏及计算机动画论文,有关游戏美术设计论文
- md文件转换成word文档
- 软件 | 快速计算网络自然连通度评估群落稳定性
- 读书笔记-财务报表分析的目的
- Pytorch 3D卷积
- 攻防世界-reverse-easyRE1
- 谷粒学院(十五)JWT | 阿里云短信服务 | 登录与注册前后端实现
- 邮件归档,在VIP邮箱怎么设置?
- 云管边端架构图_【学术论文】车路协同的云管边端架构及服务研究
- 【面试】 瓜子二手车 Java 方向面经
- html编辑器怎么添加视频教程,怎样在网站上添加视频?-米拓建站帮助中心
- 【Python学习日记】 第四天
- oracle执行报错ora-00955,Oracle:ORA-00955: name is already used by an existing object
- 简体中文影子系统2.8版(电脑的保护神)
热门文章
- 文件定时上传服务器,文件定时上传至服务器
- 37岁接触Python,在危机中抓住新机,3年搭建Python金融“金字塔”
- 排序四| 选择类排序(java实现)
- 苹果和特斯拉供应商台达电子遭勒索攻击 360专家提出四点建议应对
- sqrt在matlab是什么意思,matlab中sqrt()是什么功能的函数?
- 游戏的“自我赋权”和“非自我赋权”倾向
- 学生信息管理系统错误集(3)
- 谈一谈最近工作的收获!!!
- 豆瓣评分的背后【最不靠谱的书评分,一般不靠谱的音乐分,基本真实的电影分】...
- 微信公众号开发总结(Node.js + express + winston)