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信號通路促使性早熟形成的作用觀察
主站蜘蛛池模板: 亚洲第一黄片大全| 欧美日韩国产高清一区二区三区| 99re精彩视频| 色亚洲成人| 欧洲精品视频在线观看| 国产福利不卡视频| 91麻豆国产精品91久久久| 亚洲国产精品VA在线看黑人| 国产综合精品日本亚洲777| 色成人综合| 成人va亚洲va欧美天堂| 免费久久一级欧美特大黄| 国产丝袜精品| 亚洲香蕉伊综合在人在线| 精品1区2区3区| 亚洲人成影院在线观看| 宅男噜噜噜66国产在线观看| 伊人AV天堂| 美女视频黄频a免费高清不卡| 久久国产精品无码hdav| 国产成人久久综合777777麻豆| 国产色爱av资源综合区| 久草视频福利在线观看 | 欧美激情首页| 福利视频一区| 久久天天躁夜夜躁狠狠| 日本爱爱精品一区二区| 欧美特黄一免在线观看| 国产永久在线观看| 久久一级电影| 精品无码专区亚洲| 妇女自拍偷自拍亚洲精品| 欧美区一区二区三| 亚洲人成网7777777国产| 91精品啪在线观看国产91| 欧美不卡二区| 国产亚洲精久久久久久无码AV| 欧美国产在线看| 亚洲综合专区| 色综合五月婷婷| 成人在线天堂| 最新亚洲av女人的天堂| 无码日韩人妻精品久久蜜桃| 久久天天躁狠狠躁夜夜躁| 在线观看的黄网| 国产亚洲视频中文字幕视频| 996免费视频国产在线播放| 少妇被粗大的猛烈进出免费视频| 国产精品黄色片| 白浆免费视频国产精品视频| 欧美一区二区福利视频| 日韩在线2020专区| 久久久成年黄色视频| 中文字幕中文字字幕码一二区| 亚洲第一中文字幕| 四虎综合网| 国产精品成人AⅤ在线一二三四| 国产女人在线观看| 在线看片中文字幕| 国产经典在线观看一区| 手机精品福利在线观看| 国产剧情无码视频在线观看| 欧美一级高清免费a| 亚洲妓女综合网995久久| 一级一毛片a级毛片| 日韩第一页在线| 男人天堂伊人网| 国产丝袜第一页| 亚洲性色永久网址| 亚洲无码高清一区二区| 极品国产在线| 色综合久久无码网| 欧美日韩亚洲国产| 在线色综合| 丁香五月婷婷激情基地| 亚洲成人免费看| 凹凸国产分类在线观看| 亚洲Aⅴ无码专区在线观看q| 又爽又大又黄a级毛片在线视频 | 美女潮喷出白浆在线观看视频| 伊人欧美在线| 亚洲精品福利网站|