凌阳单片机与ds18b02

来源:百度知道 编辑:UC知道 时间:2024/05/06 17:05:36
求助:用凌阳单片机与ds18b02联用测温度的用法,非常感谢
我再问一下,使用该芯片时的操作流程中的第一步为初始化1-wire总线,请问这一步的作用是什么呢

#include "SPCE061V004.H"

#define TRUE 1
#define FALSE !TRUE

void Ds18b20_Convert_commond(void);
unsigned char Ds18b20_Read_ScratchPad(void);
unsigned char Ds18b20_write_byte(unsigned char val);
unsigned char Ds18b20_read_bit(void);
unsigned char Ds18b20_read_byte(void);
void Set_IOB15_in();
void Set_IOB15_Out();
//设置IOB15为悬浮输入
void Set_IOB15_in()
{
*P_IOB_Dir &= 0x7fff;
*P_IOB_Attrib |= 0x8000;
*P_IOB_Data |= 0x8000;
}

//设置IOB15为高电平输出
void Set_IOB15_Out()
{
*P_IOB_Dir |= 0x8000;
*P_IOB_Attrib |= 0x8000;
*P_IOB_Data |= 0x8000;
}

unsigned char Ds18b20_present(void)
{
unsigned char presence=0;
unsigned char i;

Set_IOB15_Out();
*P_IOB_Data &= 0x7fff;
//i=400;while(--i);
i=200;while(--i);//约500us
//*P_IOB_Data |= 0x8000;
Set_IOB15_in();
i =24; wh