I2C芯片PPT學(xué)習(xí)課件_第1頁
I2C芯片PPT學(xué)習(xí)課件_第2頁
I2C芯片PPT學(xué)習(xí)課件_第3頁
I2C芯片PPT學(xué)習(xí)課件_第4頁
I2C芯片PPT學(xué)習(xí)課件_第5頁
已閱讀5頁,還剩119頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、已學(xué)過的MCU與其外部器件的連接方法:,1、通過并行口連接; 2、通過UART串行口連接; (如MCU之間,MCU與PC機(jī)之間,以及MCU與任何具有RS-232標(biāo)準(zhǔn)串口的設(shè)備之間) 另外,可以: 通過I2C接口連接各種具有I2C接口的器件。,I2C接口技術(shù),1. I2C總線簡介 2. 實(shí)驗(yàn)儀上的I2C總線接口器件 3. I2C總線接口器件及其應(yīng)用 4. I2C總線接口的C51函數(shù),作業(yè)19,作業(yè)20,I2C總線簡介,I2C總線是一種用于集成電路之間連接的二線制總線。 (Inter Integrated Circuit Bus) 它通過 SDA(串行數(shù)據(jù)線) 、 SCL(串行時(shí)鐘線) 兩根線在連

2、到總線上的器件之間傳送信息,并根據(jù)地址識(shí)別每個(gè)器件。,I2C總線簡介,I2C總線的應(yīng)用 I2C總線的基本結(jié)構(gòu) 雙向傳輸?shù)慕涌谔匦?I2C總線上的時(shí)鐘信號(hào)(略) I2C的傳輸速率 數(shù)據(jù)的傳送(“開始”和“結(jié)束”信號(hào))(位傳送) I2C BUS PROTOCOL I2C上的應(yīng)答位 I2C時(shí)序圖 總線競爭的仲裁(略),I2C總線的應(yīng)用,目前在視頻處理、移動(dòng)通信等領(lǐng)域采用I2C總線接口器件已經(jīng)比較普遍。 通用的I2C總線接口器件,如帶I2C總線的單片機(jī)、RAM、ROM、AD、DA、LCD驅(qū)動(dòng)器等器件,也越來越多地應(yīng)用于計(jì)算機(jī)及自動(dòng)控制系統(tǒng)中。,I2C總線的應(yīng)用,I2C總線的基本結(jié)構(gòu),采用I2C總線標(biāo)準(zhǔn)

3、的IC器件,其內(nèi)部具有I2C接口電路,通過軟件尋址實(shí)現(xiàn)片選,減少了器件片選線的連接。 CPU可以實(shí)現(xiàn)對硬件系統(tǒng)的既簡單又靈活的擴(kuò)展與控制。 I2C總線接口電路結(jié)構(gòu)如下圖示。,雙向傳輸?shù)慕涌谔匦?I2C總線根據(jù)器件的功能通過軟件程序使其可工作于發(fā)送或接收方式。 產(chǎn)生信號(hào)的設(shè)備是傳送器,接收信號(hào)的設(shè)備是接收器,控制信號(hào)的設(shè)備是主設(shè)備,受控信號(hào)的設(shè)備是從設(shè)備。,I2C總線系統(tǒng)配置圖,主器件用于啟動(dòng)總線上傳送數(shù)據(jù)并產(chǎn)生時(shí)鐘以開放傳送的器件,此時(shí)任何被尋址的器件均被認(rèn)為是從器件。 I2C總線的控制完全由掛接在總線上的主器件送出的地址和數(shù)據(jù)決定,在總線上,既沒有中心機(jī),也沒有優(yōu)先級。,Data trans

4、fer is controlled by the Master device which generates the serial clock and all START and STOP conditions for bus access.,SDA和SCL均為雙向IO線,通過上拉電阻接正電源。 當(dāng)總線空閑時(shí),兩根線都是高電平。連接總線的器件的輸出級必須是集電極或漏極開路,以具有線“與”功能。,I2C BUS PROTOCOL,The following defines the features of the I2C bus protocol: (1) Data transfer may be

5、 initiated only when the bus is not busy. (2) During a data transfer, the data line must remain stable whenever the clock line is high. Any changes in the data line while the clock line is high will be interpreted as a START or STOP condition.,START Condition The START Condition precedes all command

