原本要写一篇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测温与数码管显示相关推荐

  1. 51单片机DS18B20测温数码管显示例程(Proteus仿真+程序)

    编号:19 51单片机DS18B20测温数码管显示例程 功能描述: 本设计由STM32单片机+DS18B20温度传感器+四段数码管显示模块组成. 1.主控制器是51单片机 2.DS18B20温度传感器 ...

  2. 基于51单片机LCD1602温度显示(DS18B20测温)

    基于51单片机DS18B20测温 要在1602上显示温度先要了解1602是如何显示的.详情可以参考我之前的文章基于51单片机1602显示 DS18B20是美国DALLAS半导体公司推出的第一片支持&q ...

  3. 51单片机导盲手杖_超声波测距+DS18B20测温设计

    51单片机导盲手杖_超声波测距+DS18B20测温设计 (源码+原理图+PCB+仿真) 原理图PAB:Altium Designer 仿真原版本:proteus 7.8 程序编译器:keil 4/ke ...

  4. micopython 18b20_micropython typboaed v202连接DS18B20测温小实验

    分享个简单的小实验DS18B20测温模块获取温度,各种材料某宝都有(很便宜).接下来让我们一起学习讨论吧. 实验器材 TPYBoard v202 1块 DS18B20温度传感器1个 DS18B20 扩 ...

  5. 51单片机DS18B20测温LCD1602显示

    文章目录 介绍 Proteus运行仿真图 源程序 主函数 自定义头文件 LCD1602函数 DS18B20 共用函数 介绍 通过DS18B20采集温度在LCD1602上显示 第一行显示温度第二行显示精 ...

  6. 11. DS18B20测温

    DS18B20介绍 •DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,相比较于模拟温度传感器,具有功能强大.硬件简单.易扩展.抗干扰性强等特点 •测温范围:-5 ...

  7. 基于51单片机的DS18B20测温程序与仿真图

    一.基础介绍 时序介绍就暂不介绍,可以网上搜集资料 二.proteus仿真图 三.程序代码 #include<reg51.h> #include"temp.h"#def ...

  8. 多路测温系统C51语言,51单片机多路DS18B20测温显示并读取序列号

    /********************************************* 功 能:读取序列号并匹配序列号,并读温度值 多功能试验板显示多路温度采集 正常显示2个DS18B20温度 ...

  9. DS1302时间+DS18B20测温+12864显示

    本文的设计是基于51单片机的硬件系统,结合DS1302时间模块和DS18B20温度测量模块,可以方便地实现时间和温度的测量.通过51单片机的优良性能和可靠性,可以精确地读取DS1302时间模块的时钟信 ...

最新文章

  1. 小米回应暴力裁员:已提前三个月通知不续签合同,并且给了N+1补偿
  2. 什么检索是借助计算机技术进行自动标引的,自动文献检索系统
  3. 花40分钟写一个-CBIR引擎-代码公开
  4. oracle数据库impdp导入dmp文件功能演示,imp导入IMP-00038: Could not convert to environment character sets handle问题解决
  5. Java多线程(3)—生产者/消费者
  6. 信号分解:双正交、完备性、对偶向量
  7. 用户怒了!红帽公司宣布CentOS 8将停止维护,“免费” RHEL 寿终正寝
  8. var result = ![] == []; console.log(result); // 结果是?为什么?
  9. html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?...
  10. Java高级语法笔记-文件读写
  11. Oracle 19c 安装步骤
  12. tftp协议 服务器怎么返回错误信息,tftp执行流程
  13. Axure RP入门知识-基础功能介绍
  14. 有限元分析试题:ANSYS有限元分析中级培训考题及其答案解析(填空+选择+判断+解答)
  15. global.php,深入理解PHP中的global
  16. 浙商银行计算机专业笔试考什么,浙商银行笔试题目汇总
  17. 17种Vue适用于移动端的ui框架
  18. Python制作二维码1
  19. 【ArcGIS|空间分析】空间分析准备流程
  20. Linux 系统安装

热门文章

  1. 7-zip 7z压缩文件的时候排除指定的目录文件夹
  2. 跨境电商独立站干货!收款问题如何解决?
  3. 学生日程管理app10个测试用例
  4. 异硫氰酸荧光素(FITC)标记重组灵芝免疫调节蛋白rLz-8,FITC-rLz-8
  5. HP M1005可以扫描打印没反应的处理方法
  6. 电力节能设备远程监控系统解决方案
  7. 雅迪电动车解锁(实测无效)
  8. RHRP1560-ASEMI大功率快恢复二极管15A 600V
  9. 《编程导论(Java)·3.1.2 方法》之 副作用
  10. 推荐系统之UserCF2:用户对商品的感兴趣程度