日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]#include#include "INTRINS.H"//全局變量sbit SDA=P1^1; //定義總線連接端口sbit SCL=P1^0;void mDelay(unsigned char j)//A normal delay{unsigned int i;for(;j>0;j--)for(i=0;i<125;i++);}/*********************

#include

#include "INTRINS.H"

//全局變量

sbit SDA=P1^1; //定義總線連接端口

sbit SCL=P1^0;

void mDelay(unsigned char j)//A normal delay

{

unsigned int i;

for(;j>0;j--)

for(i=0;i<125;i++)

;

}

/*******************************************************************

起動總線函數(shù)

函數(shù)原型: void Start_I2c();

功能: 啟動I2C總線,即發(fā)送I2C起始條件.

********************************************************************/

void Start_I2c()

{

SDA=1; /*發(fā)送起始條件的數(shù)據信號*/

_nop_();

SCL=1;

_nop_();_nop_();_nop_();_nop_();_nop_();

SDA=0; /*發(fā)送起始信號*/

_nop_();_nop_();_nop_();_nop_();_nop_();

SCL=0; /*鉗住I2C總線,準備發(fā)送或接收數(shù)據*/

_nop_();_nop_();

}

/*******************************************************************

結束總線函數(shù)

函數(shù)原型: void Stop_I2c();

功能: 結束I2C總線,即發(fā)送I2C結束條件.

********************************************************************/

void Stop_I2c()

{

SDA=0; /*發(fā)送結束條件的數(shù)據信號*/

_nop_(); /*發(fā)送結束條件的時鐘信號*/

SCL=1; /*結束條件建立時間大于4μs*/

_nop_();_nop_();_nop_();_nop_();_nop_();

SDA=1; /*發(fā)送I2C總線結束信號*/

_nop_();_nop_();_nop_();_nop_();

}

/*******************************************************************

字節(jié)數(shù)據傳送函數(shù)

********************************************************************/

void SendByte(unsigned char c)

