999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

I2C總線器件編程開發關鍵技術

2018-12-06 02:10:08黃忠良
汽車電器 2018年11期
關鍵詞:信號

黃忠良

(沙洲職業工學院,江蘇 張家港 215600)

在微機控制領域,作為外圍芯片的I2C總線器件因結構簡單,可靠性高,得到了廣泛應用。例如存儲芯片24C02,用于記錄密碼及公里數等,廣泛用于汽車儀表系統。I2C(Inter-Integrated Circuit)總線又稱IIC總線或I2C總線,是PHLIPS公司推出的一種高性能串行總線。采用I2C串行總線技術可以精簡系統硬件設計,提高系統可靠性,同時,系統也易于擴充與升級。24C02作為I2C總線接口存儲芯片,屬串行EEPROM,容量2 kbit,斷電后數據不會丟失,常用于記錄密碼及公里數等場合。

1 24C02及I2C總線接口電路

24C02引腳圖如圖1所示,24C02與51單片機接口電路如圖2所示。

圖1 24C02引腳

應用I2C總線器件進行編程時,由單片機主機完成I2C總線初始化、數據傳送、產生時鐘信號和終止發送功能,從機24C02接收主機發送的數據。I2C總線具有總線裁決功能,主要依靠從機設備地址實現。對于24C02,8位從機設備地址的高4位固定為1010,后3位為A2、A1、A0,最后1位是數據傳送的方向位 (R/W),主機將數據寫入從機為“0”,主機從從機讀出數據為“1”。

圖2 24C02與單片機接口電路

2 I2C總線的數據傳送

2.1 起始條件與停止條件

只有在起始條件滿足后才能進行數據傳送,起始條件與停止條件如圖3所示。

圖3 起始條件與停止條件

從圖3可看出,當SCL處于高電平期間,SDA從高電平向低電平跳變時產生起始條件。當SCL處于高電平期間時,SDA從低電平向高電平跳變時產生停止條件。

2.2 I2C位數據傳輸規定

位數據的有效性及應答信號時序如圖4所示。

圖4 位數據的有效性及應答信號時序

主機進行數據傳送時,從最高位開始逐位傳送,時鐘信號線為高電平期間,位數據必須保持不變。另外,每傳送8位數據 (即一個字節)后,從機都必須產生一個應答信號。

3 I2C總線接口數據讀寫時序與編程

3.1 24C02字節讀取時序

從機讀操作有3種不同的方式:讀當前地址內容、讀隨機地址內容、讀順序地址內容。圖5為24C02讀隨機地址內容操作時序。

圖5 24C02字節讀時序

隨機讀操作允許主機對存儲器的任意字節進行讀操作,主機首先通過發送起始信號、從機設備地址和它想讀取的字地址執行一個偽寫操作。在從機應答之后,主機重新發送起始信號和從機設備地址,注意此處R/W位為1,從機響應并發送應答信號,然后輸出所要求的一個8位字節數據,主機不發送應答信號但產生一個停止信號。

3.2 24C02字節寫入時序

24C02字節寫操作時序如圖6所示。

圖6 24C02字節寫時序

主機先發送起始命令,然后發送從機設備地址數據,主機在收到從機產生的應答信號后,再發送一個字的地址數據,主機再次收到從機的應答信號后,最后發送數據到相應存儲單元。從機再次應答,并在主機產生停止信號后開始內部數據的擦寫,在內部擦寫過程中,從機不再應答主機的任何請求。

3.3 24C02字節寫入編程

下列代碼完成24C02字節寫入。

void write_byte (uchar add,uchar dat )

{

void init ();//I2C總線初始化

void start (void);//起始條件

I2Cwr_byte (0xa0);//寫24C02地址

void ack (void);//從機24C02應答

I2Cwr_byte (add);//寫單元地址

void ack (void);//從機24C02應答

I2Cwr_byte (dat);//寫數據

void ack (void);//從機24C02應答

void stop (void);//結束條件

}

說明:上述用到的幾個被調用函數定義如下。

①void init ();//I2C總線初始化

{

sda=1;

scl=1;

}

②void start (void);//起始條件

{

scl=0;//拉低SCL再改SDA以防誤操作

delay ();

sda=1;

delay ();

scl=1;

delay ();

sda=0;

delay ();

}

③I2Cwr_byte(uchar dat) /*單字節傳送操作*/

{

uchar i;

scl=0;//時鐘線上的信號為低電平期間,數據線上電平狀態允許變化

for (i=0;i<8;i++) //采用逐位傳送方式

{

if (dat&0x80);//為先傳最高位狀態作準備

{

sda=1;

}

else

{

sda=0;

}

dat=dat<<1;//準備傳送后面一位

delay ();

scl=1;//總線數據傳送

delay ();

scl=0;

delay ();

}

sda=1;//主機釋放總線

delay ();

}

④void stop (void);//停止條件

{

scl=0;//先拉低SCL,再改變SDA

delay ();

sda=0;

delay ();

scl=1;

delay ();

sda=1;

delay ();

}

⑤void ack (void) //從機應答

{

uchar I;

scl=1;

delay ();

while ((sda==1) && (i<200)) i++;//等待接收應答或作超時處理

scl=0;

delay ();

}

另外,有關24C02字節的讀取編程見圖5。

4 結束語

24CXX芯片目前已廣泛應用在斷電后仍然需要保持存儲數據的場合。上述I2C總線存儲單元讀寫編程方法已在Proteus上仿真調試成功。就I2C總線器件編程開發而言,正確理解操作時序至關重要,否則會導致通信失敗。

猜你喜歡
信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
7個信號,警惕寶寶要感冒
媽媽寶寶(2019年10期)2019-10-26 02:45:34
孩子停止長個的信號
《鐵道通信信號》訂閱單
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
基于Arduino的聯鎖信號控制接口研究
《鐵道通信信號》訂閱單
基于LabVIEW的力加載信號采集與PID控制
Kisspeptin/GPR54信號通路促使性早熟形成的作用觀察
主站蜘蛛池模板: 国产手机在线观看| 亚洲一区波多野结衣二区三区| 国产精品999在线| 91无码视频在线观看| 亚洲天堂精品视频| 日韩中文精品亚洲第三区| 九九热精品视频在线| 欧美自慰一级看片免费| 国产青青操| 色婷婷色丁香| 欧美三级日韩三级| 五月天综合网亚洲综合天堂网| 亚洲日韩国产精品无码专区| AV天堂资源福利在线观看| 日韩中文无码av超清| 亚洲动漫h| 日本欧美在线观看| 9966国产精品视频| 久久男人视频| 这里只有精品国产| 97久久精品人人做人人爽| 国产福利一区二区在线观看| 日韩在线成年视频人网站观看| 欧美全免费aaaaaa特黄在线| AⅤ色综合久久天堂AV色综合 | 在线精品亚洲一区二区古装| 麻豆精品在线| 国产jizz| 97se亚洲| 亚洲色图欧美| 免费看美女自慰的网站| 欧美中文一区| 波多野吉衣一区二区三区av| 99热亚洲精品6码| 日韩无码黄色| 国产精品永久久久久| 456亚洲人成高清在线| 中文字幕资源站| 午夜老司机永久免费看片| 欧美国产在线精品17p| 国内精品视频在线| 国产女人18水真多毛片18精品| 日韩欧美网址| 亚洲第七页| 91偷拍一区| 欧美天堂在线| 国产精品性| 欧美成人怡春院在线激情| 色综合天天娱乐综合网| 亚洲精品国产日韩无码AV永久免费网 | 国产一级无码不卡视频| 萌白酱国产一区二区| 亚洲日本中文字幕天堂网| 国产精品吹潮在线观看中文| 天堂av综合网| 国产精品三级专区| 免费无码AV片在线观看国产| 亚洲熟女偷拍| 在线国产资源| 四虎永久在线视频| 成年人国产视频| 国产一二三区在线| AV在线麻免费观看网站| 午夜国产精品视频| 伊人久久久大香线蕉综合直播| 青青久在线视频免费观看| 成人午夜天| 成人午夜视频网站| 欧美亚洲国产精品第一页| 精品综合久久久久久97超人| 一级毛片免费不卡在线 | 亚洲一区二区三区国产精华液| 国产欧美一区二区三区视频在线观看| 萌白酱国产一区二区| 亚洲二区视频| 在线看片免费人成视久网下载| 国产真实乱子伦精品视手机观看 | 性喷潮久久久久久久久| 真实国产乱子伦高清| 国产av剧情无码精品色午夜| 日韩欧美中文字幕在线精品| 黄色一及毛片|