• 大小: 0.06M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-16
  • 语言: 其他
  • 标签: 其他  

资源简介

温度检测.zip

资源截图

代码片段和文件信息

#include 
#include 

#define uchar unsigned char
#define uint unsigned int

///////////??////////////////
sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sbit P13=P1^3;
sbit P14=P1^4;
///////////////////////
sbit DQ=P3^0;
sbit led=P3^3;

uchar i=0j;
uchar fuhao;

int k=123;   
uchar code XX2[]={0x000x180x180x180x180x180x180x00};    //-   ??
uchar code XX1[]={0x000x000x000x180x180x000x000x00};   //.   ???
uchar code XX[]=
{   
0x000x7E0x810x810x810x810x7E0x00//0
0x000xC00xC40xFE0xFF0xC00xC00x00//1
0x000xE20x910x910x910x910x8E0x00//2
0x000x420x810x890x890x890x760x00//3
0x000x380x240x220xFF0x200x200x00//4
0x000x870x890x890x890x890x710x00//5
0x000x7E0x910x890x890x890x720x00//6
0x000x010x010xF10x090x050x030x00//7
0x000x760x890x890x890x890x760x00//8
0x000x4E0x910x910x910x890x7E0x00//9
};
 
uchar code AA[8]={0x800x400x200x100x080x040x020x01};


void delay(unsigned int i)  //??us
{
while(i--);
}

void Init_DS18B20()    //ds18b20?????
{
unsigned char x=0;
DQ = 1;     //DQ??
delay(8);   //????
DQ = 0;     //????DQ??
delay(80); //???? ?? 480us
DQ = 1;     //????
delay(14);  //15~60us
x=DQ;       //????? ??x=0?????? x=1??????
delay(20); //60~240us 
}

//?????
ReadOneChar(void)
{
unsigned char i=0;
unsigned int dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // ?????
dat>>=1;
DQ = 1; // ?????
if(DQ)
dat|=0x80;
delay(4); 
}
return(dat);
}

//?????
void WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
delay(5);   
DQ = 1;
dat>>=1;
}
}
//????
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();
b=ReadOneChar();
fuhao=b&0x80;
if(fuhao!=0)
{
b=~b;
a=~a;
tt=((b*256)+a+1)*0.0625;
tt=tt*10;
t=(int)tt;
}
else
{
tt=((b*256)+a)*0.0625;
tt=tt*10;
t=(int)tt;
}
return(t);  
}



//DIANZHEN??
void showdisp(uint k) //???????????
{
for(j=0;j<8;j++)


P10=0;
P11=1;
P12=1;
P13=1;

P2=~AA[j];
P0=XX[(k%10)*8+j]; //1? ??0
delay(120);

P10=1;
P11=0;
P12=1;
P13=1;

P2=~AA[j];
P0=XX1[(k&&0)*8+j];    //2? ?????
delay(120);



P10=1;
P11=1;
P12=1;
P13=0;

P2=~AA[j];
P0=XX[(k%1000/100%10)*8+j];    //4?   ??
delay(120);

P10=1;
P11=1;
P12=0;
P13=1;

P2=~AA[j];
P0=XX[(k%100/10)*8+j];    //3?   ??
delay(120);

}
}







void xianshi(uint k)
{

  
showdisp(k);   //?????????? showdisp(k);??(???)

}

void main()
{
  unsigned int i=0;
  while(1)
  {
 i=ReadTemperature();
 xianshi(i);
  } 
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件      107263  2018-01-15 14:27  123.DSN
     目录           0  2018-01-15 15:52  温度检测\
     文件        6376  2009-05-07 14:37  温度检测\STARTUP.A51
     文件       14048  2018-01-15 14:07  温度检测\STARTUP.LST
     文件         749  2018-01-15 14:07  温度检测\STARTUP.OBJ
     文件        9085  2018-01-15 14:07  温度检测\temp
     文件         395  2018-01-15 15:52  温度检测\temp.build_log.htm
     文件        2999  2018-01-15 14:07  温度检测\temp.c
     文件        3898  2018-01-15 14:07  温度检测\temp.hex
     文件          41  2018-01-15 14:07  温度检测\temp.lnp
     文件        6986  2018-01-15 14:07  温度检测\temp.LST
     文件       13142  2018-01-15 14:07  温度检测\temp.M51
     文件        9060  2018-01-15 14:07  温度检测\temp.OBJ
     文件       71145  2018-01-15 15:52  温度检测\temp.uvgui.96367
     文件       71151  2018-01-12 09:22  温度检测\temp.uvgui_96367.bak
     文件        5324  2018-01-15 15:52  温度检测\temp.uvopt
     文件       14006  2018-01-12 09:22  温度检测\temp.uvproj
     文件        5324  2018-01-12 09:22  温度检测\temp_uvopt.bak
     文件           0  2018-01-12 08:49  温度检测\temp_uvproj.bak

评论

共有 条评论