基于51DS18B20室内温度报警系统设计

发布者:EtherealGaze最新更新时间:2015-07-08 来源: 51hei关键字:DS18B20  室内温度  报警系统 手机看文章 扫描二维码
随时随地手机看文章
#include
#define uchar unsigned char
#define uint unsigned int
sbit DQ=P2^2;
sbit smg1=P2^4;
sbit smg2=P2^5;
sbit smg3=P2^6;
uchar temp;
unsigned char code smg_du[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
unsigned char code smg_we[]={0x08,0x18,0x28,0x38,0x48,0x58,0x68,0x78};
void init_ds18b20(void);
void delay(uint t);
void write_byte(uchar dat);
uchar read_byte(void);
uchar readtemperature(void);
void display(void);
//************************************************
//延时函数,在12MHz的晶振频率下
//大约50us的延时
//************************************************
void delay_50us(uint t)
{
 uchar j;
 for(;t>0;t--)
        for(j=19;j>0;j--);
}
void main(void)
{
 while(1)
 {
  temp=readtemperature();
  display();
  
 }
 
 
  
}
 
void delay(uint t)
{
 while(t--); 
}
void init_ds18b20(void)
{
 uchar n;
 DQ=1;
 delay(8);
 DQ=0;
 delay(80);
 DQ=1;
 delay(8);
 n=DQ;
 delay(4);
}
void write_byte(uchar dat)
{
 uchar i;
 for(i=0;i<8;i++)
 {
  DQ=0;
  DQ=dat&0x01;
  delay(4);
  DQ=1;
  dat>>=1;
 }
 delay(4);
}
uchar read_byte(void)
{
 uchar i,value;
 for(i=0;i<8;i++)
 {
  DQ=0;
  value>>=1;
  DQ=1;
  if(DQ)
  value|=0x80;
  delay(4);
 }
 return value;
}
uchar readtemperature(void)
{
 uchar a,b;
 init_ds18b20();
 write_byte(0xcc); //跳过ROM
 write_byte(0x44); //启动温度测量
 delay(300);
 init_ds18b20();
 write_byte(0xcc);
 write_byte(0xbe);
 a=read_byte();
 b=read_byte();
 b<<=4;
 b+=(a&0xf0)>>4;
 return b;
}
 
void display(void)
{
 smg3=0;
 smg2=0;
 smg1=0;
 P1=smg_du[temp%10];
 delay_50us(20);
 smg2=0;
 smg1=1;
 P1=smg_du[temp/10];
 delay_50us(20);
   
}
关键字:DS18B20  室内温度  报警系统 引用地址:基于51DS18B20室内温度报警系统设计

上一篇:基于51红外线遥控解码人流量统计系统设计基底
下一篇:基于C8051单片机超声波测距电平触发编写

推荐阅读最新更新时间:2024-03-16 14:24

51单片机学习:DS18B20温度传感器实验
实验名称:DS18B20温度传感器实验 接线说明: 实验现象:下载程序后,插上DS18B20温度传感器,数码管显示检测的温度值 注意事项:注意温度传感器的方向,在接口处我们已经用丝印画了一个凸起, 所以只需要将温度传感器对应插入即可 ***************************************************************************************/ #include public.h #include smg.h #include ds18b20.h /***********************************************************
[单片机]
DS18B20数字温度计C语言源程序
DS18B20数字温度计使用 1.DS18B20基本知识 DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。 1、DS18B20产品的特点   (1)、只要求一个端口即可实现通信。   (2)、在DS18B20中的每个器件上都有独一无二的序列号。   (3)、实际应用中不需要外部任何元器件即可实现测温。   (4)、测量温度范围在-55。C到+125。C之间。   (5)、数字温度计的分辨率用户可以从9位到12位选择。   (6)、内部有温度上、下限告警设置。 2、DS18
[单片机]
<font color='red'>DS18B20</font>数字<font color='red'>温度</font>计C语言源程序
数字温度传感器DS18B20在卫星电源系统中的应用
0 引言 卫星电源系统主要用来为整个卫星的正常运行提供稳定的电源。它是卫星电能产生、储存、变换、调节、传输分配和管理的重要分系统。其基本功能是通过物理和化学过程将太阳的光能、核能或化学能转化为电能,并根据需要对电能进行存储、调节和变换,然后向卫星其它各分系统不间断供电。我国的卫星大都采用太阳能/蓄电池供电系统。蓄电池充电终压控制采用电压-温度补偿法,即V-T曲线控制。蓄电池温度传感器传统上一般选用热电耦或铂电阻。模拟电路硬件控制是温度补偿的常用方法,已经在我国各种型号的卫星上获得成功应用。 为加快我国卫星电源分系统的数字化设计。充分体现数字电路体积小、重量轻、功耗低、适应性强和可靠性高等优点,提高电源分系统的电能重量比,本文以
[应用]
高压注射器智能导流报警系统设计
0 引言     高压注射器是医学中为配合CT扫描而注射造影剂的专用设备。在临床应用中,高压注射器注射药液时往往因注射速度快、压力高而易发生药液渗漏的问题。虽然高压注射器本身具有压力监测系统,但是由于该系统测量的是高压注射管内部压力,这种间接监测方法有时不能有效监测到液压渗漏到病人皮肤。有时即使监测到时,病人皮肤已经发生严重的肿胀现象。为克服以上不足,国外研究了一些相关机械装置用于监测患者手臂压力,但是由于机械装置的特点,其使用寿命较短,同时这些装置不能完成相应的导流功能,这样仍然不能避免产生皮肤肿胀现象。本文采用TI公司的微控制器MSP430F449及精量电子的FS2050压力传感器,设计了一套高压注射器防渗漏智能导流报警系统。该
[嵌入式]
PIC16F877A驱动DS18B20温度采集芯片
今天开始驱动DS18B20温度采集芯片! 从网上收集的资料 DS18B20的内部结构 DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如下: DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的
[单片机]
PIC16F877A驱动<font color='red'>DS18B20</font><font color='red'>温度</font>采集芯片
基于ATMEGA16的DS18B20测温程序
完整程序源代码下载:http://www.51hei.com/f/avrds.rar main函数: /* 程序功能:18B20测温结果在1602液晶上显示 作者:朱波 时间:2012年1月31日 说明:PA5为输入端口 18B20参数:测温范围:-55~+125℃,在-10~+85℃精确度为±5 通信方式:单总线 */ #include iom16v.h #include macros.h #include "delay.h" #include "display.h" #include "18B20.h" #define uchar unsigned char #define uint unsigned int ui
[单片机]
基于ATMEGA16的<font color='red'>DS18B20</font>测温程序
智能光纤报警系统可多领域应用 有望普及大众
  说起报警系统,大家可能会想到传统的红外线比较高科技,可是你知道利用一根普通光缆也能制成报警系统吗?   昨日,厦大美洲校友带来一批最新的项目成果到厦门找“婆家”。对接会上,从美国回来的工程师杨峰向大家推介了一款“智能光纤报警系统”。   据介绍,智能光纤报警系统项目,由多名在美国高科技领域工作十多年的留美博士、硕士,历时三年,投入资金300万元进行研究。与传统安防 产品 相比,智能光纤报警系统仅用一根普通光缆,就可对超大范围内的入侵信号进行有效监控,在100公里的监控范围内对入侵地点进行实时精确定位,精度可以达到3米左右,具有非常可靠的高灵敏度以及低误报率。同时该系统还具有很强的抗破坏能力,即使传感光缆遭到入侵者恶意剪断
[安防电子]
基于51单片机GSM模块的家庭火灾报警系统设计
一.硬件方案 本设计利用被动式热释电型红外传感器检测人体辐射的红外线,当检测到红外信号变化时,将其转化为微弱的电信号,经过信号处理电路对电信号进行滤波、放大、比较、输出高电平作为告警信息送给MCU,MCU判断是否报警,如果满足报警条件,就会发出控制信号,通过串行通信接口RS232,控制GSM短信模块给用户发短信息,实现防盗报警。 主要由DS18B20温度传感器+MQ-2烟雾传感器+HC-SR501人体红外模块+SIM800C GSM模块+LCD1602显示屏组成;如图: 二.设计功能 (1)可检测环境温度、烟雾浓雾和人体信号并通过显示屏显示。 (2)可通过按键设置报警值,当检测值超过报警值时进行报警。 (3)报警可通过LE
[单片机]
基于51单片机GSM模块的家庭火灾<font color='red'>报警系统</font>设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved