⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xianshi.c

📁 显示温度尽量不要让站长把时间都花费在为您修正说明上。压缩包解压时不能有密码。
💻 C
字号:
#include "reg51.h"
typedef unsigned char uchar;
typedef unsigned int  uint;
sbit DQ=P0^0;
sbit  P0_1=P0^1;
uchar data0,sign;

void delay(int delay_time)   
{int i=0;
 for(;i<delay_time;i++);
}

uchar IC_reset(void)
{
 uchar presence;
 DQ=0;
 delay(29);   
 DQ=1;
 delay(3);     
 presence=DQ;
 delay(25);					 
 return(presence);
}

uchar read_bit(void)
{
 uchar i;
 DQ=0;
 DQ=1;
 for(i=0;i<3;i++);
 return(DQ);
}

void write_bit(char bitval)
{
 DQ=0;
 if(bitval==1) DQ=1;
 delay(5);
 DQ=1;
}

uchar  read_byte(void)
{
 uchar i;
 uchar value=0;
 for(i=0;i<8;i++)
 {
  if(read_bit()) value|=0x01<<i;
  delay(6);		                    
}
return value;
}

void write_byte(char val)
{
 uchar i;
 uchar temp;
 for(i=0;i<8;i++)
 {   
  temp=val>>i;
  temp&=0x01;
  write_bit(temp);
 }
 delay(5);
}

void IC_start(void)
{
 IC_reset();
 write_byte(0xcc);
 write_byte(0x44);
}

void read_temp(void)
{
 
 IC_reset();
 write_byte(0xcc);
 write_byte(0xbe);
 data0=read_byte();
 sign=read_byte();
 
 }


main()
{uchar data0,temp,temp2,temdec; uchar bai,shi,ge,ge1,shi1,bai1,qian1;
 uchar display[]={0xc0,0xf9,0xA4,0xB0,0x99,0x92,0x82,0xf8,0x80,0x98};
 
while(1)
 {
 IC_start();
 read_temp();
 temp=sign;
 temp&=0xf0;
 if( temp==0x00)
 {
  temp=data0>>4;
  temp2= sign<<4;
  temp=temp | temp2;
  temdec=(data0 &0x0f)*625;
  }
  if (temp >=20)
  P0_1=0;
  else  P0_1=1;

  bai=temp/100;
  shi=temp%100/10;
  ge=temp%100%10;
  ge1=temdec/1000;
  shi1=temdec%1000/100;
  bai1=temdec%1000%100/10;
  qian1=temdec%1000%100%10;

  P1=0xfe;
  P2=display[bai];
  delay(10);

  P1=0xfd;
  P2=display[shi];
  delay(10);

  P1=0xfb;
  P2=display[ge];
  delay(10);

  P1=0xf7;
  P2=0x7f;
  delay(10);

  P1=0xef;
  P2=display[ge1];
  delay(10);	


  P1=0xdf;
  P2=display[shi1];
  delay(10);   

  P1=0xbf;
  P2=display[bai1];
  delay(10);   

  P1=0x7f;
  P2=display[qian1];
  delay(10);	 

 }

}				 


 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -