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

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

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

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

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

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

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

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

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


⑴主發(fā)送器模式

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

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

-- 1 0 0 0 0 -- --

說明如下:

I2EN=1,使能I2C接口;

AA=0,不產(chǎn)生應答信號,即不允許進入從機模式;

SI=0,I2C中斷標志為0;

STO=0,停止標志為0;

STA=0,起始標志為0。


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

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

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

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

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

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

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


⑵主接收器模式

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

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

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

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

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

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

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


⑶從接收器模式

當配置為I2C從機時,I2C主機可以對它進行讀、寫操作。要初始化為從機用戶必須將從地址寫入I2ADR(從地址寄存器),并按如下配置I2CONSET:

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

-- 1 0 0 0 1 -- --


在該模式下,從主發(fā)送器接收數(shù)據(jù)字節(jié)。當主機訪問從機時,接收主機發(fā)送過來的數(shù)據(jù),并產(chǎn)生應答信號。數(shù)據(jù)方向位應該為0表示寫操作。該模式的數(shù)據(jù)接收操作步驟如下:

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

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

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


⑷從發(fā)送器模式

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


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


I2C主機基本操作方法:

①設置I2C引腳連接;

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

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

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

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

⑥發(fā)送結束信號(I2CONSET)。


I2C從機基本操作方法:

①設置I2C引腳連接;

②設置自身的從機地址(I2ADR);

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

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

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

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

下面小編為大家整理了電機驅動電路原理,你值得收藏!

關鍵字: 電機驅動電路原理 電源電路 iic

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

關鍵字: 迪康 iic octop

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

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

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

關鍵字: iic 夢源科技 iic-bus

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

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

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

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

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

關鍵字: iccavr iic pcf8563 時鐘程序

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

關鍵字: iic stm8s 主機通信

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

關鍵字: iic STM32 單片機 硬件編程- 查詢等待方式

STM32 軟件IIC接口,支持虛擬多個IIC接口,需要自己對底層進行移植,比如IO口時鐘使能,初始化,寫1,寫0,讀取進行移植,移植到自己的硬件平臺。//SoftwareIIC.c/********

關鍵字: iic io口 STM32
關閉