一、设计资料内容(私信获取)

1. 包含proteus仿真一份;
2. keil源代码一份;
3. 包含基于51单片机的DS18B20温度监测与报警的proteus仿真设计课程报告一份;
4. 包含基于51单片机的DS18B20温度监测与报警的proteus仿真设计视频讲解一份;

二、设计要求

本系统使用51系列单片机设计了一款基于DS18B20的温度监测与报警装置,系统采用4位数码管显示采集的温度数据、低温阈值以及高温阈值,并包含了低温和高温的声光报警装置,报警的低温与高温的阈值可以通过按键进行调节。温度范围可根据传感器输出在0-99摄氏度调节。

三、资料截图

四、视频讲解

私信获取全部内容

部分源代码

#include <reg51.h>            //
#define uint unsigned int
#define uchar unsigned char     //宏定义
sbit SET = P3^1;               //定义调整键
sbit DEC = P3^2;               //定义减少键
sbit ADD = P3^3;           //定义增加键
sbit BEEP = P3^6;              //定义蜂鸣器
sbit ALAM = P1^2;          //定义灯光报警
sbit key1=P1^7; //光栅
sbit led1=P1^6;
sbit DQ = P3^7;                //定义DS18B20总线I/O
bit shanshuo_st;                //闪烁间隔标志
bit beep_st;                    //蜂鸣器间隔标志
bit flag1,flag2;
unsigned int count=0,cos=0;
sbit DIAN = P0^5;              //小数点
uchar x=0;                     //计数器
signed char m;                  //温度值全局变量
uchar n;                        //温度值全局变量
uchar set_st=0;                //状态标志
signed char shangxian=30;          //上限报警温度
signed char xiaxian=10;        //下限报警温度
//uchar code  LEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};
uchar code  LEDData[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x8B};//延时子程序
void Delay_DS18B20(int num)
{while(num--) ;
}
//初始化DS18B20
void Init_DS18B20(void)
{unsigned char x=0;DQ = 1;         //DQ复位Delay_DS18B20(8);    //稍做延时DQ = 0;         //单片机将DQ拉低Delay_DS18B20(80);   //精确延时,大于480usDQ = 1;         //拉高总线Delay_DS18B20(14);x = DQ;           //稍做延时后,如果x=0则初始化成功,x=1则初始化失败Delay_DS18B20(20);
}
//读一个字节
unsigned char ReadOneChar(void)
{unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){DQ = 0;     // 给脉冲信号dat>>=1;DQ = 1;     // 给脉冲信号if(DQ)dat|=0x80;Delay_DS18B20(4);}return(dat);
}
//写一个字节
void WriteOneChar(unsigned char dat)
{unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;Delay_DS18B20(5);DQ = 1;dat>>=1;}
}
//读取温度
unsigned int ReadTemperature(void)
{unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC);  //跳过读序号列号的操作WriteOneChar(0x44);  //启动温度转换Init_DS18B20();WriteOneChar(0xCC);  //跳过读序号列号的操作WriteOneChar(0xBE);  //读取温度寄存器a=ReadOneChar();     //读低8位b=ReadOneChar();    //读高8位t=b;                   //高8位转移到tt<<=8;              //t数据左移8位t=t|a;            //将t和a按位或,得到一个16位的数tt=t*0.0625;         //将t乘以0.0625得到实际温度值(温度传感器设置12位精度,最小分辨率是0.0625)t= tt*10+0.5;     //放大10倍(将小数点后一位显示出来)输出并四舍五入return(t);          //返回温度值
}//延时子程序
void Delay(uint num)
{while( --num );
}
//初始化定时器0
void InitTimer(void)
{TMOD=0x1;TH0=0x3c;TL0=0xb0;     //50ms(晶振12M)
}//读取温度
void check_wendu(void)
{uint a,b,c;c=ReadTemperature();           //获取温度值a=c/100;                            //计算得到十位数字b=c/10-a*10;                     //计算得到个位数字m=c/10;                              //计算得到整数位n=c-a*100-b*10;                   //计算得到小数位if(m<0){m=0;n=0;}                 //设置温度显示上限if(m>99){m=99;n=9;}                  //设置温度显示上限
}
//数码管初始化
void Disp_init(void)
{P0 = ~0x80;      //显示----P2 = 0x7F;Delay(200);P2 = 0xDF;Delay(200);   P2 = 0xF7;Delay(200);P2 = 0xFD;Delay(200);P2 = 0xFF;         //关闭显示
}