6、s to the device, and is defined as a HIGH to LOW transition of SDA when SCL is HIGH. The CAT24WC01/02/04/08/16 monitor the SDA and SCL lines and will not respond until this condition is met.,STOP Condition A LOW to HIGH transition of SDA when SCL is HIGH determines the STOP condition. All operations

7、 must end with a STOP condition.,I2C時(shí)序圖,I2C時(shí)序參數(shù),I2C的傳輸速率,I2C總線的數(shù)據(jù)傳送速率在標(biāo)準(zhǔn)工作方式下為100Kbits,在快速方式下,最高傳送速率可達(dá)400Kbits。,I2C總線上的時(shí)鐘信號(hào)(略),在I2C總線上傳送信息時(shí)的時(shí)鐘同步信號(hào)是由掛接在SCL時(shí)鐘線上的所有器件的邏輯 “與”完成的。 SCL線上由高到低電平的跳變將影響到這些器件,一旦某個(gè)器件的時(shí)鐘信號(hào)變?yōu)榈碗娖?,將使SCL線一直保持低電平,使SCL線上的所有器件開始低電平期。此時(shí),低電平周期短的器件的時(shí)鐘由低至高的跳變并不能影響SCL線的狀態(tài),于是這些器件將進(jìn)入高電平等待的狀態(tài)。

8、,當(dāng)所有器件的時(shí)鐘信號(hào)都變?yōu)楦唠娖綍r(shí),低電平期結(jié)束,SCL線被釋放返回高電平,即所有的器件都同時(shí)開始它們的高電平期。其后,第一個(gè)結(jié)束高電平期的器件又將SCL線拉成低電平。這樣就在SCL線上產(chǎn)生一個(gè)同步時(shí)鐘。 可見,時(shí)鐘低電平時(shí)間由時(shí)鐘低電平期最長的器件確定,而時(shí)鐘高電平時(shí)間由時(shí)鐘高電平期最短的器件確定。,數(shù)據(jù)的傳送,在數(shù)據(jù)傳送過程中,必須確認(rèn)數(shù)據(jù)傳送的開始和結(jié)束。 在I2C總線技術(shù)規(guī)范中,開始和結(jié)束信號(hào)(也稱啟動(dòng)和停止信號(hào))的定義如下圖所示。,“開始”和“結(jié)束”信號(hào),總線不忙時(shí),數(shù)據(jù)線和時(shí)鐘線保持高電平。數(shù)據(jù)線在下降沿而時(shí)鐘線為高電平時(shí)為起動(dòng)條件(S),數(shù)據(jù)線在下降沿而時(shí)鐘線為高電平時(shí)為停止條

9、件(P)。,I2C總線的數(shù)據(jù)傳送格式,I2C總線開始信號(hào)后,送出的第一字節(jié)數(shù)據(jù)是用來選擇從器件地址的,其中前7位為地址碼,第8位為方向位(RW)。 方向位為“0”表示發(fā)送,即主器件把信息寫到所選擇的從器件中;方向位為“1”表示主器件將從從器件讀信息。,開始信號(hào)后,系統(tǒng)中的各個(gè)器件將自己的地址和主器件送到總線上的地址進(jìn)行比較,如果與主器件發(fā)送到總線上的地址一致,則該器件即為被主器件尋址的器件; 其接收信息還是發(fā)送信息則由第8位(RW)確定。,I2C總線上每次傳送的數(shù)據(jù)字節(jié)數(shù)不限,但每一字節(jié)必須為8位,而且每個(gè)傳送的字節(jié)后面必須跟一個(gè)應(yīng)答位(ACK) (第9位) 。 每次都是先傳最高位,通常從器件

10、在接收到每字節(jié)后都會(huì)做出響應(yīng),即釋放SCL線返回高電平,準(zhǔn)備接收下一個(gè)數(shù)據(jù)字節(jié),主器件可繼續(xù)傳送。,如果從器件正在處理一個(gè)實(shí)時(shí)事件而不能接收數(shù)據(jù)時(shí)(例如正在處理一個(gè)內(nèi)部中斷,在這個(gè)中斷處理完之前就不能接收I2C總線上的數(shù)據(jù)字節(jié)),可以使時(shí)鐘SCL線保持低電平,從器件必須使SDA保持高電平。 此時(shí)主器件產(chǎn)生1個(gè)結(jié)束信號(hào),使傳送異常結(jié)束,迫使主器件處于等待狀態(tài)。當(dāng)從器件處理完畢時(shí)釋放SCL線,主器件繼續(xù)傳送。,當(dāng)主器件發(fā)送完一字節(jié)的數(shù)據(jù)后,接著發(fā)出對應(yīng)于SCL線上的一個(gè)時(shí)鐘(ACK)應(yīng)答位,此時(shí)鐘內(nèi)主器件釋放SDA線,一字節(jié)傳送結(jié)束,而從器件的響應(yīng)信號(hào)將SDA線拉成低電平,使SDA在該時(shí)鐘的高電平

