基于I2C總線的數(shù)據(jù)采集系統(tǒng) 自動(dòng)化專業(yè)畢業(yè)設(shè)計(jì) 畢業(yè)論文_第1頁
基于I2C總線的數(shù)據(jù)采集系統(tǒng) 自動(dòng)化專業(yè)畢業(yè)設(shè)計(jì) 畢業(yè)論文_第2頁
基于I2C總線的數(shù)據(jù)采集系統(tǒng) 自動(dòng)化專業(yè)畢業(yè)設(shè)計(jì) 畢業(yè)論文_第3頁
基于I2C總線的數(shù)據(jù)采集系統(tǒng) 自動(dòng)化專業(yè)畢業(yè)設(shè)計(jì) 畢業(yè)論文_第4頁
基于I2C總線的數(shù)據(jù)采集系統(tǒng) 自動(dòng)化專業(yè)畢業(yè)設(shè)計(jì) 畢業(yè)論文_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、西安郵電學(xué)院 畢 業(yè) 設(shè) 計(jì)(論 文)題 目:基于I2C總線的數(shù)據(jù)采集系統(tǒng)院 (系):自動(dòng)化專 業(yè):自動(dòng)化班 級(jí):自動(dòng)0702班學(xué)生姓名:任杰導(dǎo)師姓名:周生祥 職稱:副教授起止時(shí)間:2011年03月14日 至2011年06月19日西 安 郵 電 學(xué) 院畢業(yè)設(shè)計(jì)(論文)任務(wù)書學(xué)生姓名:任杰 指導(dǎo)教師:周生祥職稱:副教授系別:自動(dòng)化學(xué)院專業(yè):自動(dòng)化題目:基于I2C總線的數(shù)據(jù)采集系統(tǒng)任務(wù)與要求了解I2C總線的協(xié)議及規(guī)范,編寫其控制模塊。并對(duì)編寫的模塊進(jìn)行仿真,仿真無誤后,進(jìn)行硬件的焊接,完成I2C總線的數(shù)據(jù)采集。開始日期2010年3月14日完成日期2010年6月19日系主任(簽字)年月日西 安 郵

2、電 學(xué) 院畢 業(yè) 設(shè) 計(jì) (論文) 工 作 計(jì) 劃學(xué)生姓名_任杰 _指導(dǎo)教師_周生祥_職稱_副教授_系別_自動(dòng)化學(xué)院 _專業(yè)_自動(dòng)化_題目_基于I2C總線的數(shù)據(jù)采集系統(tǒng) _工作進(jìn)程:起 止 時(shí) 間工 作 內(nèi) 容2011.3.142011.3.20 了解編寫此課題的背景知識(shí),具體細(xì)節(jié),明確所涉及的內(nèi)容,確立畢業(yè)設(shè)計(jì)的題目;2011.3.302011.4.13學(xué)習(xí)有關(guān)I2C協(xié)議的相關(guān)知識(shí),包括I2C的,I2C協(xié)議及規(guī)范,和硬件模塊的設(shè)計(jì);2011.4.142011.4.20 規(guī)劃設(shè)計(jì)方案,學(xué)習(xí)相關(guān)EDA工具的使用方法包括Proteus等;2011.4.212011.5.18 編寫硬件代碼、仿真,綜

3、合;2011.5.192011.6.1 形成畢業(yè)設(shè)計(jì)論文,請(qǐng)指導(dǎo)老師評(píng)改,改進(jìn)并加以整合,完成設(shè)計(jì);2011.6.42011.6. 19 書寫畢業(yè)設(shè)計(jì)論文、整理,準(zhǔn)備PPT,答辯。主要參考書目(資料)主要儀器設(shè)備及材料對(duì)計(jì)劃的說明無硬件描述語言相關(guān)書籍相關(guān)EDA軟件的參考資料keil開發(fā)板一套計(jì)算機(jī)一臺(tái),相關(guān)EDA軟件。論文(設(shè)計(jì))過程中教師的指導(dǎo)安排1、 提交開題報(bào)告,敘述對(duì)畢業(yè)論文任務(wù)書的理解和完成計(jì)劃;2、 上報(bào)畢業(yè)論文和完成步驟和情況;3、 完成余下的工作計(jì)劃,預(yù)計(jì)困難,對(duì)應(yīng)的措施;4、 按要求上交設(shè)計(jì)成果與論文,進(jìn)行相應(yīng)的答辯西安郵電學(xué)院畢業(yè)設(shè)計(jì)(論文)開題報(bào)告自動(dòng)化院(系)自動(dòng)化

4、專業(yè)07級(jí)02班課題名稱:基I2C總線的數(shù)據(jù)采集系統(tǒng)學(xué)生姓名:任杰 學(xué)號(hào):06071043指導(dǎo)教師: 周生祥 報(bào)告日期:2011-3-301本課題所涉及的問題及應(yīng)用現(xiàn)狀綜述1.1 課題所涉及的問題I2C 總線是一種具有自動(dòng)尋址,高低速設(shè)備同步和仲裁等功能的高性能串行總線。能夠?qū)崿F(xiàn)完善的全雙工數(shù)據(jù)傳輸,是各種總線中的使用信號(hào)線數(shù)量最少的。I2C總線只有兩根信號(hào)線:數(shù)據(jù)線SDA和時(shí)鐘線SCL。所有進(jìn)入I2C總線系統(tǒng)中的設(shè)備都帶有I2C總線借口,符合I2C總線電氣規(guī)范的特性,只需將I2C總線上所有的節(jié)點(diǎn)的串行數(shù)據(jù)線SDA和時(shí)鐘線SCL分別與總線的SDA和SCL先連即可。各節(jié)點(diǎn)供電可以不同,但需共地,

