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

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]LPC2124有一個(gè)標(biāo)準(zhǔn)的I2C總線接口,可配置為主機(jī)或從機(jī),總線時(shí)鐘速率可調(diào)整,最高可支持400KHZ總線速率。使用I2C總線時(shí),要將相應(yīng)得引腳設(shè)置連接SCL和SDA,并且總線上要上拉電阻,阻值為1~10KΩ,依據(jù)所需要的

LPC2124有一個(gè)標(biāo)準(zhǔn)的I2C總線接口,可配置為主機(jī)或從機(jī),總線時(shí)鐘速率可調(diào)整,最高可支持400KHZ總線速率。使用I2C總線時(shí),要將相應(yīng)得引腳設(shè)置連接SCL和SDA,并且總線上要上拉電阻,阻值為1~10KΩ,依據(jù)所需要的總線速率而定。總線速率越高,電阻阻值應(yīng)該越小。I2C總線可接標(biāo)準(zhǔn)I2C接口器件,如串行EEPROM、RAM、LCD、時(shí)鐘芯片以及音調(diào)發(fā)生器。

根據(jù)方向位(R/W)狀態(tài)的不同,I2C總線上存在以下兩種類型的數(shù)據(jù)傳輸:

⑴從主發(fā)送器向從接收器發(fā)送數(shù)據(jù)。

主機(jī)發(fā)送得第一個(gè)字節(jié)是從機(jī)地址,接下來(lái)是數(shù)據(jù)字節(jié)流。從機(jī)每接收到一個(gè)字節(jié)返回一個(gè)應(yīng)答位。

⑵從發(fā)送器向主接收器發(fā)送數(shù)據(jù)。

第一個(gè)字節(jié)(從地址)從主機(jī)發(fā)送。從機(jī)返回一個(gè)應(yīng)答位。接下來(lái)從機(jī)向主機(jī)發(fā)送數(shù)據(jù)字節(jié)。主機(jī)每接收一個(gè)字節(jié)返回一個(gè)應(yīng)答位。接收完最后一個(gè)字節(jié),主機(jī)返回一個(gè)“非應(yīng)答位”。主器件產(chǎn)生所有串行時(shí)鐘脈沖和起始以及停止條件。出現(xiàn)停止條件或重復(fù)的起始條件時(shí)傳輸結(jié)束。由于重復(fù)的起始條件同時(shí)是下一個(gè)串行發(fā)送的開(kāi)始,因此I2C總線不會(huì)被釋放。

LPC2124的I2C是字節(jié)方式的I2C接口,只要把一字節(jié)數(shù)據(jù)寫(xiě)入I2C數(shù)據(jù)寄存器I2DAT后,即可由I2C接口自動(dòng)完成所有的數(shù)據(jù)位發(fā)送。它有4種操作模式:主發(fā)送器模式、主接收器模式、從發(fā)送器模式和從接收器模式。


⑴主發(fā)送器模式

該模式中,數(shù)據(jù)從主機(jī)發(fā)送到從機(jī)。在進(jìn)入主發(fā)送器模式之前,I2CONSET(I2C控制置位寄存器)必須按如下設(shè)置進(jìn)行初始化:

I2CONSET --- I2EN STA STO SI AA --- ---

-- 1 0 0 0 0 -- --

說(shuō)明如下:

I2EN=1,使能I2C接口;

AA=0,不產(chǎn)生應(yīng)答信號(hào),即不允許進(jìn)入從機(jī)模式;

SI=0,I2C中斷標(biāo)志為0;

STO=0,停止標(biāo)志為0;

STA=0,起始標(biāo)志為0。


在該模式下,數(shù)據(jù)方向位(R/W)應(yīng)為0表示執(zhí)行寫(xiě)操作。因此第一個(gè)發(fā)送的字節(jié)為從地址(7位)和寫(xiě)方向位。數(shù)據(jù)的發(fā)送每次為8位,每發(fā)送完一字節(jié),都接收到一個(gè)由從機(jī)返回的應(yīng)答位。該模式的數(shù)據(jù)發(fā)送操作步驟如下:

① 通過(guò)軟件置位STA,進(jìn)入I2C主發(fā)送器模式,I2C邏輯在總線空閑后立即發(fā)送一個(gè)起始條件。

② 當(dāng)發(fā)送完起始條件后,SI位置位。此時(shí)I2STAT(狀態(tài)寄存器)中的狀態(tài)代碼為08H,該狀態(tài)代碼用于中斷服務(wù)程序的處理。

③ 把從地址和寫(xiě)方向位裝入I2DAT(數(shù)據(jù)寄存器),然后清零SI位(向I2CONCLR寄存器中得SIC位寫(xiě)入1可清零SI),開(kāi)始發(fā)送從地址和寫(xiě)方向位。

④ 當(dāng)從地址和寫(xiě)方向位已發(fā)送且接收到應(yīng)答位后,SI位再次置位(可能的狀態(tài)代碼為18H,20H或38H)。