{

unsigned char BitCnt;

for(BitCnt=0;BitCnt<8;BitCnt++) /*要傳送的數(shù)據長度為8位*/

{

if((c< SDA=1; /*判斷發(fā)送位*/

else

SDA=0;

_nop_();

SCL=1; /*置時鐘線為高,通知被控器開始接收數(shù)據位*/

_nop_(); _nop_();_nop_();_nop_();_nop_();

SCL=0;

}

_nop_();_nop_();

SDA=1; /*8位發(fā)送完后釋放數(shù)據線,準備接收應答位*/

_nop_();_nop_();

}

/*******************************************************************

字節(jié)數(shù)據傳送函數(shù)

********************************************************************/

unsigned RcvByte()

{

unsigned char retc;

unsigned char BitCnt;

retc=0;

SDA=1; /*置數(shù)據線為輸入方式*/

for(BitCnt=0;BitCnt<8;BitCnt++)

{

_nop_();

SCL=0; /*置時鐘線為低,準備接收數(shù)據位*/

_nop_();_nop_();_nop_();_nop_();_nop_();

SCL=1; /*置時鐘線為高使數(shù)據線上數(shù)據有效*/

_nop_();_nop_();

retc=retc<<1;

if(SDA==1)

retc=retc+1; /*讀數(shù)據位,接收的數(shù)據位放入retc中*/

_nop_();_nop_();

}

SCL=0;

_nop_();_nop_();

return(retc);

}

/********************************************************************

應答子函數(shù)

********************************************************************/

void Ack_I2c(bit a)

{

if(a==0)

SDA=0; /*在此發(fā)出應答或非應答信號*/

else

SDA=1;

_nop_();_nop_();_nop_();

SCL=1;

_nop_();_nop_();_nop_();_nop_();_nop_();

SCL=0; /*清時鐘線,鉗住I2C總線以便繼續(xù)接收*/

_nop_();_nop_();

}

/*******************************************************************

向無子地址器件發(fā)送字節(jié)數(shù)據函數(shù)

********************************************************************/

void ISendByte(unsigned char sla,unsigned char Data[])

{

int i;

unsigned char *PData;

PData=Data;

for (i=0;i<1;i++)

{

Start_I2c(); /*啟動總線*/

SendByte(0xa0);

Ack_I2c(0); /*應答信號*/

SendByte(sla+i); /*發(fā)送器件地址*/

Ack_I2c(0);

SendByte(*(PData+i)); /*發(fā)送數(shù)據*/

Ack_I2c(0);

Stop_I2c(); /*結束總線*/

}

}

/*******************************************************************

向無子地址器件讀字節(jié)數(shù)據函數(shù)

********************************************************************/

void IRcvByte(unsigned char sla,unsigned char Data[])

{

int i;

unsigned char *PData;

PData=Data;

for (i=0;i<1;i++)

{

Start_I2c(); /*啟動總線*/

SendByte(0xa0);

Ack_I2c(0);

SendByte(sla+i); /*發(fā)送器件地址*/

Ack_I2c(0);

Start_I2c();

SendByte(0xa1);

Ack_I2c(0);

*(PData+i)=RcvByte(); /*讀取數(shù)據*/

Ack_I2c(1); /*發(fā)送非就答位*/

Stop_I2c(); /*結束總線*/

}

}

int main()

{

unsigned char Number[4]={0xfa,0xf5,0xf3,0xfc};

ISendByte(0,Number);

mDelay(200);

Number[0]=0;//清除當前數(shù)據

IRcvByte(0,Number);//調用存儲數(shù)據

mDelay(200);

if(Number[0]==0xfa)

P0_0=0;

while(1)

{

;

}

return 0;

}

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

Sept. 8, 2025 ---- 根據TrendForce集邦咨詢最新調查,2025年第二季NVIDIA(英偉達) Blackwell平臺規(guī)模化出貨,以及北美CSP業(yè)者持續(xù)擴大布局General Server(通用型...

關鍵字: SSD DDR4 服務器

Sept. 4, 2025 ---- Apple(蘋果)即將發(fā)布iPhone 17、iPhone 17 Air(暫名)、iPhone 17 Pro及Pro Max四款旗艦新機,除了外觀辨識度升級,處理器性能、散熱和拍攝功...

關鍵字: iPhone 16 A19處理器 折疊機

Sept. 3, 2025 ---- 根據TrendForce集邦咨詢最新發(fā)布的《2025近眼顯示市場趨勢與技術分析》報告,2025年隨著國際品牌陸續(xù)推出AR眼鏡原型,以及Meta預計在近期發(fā)布AR眼鏡Celeste,市...

關鍵字: AR眼鏡 OLED

Sept. 2, 2025 ---- TrendForce集邦咨詢表示,2025年第二季DRAM產業(yè)因一般型DRAM (Conventional DRAM)合約價上漲、出貨量顯著增長,加上HBM出貨規(guī)模擴張,整體營收為3...

關鍵字: DRAM 智能手機 ASP

Sept. 1, 2025 ---- 根據TrendForce集邦咨詢最新調查,2025年第二季因中國市場消費補貼引發(fā)的提前備貨效應,以及下半年智能手機、筆電/PC、Server新品所需帶動,整體晶圓代工產能利用率與出貨...

關鍵字: 晶圓代工 智能手機 筆電

Aug. 28, 2025 ---- 根據TrendForce集邦咨詢最新調查,2025年第二季NAND Flash產業(yè)雖面臨平均銷售價格(ASP)小幅下滑,所幸原廠減產策略緩解供需失衡,疊加中、美兩大市場政策推動,整體...

關鍵字: NAND Flash SSD AI

Aug. 26, 2025 ---- NVIDIA(英偉達)近日推出的Jetson Thor被視為機器人的物理智慧核心,以Blackwell GPU、128 GB記憶體堆疊出2070 FP4 TFLOPS AI算力,是前...

關鍵字: 機器人 大型語言模型 AI算力

Aug. 21, 2025 ---- 根據TrendForce集邦咨詢最新液冷產業(yè)研究,隨著NVIDIA GB200 NVL72機柜式服務器于2025年放量出貨,云端業(yè)者加速升級AI數(shù)據中心架構,促使液冷技術從早期試點邁...

關鍵字: AI 數(shù)據中心 服務器

除了充電電路外,鋰電池的放電過程也需要保護。鋰電池的放電電壓不能低于3.0V,否則電池壽命會大幅縮短。為了實現(xiàn)這一保護,工程師們設計了DW01芯片與8205 MOS管的電路組合。DW01芯片能夠監(jiān)控鋰電池的放電電壓和電流...

關鍵字: 鋰電池 電池

在PCB設計的宏偉藍圖中,布局與布線規(guī)則猶如精密樂章中的指揮棒,是鑄就電路板卓越性能、堅不可摧的可靠性及經濟高效的制造成本的靈魂所在。恰如一位巧手的園藝師,合理的布局藝術性地編排著每一寸空間,既削減了布線交織的繁復迷宮,...

關鍵字: PCB 電路板
關閉