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

立即注冊 登錄
返回首頁

uid:225885的個人空間

日志

基于51單片機的DS18B20溫度檢測與顯示

已有 495 次閱讀2017-8-8 21:35

#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar SegBuffer[4]={0};
unsigned char code SegCode[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
                        0x07,0x7f,0x6f,0x40};
unsigned char code SegCode_d[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,
                        0x87,0xff,0xef};
sbit DS=P2^2;
sbit dula=P2^6;
sbit wela=P2^7;
void Delay_15us(uint temp)
{
  for(temp; temp>0;temp--)
  {
     _nop_();
     _nop_();
     _nop_();
     _nop_();
  }  
     _nop_();
     _nop_();
}
void Delay_1ms(uint i)
{
  uchar x,j;
  for(j=0;j<i;j++)
  for(x=0;x<=148;x++);
 
}
void RST_DS18B20()
{
   bit ret=1;
   DS=0;
   Delay_15us(39);
   DS=1;
   Delay_15us(4);
   ret=DS;
   Delay_15us(27);
   DS=1;
   
}
void WBIT_DS18B20(bit data_bit)
{
   DS=0;
   Delay_15us(0);
   DS=data_bit;
   Delay_15us(2);
   DS=1;
}
bit RBIT_DS18B20(void)
{
   bit data_bit;
   DS=0;
   _nop_();
   _nop_();
   _nop_();
   DS=1;
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   data_bit=DS;
   Delay_15us(3);
   DS=1;
   return data_bit;
}
void WBYTE_DS18B20(uchar data_byte)
{
  uchar i;
  for(i=0;i<8;i++)
  {
    WBIT_DS18B20(data_byte&0x01);
    data_byte>>=1;
  }
}
uchar RBYTE_DS18B20(void)
{
 uchar data_byte=0;
 uchar i,j;
 for(i=0;i<8;i++)
 {
  j=RBIT_DS18B20();
  j=j<<i;
  data_byte= data_byte|j;

 }
 return data_byte;
}
void START_DS18B20(void)
{
  DS=1;
  _nop_();
  _nop_();
  RST_DS18B20();
  WBYTE_DS18B20(0xCC);
  WBYTE_DS18B20(0x44);
}
uint READ_TEM(void)
{
  uint tem=0;
  DS=1;
  _nop_();
  _nop_();
   RST_DS18B20();
  WBYTE_DS18B20(0xCC);
  WBYTE_DS18B20(0xbe);
  tem=RBYTE_DS18B20();
  tem=(RBYTE_DS18B20()<<8)|tem;
  return tem;
  
}
void Temperature_4(uint data_tem)
{
  uint dat=0;
  float temp;
  if(data_tem&0x0800)
  {
    data_tem=~data_tem+1;
    temp=data_tem*0.0625;
    temp=temp*10+0.5;
    dat=temp;
    SegBuffer[0]=SegCode[dat%10];
    SegBuffer[1]=SegCode_d[dat/10%10];
    SegBuffer[2]=SegCode[dat/100%10];
    SegBuffer[3]=SegCode[10];
  }
  else
  {
    temp=data_tem*0.0625;
    temp=temp*10+0.5;
    dat=temp;
    SegBuffer[0]=SegCode[dat%10];
    SegBuffer[1]=SegCode_d[dat/10%10];
    SegBuffer[2]=SegCode[dat/100%10];
    SegBuffer[3]=SegCode[dat/1000%10];
  }
}
void Segdisplay(void)
{
   dula=0;
   P0=SegBuffer[0];
   dula=1;
   dula=0;

   wela=0;
   P0=0xf7;
   wela=1;
   wela=0;
   Delay_1ms(3);

   dula=0;
   P0=SegBuffer[1];
   dula=1;
   dula=0;

   wela=0;
   P0=0xfb;
   wela=1;
   wela=0;
   Delay_1ms(3);

   dula=0;
   P0=SegBuffer[2];
   dula=1;
   dula=0;

   wela=0;
   P0=0xfd;
   wela=1;
   wela=0;
   Delay_1ms(3);

   dula=0;
   P0=SegBuffer[3];
   dula=1;
   dula=0;

   wela=0;
   P0=0xfe;
   wela=1;
   wela=0;
   Delay_1ms(3);
}



void main()
{
 uint temp=0;
 while(1)
 {
   START_DS18B20();
   temp=READ_TEM();
   Temperature_4(temp);
   Segdisplay();
   
 }

}


路過

雞蛋

鮮花

握手

雷人

評論 (0 個評論)

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

Powered by 單片機教程網

返回頂部
主站蜘蛛池模板: 国产精品一区久久久 | 亚洲一区视频在线 | 久久亚洲国产精品日日av夜夜 | 毛片一级片| 中文字幕不卡视频在线观看 | 亚洲91精品 | 国产目拍亚洲精品99久久精品 | 福利视频一区二区三区 | 亚洲成人在线免费 | 亚洲国产一区二区在线 | 啪啪免费网站 | 国产二区三区 | 成人精品国产免费网站 | 久久手机视频 | 蜜臀网 | 福利社午夜影院 | 视频一区在线观看 | 欧美www在线 | 国产精品欧美精品日韩精品 | 久久免费精品 | 欧美精品一区在线 | 国产激情一区二区三区 | 国产精品视频一区二区三区 | 午夜在线影院 | 国产乱码精品一区二区三区中文 | 国产精品久久久久久一区二区三区 | 国产在线高清 | av第一页| www.黄色片视频 | 成人伊人 | 亚洲一区二区三区高清 | 国产高清区| 狠狠操网站| 人人人艹 | 日韩91在线| 国产一级成人 | 天天色天天色 | 99在线资源 | 日韩a在线观看 | 国产综合精品一区二区三区 | 国产三级|