I-wire總線(單總線)讀寫(xiě)51程序
#include
sbit DQ=P1^0;
//--------------------------------------------------------------------------------------------------
// 函數(shù)名稱: delay
// 入口參數(shù): N
// 函數(shù)功能:延時(shí)子程序,實(shí)現(xiàn)(16*N+24)us的延時(shí)
// 系統(tǒng)采用11.0592MHz的時(shí)鐘時(shí),延時(shí)滿足要求,其它情況需要改動(dòng)
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
// 函數(shù)名稱: Reset
// 入口參數(shù): 無(wú)
// 返回deceive_ready
// 函數(shù)功能:復(fù)位
//--------------------------------------------------------------------------------------------------
unsigned char Reset(void)
{
}
//--------------------------------------------------------------------------------------------------
// 函數(shù)名稱:read_bit
// 入口參數(shù): 無(wú)
// 返回接收的數(shù)據(jù)
// 函數(shù)功能:讀一個(gè)bit子程序
//--------------------------------------------------------------------------------------------------
unsigned char read_bit(void)
{
unsigned char i;
DQ=0;
DQ=1;
for(i=0;i<3;i++);
return(DQ);
}
//--------------------------------------------------------------------------------------------------
// 函數(shù)名稱: write_bit
// 入口參數(shù): bitval
// 函數(shù)功能:寫(xiě)一個(gè)bit子程序
//--------------------------------------------------------------------------------------------------
void write_bit(unsigned char bitval)
}
//--------------------------------------------------------------------------------------------------
// 函數(shù)名稱: write_byte
// 入口參數(shù): val
// 函數(shù)功能:寫(xiě)一個(gè)byte子程序
//--------------------------------------------------------------------------------------------------
void write_byte(unsigned char val)
{
unsigned char i,temp;
for(i=0;i<8;i++)
{
temp=val>>i;
temp=temp&0x01;
write_bit(temp);
delay(5);
}
}
//--------------------------------------------------------------------------------------------------
// 函數(shù)名稱: read_byte
// 返回接收的數(shù)據(jù) value
// 函數(shù)功能:讀一個(gè)byte子程序
//--------------------------------------------------------------------------------------------------
unsigned char read_byte(void)
{unsigned char i,m,receive_data;
}
return(receive_data);
}
評(píng)論