⑤ 當(dāng)狀態(tài)碼為18H時(shí),表明從機(jī)已應(yīng)答,則可以將數(shù)據(jù)裝入I2DAT,然后清零SI位,開(kāi)始發(fā)送數(shù)據(jù)。

⑥ 當(dāng)正確發(fā)送數(shù)據(jù),SI位再次置位(可能的狀態(tài)碼為28H,30H)。此時(shí)可以再次發(fā)送數(shù)據(jù)或者置位STO結(jié)束總線。


⑵主接收器模式

在該模式下,主機(jī)所接收的數(shù)據(jù)字節(jié)來(lái)自從發(fā)送器,數(shù)據(jù)方向位應(yīng)該為1表示執(zhí)行讀操作。該模式的數(shù)據(jù)接收操作步驟如下:

① 通過(guò)軟件置位STA,進(jìn)入I2C主發(fā)送器模式,I2C邏輯在總線空閑后立即發(fā)送一個(gè)起始條件。

② 當(dāng)發(fā)送完起始條件后,SI位置位。此時(shí)I2STAT(狀態(tài)寄存器)中的狀態(tài)代碼為08H,該狀態(tài)代碼用于中斷服務(wù)程序的處理。

③ 把從地址和讀方向位裝入I2DAT(數(shù)據(jù)寄存器),然后清零SI位,開(kāi)始發(fā)送從地址和讀方向位。

④ 當(dāng)從地址和讀方向位已發(fā)送且接收到應(yīng)答位后,SI位再次置位(可能的狀態(tài)代碼為38H,40H或48H)。

⑤ 當(dāng)狀態(tài)碼為40H時(shí),表明從機(jī)已應(yīng)答。設(shè)置AA位,用來(lái)控制接收到數(shù)據(jù)后是產(chǎn)生應(yīng)答信號(hào)還是產(chǎn)生非應(yīng)答信號(hào),然后清零SI位,開(kāi)始接收數(shù)據(jù)。

⑥ 當(dāng)正確接收到一個(gè)字節(jié)數(shù)據(jù)后,SI位再次置位(可能的狀態(tài)碼為50H或58H)。此時(shí)可以再次接收數(shù)據(jù)或者置位STO結(jié)束總線。


⑶從接收器模式

當(dāng)配置為I2C從機(jī)時(shí),I2C主機(jī)可以對(duì)它進(jìn)行讀、寫(xiě)操作。要初始化為從機(jī)用戶必須將從地址寫(xiě)入I2ADR(從地址寄存器),并按如下配置I2CONSET:

I2CONSET --- I2EN STA STO SI AA --- ---

-- 1 0 0 0 1 -- --


在該模式下,從主發(fā)送器接收數(shù)據(jù)字節(jié)。當(dāng)主機(jī)訪問(wèn)從機(jī)時(shí),接收主機(jī)發(fā)送過(guò)來(lái)的數(shù)據(jù),并產(chǎn)生應(yīng)答信號(hào)。數(shù)據(jù)方向位應(yīng)該為0表示寫(xiě)操作。該模式的數(shù)據(jù)接收操作步驟如下:

① 將從地址寫(xiě)入I2ADR并配置I2CONSET完成初始化。等待它被自身的從地址或通用地址尋址。

② 在接收到地址和方向位后,SI位置位并可從I2STAT中讀出有效的狀態(tài)代碼。

③ 根據(jù)狀態(tài)代碼執(zhí)行相應(yīng)的操作。


⑷從發(fā)送器模式

當(dāng)主機(jī)訪問(wèn)從機(jī)時(shí),向主機(jī)發(fā)送數(shù)據(jù),并等待主機(jī)的應(yīng)答信號(hào)。數(shù)據(jù)方向位應(yīng)該為1表示讀操作。使用該模式時(shí),用戶程序只需根據(jù)各種狀態(tài)碼作出相應(yīng)的操作。


I2C時(shí)鐘由SCL占空比寄存器控制(I2SCLH、I2SCLL),分別設(shè)置SCL的高電平和低電平時(shí)間,獲得合適的總線時(shí)鐘頻率。寄存器I2CONSET則用來(lái)控制I2C總線的模式及總線操作,其位SI為I2C中斷標(biāo)志位,所有總線操作都要依賴于這一標(biāo)志;同時(shí)它又鉗住總線,使總線的數(shù)據(jù)發(fā)送/接收得以同步控制。寄存器I2CONCLR則為對(duì)應(yīng)的清零寄存器;I2STAT為I2C狀態(tài)寄存器,用于指示總線處于哪種狀態(tài),以方便控制操作。I2DAT為I2C總線數(shù)據(jù)寄存器,包含要發(fā)送的數(shù)據(jù)或剛收到的數(shù)據(jù)。當(dāng)系統(tǒng)作為從機(jī)時(shí),I2ADR從機(jī)地址寄存器有效。當(dāng)總線對(duì)此地址進(jìn)行訪問(wèn)時(shí),將會(huì)產(chǎn)生I2C中斷。


