91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-04
  • 語言: 其他
  • 標簽: ds2431??

資源簡介

DS2431的C51驅動代碼。本人驗證可行。

資源截圖

代碼片段和文件信息

#include?“ds2431.h“
#include?“typedef.h“
bit??DS2431err;???????//DS2431的錯誤標志


void?delay_ms(u16?xms)
{
u16?ij;
for(i=0;i {
for(j=0;j<88;j++)
{;}
}
}

void?delay(u16?num)
{
while(--num);
}

void?Delay()//1us
{
_nop_();
_nop_();
}?

Init_DS2431(void)
{
bit?Presece;
// DQ=1;
// delay(5);
DQ=0;??//將DQ信號線拉低
delay(237);?//保持DQ低電平480us

DQ=1; ??//將DQ信號拉高、釋放總線
? delay(50);//保持DQ高電平70us ?81us

Presece=DQ;//保存當前總線狀態
delay(65);?//189us

return?Presece;//返回是否有設備將總線拉低?
}

read_bit(void)?//從單總線上讀取一個數據位
{
bit?i;
DQ=0;//啟動讀時序

Delay();
Delay();
Delay();
Delay();
Delay();

DQ=1;//釋放總線,等待從機返回數據位

Delay();
Delay();
Delay();
Delay();

i=DQ;
delay(25);//30us
DQ=1;
return?i;//返回總線狀態
}

void?write_bit(u8?bitvalue)??//向單總線設備寫入一個數據位
{
DQ=0;//啟動寫時序
Delay();
Delay();
Delay();
Delay();
Delay();
if(bitvalue)?DQ=1;//寫1
delay(25);//等待寫時序結束25us
DQ=1;//釋放總線
delay(20);//等待寫時序結束?10us???1??????????????????????
}

read_byte(void)//從單總線上讀一個字節數據??
{
u8?ivalue=0;
EA=0;
for(i=0;i<8;i++)
{
if(read_bit())?value=value|(0x01< }
EA=1;?////////////////////////////////////////
delay(2);//等待釋放總線
return?value;?//返回讀取的數據
}

void?write_byte(u8?bytevalue)//向單總線寫一個字節
{
u8?itemp;
EA=0;
for(i=0;i<8;i++)
{
temp=bytevalue>>i;//將要寫的數據字節右移i位
temp=temp&0x01; ??//取出數據字節的第i位.?
write_bit(temp);??//向總線寫一個數據位/?I/
}
EA=1;?///////////////////////////////////////////
delay(4);//等待寫時序結束
}

bit?skip_matchRom(void)//發出跳過ROM匹配命令
{
bit?tmp=1;
if(Init_DS2431())?return?tmp;//如果沒有DS2431,返回1
write_byte(0xcc);//發出跳過ROM匹配的命令
tmp=0;
return?tmp;
}

read_ds2431(u16?Readaddr)
{
u8?ch;
DS2431err=skip_matchRom();//發出跳過ROM匹配命令
write_byte(0xf0);//發出讀存儲器命令
write_byte((u8)Readaddr);
write_byte((u8)(Readaddr>>8));
ch=read_byte();
return?ch;
}

signed?char?*

評論

共有 條評論