11、期間為穩(wěn)定的低電平。 從器件的響應(yīng)信號(hào)結(jié)束后,SDA線返回高電平,進(jìn)入下一個(gè)傳送周期。,應(yīng)答位(ACK),在起動(dòng)條件和停止條件之間傳送器傳送給接收器的數(shù)據(jù)數(shù)量沒有限制。每個(gè)位字節(jié)后加一個(gè)應(yīng)答位,傳送器產(chǎn)生高電平的應(yīng)答位,這時(shí)主設(shè)備產(chǎn)生一個(gè)附加應(yīng)答時(shí)鐘脈沖。,從接收器必須在接收到每個(gè)字節(jié)后產(chǎn)生一個(gè)應(yīng)答位,主接收器也必須在接收從傳送器傳送的每個(gè)字節(jié)后產(chǎn)生一個(gè)應(yīng)答位。 在應(yīng)答位時(shí)鐘脈沖出現(xiàn)時(shí),SDA 線應(yīng)保持低電平(應(yīng)考慮起動(dòng)和保持時(shí)間)。傳送器應(yīng)在從設(shè)備接收最后一個(gè)字節(jié)時(shí)變?yōu)榈碗娖?,使接收器產(chǎn)生應(yīng)答位,這時(shí)主設(shè)備可產(chǎn)生停止條件。,I2C總線上的應(yīng)答位,應(yīng)答,位傳送,每個(gè)時(shí)鐘脈沖傳送一個(gè)數(shù)據(jù)位,SD

12、A 線上的數(shù)據(jù)在時(shí)鐘脈沖高電平時(shí)應(yīng)保持穩(wěn)定,否則SDA 線上的數(shù)據(jù)將成為“啟動(dòng)”或“結(jié)束”信號(hào)。,總線競爭的仲裁(略),總線上可能掛接多個(gè)器件,有時(shí)會(huì)發(fā)生兩個(gè)或多個(gè)主器件同時(shí)想占用總線的情況。例如,多單片機(jī)系統(tǒng)中,可能在某一時(shí)刻有兩個(gè)單片機(jī)要同時(shí)向總線發(fā)送數(shù)據(jù),這種情況叫做總線競爭。,I2C總線具有多主控能力,可以對發(fā)生在SDA線上的總線競爭進(jìn)行仲裁,共仲裁原則是這樣的:當(dāng)多個(gè)主器件同時(shí)想占用總線時(shí),如果某個(gè)主器件發(fā)送高電平,而另一個(gè)主器件發(fā)送低電平,則發(fā)送電平與此時(shí)SDA總線電平不符的那個(gè)器件將自動(dòng)關(guān)閉其輸出級。,總線競爭的仲裁是在兩個(gè)層次上進(jìn)行的。首先是地址位的比較,如果主器件尋址同一個(gè)從

13、器件,則進(jìn)入數(shù)據(jù)位的比較,從而確保了競爭仲裁的可靠性。由于利用I2C總線上的信息進(jìn)行仲裁,因此不會(huì)造成信息的丟失。,實(shí)驗(yàn)儀上的I2C總線接口器件,E2PROM:CAT24WC02(256B); 實(shí)時(shí)時(shí)鐘芯片:PCF8563。 察看實(shí)驗(yàn)儀電路圖,觀察I2C器件與單片機(jī)之間的連接情況。,I2C總線接口器件及其應(yīng)用,1、串行E2PROM存儲(chǔ)器件CAT24WC02 2、實(shí)時(shí)時(shí)鐘芯片PCF8563,帶I2C接口的串行E2PROM存儲(chǔ)器件CAT24WC02,電可擦除可編程只讀存儲(chǔ)器E2PROM可分為并行和串行2大類。并行E2PROM在讀寫數(shù)據(jù)是通過8位數(shù)據(jù)總線傳輸,而串行E2PROM的數(shù)據(jù)是一位一位的傳輸

14、。雖然與并行E2PROM相比,串行傳輸數(shù)據(jù)較慢,但它體積小、低廉、電路簡單等優(yōu)點(diǎn),因此廣泛用于智能儀器、儀表設(shè)備中。,CATALYST公司的CAT24WC02是一個(gè)256字節(jié)的支持I2C總線數(shù)據(jù)傳送協(xié)議的串行CMOS E2PROM 。具有2種寫入方式:字節(jié)寫入方式和頁寫入方式。1頁的大小取決于芯片內(nèi)頁寄存器的大小。CAT24WC02具有16字節(jié)數(shù)據(jù)的頁面寫能力??稍陔娫措妷旱偷?.8V的條件下工作。CAT24WCXX系列E2PROM在極強(qiáng)的干擾下數(shù)據(jù)不丟失,在汽車電子及電度表、水表、煤氣表中得到廣泛的應(yīng)用。,CAT24WC02,CAT24WC02的特性; CAT24WC02管腳描述; CAT2

15、4WC02管腳功能; CAT24WC02內(nèi)部結(jié)構(gòu)圖; 串行E2PROM芯片的尋址; CAT24WC02數(shù)據(jù)地址分配; CAT24WC02寫操作方式; CAT24WC02讀操作方式; CAT24WC02的C51編程及應(yīng)用。,CAT24WC02的特性,閱讀講義P110表5.5。 容量:2kbits (即:256 Bytes); 一次頁寫的最大字節(jié)數(shù):16字節(jié); 最大可擴(kuò)展數(shù)量:8片; ESD:抗干擾的一項(xiàng)指標(biāo),越高越好。,CAT24WC02管腳描述,DIP Double In-line Package 雙列直插式封裝,CAT24WC02管腳功能,內(nèi)部結(jié)構(gòu)圖,串行E2PROM芯片的尋址,(1) 從器

16、件地址位,(2) 應(yīng)答信號(hào),數(shù)據(jù)地址分配,CAT24WC02內(nèi)部256個(gè)字節(jié)的地址為: 00H FFH。,寫操作方式,1、字節(jié)寫,2、 頁寫,讀操作方式,對CAT24WC02讀操作的初始化方式和寫操作時(shí)一樣,僅把R/W位置為1,有3種不同的讀操作方式: 按當(dāng)前地址讀內(nèi)容、 按選擇地址讀內(nèi)容、 按連續(xù)的地址讀內(nèi)容。,1、按當(dāng)前地址讀取,2、按選擇地址讀取,3、按連續(xù)的地址讀取,I2C總線接口的C51函數(shù),在單個(gè)主器件下的I2C總線,硬件接口是SDA、SCL,使用CPU的I/O口的兩根線做SDA、SCL,則其接口函數(shù)見VIIC_C51.c 。,CAT24WC02的編程及應(yīng)用例(24wc02-1):

17、,首先MCU將內(nèi)部RAM區(qū)的一串字符:“GOOD MORING!”發(fā)送給24WC02的00H-0FH區(qū)域;然后,MCU再從24WC02中讀出這些字符,并保存在MCU內(nèi)部RAM中的另一區(qū)域,之后,再將這些讀來的字符通過MCU標(biāo)準(zhǔn)串口發(fā)送出去。,例(24wc02-2) :,MCU向24WC02的前64個(gè)字節(jié)單元寫入64個(gè)不同的字符,并將這些字符通過MCU的標(biāo)準(zhǔn)串口發(fā)送出去。,作業(yè),1、復(fù)習(xí)24WC02; 2、上網(wǎng)查找有關(guān)CAT24WC02的詳細(xì)資料,并閱讀學(xué)習(xí)。,本次課內(nèi)容,1、實(shí)驗(yàn)5 2、實(shí)驗(yàn)6 要求:按照實(shí)驗(yàn)指導(dǎo)的要求進(jìn)行實(shí)驗(yàn)。 課程目標(biāo): 初步掌握I2C總線的C51接口函數(shù)及其應(yīng)用;初步掌握