5、另外SDA和SCL需要分別接上拉電阻。當(dāng)執(zhí)行數(shù)據(jù)傳送時(shí),啟動(dòng)數(shù)據(jù)發(fā)送并產(chǎn)生時(shí)鐘信號(hào)的器件稱為主器件;被尋址的任何器件都可看作從器件;發(fā)送數(shù)據(jù)到總線上的器件稱為發(fā)送器;從總線上接收數(shù)據(jù)的器件稱為接收器。I2C總線是多主機(jī)總線,可以有兩個(gè)或更多的能夠控制總線的器件與總線連接;同時(shí)I2C總線還具有仲裁功能,當(dāng)一個(gè)以上的主器件同時(shí)試圖控制總線時(shí),只允許一個(gè)有效,從而保證數(shù)據(jù)不被破壞.I2C總線的尋址采用純軟件的尋址方法,無需片選線的連接,這樣就簡(jiǎn)少了總線數(shù)量。主機(jī)在發(fā)送完啟動(dòng)信號(hào)后,立即發(fā)送尋址字節(jié)來尋址被控器件,并規(guī)定數(shù)據(jù)傳送方向。尋址字節(jié)由7位從機(jī)地址(D7D1)和1位方向位(D0,0/1,讀/寫

6、)組成。當(dāng)主機(jī)發(fā)送尋址字節(jié)時(shí),總線上所有器件都將該尋址字節(jié)中的高7位地址與自己器件的地址比較,若兩者相同,則該器件認(rèn)為被主機(jī)尋址,并根據(jù)讀/寫位確定是從發(fā)送器還是從接收器。I2C總線句有多重主控能力,這就意味著可以允許多個(gè)作為主控器的電路模塊(具有I2C總線接口的彈片機(jī))去搶總線。因此掛接在I2C總線上的集成電路模塊的發(fā)送器/接收器可以根據(jù)不同的工作狀態(tài)反為住控發(fā)送器,主控接受器,被控發(fā)送被控接收器。顯然,具有I2C總線接口的單片機(jī)可以工作在上述4種工作狀態(tài)中的任一狀態(tài),而帶有I2C總線接口的存儲(chǔ)器I2C只有兩根雙向的信號(hào)線,一根是數(shù)據(jù)線SDA,另一根是時(shí)鐘線SCL。所有連接到I2C總線上器件

7、的數(shù)據(jù)線都是接到SDA線上,各器件的時(shí)鐘線均接到SCL線上。每個(gè)連接到總線的器件都可以通過唯一的地址和一直存在的簡(jiǎn)單的主機(jī)關(guān)系軟件設(shè)定地址,主機(jī)可以作為主機(jī)發(fā)送器或主機(jī)接收器。I2C是一個(gè)真正的多主機(jī)總線,如果兩個(gè)或更多主機(jī)同時(shí)初始化,數(shù)據(jù)傳輸可以通過沖突檢測(cè)和仲裁防止數(shù)據(jù)被破壞。串行的8位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達(dá)100bit/s,快速模式下可達(dá)400bit/s,高速模式下可達(dá)3.4Mbit/s。連接到相同總線的IC數(shù)量只受到總線的最大電容400pF限制。I2C總線位傳輸數(shù)據(jù)的有效性是指:SDA線上的數(shù)據(jù)必須在時(shí)鐘的高電平周期保持穩(wěn)定,數(shù)據(jù)線的高或低電平狀態(tài)只有在SCL線的時(shí)鐘信號(hào)是

8、低電平時(shí)才能改變。起始和終止條件是:SCL線是高電平時(shí),SDA線從高電平向低電平切換,這個(gè)是起始條件,SCL線是高電平時(shí),SDA線由低電平向高電平切換,這個(gè)是停止條件,起始和停止條件一般有主機(jī)產(chǎn)生,總線在起始條件后被認(rèn)為處于忙的狀態(tài),在停止條件的某段時(shí)間后總線被認(rèn)為再次處于空閑狀態(tài)。1.2 現(xiàn)狀綜述I2C總線產(chǎn)生于在80年代,最初為音頻和視頻設(shè)備開發(fā),如今主要在服務(wù)器管理中使用,其中包括單個(gè)組件狀態(tài)的通信。例如管理員可對(duì)各個(gè)組件進(jìn)行查詢,以管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風(fēng)扇??呻S時(shí)監(jiān)控內(nèi)存、硬盤、網(wǎng)絡(luò)、系統(tǒng)溫度等多個(gè)參數(shù),增加了系統(tǒng)的安全性,方便了管理。近年來芯片間的串行數(shù)據(jù)

9、傳輸技術(shù)被大量采用,由于數(shù)據(jù)的串行傳輸連接線少,采用串行總線技術(shù)可以使系統(tǒng)的硬件設(shè)計(jì)大大簡(jiǎn)化、系統(tǒng)的體積減小、可靠性提高,同時(shí)系統(tǒng)的更改和擴(kuò)充極為容易。隨著微電子技術(shù)的發(fā)展,許多廠商不斷推出I2C總線接口器件,如E2OROM、A/D轉(zhuǎn)換器、LED及LCD驅(qū)動(dòng)器、日歷時(shí)鐘電路等。對(duì)于80C51系列單片機(jī),有一些品種在片上配置了I2C總線接口,但多數(shù)品種沒有配置I2C總線接口。這時(shí)就可以利用通用并行I/O口線模擬I2C總線接口時(shí)序,使這些單片機(jī)不受帶有I2C總線接口的限制。因此在許多單片機(jī)應(yīng)用系統(tǒng)中可以將I2C總線的模擬傳送技術(shù)作為常規(guī)的設(shè)計(jì)方法。單片機(jī)應(yīng)用系統(tǒng)使用I2C總線擴(kuò)展時(shí),多為單主結(jié)構(gòu)的

10、形式,在這種系統(tǒng)中,I2C單主機(jī)方式,總線數(shù)據(jù)的傳送控制比較簡(jiǎn)單,沒有總線的競(jìng)爭(zhēng)與同步,只存在單片機(jī)對(duì)I2C總線上各從器件的讀(單片機(jī)接收)、寫(單片機(jī)發(fā)送)操作。2本課題需要重點(diǎn)研究的關(guān)鍵問題、解決的思路及實(shí)現(xiàn)預(yù)期目標(biāo)的可行性分析本設(shè)計(jì)采用KEIL開發(fā)和編程工具對(duì)I2C總線接口進(jìn)行設(shè)計(jì),KEIL設(shè)計(jì)流程是指利用KEIL開發(fā)和編程工具,采用可編程邏輯器件實(shí)現(xiàn)待設(shè)計(jì)的過程,完成KEIL設(shè)計(jì)流程包括電路設(shè)計(jì)與輸入、功能仿真、綜合、綜合后仿真、實(shí)現(xiàn)后仿真與驗(yàn)證、板級(jí)仿真與調(diào)試等主要步驟。主要研究?jī)?nèi)容:多主通信就是在總線上有多個(gè)節(jié)點(diǎn)。這些節(jié)點(diǎn)既可以作為主節(jié)點(diǎn)訪問其他的節(jié)點(diǎn),也可以作為從節(jié)點(diǎn)被其他節(jié)點(diǎn)訪