I2C主機(jī)基本操作方法:

①設(shè)置I2C引腳連接;

②設(shè)置I2C時(shí)鐘速率(I2SCLH、I2SCLL);

③設(shè)置為主機(jī),并發(fā)送起始信號(hào)(I2CONSET的I2EN、STA位為1,AA位為0);

④發(fā)送從機(jī)地址(I2DAT),控制I2CONSET發(fā)送;

⑤判斷總線狀態(tài)(I2STAT),進(jìn)行數(shù)據(jù)傳輸控制;

⑥發(fā)送結(jié)束信號(hào)(I2CONSET)。


I2C從機(jī)基本操作方法:

①設(shè)置I2C引腳連接;

②設(shè)置自身的從機(jī)地址(I2ADR);

③使能I2C(I2CONSET的I2EN、AA位為1);

④判斷SI位或者等待I2C中斷,等待主機(jī)操作;

⑤判斷總線狀態(tài)I2STAT,進(jìn)行數(shù)據(jù)傳輸控制。

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

下面小編為大家整理了電機(jī)驅(qū)動(dòng)電路原理,你值得收藏!

關(guān)鍵字: 電機(jī)驅(qū)動(dòng)電路原理 電源電路 iic

派瑞特旗下品牌,數(shù)字電視與廣播接收器件的領(lǐng)先提供商迪康,將于2月23-25日出席在深圳舉行的2012年國(guó)際集成電路研討會(huì)暨展覽會(huì)(IIC-China),展出用于數(shù)字電視與廣播的可編程接收芯片Octop

關(guān)鍵字: 迪康 iic octop

明星涉及區(qū)塊鏈早已不是什么新鮮事:韓國(guó)頂級(jí)女團(tuán)T-ara在韓國(guó)發(fā)布了T-ara幣;韓流明星權(quán)志龍也在自己的演唱會(huì)售票通道上開(kāi)啟了區(qū)塊鏈token兌換區(qū)。而國(guó)內(nèi)明星中,汪峰也在節(jié)目后臺(tái)大談區(qū)塊鏈技

關(guān)鍵字: iic 區(qū)塊鏈

IIC-BUS(Inter-IntegratedCircuit Bus)最早是由PHilip半導(dǎo)體(現(xiàn)在被NXP收購(gòu))于1982年開(kāi)發(fā)。主要是用來(lái)方便微控制器與外圍器件的數(shù)據(jù)傳輸。它是一種半雙工,由SDA(數(shù)據(jù))和SCL...

關(guān)鍵字: iic 夢(mèng)源科技 iic-bus

IICvs SPI? ? ? ? ?現(xiàn)今,在低端數(shù)字通信應(yīng)用領(lǐng)域,我們隨處可見(jiàn)IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Inter

關(guān)鍵字: iic 總線協(xié)議

IIC(Inter-Integrated Circuit,I2C)總線是一種由PHILIPS公司開(kāi)發(fā)的兩線式串行總線,用于連接微處理器及其外圍設(shè)備,它的最主要優(yōu)點(diǎn)是簡(jiǎn)單和有效。它只需要數(shù)據(jù)線SDA和時(shí)鐘線SCL,就能夠?qū)?..

關(guān)鍵字: iic 寄存器 數(shù)據(jù)

/************************************** PCF8563時(shí)鐘程序 * * 文 件 名:1602_8563.c * * 版 本:V22.02 * * 主控芯片:Mega16L...

關(guān)鍵字: iccavr iic pcf8563 時(shí)鐘程序

前面講過(guò)兩個(gè)常用的串口,UART和SPI,這次這次講解一下另一個(gè)常用的串口:IIC(I2C)通信科普IIC:一般有兩根信號(hào)線,一根是雙向的數(shù)據(jù)線SDA,另一根是時(shí)鐘線SCL。所有接到IIC總線設(shè)備上的串行數(shù)據(jù)SDA都接到...

關(guān)鍵字: iic stm8s 主機(jī)通信

IIC器件是一種介于高速和低速之間的嵌入式外圍設(shè)備,其實(shí)總體來(lái)說(shuō),它的速度算是比較慢的。通常情況下,速度慢的器件意味著更多的等待,這對(duì)于精益求精的嵌入式工程師來(lái)說(shuō),簡(jiǎn)直就是一個(gè)惡夢(mèng),低速器件的存取數(shù)據(jù)實(shí)

關(guān)鍵字: iic STM32 單片機(jī) 硬件編程- 查詢等待方式

STM32 軟件IIC接口,支持虛擬多個(gè)IIC接口,需要自己對(duì)底層進(jìn)行移植,比如IO口時(shí)鐘使能,初始化,寫(xiě)1,寫(xiě)0,讀取進(jìn)行移植,移植到自己的硬件平臺(tái)。//SoftwareIIC.c/********

關(guān)鍵字: iic io口 STM32
關(guān)閉