18、I2C串行E2PROM CAT24WC02的編程及應(yīng)用。,教學(xué)設(shè)計(jì): 1、實(shí)驗(yàn)5:閱讀實(shí)驗(yàn)指導(dǎo);讀懂實(shí)驗(yàn)中程序,并加以注釋;同學(xué)可以互相討論,教師有針對地講解;按照實(shí)驗(yàn)指導(dǎo)的要求完成實(shí)驗(yàn)5。 2、實(shí)驗(yàn)6:閱讀實(shí)驗(yàn)指導(dǎo);讀懂實(shí)驗(yàn)中程序,并加以注釋;同學(xué)可以互相討論,教師有針對地講解;按照實(shí)驗(yàn)指導(dǎo)的要求完成實(shí)驗(yàn)6。,3、在實(shí)驗(yàn)的基礎(chǔ)上編程練習(xí) (24wc02-3): MCU從串口接收10個(gè)字符,將其寫入24WC02的前10個(gè)字節(jié),然后再將這些字符通過串口發(fā)送出去。 4、完成上述內(nèi)容的同學(xué),可以思考下面的編程練習(xí)。,作業(yè)19,作業(yè)20(24wc02-4),編程練習(xí)。要求如下: MCU從標(biāo)準(zhǔn)串口接收大

19、寫英文字母(以回車符結(jié)束,一次最多15個(gè)); 將這些字符存儲(chǔ)在24WC02的前15個(gè)字節(jié)中; 再將這15個(gè)數(shù)分別加上20H后,并存放到24WC02的30H開始的15個(gè)單元中; 最后再將30H單元開始的15個(gè)數(shù)通過標(biāo)準(zhǔn)串口發(fā)送出去(結(jié)果發(fā)出的應(yīng)該是15個(gè)小寫的英文字母)。,I2C串行實(shí)時(shí)日歷、時(shí)鐘芯片(RTC)PCF8563,PCF8563功能特性; CLKOUT 輸出 PCF8563內(nèi)部結(jié)構(gòu);掉電檢測器 PCF8563引腳及其功能;復(fù)位 PCF8563的硬件連接(實(shí)驗(yàn)儀上的PCF8563) PCF8563內(nèi)部寄存器及其功能; PCF8563器件地址; PCF8563通過I2C接口的讀寫操作;

20、PCF8563日歷、實(shí)時(shí)時(shí)鐘應(yīng)用實(shí)例; 作業(yè)。,PCF8563功能特性,I2C接口的實(shí)時(shí)時(shí)鐘日歷芯片; 功耗低; 它提供一個(gè)可編程時(shí)鐘信號(hào)輸出; 提供一個(gè)中斷輸出和掉電檢測器; 所有的地址和數(shù)據(jù)通過I2C總線接口串行傳遞,最大總線速度為400 Kbits/s; 每次讀寫數(shù)據(jù)后,其內(nèi)部的字地址寄存器會(huì)自動(dòng)加1。,上層,2特性 * 低工作電流:典型值為0.25A(VDD=3.0V,Tamb=25時(shí)); * 具有世紀(jì)標(biāo)志(解決了2000年問題) * 大工作電壓范圍:1.05.5V * 低休眠電流; * 400Kbits/s 的I2C總線接口 可編程時(shí)鐘輸出頻率為: 32.768KHz,1024Hz,

21、32Hz,1Hz。,* 報(bào)警和定時(shí)器。 * 掉電檢測器。 * 內(nèi)部振蕩電路。 * 片內(nèi)電源復(fù)位功能。 * I2C總線從地址:讀,0A3H;寫,0A2H。 * 開漏中斷引腳。,3廣泛應(yīng)用于: 電話、電表、水表、氣表、傳真機(jī)、便攜式儀器以及電池供電的儀器儀表等產(chǎn)品領(lǐng)域。,PCF8563內(nèi)部結(jié)構(gòu),上層,掉電檢測器和時(shí)鐘監(jiān)控,上層,掉電檢測器和時(shí)鐘監(jiān)控,PCF8563 內(nèi)嵌掉電檢測器,當(dāng)VDD 低于Vlow 時(shí),位VL(Voltage Low,秒寄存器的位7) 被置,用于指明可能產(chǎn)生不準(zhǔn)確的時(shí)鐘日歷信息,VL 標(biāo)志位只可以用軟件清除 當(dāng)VDD 慢速降低(例如以電池供電)達(dá)到Vlow 時(shí),標(biāo)志位VL 被

