久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1545|回復: 0
打印 上一主題 下一主題
收起左側

基于DS18B20的測溫系統

[復制鏈接]
跳轉到指定樓層
樓主
這是一個簡易的基于DS18B20和AT89C2051單片機的測溫系統,參考程序如下:
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char    //???
sbit DQ=P3^7;         //??DS18B20 ? I/O
uchar x=0;          //???
signed char m;         //???????
uchar n;           //???????
uint z;
uint c;
uchar code  LEDData[]={0x3F,0x06,0x5b,0x4F,0x66,0x6D,0x7D,0x07,
   0x7F,0x6F};
//*****?????*****{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);  //????,??480us
DQ = 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????t
   t<<=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 );
}   
/*****????*****/
void check_wendu(void)
{
uint a,b;
c=ReadTemperature();    //?????
a=c/100;         //????????
b=c/10-a*10;       //????????
m=c/10;          //???????
if(m<=0)        //??????0,?????0
{
  m=0;
}
n=c-a*100-b*10;
      //???????
}
/*****???????????*****/
void Disp_init(void)   
{
P1 = ~0x80;         //??-
P3 = 0xFB;
Delay(200);
P3 = 0xDF;
Delay(200);   
P3 = 0xEF;
Delay(200);
P3 = 0xF7;
Delay(200);
P3 = 0xFF;          //????
}
/*****???????*****/
void Disp_Temperature(void)   
{
P1 = 0x98;          //??c
P3 = 0x7F;
Delay(1000);
P3=0xff;    //????
P1=LEDData[n];      //?????
P3 = 0xdf;
Delay(1000);
P3=0xff;      //????
P1 =LEDData[m%10]+0x80;    //????
P3 = 0xef;
Delay(1000);
P3=0xff;      //????
P1 =LEDData[m/10];    //????
P3 = 0xf7;
Delay(1000);
P3 = 0xff;            //????
}
/*****???*****/
void main(void)
{
check_wendu();
  check_wendu();
  for(z=0;z<300;z++)
  {
    Disp_init();        
   }
   while(1)
   {
    check_wendu();
  Disp_Temperature();
  }
}


123.png (76.95 KB, 下載次數: 29)

123.png

圖片1.png (29.68 KB, 下載次數: 34)

仿真圖

仿真圖

基于DS18B20的測溫系統.rar

253.94 KB, 下載次數: 18, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久久久久久久免费看 | 午夜精品一区 | 国产探花在线精品一区二区 | 欧美精品免费观看二区 | 国产国产精品久久久久 | 久操av在线 | 黄色在线免费观看视频网站 | 精品国产伦一区二区三区观看体验 | 精品动漫一区 | 国产精品久久国产精品 | 色爱综合网 | 精品国产一区二区在线 | 日韩欧美网 | 日本福利视频 | 免费在线看a| 日韩一二三区视频 | aaaaa毛片| 中文一区 | 亚洲免费人成在线视频观看 | 久久国产区 | 精品无码久久久久久久动漫 | 蜜桃视频在线观看免费视频网站www | 国产福利在线看 | 干干干操操操 | 日韩成人国产 | 中文字幕在线看人 | 天天操夜夜骑 | 国产一级片免费在线观看 | 成人午夜网站 | 日本电影韩国电影免费观看 | 狠狠久久综合 | 亚洲一区二区免费 | 久草免费在线视频 | 国产真实乱全部视频 | 日韩精品一区二区三区 | 久久av一区二区三区 | 欧美日韩国产精品激情在线播放 | 成人在线观看免费 | 亚洲乱码国产乱码精品精的特点 | 亚洲欧洲一区二区 | 国产在线aa|