DS18B20测温与数码管显示
原本要写一篇DS18B20测温LCD1602显示的实验,应关注者的要求先写了一篇DS18B20测温与数码管显示的实验。DS18B20测温与数码管显示是通过51单片机读取DS18B20的温度值,然后实时的通过数码管显示当前温度值。
1.系统原理图(回复关键字DS18B20,自动获取原理图代码下载连接)
数码管采用的共阳极数码管,数据口段码接单片机的P0口,位选信号接的单片机的P2.0、P2.1、P2.2、P2.3。其中P2.0控制百位显示,P2.1控制十位显示,P2.2控制各位及小数点显示,P2.3为小数位显示控制端。共阳数码管与单片相连时单片机的灌电流极小,不能用来驱动数码管,需要接三极管放大电流来点亮数码管,三极管采用NPN型的接法如图所示。
2.系统主程序
void main()
{
float tmp=0.0;
int count = 0;
unsigned int temp=0;
P2=0X00;
dsInit();
while(1)
{
if(count >= 100)
{
sendChangeCmd();
tmp=getTmpValue();
temp=(unsigned int)(tmp*10.0);
count = 0;
}
LEDdisplay(temp);
count++;
}
}
3.数码管显示代码
/*******************************************************************************
* 函 数 名 :LEDdisplay
* 函数功能 :循环显示各个位上的数据
* 输 入 :num要显示的数据
* 输 出 :无
*******************************************************************************/
void LEDdisplay(unsigned int num)
{
unsigned char qian,bai,shi,ge;
qian=num/1000;
bai=num%1000/100;
shi=num%100/10;
ge=num%10;
wela_1 = 0; //关闭所有数码管
wela_2 = 0;
wela_3 = 0;
wela_4 = 0;
wela_3=1; //显示百位
LED_PORT=table[bai];
Delay_ms(1);
LED_PORT = 0xff;
wela_3=0;
wela_2=1; //显示十位
LED_PORT=table[shi];
xiaoshudian=0;
Delay_ms(1);
LED_PORT = 0xff;
wela_2=0;
wela_1=1; //显示个位
LED_PORT=table[ge];
Delay_ms(1);
LED_PORT = 0xff;
}
4.仿真运行视频见链接:DS18B20测温与数码管显示(回复关键字DS18B20,自动获取原理图代码下载连接)。
DS18B20测温与数码管显示相关推荐
- 51单片机DS18B20测温数码管显示例程(Proteus仿真+程序)
编号:19 51单片机DS18B20测温数码管显示例程 功能描述: 本设计由STM32单片机+DS18B20温度传感器+四段数码管显示模块组成. 1.主控制器是51单片机 2.DS18B20温度传感器 ...
- 基于51单片机LCD1602温度显示(DS18B20测温)
基于51单片机DS18B20测温 要在1602上显示温度先要了解1602是如何显示的.详情可以参考我之前的文章基于51单片机1602显示 DS18B20是美国DALLAS半导体公司推出的第一片支持&q ...
- 51单片机导盲手杖_超声波测距+DS18B20测温设计
51单片机导盲手杖_超声波测距+DS18B20测温设计 (源码+原理图+PCB+仿真) 原理图PAB:Altium Designer 仿真原版本:proteus 7.8 程序编译器:keil 4/ke ...
- micopython 18b20_micropython typboaed v202连接DS18B20测温小实验
分享个简单的小实验DS18B20测温模块获取温度,各种材料某宝都有(很便宜).接下来让我们一起学习讨论吧. 实验器材 TPYBoard v202 1块 DS18B20温度传感器1个 DS18B20 扩 ...
- 51单片机DS18B20测温LCD1602显示
文章目录 介绍 Proteus运行仿真图 源程序 主函数 自定义头文件 LCD1602函数 DS18B20 共用函数 介绍 通过DS18B20采集温度在LCD1602上显示 第一行显示温度第二行显示精 ...
- 11. DS18B20测温
DS18B20介绍 •DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,相比较于模拟温度传感器,具有功能强大.硬件简单.易扩展.抗干扰性强等特点 •测温范围:-5 ...
- 基于51单片机的DS18B20测温程序与仿真图
一.基础介绍 时序介绍就暂不介绍,可以网上搜集资料 二.proteus仿真图 三.程序代码 #include<reg51.h> #include"temp.h"#def ...
- 多路测温系统C51语言,51单片机多路DS18B20测温显示并读取序列号
/********************************************* 功 能:读取序列号并匹配序列号,并读温度值 多功能试验板显示多路温度采集 正常显示2个DS18B20温度 ...
- DS1302时间+DS18B20测温+12864显示
本文的设计是基于51单片机的硬件系统,结合DS1302时间模块和DS18B20温度测量模块,可以方便地实现时间和温度的测量.通过51单片机的优良性能和可靠性,可以精确地读取DS1302时间模块的时钟信 ...
最新文章
- 小米回应暴力裁员:已提前三个月通知不续签合同,并且给了N+1补偿
- 什么检索是借助计算机技术进行自动标引的,自动文献检索系统
- 花40分钟写一个-CBIR引擎-代码公开
- oracle数据库impdp导入dmp文件功能演示,imp导入IMP-00038: Could not convert to environment character sets handle问题解决
- Java多线程(3)—生产者/消费者
- 信号分解:双正交、完备性、对偶向量
- 用户怒了!红帽公司宣布CentOS 8将停止维护,“免费” RHEL 寿终正寝
- var result = ![] == []; console.log(result); // 结果是?为什么?
- html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?...
- Java高级语法笔记-文件读写
- Oracle 19c 安装步骤
- tftp协议 服务器怎么返回错误信息,tftp执行流程
- Axure RP入门知识-基础功能介绍
- 有限元分析试题:ANSYS有限元分析中级培训考题及其答案解析(填空+选择+判断+解答)
- global.php,深入理解PHP中的global
- 浙商银行计算机专业笔试考什么,浙商银行笔试题目汇总
- 17种Vue适用于移动端的ui框架
- Python制作二维码1
- 【ArcGIS|空间分析】空间分析准备流程
- Linux 系统安装