11、問。當(dāng)有多個(gè)節(jié)點(diǎn)同時(shí)企圖占用總線時(shí),就需要總線的仲裁。對(duì)于模擬I2C總線系統(tǒng),怎樣實(shí)現(xiàn)總線的仲裁是現(xiàn)在研究模擬I2C總線系統(tǒng)的難點(diǎn)。在系統(tǒng)中增加1根BUSY線,在占用總線之前先檢測(cè)BUSY線,看總線是否被占用。若總線空閑,則設(shè)置BUSY線并向總線上傳送數(shù)據(jù);否則,接收數(shù)據(jù),直到總線空閑時(shí)才占有總線。這種實(shí)現(xiàn)多主通信的方法有兩個(gè)缺點(diǎn): 因?yàn)镮2C最大的優(yōu)點(diǎn)就是接口少、效率高,這樣做不僅增加了使用資源而且減少了I2C總線的優(yōu)勢(shì); 當(dāng)主節(jié)點(diǎn)數(shù)比較多時(shí),等待時(shí)間比較長(zhǎng),效率不高。解決思路:本設(shè)計(jì)根據(jù)總線的仲裁原理,提出一種基于延時(shí)比較的仲裁方法。當(dāng)主節(jié)點(diǎn)想要占用總線時(shí),先檢測(cè)總線上是否空閑,如果總線是

12、空閑的就發(fā)送數(shù)據(jù)。在發(fā)送數(shù)據(jù)的同時(shí),將總線上的數(shù)據(jù)接收并與發(fā)送的數(shù)據(jù)進(jìn)行比較。如果不同,說明總線上同時(shí)還存在其他節(jié)點(diǎn),于是就退出;否則,一直到發(fā)送完數(shù)據(jù)。這種方法既體現(xiàn)了I2C總線的高效性,同時(shí)還具有良好的擴(kuò)展性。3完成本課題的工作方案2011.3.142011.3.20 了解編寫此課題的背景知識(shí),具體細(xì)節(jié),明確所涉及的內(nèi)容,確立畢業(yè)設(shè)計(jì)的題目;2011.3.302011.4.13 學(xué)習(xí)有關(guān)KEIL設(shè)計(jì)的相關(guān)知識(shí),包括硬件描述語言的學(xué)習(xí),I2C總線的協(xié)議及規(guī)范,和硬件模塊的設(shè)計(jì);2011.4.142011.4.20 規(guī)劃設(shè)計(jì)方案,學(xué)習(xí)相關(guān)KEIL工具的使用方法包括Proteus等;2011.4

13、.212011.5.18 編寫I2C協(xié)議控制器模塊硬件代碼、仿真,綜合;2011.5.192011.6.01 形成畢業(yè)設(shè)計(jì)論文,請(qǐng)指導(dǎo)老師評(píng)改,改進(jìn)并加以整合,完成設(shè)計(jì);2011.6.042011.6. 19 書寫畢業(yè)設(shè)計(jì)論文、整理,準(zhǔn)備PPT,答辯。4指導(dǎo)教師審閱意見指導(dǎo)教師(簽字):年月日說明:本報(bào)告必須由承擔(dān)畢業(yè)論文(設(shè)計(jì))課題任務(wù)的學(xué)生在畢業(yè)論文(設(shè)計(jì)) 正式開始的第1周周五之前獨(dú)立撰寫完成,并交指導(dǎo)教師審閱。西安郵電學(xué)院畢業(yè)設(shè)計(jì) (論文)成績(jī)?cè)u(píng)定表學(xué)生姓名任杰性別男學(xué)號(hào)06071043專 業(yè)班 級(jí)自動(dòng)0702班課題名稱基于I2C總線的數(shù)據(jù)采集系統(tǒng)課題類型科研題目難度較難畢業(yè)設(shè)計(jì)(論文

14、)時(shí)間2011年3月14日6月 19日 指導(dǎo)教師周生祥 (職稱:副教授)課題任務(wù)完成情況論 文(千字); 設(shè)計(jì)、計(jì)算說 明書(千字); 圖紙(張);其它(含附 件):指導(dǎo)教師意見分項(xiàng)得分:開題調(diào)研論證分; 課題質(zhì)量(論文內(nèi)容)分; 創(chuàng)新分;論文撰寫(規(guī)范)分; 學(xué)習(xí)態(tài)度分; 外文翻譯 分指導(dǎo)教師審閱成績(jī):指導(dǎo)教師(簽字):年月日評(píng)閱教師意見分項(xiàng)得分:選題分; 開題調(diào)研論證分; 課題質(zhì)量(論文內(nèi)容)分; 創(chuàng)新分;論文撰寫(規(guī)范)分; 外文翻譯分評(píng)閱成績(jī):評(píng)閱教師(簽字):年月日驗(yàn)收小組意見分項(xiàng)得分:準(zhǔn)備情況分; 畢業(yè)設(shè)計(jì)(論文)質(zhì)量分; (操作)回答問題分驗(yàn)收成績(jī):驗(yàn)收教師(組長(zhǎng))(簽字):年月

15、日答辯小組意見分項(xiàng)得分:準(zhǔn)備情況分; 陳述情況分; 回答問題分; 儀表分答辯成績(jī): 答辯小組組長(zhǎng)(簽字):年月日成績(jī)計(jì)算方法(填寫本院系實(shí)用比例)指導(dǎo)教師成績(jī) 20() 評(píng)閱成績(jī) 30 () 驗(yàn)收成績(jī) 30 () 答辯成績(jī) 20 ()學(xué)生實(shí)得成績(jī)(百分制)指導(dǎo)教師成績(jī) 評(píng)閱成績(jī)驗(yàn)收成績(jī)答辯成績(jī) 總評(píng)答辯委員會(huì)意見畢業(yè)論文(設(shè)計(jì))總評(píng)成績(jī)(等級(jí)):院(系)答辯委員會(huì)主任(簽字):院(系)簽章)年月日備注西安郵電學(xué)院畢業(yè)論文(設(shè)計(jì))成績(jī)?cè)u(píng)定表(續(xù)表)2目錄摘要14ABSTRACT15第一章單片機(jī)171.1 單片機(jī)的簡(jiǎn)單介紹171.1.1 單片機(jī)的特點(diǎn)181.1.2 單片機(jī)的應(yīng)用領(lǐng)域181.2 AT

