?? 資源詳細信息
?? 溫馨提示:本資源由用戶 liaw05 上傳分享,僅供學習交流使用。如有侵權(quán),請聯(lián)系我們刪除。
資源簡介
24c16讀寫驅(qū)動程序,
//=-----------------------------------------------------------------------------
--
/*模塊調(diào)用:
讀數(shù)據(jù):read(unsigned int address)
寫數(shù)據(jù):write(unsigned int address,unsigned char dd) dd為要寫的 數(shù)據(jù)字節(jié)*/
//------------------------------------------------------------------------------
sbit sda=P3^0;
sbit scl=P3^1;
sbit a0=ACC^0; //定義ACC的位,利用ACC操作
速度最快
sbit a1=ACC^1;
sbit a2=ACC^2;
sbit a3=ACC^3;
sbit a4=ACC^4;
sbit a5=ACC^5;
sbit a6=ACC^6;
sbit a7=ACC^7;
//------------------------------------------------------------------------------
#pragma disable
void s24(void) //起始函數(shù)
{
_nop_();
scl=0;
sda=1;
scl=1;
_nop_();
sda=0;
_nop_();
_nop_();
scl=0;
_nop_();
_nop_();
sda=1;
}
//------------------------------------------------------------------------------
#pragma disable
void p24(void) //停止函數(shù)
{
sda=0;
scl=1;
_nop_();
_nop_();
sda=1;
}
//-----------------------------------------------------------------------------
#pragma disable
unsigned char rd24(void) /////////////////從24c16讀一字節(jié)數(shù)據(jù)
{ ACC=0x00;
sda=1;
scl=1;a7=sda;_nop_();_nop_();_nop_();_nop_();scl=0;
scl=1;a6=sda;_nop_();_nop_();_nop_();_nop_();scl=0;
scl=1;a5=sda;_nop_();_nop_();_nop_();_nop_();scl=0;
scl=1;a4=sda;_nop_();_nop_();_nop_();_nop_();scl=0;
scl=1;a3=sda;_nop_();_nop_();_nop_();_nop_();scl=0;
scl=1;a2=sda;_nop_();_nop_();_nop_();_nop_();scl=0;
scl=1;a1=sda;_nop_();_nop_();_nop_();_nop_();scl=0;
scl=1;a0=sda;_nop_();_nop_();_nop_();_nop_();scl=0;
sda=1;scl=1;_nop_();_nop_();_nop_();_nop_
();scl=0; /// ///////////////24c16的一位回答位。
return(ACC);
}
//------------------------------------------------------------------------------
#pragma disable
void wd24(unsigned char dd) ////////////////向24c16寫一字節(jié)數(shù)據(jù)
{ sda=1;
ACC=dd;
sda=a7;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;
sda=a6;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;
sda=a5;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;
sda=a4;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;
sda=a3;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;
sda=a2;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;
sda=a1;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;
sda=a0;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;
sda=0;scl=1;//scl=0;(在下面程序中)
}
//---------------------------------------------------------------------------
#pragma disable
unsigned char read(unsigned int address)
{
unsigned char dd;
s24(); ////////////////////////開始條件
wd24(0xa0); /////////////////////////寫器件地址(寫命令)
_nop_();_nop_();_nop_();_nop_();
scl=0; ///////////////////////////////////接收器件地
址確認信號
wd24(address); //////////////////////////// 寫數(shù)據(jù)地址
_nop_();_nop_();_nop_();_nop_();
scl=0;
s24
(); ///////////////////////////////////開始條件
wd24(0xa1); /////////////////////////////寫器件地址(讀命
令)
scl=0;
dd=rd24(); //////////////////////////////////讀 一字節(jié)
p24(); ////////////////////////////////////停止條件
return(dd);
}
//------------------------------------------------------------------------------
#pragma disable
void write(unsigned int address,unsigned char dd)
{
s24(); /////////////////開始條件
wd24(0xa0); ////////////////////////寫器件地址;
scl=0;
wd24(address); /////////////////////寫數(shù)據(jù)地址
scl=0;
wd24(dd); //////////////////////////寫dd數(shù)據(jù)
scl=0;
p24(); /////////////////////////停止條件;
}
立即下載此資源
資源說明
下載說明
- 下載需消耗 2積分
- 24小時內(nèi)重復下載不扣分
- 支持斷點續(xù)傳
- 資源永久有效
使用說明
- 下載后用解壓軟件解壓
- 推薦 WinRAR 或 7-Zip
- 如有密碼請查看說明
- 解壓后即可使用
積分獲取
- 上傳資源獲得積分
- 每日簽到免費領(lǐng)取
- 邀請好友注冊獎勵
- 查看詳情 →