【001】基于51单片机的DS18B20温度检测与报警装置的proteus仿真设计相关推荐

  1. 【003】基于51单片机的宠物自动定时、喂食系统的proteus仿真设计

    一.压缩包资料(私信获取) (1). 包含基于51单片机的宠物自动定时.喂食系统的proteus仿真设计一份: (2).包含基于51单片机的宠物自动定时.喂食系统keil源代码工程文件一份: (3). ...

  2. 基于51单片机煤气天然气有毒气体检测系统蓝牙手机通信proteus仿真原理图PCB

    功能: 0.本系统采用STC89C52作为单片机 1.系统采用LCD1602作为显示液晶,可以实时显示气体的检测情况以及其他功能设置信息 2.检测有毒气体传感器用的是MQ-4系列传感器 3.蜂鸣器和L ...

  3. 基于51单片机的多路温度检测调节串口传输系统

    本设计基于51单片机的多路温度检测调节串口传输系统(仿真+源码+视频讲解) 仿真:proteus8.9 程序编译器:keil 4 编程语言:C语言 编号C0009 [腾讯文档]C0009 网盘链接 资 ...

  4. 51单片机计算器_基于51单片机的倒计时温度检测报警器

    基于51单片机的倒计时温度检测报警器 学习单片机断断续续半年了,在学长学姐的教学帮助下,完成了51单片机的入门学习,开始实践做项目,在一周时间内设计和制作出个人项目.起初,我设计和选择的是12864显 ...

  5. 基于51单片机的倒计时温度检测报警器

    广西河池学院 广西高校重点实验室培训基地 系统控制与信息处理重点实验室 本篇博客来自河池学院:OpenWRT无线路由组 写作时间:2020年8月12日16:00:03   基于51单片机的倒计时温度检 ...

  6. 基于51单片机CO2二氧化碳气体浓度检测超限报警Proteus仿真

    资料编号:156   下面是相关功能视频演示: 156-基于51单片机CO2二氧化碳气体浓度检测超限报警Proteus仿真((源码+仿真+全套资料)) 功能介绍: 采用51单片机作为CPU,ADC08 ...

  7. 基于51单片机PM2.5浓度检测超限报警Proteus仿真

    资料编号:159   下面是相关功能视频演示: 159-基于51单片机PM2.5浓度检测超限报警Proteus仿真(源码+仿真+全套资料) 功能介绍: 采用51单片机作为CPU,ADC0832作为AD ...

  8. 基于51单片机的DS18B20温度显示

    本讲内容: 了解温度传感器DS18B20的使用,并通过一个例程展示温度传感器DS18B20测温过程. DS18B20简介: DS18B20 是单线数字温度传感器,即"一线器件",其 ...

  9. Protues 基于51单片机的DS18B20温度采集:键盘输入温度上下限_超出设定温度范围报警_8数码管显示

    功能实现: 1.设计单片机与16按键的矩阵式键盘接口以及8数码管的接口电路,测试显示和按键功能. 2.设计单片机与DS18B20的接口电路,实现数字温度信息的采集,然后编程处理采集到的数据,得到温度值 ...

最新文章

  1. Exchange 2010和Exchange 2016共存部署-10:配置多域名证书
  2. 使用 flex 实现 5 种常用布局
  3. npm 装包时的区别 -D -S
  4. 并发编程-volatile和synchronized的区别
  5. 面试题18: 删除链表节点:删除链表中重复的节点
  6. 如何在无显示器的ubuntu下跑selenium
  7. Win7系统解决JAVA或者APKtool不是内部或者外部命令
  8. 导入工程出错原因及解决
  9. Oracle 数据库维护知识
  10. c语言随机生成算式的对错判断,蔡奇宏软件工程第二次作业--四则运算
  11. java多继承_为什么 Java 不支持类多重继承?
  12. PMP备考笔记(第6版)
  13. Obsolete属性
  14. java订单超时取消设计_订单超时30分钟自动取消
  15. 牛郎织女都见面,而你却在吃狗粮---男士星座脱单指南
  16. 计算机图形学实验二交互式绘制多边形
  17. Javascript 合集 自己整理的收藏 记录一下(最下面有惊喜)
  18. 【Python123】 存款买房(B)
  19. POI操作Excel实现导出
  20. win10 当前壁纸缓存位置

热门文章

  1. win10微软输入法不显示选字框?
  2. XCODE DEBUG 技巧
  3. Hash中的bucket什么意思?
  4. java当单据变化触发,UAP开发(NC63)遇到的错误记录
  5. 01_行销(Marketing)里的有用的KPI-转换率 (Conversion Rate)
  6. 惠普笔记本突然读不到无线网卡
  7. 科目三考试经验与技巧——长春长德科目三考场
  8. R语言在线地图神器:Leaflet for R包(二)基础底图
  9. 温州大学c语言期末试卷,2016年温州大学物理与电子信息工程学院综合卷之C语言程序设计复试笔试最后押题五套卷...
  10. C语言循环计算输出圆周长