16、80C51191.2.1 AT80C51單片機(jī)簡(jiǎn)介191.2.2 AT80C51單片機(jī)的結(jié)構(gòu)201.2.3 畢設(shè)所用電路211.2.4 AT80C51性能介紹23第二章C總線242.1 C總線概念242.2 C總線結(jié)構(gòu)272.3 C總線上的數(shù)據(jù)傳送282.3.1 位傳輸282.3.2 數(shù)據(jù)傳輸?shù)淖止?jié)格式292.4 C數(shù)據(jù)傳輸協(xié)議292.5 串行EEPROM 24C02的硬件連接302.6 24C02芯片相關(guān)介紹312.7 EEPROM概述33第三章程序設(shè)計(jì)353.1 實(shí)驗(yàn)電路圖353.2基于I2C總線的數(shù)據(jù)采集系統(tǒng)程序36實(shí)驗(yàn)小結(jié)41參考文獻(xiàn)42摘要I2C總線是具有自動(dòng)尋址,高低速設(shè)備同步和仲

17、裁等功能的一種高性能串行總線。它能夠?qū)崿F(xiàn)完善的全雙工數(shù)據(jù)傳輸,在各種總線中的使用信號(hào)線數(shù)量最少的。I2C總線只有兩根信號(hào)線:數(shù)據(jù)線SDA和時(shí)鐘線SCL。所有進(jìn)入I2C總線系統(tǒng)中的設(shè)備都帶有I2C總線接口,符合I2C總線電氣規(guī)范的特性,只需將I2C總線上所有的節(jié)點(diǎn)的串行數(shù)據(jù)線SDA和時(shí)鐘線SCL分別與總線的SDA和SCL先連即可。各節(jié)點(diǎn)供電可以不同,但需共地,另外SDA和SCL需要分別接上拉電阻。當(dāng)執(zhí)行數(shù)據(jù)傳送時(shí),啟動(dòng)數(shù)據(jù)發(fā)送并產(chǎn)生時(shí)鐘信號(hào)的器件稱為主器件;被尋址的任何器件都可看作從器件;發(fā)送數(shù)據(jù)到總線上的器件稱為發(fā)送器;從總線上接收數(shù)據(jù)的器件稱為接收器。I2C總線是多主機(jī)總線,可以有兩個(gè)或更多

18、的能夠控制總線的器件與總線連接;同時(shí)I2C總線還具有仲裁功能,當(dāng)一個(gè)以上的主器件同時(shí)試圖控制總線時(shí),只允許一個(gè)有效,從而保證數(shù)據(jù)不被破壞.I2C總線的尋址采用純軟件的尋址方法,無需片選線的連接,這樣就簡(jiǎn)少了總線數(shù)量。主機(jī)在發(fā)送完啟動(dòng)信號(hào)后,立即發(fā)送尋址字節(jié)來尋址被控器件,并規(guī)定數(shù)據(jù)傳送方向。尋址字節(jié)由7位從機(jī)地址(D7D1)和1位方向位(D0,0/1,讀/寫)組成。當(dāng)主機(jī)發(fā)送尋址字節(jié)時(shí),總線上所有器件都將該尋址字節(jié)中的高7位地址與自己器件的地址比較,若兩者相同,則該器件認(rèn)為被主機(jī)尋址,并根據(jù)讀/寫位確定是從發(fā)送器還是從接收器。I2C總線具有多重主控能力,這就意味著可以允許多個(gè)作為主控器的電路模

19、塊(具有I2C總線接口的單片機(jī))去搶總線。所以掛接在I2C總線上的集成電路模塊的發(fā)送器/接收器可以根據(jù)不同的工作狀態(tài)反為主控發(fā)送器,主控接受器,被控發(fā)送器,被控接收器。顯然,具有I2C總線接口的單片機(jī)可以工作在上述4種工作狀態(tài)中的任一狀態(tài),而帶有I2C總線接口的存儲(chǔ)器。I2C只有兩根雙向的信號(hào)線,一根是數(shù)據(jù)線SDA,另一根是時(shí)鐘線SCL。所有連接到I2C總線上器件的數(shù)據(jù)線都是接到SDA線上,各器件的時(shí)鐘線均接到SCL線上。每個(gè)連接到總線的器件都可以通過唯一的地址和一直存在的簡(jiǎn)單的主機(jī)關(guān)系軟件設(shè)定地址,主機(jī)可以作為主機(jī)發(fā)送器或主機(jī)接收器。I2C是一個(gè)真正的多主機(jī)總線,如果兩個(gè)或更多主機(jī)同時(shí)初始化

20、,數(shù)據(jù)傳輸可以通過沖突檢測(cè)和仲裁防止數(shù)據(jù)被破壞。串行的8位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達(dá)100bit/s,快速模式下可達(dá)400bit/s,高速模式下可達(dá)3.4Mbit/s。連接到相同總線的IC數(shù)量只受到總線的最大電容400pF限制。本課題是基于I2C總線的數(shù)據(jù)采集系統(tǒng),要求單片機(jī)與具有I2C總線的24C02存儲(chǔ)器件進(jìn)行讀寫操作,本課題的思想是用4*4的開關(guān)組成的鍵盤或撥碼開關(guān)作為外部輸入,存儲(chǔ)在24c02中,再從24C02中取出數(shù)據(jù)同在單片機(jī),并在數(shù)碼管上顯示出來。由此完成I2C總線的數(shù)據(jù)采集系統(tǒng)。AbstractI2C-bus is a thhigh-performanceserial

21、bus ofautomatic addressing, high-speed device synchronizationand arbitrationfunctions .It can achievefull-duplexdata transmissionperfect, and is the use ofa variety ofbussignal linesinthe least number.I2Cbus hasonly twosignal lines: data lineSDAand theclock lineSCL.Allaccess toI2C-bus systemwithI2Cb