22、設(shè)置,這時(shí)可能會(huì)產(chǎn)生中斷。,上層,CLKOUT 輸出,管腳CLKOUT 可以輸出可編程的方波。CLKOUT 頻率寄存器(地址0DH)決定方波的頻率: CLKOUT 可以輸出32.768KHz( 缺省值),1024,32,1Hz 的方波。 CLKOUT為開漏輸出管腳,通電時(shí)有效,無效時(shí)為高阻抗。,上層,復(fù)位,PCF8563 包含一個(gè)片內(nèi)復(fù)位電路,當(dāng)振蕩器停止工作時(shí),復(fù)位電路開始工作。在復(fù)位狀態(tài)下,I2C 總線初始化,寄存器中位TF、VL、TD1、TD0、TESTC、AE 被置邏輯,其它的寄存器和地址指針被清。,上層,PCF8563引腳及其功能,上層,PCF8563引腳功能,PCF8563的硬件連

23、接,1、實(shí)驗(yàn)儀上的PCF8563: 查看實(shí)驗(yàn)儀的原理圖。 2、帶備用電池的電路連接圖: (如下圖1)。 3、利用中斷的電路連接: (如圖2)。,上層,上層,圖1,圖2,PCF8563內(nèi)部寄存器及其功能,PCF8563共有16個(gè)8位寄存器,其中: 00H01H為控制方式寄存器、 09H0CH為報(bào)警功能寄存器(定義報(bào)警條件), 0DH為時(shí)鐘輸出寄存器、 0EH和0FH為定時(shí)器(倒計(jì)數(shù))功能寄存器、 02H08H為秒年時(shí)間寄存器。,上層,上層,控制方式寄存器,控制/狀態(tài)寄存器1的位描述(地址 00H); 控制/狀態(tài)寄存器2的位描述(地址 01H);,日歷、時(shí)鐘寄存器,秒/VL寄存器位描述(地址02H

24、); 分鐘寄存器位描述(地址03H); 小時(shí)寄存器位描述(地址04H); 日寄存器位描述(地址05H); 星期寄存器位描述(地址06H); 月/世紀(jì)寄存器位描述(地址07H); 年寄存器位描述(地址08H)。,報(bào)警功能模式,一個(gè)或多個(gè)報(bào)警寄存器MSB(AE=Alarm Enable 報(bào)警使能位)清時(shí),相應(yīng)的報(bào)警條 件有效,這樣,一個(gè)報(bào)警將在每分鐘至每星期范圍內(nèi)產(chǎn)生一次。 設(shè)置報(bào)警標(biāo)志位AF(控制狀態(tài)寄存器的位)用于產(chǎn)生中斷,AF 只可以用軟件清除。,上層,將一個(gè)或多個(gè)報(bào)警寄存器寫入合法的分鐘、小時(shí)、日或星期數(shù)值,并且它們的AE(Alarm Enable)位為邏輯0,當(dāng)這些數(shù)值與當(dāng)前的分鐘、小時(shí)

25、、日或星期數(shù)值相等標(biāo)志位AF( Alarm Flag) 被置位,AF保存設(shè)置值直到被軟件清除為止,AF被清除后,只有在時(shí)間增量與報(bào)警條件再次相匹配時(shí)才可再被設(shè)置。,上層,報(bào)警寄存器,分鐘報(bào)警寄存器位描述(地址09H) 小時(shí)報(bào)警寄存器位描述(地址0AH) 日報(bào)警寄存器位描述(地址0BH) 星期報(bào)警寄存器位描述(地址0CH),上層,秒、分鐘、小時(shí)、日、月、年、分鐘報(bào)警、小時(shí)報(bào)警、日報(bào)警寄存器,編碼格式為BCD,星期和星期報(bào)警寄存器不以BCD 格式編碼。,上層,控制/狀態(tài)寄存器1的位描述(地址 00H),控制/狀態(tài)寄存器2的位描述(地址 01H),INT操作(bit TI/TP=1),AF和TF值描

26、述,秒/VL寄存器位描述(地址02H),分鐘寄存器位描述(地址03H),小時(shí)寄存器位描述(地址04H),日寄存器位描述(地址05H),星期寄存器位描述(地址06H),星期分配表,月/世紀(jì)寄存器位描述(地址07H),月分配表,年寄存器位描述(地址08H),分鐘報(bào)警寄存器位描述(地址09H),小時(shí)報(bào)警寄存器位描述(0AH),日報(bào)警寄存器位描述(0BH),星期報(bào)警寄存器位描述(0CH),CLKOUT頻率寄存器位描述(地址0DH),CLKOUT頻率選擇表,倒計(jì)數(shù)定時(shí)器控制器,倒計(jì)數(shù)定時(shí)器控制器含有8位二進(jìn)制,它由位TE決定有效或無效。為了能精確讀回倒計(jì)數(shù)的數(shù)值,I2C總線時(shí)鐘SCL的頻率應(yīng)至少為所選定

