




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 西安郵電學(xué)院 畢 業(yè) 設(shè) 計(論 文)題 目:基于I2C總線的數(shù)據(jù)采集系統(tǒng) 院 (系): 自動化 專 業(yè): 自動化 班 級: 自動0702班 學(xué)生姓名: 任杰 導(dǎo)師姓名: 周生祥 職稱: 副教授 起止時間:2011年03月14日 至2011年06月19日西 安 郵 電 學(xué) 院畢業(yè)設(shè)計(論文)任務(wù)書 學(xué)生姓名:任杰 指導(dǎo)教師:周生祥職稱:副教授系別:自動化學(xué)院專業(yè):自動化題目:基于I2C總線的數(shù)據(jù)采集系統(tǒng) 任務(wù)與要求了解I2C總線的協(xié)議及規(guī)范,編寫其控制模塊。并對編寫的模塊進行仿真,仿真無誤后,進行硬件的焊接,完成I2C總線的數(shù)據(jù)采集。開始日期2010年3月14日完成日期2010年6月19日系
2、主任(簽字)年月日西 安 郵 電 學(xué) 院畢 業(yè) 設(shè) 計 (論文) 工 作 計 劃 學(xué)生姓名_任杰 _指導(dǎo)教師_周生祥_職稱_副教授_系別_ _自動化學(xué)院 _專業(yè)_自動化_ 題目_ 基于I2C總線的數(shù)據(jù)采集系統(tǒng) _ _ _ 工作進程:起 止 時 間工 作 內(nèi) 容2011.3.142011.3.20 了解編寫此課題的背景知識,具體細(xì)節(jié),明確所涉及的內(nèi)容,確立畢業(yè)設(shè)計的題目;2011.3.302011.4.13 學(xué)習(xí)有關(guān)I2C協(xié)議的相關(guān)知識,包括I2C的,I2C協(xié)議及規(guī)范,和硬件模塊的設(shè)計;2011.4.142011.4.20 規(guī)劃設(shè)計方案,學(xué)習(xí)相關(guān)EDA工具的使用方法包括Proteus等;2011
3、.4.212011.5.18 編寫硬件代碼、仿真,綜合;2011.5.192011.6.1 形成畢業(yè)設(shè)計論文,請指導(dǎo)老師評改,改進并加以整合,完成設(shè)計;2011.6.42011.6. 19 書寫畢業(yè)設(shè)計論文、整理,準(zhǔn)備PPT,答辯。主要參考書目(資料)主要儀器設(shè)備及材料對計劃的說明無硬件描述語言相關(guān)書籍相關(guān)EDA軟件的參考資料keil開發(fā)板一套計算機一臺,相關(guān)EDA軟件。論文(設(shè)計)過程中教師的指導(dǎo)安排1、 提交開題報告,敘述對畢業(yè)論文任務(wù)書的理解和完成計劃;2、 上報畢業(yè)論文和完成步驟和情況;3、 完成余下的工作計劃,預(yù)計困難,對應(yīng)的措施;4、 按要求上交設(shè)計成果與論文,進行相應(yīng)的答辯西安郵
4、電學(xué)院畢業(yè)設(shè)計(論文)開題報告自動化 院(系)自動化 專業(yè) 07 級 02 班課題名稱:基I2C總線的數(shù)據(jù)采集系統(tǒng) 學(xué)生姓名: 任杰 學(xué)號:06071043指導(dǎo)教師: 周生祥 報告日期: 2011-3-30 1本課題所涉及的問題及應(yīng)用現(xiàn)狀綜述1.1 課題所涉及的問題I2C 總線是一種具有自動尋址,高低速設(shè)備同步和仲裁等功能的高性能串行總線。能夠?qū)崿F(xiàn)完善的全雙工數(shù)據(jù)傳輸,是各種總線中的使用信號線數(shù)量最少的。I2C總線只有兩根信號線:數(shù)據(jù)線SDA和時鐘線SCL。所有進入I2C總線系統(tǒng)中的設(shè)備都帶有I2C總線借口,符合I2C總線電氣規(guī)范的特性,只需將I2C總線上所有的節(jié)點的串行數(shù)據(jù)線SDA和時鐘線S
5、CL分別與總線的SDA和SCL先連即可。各節(jié)點供電可以不同,但需共地,另外SDA和SCL需要分別接上拉電阻。當(dāng)執(zhí)行數(shù)據(jù)傳送時,啟動數(shù)據(jù)發(fā)送并產(chǎn)生時鐘信號的器件稱為主器件;被尋址的任何器件都可看作從器件;發(fā)送數(shù)據(jù)到總線上的器件稱為發(fā)送器;從總線上接收數(shù)據(jù)的器件稱為接收器。I2C總線是多主機總線,可以有兩個或更多的能夠控制總線的器件與總線連接;同時I2C總線還具有仲裁功能,當(dāng)一個以上的主器件同時試圖控制總線時,只允許一個有效,從而保證數(shù)據(jù)不被破壞.I2C總線的尋址采用純軟件的尋址方法,無需片選線的連接,這樣就簡少了總線數(shù)量。主機在發(fā)送完啟動信號后,立即發(fā)送尋址字節(jié)來尋址被控器件,并規(guī)定數(shù)據(jù)傳送方向
6、。尋址字節(jié)由7位從機地址(D7D1)和1位方向位(D0,0/1,讀/寫)組成。當(dāng)主機發(fā)送尋址字節(jié)時,總線上所有器件都將該尋址字節(jié)中的高7位地址與自己器件的地址比較,若兩者相同,則該器件認(rèn)為被主機尋址,并根據(jù)讀/寫位確定是從發(fā)送器還是從接收器。I2C總線句有多重主控能力,這就意味著可以允許多個作為主控器的電路模塊(具有I2C總線接口的彈片機)去搶總線。因此掛接在I2C總線上的集成電路模塊的發(fā)送器/接收器可以根據(jù)不同的工作狀態(tài)反為住控發(fā)送器,主控接受器,被控發(fā)送被控接收器。顯然,具有I2C總線接口的單片機可以工作在上述4種工作狀態(tài)中的任一狀態(tài),而帶有I2C總線接口的存儲器I2C只有兩根雙向的信號線
7、,一根是數(shù)據(jù)線SDA,另一根是時鐘線SCL。所有連接到I2C總線上器件的數(shù)據(jù)線都是接到SDA線上,各器件的時鐘線均接到SCL線上。每個連接到總線的器件都可以通過唯一的地址和一直存在的簡單的主機關(guān)系軟件設(shè)定地址,主機可以作為主機發(fā)送器或主機接收器。I2C是一個真正的多主機總線,如果兩個或更多主機同時初始化,數(shù)據(jù)傳輸可以通過沖突檢測和仲裁防止數(shù)據(jù)被破壞。串行的8位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達100bit/s,快速模式下可達400bit/s,高速模式下可達3.4Mbit/s。連接到相同總線的IC數(shù)量只受到總線的最大電容400pF限制。I2C總線位傳輸數(shù)據(jù)的有效性是指:SDA線上的數(shù)據(jù)必須在時鐘
8、的高電平周期保持穩(wěn)定,數(shù)據(jù)線的高或低電平狀態(tài)只有在SCL線的時鐘信號是低電平時才能改變。起始和終止條件是:SCL線是高電平時,SDA線從高電平向低電平切換,這個是起始條件,SCL線是高電平時,SDA線由低電平向高電平切換,這個是停止條件,起始和停止條件一般有主機產(chǎn)生,總線在起始條件后被認(rèn)為處于忙的狀態(tài),在停止條件的某段時間后總線被認(rèn)為再次處于空閑狀態(tài)。1.2 現(xiàn)狀綜述I2C總線產(chǎn)生于在80年代,最初為音頻和視頻設(shè)備開發(fā),如今主要在服務(wù)器管理中使用,其中包括單個組件狀態(tài)的通信。例如管理員可對各個組件進行查詢,以管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風(fēng)扇??呻S時監(jiān)控內(nèi)存、硬盤、網(wǎng)絡(luò)、系統(tǒng)
9、溫度等多個參數(shù),增加了系統(tǒng)的安全性,方便了管理。近年來芯片間的串行數(shù)據(jù)傳輸技術(shù)被大量采用,由于數(shù)據(jù)的串行傳輸連接線少,采用串行總線技術(shù)可以使系統(tǒng)的硬件設(shè)計大大簡化、系統(tǒng)的體積減小、可靠性提高,同時系統(tǒng)的更改和擴充極為容易。隨著微電子技術(shù)的發(fā)展,許多廠商不斷推出I2C總線接口器件,如E2OROM、A/D轉(zhuǎn)換器、LED及LCD驅(qū)動器、日歷時鐘電路等。對于80C51系列單片機,有一些品種在片上配置了I2C總線接口,但多數(shù)品種沒有配置I2C總線接口。這時就可以利用通用并行I/O口線模擬I2C總線接口時序,使這些單片機不受帶有I2C總線接口的限制。因此在許多單片機應(yīng)用系統(tǒng)中可以將I2C總線的模擬傳送技術(shù)
10、作為常規(guī)的設(shè)計方法。單片機應(yīng)用系統(tǒng)使用I2C總線擴展時,多為單主結(jié)構(gòu)的形式,在這種系統(tǒng)中,I2C單主機方式,總線數(shù)據(jù)的傳送控制比較簡單,沒有總線的競爭與同步,只存在單片機對I2C總線上各從器件的讀(單片機接收)、寫(單片機發(fā)送)操作。2本課題需要重點研究的關(guān)鍵問題、解決的思路及實現(xiàn)預(yù)期目標(biāo)的可行性分析本設(shè)計采用KEIL開發(fā)和編程工具對I2C總線接口進行設(shè)計,KEIL設(shè)計流程是指利用KEIL開發(fā)和編程工具,采用可編程邏輯器件實現(xiàn)待設(shè)計的過程,完成KEIL設(shè)計流程包括電路設(shè)計與輸入、功能仿真、綜合、綜合后仿真、實現(xiàn)后仿真與驗證、板級仿真與調(diào)試等主要步驟。主要研究內(nèi)容:多主通信就是在總線上有多個節(jié)點
11、。這些節(jié)點既可以作為主節(jié)點訪問其他的節(jié)點,也可以作為從節(jié)點被其他節(jié)點訪問。當(dāng)有多個節(jié)點同時企圖占用總線時,就需要總線的仲裁。對于模擬I2C總線系統(tǒng),怎樣實現(xiàn)總線的仲裁是現(xiàn)在研究模擬I2C總線系統(tǒng)的難點。在系統(tǒng)中增加1根BUSY線,在占用總線之前先檢測BUSY線,看總線是否被占用。若總線空閑,則設(shè)置BUSY線并向總線上傳送數(shù)據(jù);否則,接收數(shù)據(jù),直到總線空閑時才占有總線。這種實現(xiàn)多主通信的方法有兩個缺點: 因為I2C最大的優(yōu)點就是接口少、效率高,這樣做不僅增加了使用資源而且減少了I2C總線的優(yōu)勢; 當(dāng)主節(jié)點數(shù)比較多時,等待時間比較長,效率不高。解決思路:本設(shè)計根據(jù)總線的仲裁原理,提出一種基于延時比
12、較的仲裁方法。當(dāng)主節(jié)點想要占用總線時,先檢測總線上是否空閑,如果總線是空閑的就發(fā)送數(shù)據(jù)。在發(fā)送數(shù)據(jù)的同時,將總線上的數(shù)據(jù)接收并與發(fā)送的數(shù)據(jù)進行比較。如果不同,說明總線上同時還存在其他節(jié)點,于是就退出;否則,一直到發(fā)送完數(shù)據(jù)。這種方法既體現(xiàn)了I2C總線的高效性,同時還具有良好的擴展性。3完成本課題的工作方案2011.3.142011.3.20 了解編寫此課題的背景知識,具體細(xì)節(jié),明確所涉及的內(nèi)容,確立畢業(yè)設(shè)計的題目;2011.3.302011.4.13 學(xué)習(xí)有關(guān)KEIL設(shè)計的相關(guān)知識,包括硬件描述語言的學(xué)習(xí),I2C總線的協(xié)議及規(guī)范,和硬件模塊的設(shè)計;2011.4.142011.4.20 規(guī)劃設(shè)計
13、方案,學(xué)習(xí)相關(guān)KEIL工具的使用方法包括Proteus等;2011.4.212011.5.18 編寫I2C協(xié)議控制器模塊硬件代碼、仿真,綜合;2011.5.192011.6.01 形成畢業(yè)設(shè)計論文,請指導(dǎo)老師評改,改進并加以整合,完成設(shè)計;2011.6.042011.6. 19 書寫畢業(yè)設(shè)計論文、整理,準(zhǔn)備PPT,答辯。 4指導(dǎo)教師審閱意見指導(dǎo)教師(簽字): 年 月 日說明:本報告必須由承擔(dān)畢業(yè)論文(設(shè)計)課題任務(wù)的學(xué)生在畢業(yè)論文(設(shè)計) 正式開始的第1周周五之前獨立撰寫完成,并交指導(dǎo)教師審閱。西安郵電學(xué)院畢業(yè)設(shè)計 (論文)成績評定表學(xué)生姓名任杰性別男學(xué)號06071043專 業(yè)班 級自動070
14、2班課題名稱基于I2C總線的數(shù)據(jù)采集系統(tǒng)課題類型科研題目難度較難畢業(yè)設(shè)計(論文)時間2011 年3月14日6月 19日 指導(dǎo)教師周生祥 (職稱:副教授)課題任務(wù)完成情況論 文 (千字); 設(shè)計、計算說 明書 (千字); 圖紙 (張);其它(含附 件):指導(dǎo)教師意見分項得分:開題調(diào)研論證 分; 課題質(zhì)量(論文內(nèi)容) 分; 創(chuàng)新 分;論文撰寫(規(guī)范) 分; 學(xué)習(xí)態(tài)度 分; 外文翻譯 分指導(dǎo)教師審閱成績:指導(dǎo)教師(簽字): 年 月日評閱教師意見分項得分:選題 分; 開題調(diào)研論證 分; 課題質(zhì)量(論文內(nèi)容) 分; 創(chuàng)新 分;論文撰寫(規(guī)范) 分; 外文翻譯 分評閱成績:評閱教師(簽字): 年月日驗收小
15、組意見分項得分:準(zhǔn)備情況 分; 畢業(yè)設(shè)計(論文)質(zhì)量 分; (操作)回答問題 分驗收成績:驗收教師(組長)(簽字): 年月日答辯小組意見 分項得分:準(zhǔn)備情況 分; 陳述情況 分; 回答問題 分; 儀表 分答辯成績: 答辯小組組長(簽字): 年 月 日成績計算方法(填寫本院系實用比例)指導(dǎo)教師成績 20 () 評閱成績 30 () 驗收成績 30 () 答辯成績 20 ()學(xué)生實得成績(百分制)指導(dǎo)教師成績 評閱成績 驗收成績 答辯成績 總評 答辯委員會意見畢業(yè)論文(設(shè)計)總評成績(等級): 院(系)答辯委員會主任(簽字): 院(系)簽章) 年 月 日備注西安郵電學(xué)院畢業(yè)論文(設(shè)計)成績評定表(
16、續(xù)表)2目 錄摘要14ABSTRACT15第一章 單片機171.1 單片機的簡單介紹171.1.1 單片機的特點181.1.2 單片機的應(yīng)用領(lǐng)域181.2 AT80C51191.2.1 AT80C51單片機簡介191.2.2 AT80C51單片機的結(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
17、概述33第三章 程序設(shè)計353.1 實驗電路圖353.2基于I2C總線的數(shù)據(jù)采集系統(tǒng)程序36實驗小結(jié)41參考文獻42摘要I2C 總線是具有自動尋址,高低速設(shè)備同步和仲裁等功能的一種高性能串行總線。它能夠?qū)崿F(xiàn)完善的全雙工數(shù)據(jù)傳輸,在各種總線中的使用信號線數(shù)量最少的。I2C總線只有兩根信號線:數(shù)據(jù)線SDA和時鐘線SCL。所有進入I2C總線系統(tǒng)中的設(shè)備都帶有I2C總線接口,符合I2C總線電氣規(guī)范的特性,只需將I2C總線上所有的節(jié)點的串行數(shù)據(jù)線SDA和時鐘線SCL分別與總線的SDA和SCL先連即可。各節(jié)點供電可以不同,但需共地,另外SDA和SCL需要分別接上拉電阻。當(dāng)執(zhí)行數(shù)據(jù)傳送時,啟動數(shù)據(jù)發(fā)送并產(chǎn)生
18、時鐘信號的器件稱為主器件;被尋址的任何器件都可看作從器件;發(fā)送數(shù)據(jù)到總線上的器件稱為發(fā)送器;從總線上接收數(shù)據(jù)的器件稱為接收器。I2C總線是多主機總線,可以有兩個或更多的能夠控制總線的器件與總線連接;同時I2C總線還具有仲裁功能,當(dāng)一個以上的主器件同時試圖控制總線時,只允許一個有效,從而保證數(shù)據(jù)不被破壞.I2C總線的尋址采用純軟件的尋址方法,無需片選線的連接,這樣就簡少了總線數(shù)量。主機在發(fā)送完啟動信號后,立即發(fā)送尋址字節(jié)來尋址被控器件,并規(guī)定數(shù)據(jù)傳送方向。尋址字節(jié)由7位從機地址(D7D1)和1位方向位(D0,0/1,讀/寫)組成。當(dāng)主機發(fā)送尋址字節(jié)時,總線上所有器件都將該尋址字節(jié)中的高7位地址與
19、自己器件的地址比較,若兩者相同,則該器件認(rèn)為被主機尋址,并根據(jù)讀/寫位確定是從發(fā)送器還是從接收器。 I2C總線具有多重主控能力,這就意味著可以允許多個作為主控器的電路模塊(具有I2C總線接口的單片機)去搶總線。所以掛接在I2C總線上的集成電路模塊的發(fā)送器/接收器可以根據(jù)不同的工作狀態(tài)反為主控發(fā)送器,主控接受器,被控發(fā)送器,被控接收器。顯然,具有I2C總線接口的單片機可以工作在上述4種工作狀態(tài)中的任一狀態(tài),而帶有I2C總線接口的存儲器。I2C只有兩根雙向的信號線,一根是數(shù)據(jù)線SDA,另一根是時鐘線SCL。所有連接到I2C總線上器件的數(shù)據(jù)線都是接到SDA線上,各器件的時鐘線均接到SCL線上。每個連
20、接到總線的器件都可以通過唯一的地址和一直存在的簡單的主機關(guān)系軟件設(shè)定地址,主機可以作為主機發(fā)送器或主機接收器。I2C是一個真正的多主機總線,如果兩個或更多主機同時初始化,數(shù)據(jù)傳輸可以通過沖突檢測和仲裁防止數(shù)據(jù)被破壞。串行的8位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達100bit/s,快速模式下可達400bit/s,高速模式下可達3.4Mbit/s。連接到相同總線的IC數(shù)量只受到總線的最大電容400pF限制。本課題是基于I2C總線的數(shù)據(jù)采集系統(tǒng),要求單片機與具有I2C總線的24C02存儲器件進行讀寫操作,本課題的思想是用4*4的開關(guān)組成的鍵盤或撥碼開關(guān)作為外部輸入,存儲在24c02中,再從24C02中
21、取出數(shù)據(jù)同在單片機,并在數(shù)碼管上顯示出來。由此完成I2C總線的數(shù)據(jù)采集系統(tǒng)。Abstract 第一章 單片機1.1 單片機的簡單介紹單片機是指一個集成在一塊芯片上的完整計算機系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個完整計算機所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會具有外存。同時集成諸如通訊接口、定時器,實時時鐘等外圍設(shè)備。而現(xiàn)在最強大的單片機系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。圖1-1 MCS-51片內(nèi)總體結(jié)構(gòu)框圖 單片機的特點1.集成度高,體積小,可靠性高。單片機將各功能部件集成在一塊晶體芯片上,集成度很高。其內(nèi)部
22、布線很短,因此其抗工業(yè)噪音性能優(yōu)于一般通用的CPU。另外,其體積小,對于強磁場環(huán)境易于采取屏蔽措施,適合在惡劣環(huán)境下工作。2.控制功能強。為了滿足對對象的控制要求,單片機的指令系統(tǒng)均有極豐富的條件:分支轉(zhuǎn)移能力,I/O口的邏輯操作及位處理能力,適用于專門的控制功能。 3.擴展。片內(nèi)具有計算機正常運行所必需的部件。芯片外部有許多供擴展用的三總線及并行、串行輸入/輸出管腳,很容易構(gòu)成各種規(guī)模的計算機應(yīng)用系統(tǒng)。 4.外部總線增加了I2C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行總線方式,進一步縮小了體積,簡化了結(jié)構(gòu)。5
23、.低電壓,低功耗,便于生產(chǎn)便攜式產(chǎn)品。6.優(yōu)異的性能價格比 單片機的應(yīng)用領(lǐng)域1.在智能儀器儀表中的應(yīng)用 2.在機電一體化中的應(yīng)用 3.在日常生活及家用電器領(lǐng)域的應(yīng)用 4.在實時過程控制中的應(yīng)用 5.應(yīng)用于辦公自動化設(shè)備 7.在計算機網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用 6.商業(yè)營銷設(shè)備中的應(yīng)用 10.航空航天系統(tǒng)和國防軍事、尖端武器等領(lǐng)域 9.應(yīng)用于汽車電子產(chǎn)品 8.單片機在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用 1.2 AT80C511.2.1 AT80C51單片機簡介AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能的CMOS8位單片機片內(nèi)4Kbytes的可反復(fù)擦寫的只讀程序存儲器(PEROM)和128bytes的隨
24、機存儲器(RAM),器件采用ATMEL公司的高密度、非易失存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,功能強大。AT89C51單片機可靈活的應(yīng)用于各種控制領(lǐng)域。 管腳說明: VCC:供電電壓。GND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,被定義為高阻輸入。 P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,可接收輸出4TTL門電流。圖1-2 AT89C5140腳塑料雙列直插封裝(PDIP)
25、 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。P3口也可作為AT89C51的一些特殊功能口。高電平時間。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的地位字節(jié)。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的 /PSEN:外部程序存儲器的選通信號。(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。 /EA/
26、VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器 XTAL2:來自反向振蕩器的輸出。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。1.2.2 AT80C51單片機的結(jié)構(gòu) 1 中央處理器(CPU)CPU是單片機內(nèi)部的核心部件,是一個8位二進制數(shù)的中央處理單元,主要由運算其、控制器和寄存器陣列組成。運算器運算器用來完成算術(shù)和邏輯運算功能,包括算術(shù)邏輯單元(ALU)、累加器(ACC)、暫存寄存器(TMP1、TMP2)、程序狀態(tài)寄存器(PSW)等。部件??刂破髦饕沙绦蛴嫈?shù)器PC、指令寄存器IR和定時控制邏輯電路等構(gòu)成???/p>
27、制器控制器是單片機內(nèi)部按照一定的時序協(xié)調(diào)工作的控制核心,是分析和執(zhí)行指令的2 存儲器AT89C51 單片機內(nèi)部有128個字節(jié)的RAM數(shù)據(jù)存儲器和4KB的閃存程序存儲器(Flash)。程序存儲器是可讀不可寫的,用于存放編好的程序和表格常數(shù)。數(shù)據(jù)存儲器是既可讀也可寫的,用于存放運算的中間結(jié)果,運行數(shù)據(jù)暫存及數(shù)據(jù)緩3 I/O 端口P2口、P3口,它們都是8位準(zhǔn)雙向口,每次可以并行輸入或輸出8位二進制信并行 I/O端口:AT89C51 有四個8位并行I/O 端口,分別命名為P0口、P1口、息。串行 I/O端口:AT89C51 有一個全雙工的可編程串行I/O端口,它利用了P3 口的第二功能。4 定時器/
28、計數(shù)器AT89C51內(nèi)部有兩個16位可編程定時器/計數(shù)器,簡稱為定時器(TO)和計數(shù)器(T1),T0和T1分別由兩個8位的寄存器構(gòu)成,其中T0由TH0和TL0構(gòu)成,T1由TH1和TL1。T0和T1在定時器控制器TCON和定時器方式選擇寄存器TMOD的控制下,可工作在定時器模式或計數(shù)器模式下,每種模式下又有不同的工作方式。當(dāng)定時/5 中斷系統(tǒng)計數(shù)溢出時還可以申請中斷。單片機中的中斷是指CPU暫停正在執(zhí)行的原程序而為中斷服務(wù)程序(執(zhí)行中斷服務(wù)程序),在執(zhí)行完中斷服務(wù)程序后再回到原程序繼續(xù)執(zhí)行。總線是用于傳送信息的公共途徑??偩€可以分為數(shù)據(jù)總線、地址總線、控制總線。時器、計數(shù)器TCON(中斷標(biāo)志寄存
29、器)等構(gòu)成,IE、IP、TCON均為SFR特殊功能寄存器。AT89C51 的中斷源有5個。它們分別是兩個外部中斷源,三個內(nèi)部中斷源。6 內(nèi)部總線總線是用于傳送信息的公共途徑??偩€可以分為數(shù)據(jù)總線、地址總線、控制總線。線的結(jié)構(gòu)可以減少信息傳輸線的根數(shù),提高系統(tǒng)可靠性,贈強系統(tǒng)靈活性。單片機呢的CPU、存儲器、I/O接口等單元都是通過總線連接在一起的。采用總線形式進行連接。1.2.3 畢設(shè)所用電路 時鐘電路 單片機工作的時間基準(zhǔn)是由時鐘電路提供的,在單片機的XTAL1和XTAL2兩個引腳間,接一只晶振及兩只電容就構(gòu)成了單片機的時鐘電路,如圖2-2所示。 圖 2-2 時鐘電路電路中器件選擇可以通過計
30、算和實驗確定,也可以參考一些典型電路參數(shù)。電路中,電容器C1和C2對振蕩頻率有微調(diào)作用,同時幫助晶振起振,通常取值范圍在30±10PF,一般晶振為6MHZ,電容取20PF,晶振為12MHZ,電容取30PF。石英晶體選擇6MHZ或12MHZ,其結(jié)果只是機器周期不同,影響計數(shù)器計數(shù)初值。 復(fù)位電路單片機的RST引腳為系統(tǒng)提供一個外部復(fù)位信號,復(fù)位信號是高電平有效,高電平有效維持時間為2個機器周期以上,復(fù)位電路如圖2-3所示.。 圖2-3 復(fù)位電路 單片機復(fù)位方式有上電復(fù)位和手動復(fù)位兩種方式。此復(fù)位電路集有上電自動和手動復(fù)位組合電路,各元件阻值如圖2-3所示,按鈕為手動復(fù)位按鈕。 LED數(shù)
31、碼管顯示電路設(shè)計單片機應(yīng)用系統(tǒng)中,通常都需要進行人-機對話。這包括人對應(yīng)用系統(tǒng)的狀態(tài)干預(yù)與數(shù)據(jù)輸入,以及應(yīng)用系統(tǒng)向人們顯示狀態(tài)及各種運行結(jié)果,顯示器、鍵盤電路都是用來實現(xiàn)人-機對話活動的人機通道,因此在單片機系統(tǒng)中有著廣泛的應(yīng)用。 數(shù)碼管在系統(tǒng)中的主要作用是顯示單片機的輸出數(shù)據(jù)、狀態(tài)等,因而,作為外圍典型器件,數(shù)碼管顯示是反映系統(tǒng)輸出和操作輸入的有效器件。數(shù)碼管具備數(shù)字接口,可以方便地和單片機系統(tǒng)連接;數(shù)碼管的體積小,重量輕,并且共耗低,是一種理想的顯示單片機數(shù)據(jù)輸出內(nèi)容的器件,在單片機系統(tǒng)中有著重要的作用。 LED數(shù)碼管的驅(qū)動是一個非常重要的問題由于單片機并行口不能直接驅(qū)動LED數(shù)碼管,必須
32、采用驅(qū)動電路或放大電路,使之產(chǎn)生足夠大的電路,顯示器才能高亮正常工作。如果驅(qū)動能力差,顯示器亮度就低,這樣顯示效果就會很差,達不到設(shè)計的需要。在本系統(tǒng)中,采用了三極管放大電路驅(qū)動數(shù)碼管顯示。 LED顯示器顯示控制方法有兩種,即動態(tài)顯示和靜態(tài)顯示。靜態(tài)顯示亮度一般比動態(tài)顯示效果好,但本次設(shè)計中,采用了動態(tài)顯示。LED顯示器有共陰和共陽兩種接法,因此設(shè)計過程中要注意接法的區(qū)別。下表為LED顯示器掃描的字符編碼。 表 2-5 字形代碼 字形共陰極代碼 字形共陰極代碼 0 28H 7 EAH 1 EBH 8 20H 2 32H 9 A0H 3 A2H A 60H 4 E1H B 25H 5 A4H 6
33、 24H 1.2.4 AT80C51性能介紹AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。第二章 C總線C總線是一種雙向二線制總線,它的結(jié)構(gòu)簡單,可靠性和抗干擾性能好。目前很多公
34、司都推出了基于C總線的外圍器件,例如我們學(xué)習(xí)板上的24C02芯片,就是一個帶有C總線接口的E2PROM存儲器,具有掉電記憶的功能,方便進行數(shù)據(jù)的長期保存。 2.1 C總線概念C 總線是具有自動尋址,高低速設(shè)備同步和仲裁等功能的一種高性能串行總線。它可以實現(xiàn)完善的全雙工數(shù)據(jù)傳輸,并且是各種總線中的使用信號線數(shù)量最少的。I2C總線只有兩根信號線:數(shù)據(jù)線SDA和終線SCL。所有進入I2C總線系統(tǒng)中的設(shè)備都帶有I2C總線接口,是符合C總線電氣規(guī)范的特性,只需將I2C總線上所有的節(jié)點的串行數(shù)據(jù)線SDA和時鐘線SCL分別與總線的SDA和SCL相連即可。各節(jié)點供電是可以不同的,但需共地,另外SDA和SCL需
35、要分別接上拉電阻才可運行。 當(dāng)執(zhí)行數(shù)據(jù)傳送時,啟動數(shù)據(jù)發(fā)送并產(chǎn)生時鐘信號的器件稱為主器件;被尋址的任何器件都可看作從器件;發(fā)送數(shù)據(jù)到總線上的器件稱為發(fā)送器;從總線上接收數(shù)據(jù)的器件稱為接收器。I2C總線是一種多主機總線,可以有兩個或更多的能夠控制總線的器件與總線連接;同時I2C總線還具有仲裁功能,當(dāng)一個以上的主器件同時試圖控制總線時,只能允許其中一個有效,從而可以保證數(shù)據(jù)不被破壞.I2C總線的尋址采用純軟件的尋址方法,無需片選線的連接,這樣就可以簡少了總線數(shù)量。主機在發(fā)送完啟動信號后,立即發(fā)送尋址字節(jié)來尋址被控器件,并規(guī)定數(shù)據(jù)傳送方向。尋址字節(jié)由7位從機地址(D7D1)和1位方向位(D0,0/1
36、,讀/寫)組成。當(dāng)主機發(fā)送尋址字節(jié)時,總線上所有器件都將該尋址字節(jié)中的高7位地址與自己器件的地址比較,如果兩者相同,則該器件認(rèn)為被主機尋址,并根據(jù)讀/寫位確定是從發(fā)送器還是從接收器。I2C總線是具有多重主控能力的,這就意味著可以允許多個作為主控器的電路模塊(具有I2C總線接口的彈片機)去搶總線。因此掛接在I2C總線上的集成電路模塊的發(fā)送器/接收器可以根據(jù)不同的工作狀態(tài)反為主控發(fā)送器,主控接受器,被控發(fā)送器,被控接收器。所以具有I2C總線接口的單片機可以工作在上述4種工作狀態(tài)中的任一狀態(tài),而帶有I2C總線接口的存儲器(ARM或E2PROM)模塊只能充當(dāng)被控發(fā)送器和被控接收器。圖2-1-1顯示出了
37、帶有2個單片機和其他一些外圍電路模塊接入I2C總線的一個實例。在圖2-1-1中,若假設(shè)單片機A要向單片機B發(fā)送信息,單片機A首先作為主控器在I2C總線上發(fā)送起始信號和時鐘信號,尋址作為被控器的單片機B,并且確立信息傳送方向。然后單片機A作為主控發(fā)送器便可通過SDA線向被控接收器(單片機B)發(fā)送信息,并在信息發(fā)送完畢后發(fā)送終止信號,以結(jié)束信息的傳送過程。 圖2-1-1 : I2C總線典型系統(tǒng)示意圖 I2C總線為同步串行數(shù)據(jù)傳輸總線,用于單片機的外圍擴展。圖2-1-2中為I2C總線外圍擴展示意圖。圖中只表示出單片機應(yīng)用系統(tǒng)中常用的I2C總線外圍通用器件,外圍設(shè)備模塊,接口以及其他單片機節(jié)點。 圖2
38、-1-2 I2C總線外圍擴展示意圖2.2 C總線結(jié)構(gòu)C總線結(jié)構(gòu)很簡單,只有兩條線,包括一條數(shù)據(jù)線(SDA)和一條串行時鐘線(SCL)。具有C接口的器件可以通過這兩根線接到總線上,進行相互之間的信息傳遞。連接到總線的器件具有不同的地址,CPU根據(jù)不同的地址進行識別,從而實現(xiàn)對硬件系統(tǒng)簡單靈活的控制。一個典型的C總線應(yīng)用系統(tǒng)的組成結(jié)構(gòu)如下圖所示(假設(shè)圖中的微控制器、LCD驅(qū)動、E2PROM、ADC各器件都是具有C總線接口的器件):驅(qū)動、E2PROM、ADC各器件都是具有C總線接口的器件):圖2-2 C總線應(yīng)用系統(tǒng)的組成結(jié)構(gòu)圖我們知道單片機串行通訊的發(fā)送和接收一般都各用一條線TXD和RXD,而C總線
39、的數(shù)據(jù)線既可以發(fā)送也可以接受,工作方式可以通過軟件設(shè)置。所以,C總線結(jié)構(gòu)的硬件結(jié)構(gòu)是非常簡潔的。當(dāng)某器件向總線上發(fā)送信息時,它就是發(fā)送器,而當(dāng)其從總線上接收信息時,又成可以變?yōu)榻邮掌鳌?.3 C總線上的數(shù)據(jù)傳送下面我們看看C總線是如何進行數(shù)據(jù)傳送的。我們知道,在一根數(shù)據(jù)線上傳送數(shù)據(jù)時必須一位一位的進行,所以我們首先研究位傳送。2.3.1 位傳輸 C總線每傳送一位數(shù)據(jù)必須有一個時鐘脈沖。被傳送的數(shù)據(jù)在時鐘SCL的高電平期間保持穩(wěn)定,只有在SCL低電平期間才能夠改變,示意圖如下圖2-3-1所示,在標(biāo)準(zhǔn)模式下,高低電平寬度必須不小于4.7us。 圖2-3-1 C總線傳送數(shù)據(jù)時序圖那么是不是所有C總線
40、中的信號都必須符合上述的有效性呢?只有兩個例外,就是開始和停止信號。開始信號:當(dāng)SCL為高電平時,SDA發(fā)生從高到低的跳變,就定義為開始信號。停止信號:當(dāng)SCL為高電平時,SDA發(fā)生從低到高的跳變,就定義為結(jié)束信號。開始和結(jié)束信號的時序圖如下圖2-3-2所示:圖2-3-2 C總線傳送數(shù)據(jù)開始和結(jié)束信號的時序圖2.3.2 數(shù)據(jù)傳輸?shù)淖止?jié)格式SDA傳送數(shù)據(jù)是以字節(jié)為單位進行的。每個字節(jié)必須是8位,但是傳輸?shù)淖止?jié)數(shù)量不受限制,首先傳送的是數(shù)據(jù)的最高位。每次傳送一個字節(jié)完畢,必須接收到從機發(fā)出的一個應(yīng)答位,才能開始下一個字節(jié)的傳輸。如果沒有接受到應(yīng)答位,主機則產(chǎn)生一個停止條件結(jié)束本次的傳送。那么從機應(yīng)
41、該發(fā)出什么信號算是產(chǎn)生了應(yīng)答呢?這個過程是這樣的。當(dāng)主器件傳送一個字節(jié)后,在第9個SCL時鐘內(nèi)置高SDA線,而從器件的響應(yīng)信號將SDA拉低,從而給出一個應(yīng)答位。了解了I2C傳輸數(shù)據(jù)的格式,現(xiàn)在來研究雙方傳送的協(xié)議問題。2.4 C數(shù)據(jù)傳輸協(xié)議C總線的數(shù)據(jù)傳輸協(xié)議如下:(1)、主器件發(fā)出開始信號(2)、主器件發(fā)出第一個字節(jié),用來選通相應(yīng)的從器件。其中前7位為地址碼,第8位為方向位(R/W)。方向位為“0”表示發(fā)送,方向位為“1”表示接受。(3)、從機產(chǎn)生應(yīng)答信號,進入下一個傳送周期,如果從器件沒有給出應(yīng)答信號,此時主器件產(chǎn)生一個結(jié)束信號使得傳送結(jié)束,傳送數(shù)據(jù)無效。圖2-4 C總線數(shù)據(jù)的傳送過程圖(
42、4)、接下來主、從器件正式進行數(shù)據(jù)的傳送,這時在I2C總線上每次傳送的數(shù)據(jù)字節(jié)數(shù)不限,但每一個字節(jié)必須為8位(傳送的時候先送高位,再送低位)。當(dāng)一個字節(jié)傳送完畢時,再發(fā)送一個應(yīng)答位(第9位),如上一條所述,這樣每次傳送一個字節(jié)都需要9個時鐘脈沖。數(shù)據(jù)的傳送過程如下圖2-4所示2.5 串行EEPROM 24C02的硬件連接 如圖2-5所示,24C02與單片機AT89C52的連接采用的是I2C總線結(jié)構(gòu)。I2C總線是由串行數(shù)據(jù)線SDA和串行時鐘線SCL構(gòu)成的,所有的控制命令和數(shù)據(jù)傳輸均通過這兩條線傳輸。單片機AT89C52作為主器件,它在I2C總線上產(chǎn)生時鐘脈沖、尋址信號、起至信號;24C02作為從
43、器件,它通過串行數(shù)據(jù)線SDA和竄行時鐘線SCL與單片機AT89C52的引腳P36和P37相連。 24C02提供2KB串行EEPROM,內(nèi)部組態(tài)為256×8 B。A0、A1、A2為芯片的地址線,在使用中把這三條線接點。WP為低電平時,允許寫操作。 單片機AT89C52是一種低功耗、高性能的CMOS的8位微控制器,具有8 KB的可編程Flash存儲器,與工業(yè)8051產(chǎn)片的指令及各引腳完全兼容。 圖2-5 24C02與單片機的連接2.6 24C02芯片相關(guān)介紹24c01/24c02是一個1K/2K/4K/8K/16K 位串行CMOS E2PROM, 內(nèi)部含有128/256/512/1024
44、/2048個 8 位字節(jié),CATALYST 公司的先進CMOS 技術(shù)實質(zhì)上減少了器件的功耗。CAT24WC01 有一個8 字節(jié)頁寫緩沖器,24c01/24c02有一個16 字節(jié)頁寫緩沖器.該器件通過I2C 總線接口進行操作有一個專門的寫保護功能.、圖2-6-1 24C02芯片管腳及其描述AT24C02是帶有C總線接口的E2PROM存儲器,具有掉電記憶的功能,并且可以象普通RAM一樣用程序改寫。它的容量是256個字節(jié)(00h0ffh),有A2、A1、A0三位地址,可見C總線上可以連接8片AT24C02,它的尋址字節(jié)是1010 A2A1A0 R/W。圖2-6-2是DIP封裝的24C02與80C51
45、的接口方案。其中A0、A1、A2是芯片地址線,單片使用時接地;SCL是串行移位時鐘端;SDA是串行數(shù)據(jù)或地址端,CPU通過SDA訪問芯片;WP是寫保護端,接高電平時芯片只能讀。 圖2-6-2 24C02執(zhí)行寫操作時與80C51的接口2.7 EEPROM概述是一種可用電氣方法在線擦除和再編程的只讀存儲器.它既有RAM在連機操 作中可讀可改寫的特性,又具有非易失性存儲ROM在掉電后仍然能夠保持所存儲的數(shù)據(jù) 的優(yōu)點.寫入的數(shù)據(jù)在常溫下至少可以保持10年.圖 2-7 EEPROM內(nèi)部結(jié)構(gòu)框圖第三章 程序設(shè)計3.1 實驗電路圖圖3-1 程序設(shè)計電路圖3.2基于I2C總線的數(shù)據(jù)采集系統(tǒng)程序#include
46、<reg51.h>#include"intrins.h"#define uchar unsigned char #define uint unsigned int#defineOP1_READ0xa1/ 器件地址以及讀取操作,0xa1即為1010 0001B#defineOP1_WRITE 0xa0/ 器件地址以及寫入操作,0xa1即為1010 0000Bsbit SCL=P35; /將串行時鐘總線SCL位定義在為P35引腳sbit SDA=P36; /將串行數(shù)據(jù)總線SDA位定義在為P36引腳uchar disp_seg16=0x40,0xf9,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e; /共陽/*/void delay1ms()unsigned char i,j;for(i=0;i<10;i+)for(j=0;j<33;j+); /*函數(shù)功能:延時若干毫秒入口參數(shù):n*/void delaynms(unsigned char n)unsigned char i;for(i=0;i<n;i+) delay1ms();/*以下是對AT24C02的讀
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銀行儲蓄考試試題及答案
- 移動競聘考試試題及答案
- 宜賓月嫂考試試題及答案
- 六一兒童節(jié)小學(xué)活動方案
- 六一全民閱讀活動方案
- 六一外出安全活動方案
- 六一影樓新穎活動方案
- 六一活動做壽司活動方案
- 六一活動大堡礁活動方案
- 六一活動水席活動方案
- 應(yīng)急情況下的危險辨識與評估
- 施工現(xiàn)場的起重與吊裝安全管理
- 2024新人教版初中英語單詞表匯總(七-九年級)中考復(fù)習(xí)必背
- 診所中藥飲片清單
- 第四篇-皮膚科疾病臨床評分表
- 淺析韋伯《邀舞》
- 《城市地理學(xué)》課件
- 化工與安全工程
- 腦梗塞介入取栓護理查房課件
- 2024屆上海市普陀區(qū)上海師大附中化學(xué)高二下期末綜合測試試題含解析
- 循環(huán)經(jīng)濟產(chǎn)業(yè)鏈拓展項目商業(yè)計劃書
評論
0/150
提交評論