22、us interfacedevices, in line with I2C-bus electricalspecificationfeatures, It just needall the nodeson the busI2Cserialdata lineSDAandSCLclock line respectively, and theSCLandSDAbuscanbeconnected.Powerof each nodecan bedifferent, butto becommon ground, the other SDAandSCLareconnected to thepull-up r

23、esistorrequired. When performingdata transfer, start the datatransmissionand generatesa deviceknown as themasterclock signaldevices;beany device thatcan beaddressedas aslave; senddata to thedeviceon the busasa transmitter; receive datafrom the busThedeviceknown as thereceiver.I2Cbus is amulti-master

24、bus,can have twoor moredevicesto control thebusandbus connections; The sameI2Cbusalso hasan arbitrationfunction, whenmore than onemastersimultaneouslytries to controlthe bus, only one allow toan effective,ensure that datais not destroyed. I2C busaddressingthe addressingmethodusingpure softwarewithou

25、tchip selectlineconnected, so that lossingnumber of busesJane. Mastersending thestart signalimmediately after theaddresswas charged withsendingthe deviceaddressbyte, and providesdata transferdirection.7-bitaddressbytefrom theslave address(D7 D1)andadirectionbit(D0, 0 / 1,read / write) form.When the

26、mastersendsaddressbyte,all thedeviceson the businthehigh-byte 7-bitaddress andthe address oftheirdevicecompared toif they arethe same, thedevice isbelieved to bemasteraddress, and according to read/ Writebitsto determinefrom thetransmitteror from thereceiver.I2C-bus with multiplemastercapability,whi

27、ch means thatcan allow multiplecircuitmodulesas themaster(microcontroller withI2Cbus interface) try to steal thebus.Soattached to theI2Cbuson theintegrated circuitmoduletransmitter/ receiveraccording to differentworking conditionscan becountertothe mastertransmitter,masterreceiver, was charged with

28、the transmitter, was charged with the receiver. Obviously,with theI2Cbus interfaceof theMCUcan operate inthe work ofthe4state ofanystate, and memorywithI2Cbus interface.OnlytwobidirectionalI2Csignal line, oneis thedata lineSDA,the other is theclock lineSCL.Alldevicesconnected to theI2CbusdatalineSDA

29、lineisreceived, the device'sclock lineSCLlinesarereceived. Eachof thedevicesconnected to the buscanonlyaddress andthe hosthas always existedbetweenthe simplesoftwareconfigurationaddress,mastercan be used asmastertransmitter ormaster receiver. I2Cis a truemulti-masterbus,if twoor morehosts at the

30、 sameinitialization,data transferviacollision detectionand arbitrationto preventdata from beingdestroyed.8-bitbi-directionalserialdata transmissionbit ratein the standardmode,up to100bit / s,fastmode,up to400bit / s,high-speedmode,up to3.4Mbit / s.ICconnected to the samebusnumberonly by thebuscapaci

31、tance of400pFthe maximumlimit.This projectisdata acquisition systembased on theI2C-bus, requiring SCM and24C02withI2Cbusto read and writememory devices, the ideaof thisprojectiscomposed of4 *4switchDIP switchkeyboardoras an externalinput,is stored in the24c02 , and then removedfrom thedata withthe24

32、C02microcontroller,anddigitaltubedisplay.So I2Cbus,whichcompletedthe data acquisitionsystem.第一章 單片機(jī)1.1 單片機(jī)的簡(jiǎn)單介紹單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會(huì)具有外存。同時(shí)集成諸如通訊接口、定時(shí)器,實(shí)時(shí)時(shí)鐘等外圍設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。圖1-1 MCS-51片內(nèi)總體結(jié)構(gòu)框圖 單片機(jī)的特點(diǎn)

33、1.集成度高,體積小,可靠性高。單片機(jī)將各功能部件集成在一塊晶體芯片上,集成度很高。其內(nèi)部布線很短,因此其抗工業(yè)噪音性能優(yōu)于一般通用的CPU。另外,其體積小,對(duì)于強(qiáng)磁場(chǎng)環(huán)境易于采取屏蔽措施,適合在惡劣環(huán)境下工作。2.控制功能強(qiáng)。為了滿足對(duì)對(duì)象的控制要求,單片機(jī)的指令系統(tǒng)均有極豐富的條件:分支轉(zhuǎn)移能力,I/O口的邏輯操作及位處理能力,適用于專門的控制功能。 3.擴(kuò)展。片內(nèi)具有計(jì)算機(jī)正常運(yùn)行所必需的部件。芯片外部有許多供擴(kuò)展用的三總線及并行、串行輸入/輸出管腳,很容易構(gòu)成各種規(guī)模的計(jì)算機(jī)應(yīng)用系統(tǒng)。 4.外部總線增加了I2C(Inter-Integrated Circuit)及SPI(Serial

34、Peripheral Interface)等串行總線方式,進(jìn)一步縮小了體積,簡(jiǎn)化了結(jié)構(gòu)。5.低電壓,低功耗,便于生產(chǎn)便攜式產(chǎn)品。6.優(yōu)異的性能價(jià)格比 單片機(jī)的應(yīng)用領(lǐng)域1.在智能儀器儀表中的應(yīng)用2.在機(jī)電一體化中的應(yīng)用3.在日常生活及家用電器領(lǐng)域的應(yīng)用 4.在實(shí)時(shí)過程控制中的應(yīng)用5.應(yīng)用于辦公自動(dòng)化設(shè)備7.在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用6.商業(yè)營銷設(shè)備中的應(yīng)用10.航空航天系統(tǒng)和國防軍事、尖端武器等領(lǐng)域 9.應(yīng)用于汽車電子產(chǎn)品8.單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用1.2 AT80C511.2.1 AT80C51單片機(jī)簡(jiǎn)介AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能的CMOS8位單片機(jī)片內(nèi)4K

35、bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和128bytes的隨機(jī)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大。AT89C51單片機(jī)可靈活的應(yīng)用于各種控制領(lǐng)域。管腳說明: VCC:供電電壓。GND:接地。     P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,被定義為高阻輸入。     P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,可接收輸出4TTL門電流。圖1-2A