27、定時(shí)器時(shí)鐘頻率的兩倍。,倒計(jì)數(shù)定時(shí)器控制器位描述(地址0EH),定時(shí)器時(shí)鐘頻率選擇,定時(shí)器倒計(jì)數(shù)數(shù)值(地址0FH),位的倒計(jì)數(shù)器(地址0FH),位的倒計(jì)數(shù)器(地址0FH)由定時(shí)器控制寄存器(地址0EH)控制,定時(shí)器控制寄存器用于設(shè)定倒計(jì)數(shù)器的頻率(4096,64,1,或1/60Hz),以及設(shè)定倒計(jì)數(shù)器有效或無效。 倒計(jì)數(shù)器從軟件設(shè)置的8 位二進(jìn)制數(shù)倒計(jì)數(shù),每次倒計(jì)數(shù)結(jié)束,設(shè)置標(biāo)志位TF,TF 只可以用軟件清除,TF 用于產(chǎn)生一個(gè)中斷(INT),每個(gè)倒計(jì)數(shù)周期產(chǎn)生一個(gè)脈沖作為中斷信號(hào)。TI/TP控制中斷產(chǎn)生的條件。當(dāng)讀倒計(jì)數(shù)器時(shí),返回當(dāng)前倒計(jì)數(shù)的數(shù)值。,PCF8563器件地址,(其中A0=1)

28、PCF8563器件地址為: 寫PCF8563:0A2H; 讀PCF8563:0A3H。,上層,PCF8563通過I2C接口的讀寫操作,與24WC02的讀操作、寫操作類似; 且不涉及到超過16字節(jié)的情況( PCF8563內(nèi)部只有16個(gè)8位的寄存器。) 所用到的讀操作函數(shù)IRevStr、寫操作函數(shù)ISendStr與24WC02類似(只是從器件的地址不同)。,上層,ISendStr(向有子地址器件發(fā)送多字節(jié)數(shù)據(jù)函數(shù)),函數(shù)原型: bit ISendStr(uchar sla,uchar suba, ucahr *s,uchar no); 功能: 從啟動(dòng)總線到發(fā)送地址,子地址,數(shù)據(jù),結(jié)束總線的全過程,

29、從器件地址sla,子地址suba,發(fā)送內(nèi)容是s指向的內(nèi)容,發(fā)送no個(gè)字節(jié)。 如果返回1表示操作成功,否則操作有誤。 注意:使用前必須已結(jié)束總線。,上層,bit ISendStr(uchar sla,uchar suba,uchar *s,uchar no) uchar i; Start_I2c(); /*啟動(dòng)總線*/ SendByte(sla); /*發(fā)送器件地址*/ if(ack=0)return(0); SendByte(suba); /*發(fā)送器件子地址*/ if(ack=0)return(0); for(i=0;ino;i+) SendByte(*s); /*發(fā)送數(shù)據(jù)*/ if(ack=

30、0)return(0); s+; Stop_I2c(); /*結(jié)束總線*/ return(1); ,上層,IRevStr (向有子地址器件讀取多字節(jié)數(shù)據(jù)函數(shù) ),函數(shù)原型: bit IRcvStr(uchar sla,uchar suba, uchar *s,uchar no) 功能: 從啟動(dòng)總線到發(fā)送地址,子地址,讀數(shù)據(jù),結(jié)束總線的全過程,從器件地址sla,子地址suba,讀出的內(nèi)容放入s指向的存儲(chǔ)區(qū),讀no個(gè)字節(jié)。 如果返回1表示操作成功,否則操作有誤。 注意:使用前必須已結(jié)束總線。,上層,bit IRcvStr(uchar sla,uchar suba,uchar *s,uchar no) uchar i; Start_I2c(); /*啟動(dòng)總線*/ SendByte(sla); /*發(fā)送器件地址*/ if(ack=0)return(0); SendByte(suba); /*發(fā)送器件子地址*/ if(ack=0)return(0); Start_I2c(); SendByte(sla+1); if(ack=0)return(0); for(i=0;ino-1;i+) *s=RcvByte(); /*發(fā)送數(shù)據(jù)*/ Ack_I2c(0); /*發(fā)送就答位*/ s+; *s=RcvByte(); Ack_I2c(1)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論