• 大小: 61KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: C/C++
  • 标签: OLED  ds18b20  51单片机  

资源简介

将ds18b20采集到的温度通过OLED显示全部源码开发环境51单片机c语言

资源截图

代码片段和文件信息

//#include“1602.h“
#include“ds18b20.h“
void Delay1ms ( uint y )
{
uint x;
for ( y ; y > 0 ; y -- )
for ( x = 110 ; x > 0 ; x -- ) ;
}

uchar Ds18b20Init()
{
  uint i;
DSPORT = 0;
i = 70;
while( i -- );
DSPORT = 1;
while(DSPORT)
{
i ++ ;
if( i > 5000 ) //若执行完延时DSPORT一直为1 说明ds18b20没有响应  因为只有DSPORT为0才能判别ds18b20做出应答, 否则跳出while循环  重新初始化 
return 0;
}
return 1;//DSPORT为1 跳出初始化 初始化成功
}
void Ds18b20WriteByte( uchar dat)
{
uint i  j ;
for ( j = 0 ; j < 8 ; j ++ )
{
DSPORT = 0;
i ++ ;
     DSPORT = dat & 0x01;
i = 6;
while( i -- );
DSPORT = 1;
dat = dat >> 1;
}
}
uchar  Ds18b20ReadByte()
{
uchar byte  bi;
uint i  j;
for( j = 8 ; j > 0 ; j -- )
{
DSPORT = 0;  
i ++ ;
DSPORT = 1;
i ++ ;
i ++ ;
bi = DSPORT;
byte = ( byte >> 1 ) | ( bi << 7 );
i = 4;
while( i -- );
}
return byte;
}
void  Ds18b20ChangeTemp()
{
Ds18b20Init();
Delay1ms( 1 );
    Ds18b20WriteByte( 0xcc );
    Ds18b20WriteByte( 0x44 );
Delay1ms(100);
}
void  Ds18b20ReadTempdat ()
{
Ds18b20Init ();
Delay1ms( 1 );
Ds18b20WriteByte( 0xcc );
Ds18b20WriteByte( 0xbe );
}
int Ds18b20ReadTemp()
{
int temp = 0;
uchar tmh  tml;
Ds18b20ChangeTemp();
Ds18b20ReadTempdat();
tml = Ds18b20ReadByte();
tmh = Ds18b20ReadByte();
temp = tmh;
temp = temp << 8;
temp = temp | tml;
return temp;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-05-05 19:03  OLED\
     目录           0  2015-04-06 16:26  OLED\ch\
     文件       18602  2015-04-06 20:05  OLED\ch\codetable.h
     文件        1468  2015-04-06 15:56  OLED\ch\ds18b20.c
     文件         337  2015-04-06 15:56  OLED\ch\ds18b20.h
     文件        1893  2015-04-13 17:03  OLED\ch\main.c
     文件        5258  2015-04-06 22:08  OLED\ch\oled.c
     文件        1457  2015-04-10 21:27  OLED\ch\oled.h
     目录           0  2015-04-13 17:03  OLED\list\
     文件        4223  2015-04-13 17:03  OLED\list\ds18b20.lst
     文件        4259  2015-04-13 17:03  OLED\list\main.lst
     文件       10536  2015-04-13 17:03  OLED\list\oled.lst
     文件       25282  2015-04-13 17:03  OLED\list\oled.m51
     文件       14136  2015-04-13 17:03  OLED\list\STARTUP.lst
     文件         152  2015-04-06 15:53  OLED\oled.plg
     文件       58748  2015-04-15 19:34  OLED\oled.uvopt
     文件       13953  2015-04-06 17:10  OLED\oled.uvproj
     文件       60382  2015-04-13 17:08  OLED\oled_uvopt.bak
     文件           0  2015-04-06 15:52  OLED\oled_uvproj.bak
     目录           0  2015-04-13 17:03  OLED\output\
     文件        5828  2015-04-13 17:03  OLED\output\ds18b20.obj
     文件        4898  2015-04-13 17:03  OLED\output\main.obj
     文件       23394  2015-04-13 17:03  OLED\output\oled
     文件       11892  2015-04-13 17:03  OLED\output\oled.hex
     文件         155  2015-04-13 17:03  OLED\output\oled.lnp
     文件       14403  2015-04-13 17:03  OLED\output\oled.obj
     文件         152  2015-05-05 18:50  OLED\output\oled.plg
     文件         813  2015-04-13 17:03  OLED\output\STARTUP.obj
     文件        6376  2009-05-07 14:37  OLED\STARTUP.A51

评论

共有 条评论