36、T89C5140腳塑料雙列直插封裝(PDIP)     P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。P3口也可作為AT89C51的一些特殊功能口。高電平時(shí)間。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的地位字節(jié)。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的    /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。(0000H-FFFFH),不管是否有內(nèi)部程

37、序存儲(chǔ)器。     /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器  XTAL2:來自反向振蕩器的輸出。     XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。1.2.2 AT80C51單片機(jī)的結(jié)構(gòu)1 中央處理器(CPU)CPU是單片機(jī)內(nèi)部的核心部件,是一個(gè)8位二進(jìn)制數(shù)的中央處理單元,主要由運(yùn)算其、控制器和寄存器陣列組成。運(yùn)算器運(yùn)算器用來完成算術(shù)和邏輯運(yùn)算功能,包括算術(shù)邏輯單元(ALU)、累加器(ACC)、暫存寄存器(TMP1、TMP2)、程序狀態(tài)寄存器(PSW)等。部件??刂?/p>

38、器主要由程序計(jì)數(shù)器PC、指令寄存器IR和定時(shí)控制邏輯電路等構(gòu)成??刂破骺刂破魇菃纹瑱C(jī)內(nèi)部按照一定的時(shí)序協(xié)調(diào)工作的控制核心,是分析和執(zhí)行指令的2 存儲(chǔ)器AT89C51 單片機(jī)內(nèi)部有128個(gè)字節(jié)的RAM數(shù)據(jù)存儲(chǔ)器和4KB的閃存程序存儲(chǔ)器(Flash)。程序存儲(chǔ)器是可讀不可寫的,用于存放編好的程序和表格常數(shù)。數(shù)據(jù)存儲(chǔ)器是既可讀也可寫的,用于存放運(yùn)算的中間結(jié)果,運(yùn)行數(shù)據(jù)暫存及數(shù)據(jù)緩3 I/O 端口P2口、P3口,它們都是8位準(zhǔn)雙向口,每次可以并行輸入或輸出8位二進(jìn)制信并行 I/O端口:AT89C51 有四個(gè)8位并行I/O 端口,分別命名為P0口、P1口、息。串行 I/O端口:AT89C51 有一個(gè)全雙

39、工的可編程串行I/O端口,它利用了P3 口的第二功能。4 定時(shí)器/計(jì)數(shù)器AT89C51內(nèi)部有兩個(gè)16位可編程定時(shí)器/計(jì)數(shù)器,簡(jiǎn)稱為定時(shí)器(TO)和計(jì)數(shù)器(T1),T0和T1分別由兩個(gè)8位的寄存器構(gòu)成,其中T0由TH0和TL0構(gòu)成,T1由TH1和TL1。T0和T1在定時(shí)器控制器TCON和定時(shí)器方式選擇寄存器TMOD的控制下,可工作在定時(shí)器模式或計(jì)數(shù)器模式下,每種模式下又有不同的工作方式。當(dāng)定時(shí)/5 中斷系統(tǒng)計(jì)數(shù)溢出時(shí)還可以申請(qǐng)中斷。單片機(jī)中的中斷是指CPU暫停正在執(zhí)行的原程序而為中斷服務(wù)程序(執(zhí)行中斷服務(wù)程序),在執(zhí)行完中斷服務(wù)程序后再回到原程序繼續(xù)執(zhí)行??偩€是用于傳送信息的公共途徑??偩€可以分

40、為數(shù)據(jù)總線、地址總線、控制總線。時(shí)器、計(jì)數(shù)器TCON(中斷標(biāo)志寄存器)等構(gòu)成,IE、IP、TCON均為SFR特殊功能寄存器。AT89C51 的中斷源有5個(gè)。它們分別是兩個(gè)外部中斷源,三個(gè)內(nèi)部中斷源。6 內(nèi)部總線總線是用于傳送信息的公共途徑??偩€可以分為數(shù)據(jù)總線、地址總線、控制總線。線的結(jié)構(gòu)可以減少信息傳輸線的根數(shù),提高系統(tǒng)可靠性,贈(zèng)強(qiáng)系統(tǒng)靈活性。單片機(jī)呢的CPU、存儲(chǔ)器、I/O接口等單元都是通過總線連接在一起的。采用總線形式進(jìn)行連接。1.2.3 畢設(shè)所用電路 時(shí)鐘電路 單片機(jī)工作的時(shí)間基準(zhǔn)是由時(shí)鐘電路提供的,在單片機(jī)的XTAL1和XTAL2兩個(gè)引腳間,接一只晶振及兩只電容就構(gòu)成了單片機(jī)的時(shí)鐘電

41、路,如圖2-2所示。 圖 2-2 時(shí)鐘電路電路中器件選擇可以通過計(jì)算和實(shí)驗(yàn)確定,也可以參考一些典型電路參數(shù)。電路中,電容器C1和C2對(duì)振蕩頻率有微調(diào)作用,同時(shí)幫助晶振起振,通常取值范圍在30±10PF,一般晶振為6MHZ,電容取20PF,晶振為12MHZ,電容取30PF。石英晶體選擇6MHZ或12MHZ,其結(jié)果只是機(jī)器周期不同,影響計(jì)數(shù)器計(jì)數(shù)初值。 復(fù)位電路單片機(jī)的RST引腳為系統(tǒng)提供一個(gè)外部復(fù)位信號(hào),復(fù)位信號(hào)是高電平有效,高電平有效維持時(shí)間為2個(gè)機(jī)器周期以上,復(fù)位電路如圖2-3所示.。圖2-3 復(fù)位電路單片機(jī)復(fù)位方式有上電復(fù)位和手動(dòng)復(fù)位兩種方式。此復(fù)位電路集有上電自動(dòng)和手動(dòng)復(fù)位組合

