久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
自己用的1T單片機AT24C02庫 支持STC12C5A60S2等芯片
[打印本頁]
作者:
sxhwdz
時間:
2018-10-2 20:48
標題:
自己用的1T單片機AT24C02庫 支持STC12C5A60S2等芯片
自己一直使用的I2C庫,可供參考。
單片機源程序如下:
#include <INTRINS.H>
typedef unsigned char BYTE;
typedef unsigned int WORD;
#define slaw 0xa0
#define slar 0xa1
sbit sclb = P3^0;
sbit sdab = P3^1;
/**************************************
延時5微秒(STC12C5A60S2@12M)
不同的工作環境,需要調整此函數
此延時函數是使用1T的指令周期進行計算,與傳統的12T的MCU不同
**************************************/
void Delay5us()
{
BYTE n = 4;
while (n--)
{
_nop_();
_nop_();
}
}
//-----------------------
// 發出 START 1->0
void IICstart(void)
{
sdab=1;
sclb=1; Delay5us();
sdab=0; Delay5us();
sclb=0;
Delay5us(); //延時
}
//-----------------------
// 發出 STOP 0->1
void IICstop(void)
{
sdab=0;
sclb=1; Delay5us();
sdab=1; Delay5us();
sclb=0;
Delay5us(); //延時
}
//-----------------------
// 發出 應答位 0
void mack(void)
{
sdab=0;
sclb=1; Delay5us(); sclb=0;
sdab=1;
Delay5us(); //延時
}
//-----------------------
// 發出 非應答位 1
void mnack(void)
{
sdab=1;
sclb=1; Delay5us(); sclb=0;
sdab=0;
Delay5us(); //延時
}
//-----------------------
// 向 SDA 寫一個字節
bit wrbyt(BYTE out_b)
{
BYTE data i;
bit bdata sack;
ACC=out_b;
for(i=8;i>0;i--)
{
ACC = ACC<<1; sdab=CY;
sclb=1; Delay5us(); sclb=0;
Delay5us(); //延時
}
sdab=1;
sclb=1;
Delay5us(); //延時
sack=sdab; //收應答
sclb=0;
Delay5us(); //延時
return sack; //返回應答
}
//-----------------------
// 從 SDA 讀取一個字節
sbit ACC_bit0= ACC^0;
BYTE rdbyt(void)
{
BYTE data i;
sdab=1;
ACC=0;
for(i=8;i>0;i--)
{
ACC=ACC<<1;
sclb=1; Delay5us();
ACC_bit0=sdab;
sclb=0;
Delay5us(); //延時
}
return ACC;
}
//-----------------------
// 發送 numbyt 字節
void wrnbyt(BYTE iic_add, BYTE numbyt, BYTE xdata *data_add) reentrant
{
BYTE i;
for(i=100;i>0;i--)
{
IICstart();
if(!wrbyt(slaw)) // 發送 SLAW 字節
break;
} // return 0;
wrbyt(iic_add); // 發送 地址
for( ; numbyt>0; numbyt--)
{
wrbyt(*data_add++); // 發送
}
IICstop();
}
//-----------------------
// 讀取 numbyt 字節
void rdnbyt(BYTE iic_add, BYTE numbyt, BYTE idata *data_add) reentrant
{
BYTE i;
for(i=100;i>0;i--)
{
IICstart();
if(!wrbyt(slaw)) // 發送 SLAW 字節
break;
} // return 0;
wrbyt(iic_add); // 發送 地址
IICstart();
wrbyt(slar); // 發送 SLAr 字節
for(; numbyt>0; numbyt--)
{
*data_add++=rdbyt();
if(numbyt>0)
mack();
}
mnack();
IICstop();
}
復制代碼
所有資料51hei提供下載:
AT24C02.rar
(972 Bytes, 下載次數: 37)
2018-10-2 20:45 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
路LGY
時間:
2020-5-17 11:17
想問一下最后兩個函數的參數該怎么寫呢
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
精精国产xxxx视频在线播放
|
成人亚洲
|
亚洲 中文 欧美 日韩 在线观看
|
成人国产在线观看
|
久久久久久国产精品免费免费狐狸
|
亚洲国产伊人
|
日韩免费一区
|
综合伊人
|
亚洲精品一区在线观看
|
性高湖久久久久久久久3小时
|
高清av在线
|
免费看大片bbbb欧美
|
日日淫
|
中文字幕国产视频
|
成人精品鲁一区一区二区
|
国产最新精品视频
|
国产乱码精品一区二区三区av
|
亚洲视频在线观看
|
岛国av一区二区三区
|
国产婷婷在线视频
|
久在线
|
99精品一区二区
|
国产精品日韩
|
日本免费黄色
|
亚洲日本国产
|
91黄在线观看
|
男人的天堂avav
|
亚洲国产精品99久久久久久久久
|
国产精品久久久久久一区二区三区
|
岛国毛片
|
h在线看
|
久久国产精品免费一区二区三区
|
伊人一二三
|
国产目拍亚洲精品99久久精品
|
免费一区
|
国产精品久久久久久久久久久久午夜片
|
欧美黄色大片在线观看
|
在线观看视频福利
|
亚洲视频一区在线观看
|
国产一区二区欧美
|
中文在线一区二区
|