资源简介
将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
- 上一篇:C语言经典小程序和C语言编写的小游戏,带注释
- 下一篇:GSM 接收短信
相关资源
- 基于STC89C51单片机的DS18B20的温度报警
- DS18b20 温度检测液晶显示-温度可调上
- OLED显示
- STM32_HI2C_OLED硬件方式驱动OLED
- 51单片机及温度传感器DS18B20来设计
- oled字模提取软件
- OLEDstm32驱动(0.96OLED显示屏STM32F103RC
- 防火安全门(oled.c)
- ds18b20温度控制
- STM32驱动OLED屏幕显示.zip
- STM32 OLED例程以及源码
- ds18b20.zip(STM32F103使用DS18B20读取代码
- 21 用数码管与DS18B20设计温度报警器
- 用数码管与DS18B20设计温度报警器真正
- C51单片机串口与PC通讯,通过DS18B20采
评论
共有 条评论