42、電路,各元件阻值如圖2-3所示,按鈕為手動(dòng)復(fù)位按鈕。 LED數(shù)碼管顯示電路設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)中,通常都需要進(jìn)行人-機(jī)對(duì)話。這包括人對(duì)應(yīng)用系統(tǒng)的狀態(tài)干預(yù)與數(shù)據(jù)輸入,以及應(yīng)用系統(tǒng)向人們顯示狀態(tài)及各種運(yùn)行結(jié)果,顯示器、鍵盤電路都是用來實(shí)現(xiàn)人-機(jī)對(duì)話活動(dòng)的人機(jī)通道,因此在單片機(jī)系統(tǒng)中有著廣泛的應(yīng)用。 數(shù)碼管在系統(tǒng)中的主要作用是顯示單片機(jī)的輸出數(shù)據(jù)、狀態(tài)等,因而,作為外圍典型器件,數(shù)碼管顯示是反映系統(tǒng)輸出和操作輸入的有效器件。數(shù)碼管具備數(shù)字接口,可以方便地和單片機(jī)系統(tǒng)連接;數(shù)碼管的體積小,重量輕,并且共耗低,是一種理想的顯示單片機(jī)數(shù)據(jù)輸出內(nèi)容的器件,在單片機(jī)系統(tǒng)中有著重要的作用。 LED數(shù)碼管的驅(qū)動(dòng)是一

43、個(gè)非常重要的問題由于單片機(jī)并行口不能直接驅(qū)動(dòng)LED數(shù)碼管,必須采用驅(qū)動(dòng)電路或放大電路,使之產(chǎn)生足夠大的電路,顯示器才能高亮正常工作。如果驅(qū)動(dòng)能力差,顯示器亮度就低,這樣顯示效果就會(huì)很差,達(dá)不到設(shè)計(jì)的需要。在本系統(tǒng)中,采用了三極管放大電路驅(qū)動(dòng)數(shù)碼管顯示。 LED顯示器顯示控制方法有兩種,即動(dòng)態(tài)顯示和靜態(tài)顯示。靜態(tài)顯示亮度一般比動(dòng)態(tài)顯示效果好,但本次設(shè)計(jì)中,采用了動(dòng)態(tài)顯示。LED顯示器有共陰和共陽兩種接法,因此設(shè)計(jì)過程中要注意接法的區(qū)別。下表為L(zhǎng)ED顯示器掃描的字符編碼。表 2-5 字形代碼 字形共陰極代碼 字形共陰極代碼 0 28H 7 EAH 1 EBH 8 20H 2 32H 9 A0H 3

44、 A2H A 60H 4 E1H B 25H 5 A4H 6 24H 1.2.4 AT80C51性能介紹AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。第二章 C總線C總線是一種雙

45、向二線制總線,它的結(jié)構(gòu)簡(jiǎn)單,可靠性和抗干擾性能好。目前很多公司都推出了基于C總線的外圍器件,例如我們學(xué)習(xí)板上的24C02芯片,就是一個(gè)帶有C總線接口的E2PROM存儲(chǔ)器,具有掉電記憶的功能,方便進(jìn)行數(shù)據(jù)的長(zhǎng)期保存。 2.1 C總線概念C總線是具有自動(dòng)尋址,高低速設(shè)備同步和仲裁等功能的一種高性能串行總線。它可以實(shí)現(xiàn)完善的全雙工數(shù)據(jù)傳輸,并且是各種總線中的使用信號(hào)線數(shù)量最少的。I2C總線只有兩根信號(hào)線:數(shù)據(jù)線SDA和終線SCL。所有進(jìn)入I2C總線系統(tǒng)中的設(shè)備都帶有I2C總線接口,是符合C總線電氣規(guī)范的特性,只需將I2C總線上所有的節(jié)點(diǎn)的串行數(shù)據(jù)線SDA和時(shí)鐘線SCL分別與總線的SDA和SCL相連即

46、可。各節(jié)點(diǎn)供電是可以不同的,但需共地,另外SDA和SCL需要分別接上拉電阻才可運(yùn)行。當(dāng)執(zhí)行數(shù)據(jù)傳送時(shí),啟動(dòng)數(shù)據(jù)發(fā)送并產(chǎn)生時(shí)鐘信號(hào)的器件稱為主器件;被尋址的任何器件都可看作從器件;發(fā)送數(shù)據(jù)到總線上的器件稱為發(fā)送器;從總線上接收數(shù)據(jù)的器件稱為接收器。I2C總線是一種多主機(jī)總線,可以有兩個(gè)或更多的能夠控制總線的器件與總線連接;同時(shí)I2C總線還具有仲裁功能,當(dāng)一個(gè)以上的主器件同時(shí)試圖控制總線時(shí),只能允許其中一個(gè)有效,從而可以保證數(shù)據(jù)不被破壞.I2C總線的尋址采用純軟件的尋址方法,無需片選線的連接,這樣就可以簡(jiǎn)少了總線數(shù)量。主機(jī)在發(fā)送完啟動(dòng)信號(hào)后,立即發(fā)送尋址字節(jié)來尋址被控器件,并規(guī)定數(shù)據(jù)傳送方向。尋址

47、字節(jié)由7位從機(jī)地址(D7D1)和1位方向位(D0,0/1,讀/寫)組成。當(dāng)主機(jī)發(fā)送尋址字節(jié)時(shí),總線上所有器件都將該尋址字節(jié)中的高7位地址與自己器件的地址比較,如果兩者相同,則該器件認(rèn)為被主機(jī)尋址,并根據(jù)讀/寫位確定是從發(fā)送器還是從接收器。I2C總線是具有多重主控能力的,這就意味著可以允許多個(gè)作為主控器的電路模塊(具有I2C總線接口的彈片機(jī))去搶總線。因此掛接在I2C總線上的集成電路模塊的發(fā)送器/接收器可以根據(jù)不同的工作狀態(tài)反為主控發(fā)送器,主控接受器,被控發(fā)送器,被控接收器。所以具有I2C總線接口的單片機(jī)可以工作在上述4種工作狀態(tài)中的任一狀態(tài),而帶有I2C總線接口的存儲(chǔ)器(ARM或E2PROM)

48、模塊只能充當(dāng)被控發(fā)送器和被控接收器。圖2-1-1顯示出了帶有2個(gè)單片機(jī)和其他一些外圍電路模塊接入I2C總線的一個(gè)實(shí)例。在圖2-1-1中,若假設(shè)單片機(jī)A要向單片機(jī)B發(fā)送信息,單片機(jī)A首先作為主控器在I2C總線上發(fā)送起始信號(hào)和時(shí)鐘信號(hào),尋址作為被控器的單片機(jī)B,并且確立信息傳送方向。然后單片機(jī)A作為主控發(fā)送器便可通過SDA線向被控接收器(單片機(jī)B)發(fā)送信息,并在信息發(fā)送完畢后發(fā)送終止信號(hào),以結(jié)束信息的傳送過程。 圖2-1-1 : I2C總線典型系統(tǒng)示意圖I2C總線為同步串行數(shù)據(jù)傳輸總線,用于單片機(jī)的外圍擴(kuò)展。圖2-1-2中為I2C總線外圍擴(kuò)展示意圖。圖中只表示出單片機(jī)應(yīng)用系統(tǒng)中常用的I2C總線外圍

49、通用器件,外圍設(shè)備模塊,接口以及其他單片機(jī)節(jié)點(diǎn)。 圖2-1-2 I2C總線外圍擴(kuò)展示意圖2.2C總線結(jié)構(gòu)C總線結(jié)構(gòu)很簡(jiǎn)單,只有兩條線,包括一條數(shù)據(jù)線(SDA)和一條串行時(shí)鐘線(SCL)。具有C接口的器件可以通過這兩根線接到總線上,進(jìn)行相互之間的信息傳遞。連接到總線的器件具有不同的地址,CPU根據(jù)不同的地址進(jìn)行識(shí)別,從而實(shí)現(xiàn)對(duì)硬件系統(tǒng)簡(jiǎn)單靈活的控制。一個(gè)典型的C總線應(yīng)用系統(tǒng)的組成結(jié)構(gòu)如下圖所示(假設(shè)圖中的微控制器、LCD驅(qū)動(dòng)、E2PROM、ADC各器件都是具有C總線接口的器件):驅(qū)動(dòng)、E2PROM、ADC各器件都是具有C總線接口的器件):圖2-2 C總線應(yīng)用系統(tǒng)的組成結(jié)構(gòu)圖我們知道單片機(jī)串行通訊

50、的發(fā)送和接收一般都各用一條線TXD和RXD,而C總線的數(shù)據(jù)線既可以發(fā)送也可以接受,工作方式可以通過軟件設(shè)置。所以,C總線結(jié)構(gòu)的硬件結(jié)構(gòu)是非常簡(jiǎn)潔的。當(dāng)某器件向總線上發(fā)送信息時(shí),它就是發(fā)送器,而當(dāng)其從總線上接收信息時(shí),又成可以變?yōu)榻邮掌鳌?.3C總線上的數(shù)據(jù)傳送下面我們看看C總線是如何進(jìn)行數(shù)據(jù)傳送的。我們知道,在一根數(shù)據(jù)線上傳送數(shù)據(jù)時(shí)必須一位一位的進(jìn)行,所以我們首先研究位傳送。2.3.1 位傳輸C總線每傳送一位數(shù)據(jù)必須有一個(gè)時(shí)鐘脈沖。被傳送的數(shù)據(jù)在時(shí)鐘SCL的高電平期間保持穩(wěn)定,只有在SCL低電平期間才能夠改變,示意圖如下圖2-3-1所示,在標(biāo)準(zhǔn)模式下,高低電平寬度必須不小于4.7us。 圖2-

51、3-1C總線傳送數(shù)據(jù)時(shí)序圖那么是不是所有C總線中的信號(hào)都必須符合上述的有效性呢?只有兩個(gè)例外,就是開始和停止信號(hào)。開始信號(hào):當(dāng)SCL為高電平時(shí),SDA發(fā)生從高到低的跳變,就定義為開始信號(hào)。停止信號(hào):當(dāng)SCL為高電平時(shí),SDA發(fā)生從低到高的跳變,就定義為結(jié)束信號(hào)。開始和結(jié)束信號(hào)的時(shí)序圖如下圖2-3-2所示:圖2-3-2 C總線傳送數(shù)據(jù)開始和結(jié)束信號(hào)的時(shí)序圖2.3.2 數(shù)據(jù)傳輸?shù)淖止?jié)格式SDA傳送數(shù)據(jù)是以字節(jié)為單位進(jìn)行的。每個(gè)字節(jié)必須是8位,但是傳輸?shù)淖止?jié)數(shù)量不受限制,首先傳送的是數(shù)據(jù)的最高位。每次傳送一個(gè)字節(jié)完畢,必須接收到從機(jī)發(fā)出的一個(gè)應(yīng)答位,才能開始下一個(gè)字節(jié)的傳輸。如果沒有接受到應(yīng)答位,主

52、機(jī)則產(chǎn)生一個(gè)停止條件結(jié)束本次的傳送。那么從機(jī)應(yīng)該發(fā)出什么信號(hào)算是產(chǎn)生了應(yīng)答呢?這個(gè)過程是這樣的。當(dāng)主器件傳送一個(gè)字節(jié)后,在第9個(gè)SCL時(shí)鐘內(nèi)置高SDA線,而從器件的響應(yīng)信號(hào)將SDA拉低,從而給出一個(gè)應(yīng)答位。了解了I2C傳輸數(shù)據(jù)的格式,現(xiàn)在來研究雙方傳送的協(xié)議問題。2.4C數(shù)據(jù)傳輸協(xié)議C總線的數(shù)據(jù)傳輸協(xié)議如下:(1)、主器件發(fā)出開始信號(hào)(2)、主器件發(fā)出第一個(gè)字節(jié),用來選通相應(yīng)的從器件。其中前7位為地址碼,第8位為方向位(R/W)。方向位為“0”表示發(fā)送,方向位為“1”表示接受。(3)、從機(jī)產(chǎn)生應(yīng)答信號(hào),進(jìn)入下一個(gè)傳送周期,如果從器件沒有給出應(yīng)答信號(hào),此時(shí)主器件產(chǎn)生一個(gè)結(jié)束信號(hào)使得傳送結(jié)束,傳送數(shù)據(jù)無效。圖2-4 C總線數(shù)據(jù)的傳送過程圖(4)、接下來主、從器件正式進(jìn)行數(shù)據(jù)的傳送,這時(shí)在I2C總線上每次傳送的數(shù)據(jù)字節(jié)數(shù)不限,但每一個(gè)字節(jié)必須為8位(傳送的時(shí)候先送高位,再送低位)。當(dāng)一個(gè)字節(jié)傳送完畢時(shí),再發(fā)送一個(gè)應(yīng)答位(第9位),如上一條所述,這樣每次傳送一個(gè)字節(jié)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論