影音先锋男人资源在线观看,精品国产日韩亚洲一区91,中文字幕日韩国产,2018av男人天堂,青青伊人精品,久久久久久久综合日本亚洲,国产日韩欧美一区二区三区在线

《單片機(jī)應(yīng)用技術(shù)》第9章.ppt

上傳人:san****019 文檔編號:15700014 上傳時(shí)間:2020-08-31 格式:PPT 頁數(shù):66 大?。?62.60KB
收藏 版權(quán)申訴 舉報(bào) 下載
《單片機(jī)應(yīng)用技術(shù)》第9章.ppt_第1頁
第1頁 / 共66頁
《單片機(jī)應(yīng)用技術(shù)》第9章.ppt_第2頁
第2頁 / 共66頁
《單片機(jī)應(yīng)用技術(shù)》第9章.ppt_第3頁
第3頁 / 共66頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《單片機(jī)應(yīng)用技術(shù)》第9章.ppt》由會員分享,可在線閱讀,更多相關(guān)《《單片機(jī)應(yīng)用技術(shù)》第9章.ppt(66頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、第9章 串行擴(kuò)展技術(shù),教學(xué)目的,了解串行擴(kuò)展的分類和特點(diǎn)。 了解Microware、1-wire、USB和CAN總線。 掌握I2C總線的原理。 掌握SPI總線的原理。,學(xué)習(xí)重點(diǎn)和難點(diǎn),I2C總線的軟件模擬。 SPI總線的軟件模擬。,第9章 串行擴(kuò)展技術(shù),9.1 串行擴(kuò)展概述 9.2 UART串行擴(kuò)展接口 9.3 I2C串行擴(kuò)展總線 9.4 SPI串行擴(kuò)展接口 本章小結(jié) 習(xí)題,9.1 串行擴(kuò)展概述,9.1.1 串行擴(kuò)展的種類 9.1.2 串行擴(kuò)展的特點(diǎn),,9.1.1 串行擴(kuò)展的種類,新一代單片機(jī)技術(shù)的顯著特點(diǎn)之一就是串行擴(kuò)展總線和接口的推出。常用的串行擴(kuò)展總線和接口有I2C總線、SPI總線、Mi

2、croware總線、1-wire總線和CAN總線等。 (1)UART串行擴(kuò)展接口 (Universal Asynchronous Receiver/Transmitter) UART通用異步收發(fā)器,既能同步又能異步通信的硬件電路稱為UART。UART是用于控制計(jì)算機(jī)與串行設(shè)備的芯片,它提供了RS232C數(shù)據(jù)終端設(shè)備接口,這樣計(jì)算機(jī)就可以和調(diào)制解調(diào)器或其它使用RS232C接口的串行設(shè)備通信了。,9.1.1 串行擴(kuò)展的種類,(2)I2C(Inter Integrated Circuit)串行擴(kuò)展總線 I2C總線是Philip公司推出的芯片間串行傳輸總線。它用兩根線實(shí)現(xiàn)了完善的全雙工同步數(shù)據(jù)傳

3、送,可以極為方便地構(gòu)成多機(jī)系統(tǒng)和外圍器件擴(kuò)展系統(tǒng)。 (3)SPI(Serial Peripheral Interface) 串行擴(kuò)展接口 SPI總線是Motorola公司提出的一種同步串行外設(shè)接口。允許MCU與各種外圍設(shè)備以同步串行方式進(jìn)行通信。其外圍設(shè)備種類繁多,從最簡單的TTL移位寄存器到復(fù)雜的LCD顯示驅(qū)動(dòng)器、網(wǎng)絡(luò)控制器等,可謂應(yīng)有盡有。,9.1.1 串行擴(kuò)展的種類,(4)Microware串行擴(kuò)展接口 Microware總線是NS公司提出的串行同步雙工通信接口,用于8位COP800系列單片機(jī)和16位HPC系列單片機(jī)。 (5)單總線(1-wire)串行擴(kuò)展總線 1-wire總線是D

4、allas公司研制開發(fā)的一種協(xié)議,用于便攜式儀表和現(xiàn)場監(jiān)控系統(tǒng)。 (6)USB(Universal Serial BUS)串行擴(kuò)展總線 USB總線是Compaq、Intel、Microsoft、NEC等公司聯(lián)合制定的一種計(jì)算機(jī)串行通信協(xié)議。,9.1.1 串行擴(kuò)展的種類,(7)CAN(Controller Area Network)串行擴(kuò)展總線 CAN總線是德國Bosch公司最先提出的多主機(jī)局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。最初,CAN被設(shè)計(jì)作為汽車環(huán)境中的微控制器通信,在車載各電子控制裝置ECU之間交換信息,形成汽車電子控制網(wǎng)絡(luò)。比如:發(fā)動(dòng)機(jī)管理系統(tǒng)、變速箱控制器、儀表裝備。,9.

5、1.2 串行擴(kuò)展的特點(diǎn),串行擴(kuò)展總線技術(shù)是新一代單片機(jī)技術(shù)發(fā)展的一個(gè)顯著特點(diǎn)。與并行擴(kuò)展總線相比,串行擴(kuò)展總線有電路結(jié)構(gòu)簡單,程序編寫方便,易于實(shí)現(xiàn)用戶系統(tǒng)軟硬件的模塊化、標(biāo)準(zhǔn)化等優(yōu)點(diǎn)。 常用串行擴(kuò)展總線和接口的特點(diǎn)簡要說明如下: (1)UART串行擴(kuò)展接口 UART接口是二線制,8051單片機(jī)的UART既能作通用異步接收和發(fā)送器,又能作同步移位寄存器。它可以實(shí)現(xiàn)8051單片機(jī)系統(tǒng)之間點(diǎn)對點(diǎn)的單機(jī)通信或多機(jī)通信,也可以實(shí)現(xiàn)擴(kuò)展I/O口。,9.1.2 串行擴(kuò)展的特點(diǎn),(2)I2C總線 I2C總線是二線制,采用器件地址的硬件設(shè)置方法,通過軟件尋址完全避免了器件的片選線尋址方法,從而使硬件系統(tǒng)

6、具有簡單靈活的擴(kuò)展方法。I2C總線簡單,結(jié)構(gòu)緊湊,易于實(shí)現(xiàn)模塊化和標(biāo)準(zhǔn)化。 (3)SPI串行擴(kuò)展接口 SPI總線是三線制,可直接與多種標(biāo)準(zhǔn)外圍器件直接接口,在SPI從設(shè)備較少而沒有總線擴(kuò)展能力的單片機(jī)系統(tǒng)中使用特別方便。即使在有總線擴(kuò)展能力的系統(tǒng)中采用SPI設(shè)備也可以簡化電路設(shè)計(jì),省掉很多常規(guī)電路中的接口器件,從而提高了設(shè)計(jì)的可靠性。,9.1.2 串行擴(kuò)展的特點(diǎn),(4)Microware串行擴(kuò)展接口 Microware總線是三線制,由一根數(shù)據(jù)輸出(SO)線、一根數(shù)據(jù)輸入(SI)線和一根時(shí)鐘(SK)線組成。所有從器件的時(shí)鐘線連接到同一根SK線上,主器件向SK線發(fā)送時(shí)鐘脈沖信號,從器件在時(shí)鐘信

7、號的同步沿輸出/輸入數(shù)據(jù)。主器件的數(shù)據(jù)輸出線SO和所有從器件的數(shù)據(jù)輸入線相接,從器件的數(shù)據(jù)輸出線都接到主器件的數(shù)據(jù)輸入線SI上。 (5)1-wire總線 1-wire總線是利用一根線實(shí)現(xiàn)雙向通信,由一個(gè)總線主節(jié)點(diǎn)、一個(gè)或多個(gè)從節(jié)點(diǎn)組成系統(tǒng),通過一根信號線對從芯片進(jìn)行數(shù)據(jù)的讀取。每一個(gè)符合1-wire協(xié)議的從芯片都有一個(gè)唯一的地址,包括8位分類碼、48位的序列號和8位CRC代碼。主芯片對各個(gè)從芯片的尋找依據(jù)這64位的不同來進(jìn)行。單總線節(jié)省I/O引腳資源、結(jié)構(gòu)簡單、成本低廉、便于總線擴(kuò)展和維護(hù)。,9.1.2 串行擴(kuò)展的特點(diǎn),(6)USB串行擴(kuò)展接口 USB比較于其他傳統(tǒng)接口的一個(gè)優(yōu)勢是即插即用的

8、實(shí)現(xiàn),即插即用(Plug-and-Play)也稱為熱插拔(Hot Plugging)。數(shù)據(jù)傳輸速度快,USB1.1接口的最高傳輸率可達(dá)12 Mb/s;USB2.0接口的最高傳輸率可達(dá)480 Mb/s。擴(kuò)展方便,使用USB Hub擴(kuò)展,可以連接127個(gè)USB設(shè)備,連接的方式十分靈活。 (7)CAN總線 在由CAN 總線構(gòu)成的單一網(wǎng)絡(luò)中,理論上可以掛接無數(shù)個(gè)節(jié)點(diǎn)。實(shí)際應(yīng)用中,節(jié)點(diǎn)數(shù)目受網(wǎng)絡(luò)硬件的電氣特性所限制。CAN 可提供高達(dá)1Mbit/s的數(shù)據(jù)傳輸速率,這使實(shí)時(shí)控制變得非常容易。另外,硬件的錯(cuò)誤檢定特性也增強(qiáng)了CAN的抗電磁干擾能力。當(dāng)信號傳輸距離達(dá)到10km時(shí),CAN 仍可提供高達(dá)50Kb

9、it/s的數(shù)據(jù)傳輸速率。,9.2 UART串行擴(kuò)展接口,9.2.1 串行口工作方式 9.2.2 UART串行擴(kuò)展應(yīng)用實(shí)例,,9.2.1 串行口工作方式,串行口有四種工作方式,每一種工作方式都有自己的特點(diǎn)。其中方式0是8位同步通信方式,用于串/并或并/串轉(zhuǎn)換中,常用的串/并轉(zhuǎn)換芯片有74LS164和并/串轉(zhuǎn)換芯片74LS165等。 74LS164 是一個(gè)雙列直插式8位串入/并出移位寄存器,其引腳如下圖所示。其引腳定義如下: A:同步串行數(shù)據(jù)輸入端 B:同步串行數(shù)據(jù)輸入端 Q0Q7:8位并行數(shù)據(jù)輸出端 CK:時(shí)鐘脈沖輸入端 CLR:數(shù)據(jù)清除端(清除輸出數(shù)據(jù),通常用在移位完成時(shí)) GND:接地端 V

10、CC:電源端,9.2.1 串行口工作方式,74LS165 是一個(gè)雙列直插式8位并入/串出移位寄存器,其引腳如下圖所示。 其引腳定義如下: LD:重新裝載數(shù)據(jù)端(通常用在數(shù)據(jù)完全移出后) CK:內(nèi)部數(shù)據(jù)移位時(shí)鐘脈沖輸入端 D0D7:并行數(shù)據(jù)輸入端 Q11:取反串行輸出端 GND:接地端 Q11:串行輸出端 SE:用于填充數(shù)據(jù)移出后的空位的邏輯電平信號 COK:和CK聯(lián)合控制數(shù)據(jù)移動(dòng) VCC:電源端,9.2.1 串行口工作方式,,,74LS164引腳圖 74LS165引腳圖,9.2.2 UART串行擴(kuò)展應(yīng)用實(shí)例,【例1】 利用74LS164串行輸入并行輸出芯片作一個(gè)簡單的電子鐘,要

11、求四個(gè)數(shù)碼管顯示時(shí)鐘;其中LED1顯示小時(shí)的十位,LED2顯示小時(shí)的個(gè)位,LED3顯示分鐘的十位,LED4顯示分鐘的個(gè)位。 解:原理圖如下圖,采用單片機(jī)的串行口輸出字形碼,用74LS164和74LS138作為擴(kuò)展芯片。 74LS164的功能是將AT89C2051串行通信口輸出的串行數(shù)據(jù)譯碼并在其并口線上輸出,從而驅(qū)動(dòng)LED數(shù)碼管。 74LS138是一個(gè)3線-8線譯碼器,它將單片機(jī)輸出的地址信號譯碼后動(dòng)態(tài)驅(qū)動(dòng)相應(yīng)的LED。因74LS138電流驅(qū)動(dòng)能力較小,故用末級驅(qū)動(dòng)三極管9013作為地址驅(qū)動(dòng)。將4只LED的字段位都連在一起,它們的公共端則由74LS138分時(shí)選通,這樣任何一個(gè)時(shí)刻,都只有一

12、位LED在點(diǎn)亮,也即動(dòng)態(tài)掃描顯示方式,其優(yōu)點(diǎn)使用串行口進(jìn)行LED通信程序編寫相當(dāng)簡單,用戶只需將需顯示的數(shù)據(jù)直接送串口發(fā)送緩沖器,等待串行中斷即可。,9.2.2 UART串行擴(kuò)展應(yīng)用實(shí)例,,串行動(dòng)態(tài)LED掃描電路,P3.2 P3.3,TX RX,9.2.2 UART串行擴(kuò)展應(yīng)用實(shí)例,下面是一個(gè)簡單的動(dòng)態(tài)掃描程序,如果再利用上第六章的定時(shí)器就可做成一個(gè)完整的電子鐘,四個(gè)數(shù)碼管顯示為00:00這種形式。在本例中冒號就不顯示出來了,分別用20H、21H、22H、23H地址存放時(shí)間的時(shí)鐘的十位、時(shí)鐘的個(gè)位、分鐘的十位、分鐘的個(gè)位。用中斷方式做一個(gè)不帶時(shí)鐘芯片的電子鐘,請讀者自己完成。,9.2.2 UA

13、RT串行擴(kuò)展應(yīng)用實(shí)例,參考程序:,9.2.2 UART串行擴(kuò)展應(yīng)用實(shí)例,參考程序:,9.3 I2C串行擴(kuò)展總線,9.3.1 I2C總線的結(jié)構(gòu)原理 9.3.2 I2C總線的軟件模擬 9.3.3 I2C串行擴(kuò)展應(yīng)用實(shí)例,,9.3.1 I2C總線的結(jié)構(gòu)原理,I2C總線是芯片間串行傳輸總線。它用數(shù)據(jù)線SDA和時(shí)鐘線SCL兩根線實(shí)現(xiàn)全雙工同步數(shù)據(jù)傳送,可方便地構(gòu)成多機(jī)系統(tǒng)和外圍器件擴(kuò)展系統(tǒng)。 I2C總線采用了器件地址的硬件設(shè)置方法,通過軟件尋址完全避免了器件的片選線尋址方法,從而使硬件系統(tǒng)具有簡單靈活的擴(kuò)展方法。 按照I2C總線規(guī)范,總線傳輸中的所有狀態(tài)都生成相對應(yīng)的狀態(tài)碼,系統(tǒng)中的主機(jī)能夠依照這些狀態(tài)

14、碼自動(dòng)地進(jìn)行總線管理,用戶只要在程序中裝入這些標(biāo)準(zhǔn)處理模塊,根據(jù)數(shù)據(jù)操作要求完成I2C總線的初始化,啟動(dòng)I2C總線,就能自動(dòng)完成規(guī)定的數(shù)據(jù)傳送操作。,9.3.1 I2C總線的結(jié)構(gòu)原理,,I2C總線接口電路結(jié)構(gòu),9.3.1 I2C總線的結(jié)構(gòu)原理,I2C總線接口為開漏或開集電極輸出,需加上拉電阻。 系統(tǒng)中所有的單片機(jī)、外圍器件都將數(shù)據(jù)線SDA和時(shí)鐘線SCL的同名端相連在一起,總線上的所有節(jié)點(diǎn)都由器件和管腳給定地址。 系統(tǒng)中可以直接連接具有I2C總線接口的單片機(jī),也可以通過總線擴(kuò)展芯片或I/O口的軟件仿真與I2C總線相連。 在I2C總線上可以掛接各種類型的外圍器件,如RAM/EEPROM、日歷/時(shí)鐘

15、芯片、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器、以及由I/O口、顯示驅(qū)動(dòng)器構(gòu)成的各種模塊。,9.3.1 I2C總線的結(jié)構(gòu)原理,SDA 和SCL 都是雙向線路,都通過一個(gè)電流源或上拉電阻連接到正的電源電壓;當(dāng)總線空閑時(shí),這兩條線路都是高電平;連接到總線的器件輸出級必須是漏極開路或集電極開路才能執(zhí)行線與的功能。 I2C 總線上數(shù)據(jù)的傳輸速率 在標(biāo)準(zhǔn)模式下可達(dá)100kbit/s。 在快速模式下可達(dá)400kbit/s。 在高速模式下可達(dá)3.4Mbit/s 。 連接到總線的接口數(shù)量只由總線電容是400pF 的限制決定關(guān)于高速模式主機(jī)器件的信息。,9.3.1 I2C總線的結(jié)構(gòu)原理,I2C總線上數(shù)據(jù)傳送的基本單位為字節(jié),

16、采用低位在前的格式。主從器件之間一次傳輸?shù)臄?shù)據(jù)稱為一幀,由啟動(dòng)信號、若干個(gè)數(shù)據(jù)字節(jié)和應(yīng)答位以及停止信號組成。 I2C的主要命令只有讀、寫兩種,雖然讀寫的字節(jié)根據(jù)具體器件的不同而不同,但其時(shí)序關(guān)系不會發(fā)生改變。 下位機(jī)只要具備I2C的基本時(shí)序即可。 這些基本時(shí)序包括:啟動(dòng)、寫字節(jié)、讀字節(jié)、應(yīng)答位、停止信號,并可以組合成兩個(gè)子程序:讀N字節(jié)子程序、寫N字節(jié)子程序。,9.3.1 I2C總線的結(jié)構(gòu)原理,I2C總線最顯著的特點(diǎn)是規(guī)范的完整性、結(jié)構(gòu)的獨(dú)立性和用戶使用時(shí)的“傻瓜”化。 I2C總線有嚴(yán)格的規(guī)范,如接口的電氣特性、信號時(shí)序、信號傳輸?shù)亩x、總線狀態(tài)設(shè)置、總線管理規(guī)則及總線狀態(tài)處理等。 在I2C總

17、線規(guī)范中,總線上的器件節(jié)點(diǎn)的電氣特性及地址給定都具有較強(qiáng)的獨(dú)立性,而且各節(jié)點(diǎn)上的器件、模塊都有相對獨(dú)立的地址編號。 嚴(yán)格、完善的規(guī)范,并將這些規(guī)范的應(yīng)用盡可能“傻瓜”化,除了有充分的硬件支持外,在軟件方面,Philips公司為用戶提供了一套完善的總線狀態(tài)處理軟件包,以致于用戶可以不去熟悉I2C總線的規(guī)范,不去理睬總線的管理方法,只要掌握I2C總線的應(yīng)用程序設(shè)計(jì)方法就可方便地使用I2C總線,并且能很快地掌握I2C總線系統(tǒng)的軟、硬件設(shè)計(jì)方法。,9.3.2 I2C總線的軟件模擬,1.產(chǎn)生起始位和停止位 I2C總線的起始和停止條件如下圖所示。 分別用P1.0和P1.1模擬I2C總線的時(shí)鐘線和數(shù)

18、據(jù)線,則可給時(shí)鐘線SCL和數(shù)據(jù)線SDA賦值。程序如下:,,9.3.2 I2C總線的軟件模擬,2.發(fā)送起始條件 當(dāng)時(shí)鐘SCL為高電平時(shí),數(shù)據(jù)線SDA從高電平向低電平切換表示起始條件,即啟動(dòng)I2C總線數(shù)據(jù)傳送。模擬時(shí)序產(chǎn)生時(shí)鐘SCL和SDA發(fā)送的起始條件子程序如下: 使用不同頻率的晶體振蕩器,則要相應(yīng)增刪程序段中NOP指令的條數(shù),以滿足時(shí)序的要求。,,9.3.2 I2C總線的軟件模擬,3.發(fā)送停止條件 當(dāng)時(shí)鐘SCL為高電平時(shí),數(shù)據(jù)線SDA由低電平向高電平切換表示停止條件,即停止I2C總線數(shù)據(jù)傳送。模擬時(shí)序產(chǎn)生時(shí)鐘SCL和SDA發(fā)送的停止條件子程序如下: 使用不同頻率的晶體振蕩器,則要相應(yīng)增刪

19、程序段中NOP指令的條數(shù),以滿足時(shí)序的要求。,,9.3.2 I2C總線的軟件模擬,4.發(fā)送應(yīng)答位、非應(yīng)答位子程序 I2C總線上的第9個(gè)時(shí)鐘脈沖對應(yīng)于應(yīng)答位,當(dāng)該位為低電平表示應(yīng)答ACK,當(dāng)該位為高電平表示非應(yīng)答ACK。 I2C總線的應(yīng)答位和非應(yīng)答位如下圖所示。發(fā)送ACK和ACK子程序如下。,,,,,SDA,SCL,9.3.2 I2C總線的軟件模擬,(1) 發(fā)送應(yīng)答位ACK 由上圖可知,當(dāng)發(fā)送應(yīng)答位ACK時(shí),只需將SDA設(shè)為低電平、SCL設(shè)為高電平,其區(qū)間的長短根據(jù)晶振的頻率確定,即改變下列子程序中的NOP數(shù)即可達(dá)到要求,發(fā)送ACK子程序如下:,,,9.3.2 I2C總線的軟件模擬,(2) 發(fā)

20、送非應(yīng)答位 由上圖可知,當(dāng)發(fā)送非應(yīng)答位ACK時(shí),只需將SDA設(shè)為高電平、SCL設(shè)為高電平,其區(qū)間的長短根據(jù)晶振的頻率確定,即改變下列子程序中的NOP數(shù)即可達(dá)到要求,發(fā)送ACK子程序如下:,,,,,9.3.2 I2C總線的軟件模擬,5.應(yīng)答位檢查子程序 根據(jù)I2C總線協(xié)議,在接收到一個(gè)字節(jié)后,要發(fā)送一個(gè)應(yīng)答位以供檢查,此時(shí)可設(shè)置一個(gè)標(biāo)志位表示應(yīng)答狀態(tài)。當(dāng)檢查結(jié)果為正常應(yīng)答時(shí),則標(biāo)志位置0;否則,標(biāo)志位置0。應(yīng)答位檢查子程序如下:,,,9.3.2 I2C總線的軟件模擬,6.字節(jié)數(shù)據(jù)發(fā)送子程序 根據(jù)I2C總線協(xié)議,數(shù)據(jù)在時(shí)鐘線為低電平時(shí)變化,高電平時(shí)穩(wěn)定,每一個(gè)時(shí)鐘脈沖傳送一位。模擬I2C總線的S

21、DA接在并行口線,并口中無移位寄存器,要通過指令完成移位后再從SDA串行輸出。I2C總線的字節(jié)數(shù)據(jù)傳送如下圖所示。將待發(fā)送的字節(jié)存于累加器A中,字節(jié)數(shù)據(jù)發(fā)送子程序如下:,,,,9.3.2 I2C總線的軟件模擬,,,,字節(jié)數(shù)據(jù)發(fā)送子程序,9.3.2 I2C總線的軟件模擬,7.字節(jié)數(shù)據(jù)接收子程序 根據(jù)I2C總線協(xié)議,數(shù)據(jù)必須在時(shí)鐘處于高電平期間,數(shù)據(jù)穩(wěn)定時(shí)才能讀取數(shù)據(jù),在經(jīng)過八次的時(shí)鐘轉(zhuǎn)換后,讀出八位即一個(gè)字節(jié)數(shù)據(jù)。I2C總線起始字節(jié)如下圖所示。將讀出的字節(jié)數(shù)據(jù)存于R5中,接收字節(jié)數(shù)據(jù)子程序如下:,,,,,9.3.2 I2C總線的軟件模擬,,,,接收字節(jié)數(shù)據(jù)子程序,9.3.2 I2C總線的軟件模擬

22、,8.多個(gè)字節(jié)數(shù)據(jù)發(fā)送子程序 在完成上述模擬子程序后,根據(jù)I2C總線協(xié)議,可編寫多個(gè)字節(jié)數(shù)據(jù)發(fā)送子程序。要發(fā)送的字節(jié)數(shù)存放在R5中,要發(fā)送的數(shù)據(jù)塊的第一個(gè)數(shù)據(jù)的地址為40H,外圍器件的地址存放在60H中,參考程序如下:,,,,,9.3.2 I2C總線的軟件模擬,9.多個(gè)字節(jié)數(shù)據(jù)接收子程序 根據(jù)I2C總線協(xié)議,同樣可編寫多個(gè)字節(jié)數(shù)據(jù)接收子程序。要接收的字節(jié)數(shù)存放在R5中,要接收的數(shù)據(jù)塊存放的首地址為50H,外圍器件的地址存放在60H中,參考程序如下:,,,,,9.3.3 I2C串行擴(kuò)展應(yīng)用實(shí)例,【例2】 將AT89C2051片內(nèi)RAM40H47H單元中的八個(gè)8位數(shù)據(jù)通過I2C總線接口傳送到存

23、儲器AT24C01的50H57H單元中。 解:AT24C01是Atmel公司生產(chǎn)的具有I2C總線接口的E2PROM,是目前應(yīng)用較多的AT24C系列存儲器中的一種,芯片存儲容量為1Kb(1288位)。AT24C01引腳如下圖所示。 其引腳定義如下: SCL:串行時(shí)鐘端。 SDA:串行數(shù)據(jù)端,漏極開路, 需接上拉電阻到VCC。 WP:寫保護(hù), 當(dāng)WP為高電平時(shí)存儲器只讀; 當(dāng)WP為低電平時(shí)存儲器可讀可寫。 A2A0:芯片地址。,,9.3.3 I2C串行擴(kuò)展應(yīng)用實(shí)例,AT89C2051與AT24C01通過串行總線接口傳送數(shù)據(jù)的接線如下圖所示。因AT89C2051沒有I2C總線接口,可用軟件的

24、辦法來模擬I2C總線操作。P1.0模擬I2C總線的時(shí)鐘線SCL,P1.1模擬I2C總線的數(shù)據(jù)線SDA。,,AT89C2051與AT24C01的接口接線,9.3.3 I2C串行擴(kuò)展應(yīng)用實(shí)例,AT24C01的讀寫操作有多種形式,寫操作有兩種類型:字節(jié)寫和頁面寫;讀操作有三種類型:讀當(dāng)前地址內(nèi)容、讀隨機(jī)地址內(nèi)容和讀順序地址內(nèi)容。 AT24C01寫N個(gè)字節(jié)數(shù)據(jù)的操作時(shí)序如下圖所示, AT24C01讀N個(gè)字節(jié)數(shù)據(jù)的操作時(shí)序如下圖所示。,,9.3.3 I2C串行擴(kuò)展應(yīng)用實(shí)例,上圖中器件地址說明如下: 器件地址碼的第74位從器件地址位,用于確認(rèn)器件的類型。 AT24C01的器件地址碼為1010,1

25、010 表示從器件為串行E2PROM。 器件地址碼的第31位18片的片選或存儲器內(nèi)的頁面地址選擇位。此三個(gè)控制位用于選片或者內(nèi)部頁面選擇。 如在存儲容量8Kb(10248位)的AT24C08內(nèi)部,存儲矩陣分為4個(gè)頁面,每一頁面有256個(gè)字節(jié)。通過器件地址碼的第2位和第1位,可以選擇數(shù)據(jù)讀寫的頁面。 器件地址碼的第0位讀、寫(R/W)操作控制碼。若此位為1,下一字節(jié)進(jìn)行讀操作(R);此位為0,下一字節(jié)進(jìn)行寫操作(W)。,,9.3.3 I2C串行擴(kuò)展應(yīng)用實(shí)例,編程說明: AT24C01每接收一個(gè)字節(jié)后,都必須發(fā)送一個(gè)確認(rèn)應(yīng)答信號位ACK,即時(shí)序中的響應(yīng)信號。此時(shí)AT89C2051必須產(chǎn)生一個(gè)與此

26、確認(rèn)位相應(yīng)的時(shí)鐘脈沖。 AT24C01在讀寫操作時(shí),具有地址自動(dòng)加1功能,即讀、寫完某一地址空間后,會自動(dòng)指向下一個(gè)地址單元。 將AT89C2051片內(nèi)RAM40H47H單元中的八個(gè)8位數(shù)據(jù)通過I2C總線接口傳送到存儲器AT24C01的50H57H單元中,參考子程序如下。 程序中用到的子程序均為9.3.2節(jié)所編寫的模擬I2C總線的子程序。,,參考子程序,,9.4 SPI串行擴(kuò)展接口,9.4.1 SPI總線的結(jié)構(gòu)原理 9.4.2 SPI總線的軟件模擬 9.4.3 SPI串行擴(kuò)展應(yīng)用實(shí)例,,9.4.1 SPI總線的結(jié)構(gòu)原理,SPI總線系統(tǒng)是一種同步串行外設(shè)接口,允許MCU與各種外圍設(shè)備以同步串行方

27、式進(jìn)行通信來交換信息。 SPI總線接口一般使用4根線:串行時(shí)鐘線SCK、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI和低電平有效的從機(jī)選擇線SS。 由于SPI系統(tǒng)總線只需3根公共的時(shí)鐘數(shù)據(jù)線和若干位獨(dú)立的從機(jī)選擇線,在SPI從設(shè)備較少而沒有總線擴(kuò)展能力的單片機(jī)系統(tǒng)中使用特別方便。 SPI總線包括1根串行同步時(shí)鐘信號線以及2根數(shù)據(jù)線。SPI總線接口電路結(jié)構(gòu)如下圖所示。,9.4.1 SPI總線的結(jié)構(gòu)原理,,SPI總線接口電路結(jié)構(gòu),9.4.1 SPI總線的結(jié)構(gòu)原理,SPI模塊為了和外設(shè)進(jìn)行數(shù)據(jù)交換,根據(jù)外設(shè)工作要求,其輸出的串行同步時(shí)鐘極性和相位可以進(jìn)行配置。 時(shí)鐘極性(CPO

28、L)對傳輸協(xié)議沒有重大的影響。 如果CPOL=0,串行同步時(shí)鐘的空閑狀態(tài)為低電平; 如果CPOL=1,串行同步時(shí)鐘的空閑狀態(tài)為高電平。 時(shí)鐘相位(CPHA)能夠用于選擇兩種不同的傳輸協(xié)議進(jìn)行數(shù)據(jù)傳輸。 如果CPHA=0,在串行同步時(shí)鐘的第一個(gè)跳變沿(上升或下降)數(shù)據(jù)被采樣; 如果CPHA=1,在串行同步時(shí)鐘的第二個(gè)跳變沿(上升或下降)數(shù)據(jù)被采樣。 SPI主模塊和與之通信的外設(shè)間時(shí)鐘相位和極性應(yīng)該一致。,9.4.1 SPI總線的結(jié)構(gòu)原理,特點(diǎn):由于SPI系統(tǒng)總線一共只需34位數(shù)據(jù)線和控制線即可實(shí)現(xiàn)與具有SPI總線接口功能的各種I/O器件進(jìn)行連接,而擴(kuò)展并行總線則需要8根數(shù)據(jù)線、816位地址線、2

29、3位控制線,因此,采用SPI總線接口可以簡化電路設(shè)計(jì),節(jié)省很多常規(guī)電路中的接口器件和I/O口線,提高設(shè)計(jì)的可靠性。 應(yīng)用:在MCS51系列等不具有SPI接口的單片機(jī)組成的智能儀器和工業(yè)測控系統(tǒng)中,當(dāng)傳輸速度要求不是太高時(shí),使用SPI總線可以增加應(yīng)用系統(tǒng)接口器件的種類,提高應(yīng)用系統(tǒng)的性能。,9.4.2 SPI總線的軟件模擬,對于沒有提供SPI接口的單片機(jī)而言,通??墒褂密浖霓k法來模擬SPI的總線操作,包括串行時(shí)鐘、數(shù)據(jù)輸入和輸出。 Atmel公司生產(chǎn)的EEPROM具有SPI接口,存儲容量為4Kb的AT25040就有SPI接口,MCS51系列單片機(jī)與AT25010的SPI總線接口接線如下圖所示。

30、 圖中,P1.0模擬SPI的數(shù)據(jù)輸出端(MOSI),P1.1模擬SPI的SCK輸出端,P1.2模擬SPI的從機(jī)選擇端(SS),P1.3模擬SPI的數(shù)據(jù)輸入端(MISO)。下面給出模擬SPI串行輸入、串行輸出和串行輸入/輸出的3個(gè)子程序。,,1. MCU串行輸入子程序SPIIN 從AT25040的SO端接收8位數(shù)據(jù)并放入寄存器R0中。參考程序如下:,,2. MCU串行輸出子程序SPIOUT 將MCS51單片機(jī)中R0寄存器的內(nèi)容傳送到AT25040的SI端。參考程序如下:,,3. MCU串行輸入/輸出子程序SPIIO 將MCS51單片機(jī)R0寄存器的內(nèi)容傳送到AT25040的SI端,同時(shí)從

31、AT25040的SO端接收8位數(shù)據(jù)。參考程序如下:,,9.4.2 SPI總線的軟件模擬,這些子程序適用于在串行時(shí)鐘的上升沿輸入和下降沿輸出的各種串行外圍接口芯片(如D/A和A/D轉(zhuǎn)換芯片、實(shí)時(shí)時(shí)鐘芯片、LED顯示驅(qū)動(dòng)芯片等)。 對于下降沿輸入、上升沿輸出的各種串行外圍接口芯片,只要改變P1.1的輸出電平順序,這些子程序也同樣適用。如先置P1.1為低電平,之后再次置P1.1為高電平,再置P1.1為低電平等等。,,9.4.3 SPI串行擴(kuò)展應(yīng)用實(shí)例,【例3】 將AT89C2051片內(nèi)RAM30H、31H單元中的16位數(shù)據(jù)通過SPI總線接口傳送到數(shù)/模轉(zhuǎn)換器TLC5615。 解:TLC5615是3線

32、串行總線接口10位電壓輸出數(shù)/模轉(zhuǎn)換器,它既可與單片機(jī)的SPI總線接口相連接,又可與單片機(jī)的Microwire總線接口相連接。TLC5615內(nèi)部結(jié)構(gòu)如下圖所示。,9.4.3 SPI串行擴(kuò)展應(yīng)用實(shí)例,,TLC5615內(nèi)部結(jié)構(gòu),9.4.3 SPI串行擴(kuò)展應(yīng)用實(shí)例,TLC5615通過固定增益為2的運(yùn)放緩沖電阻網(wǎng)絡(luò),把10位數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換為模擬電壓。在TLC5615芯片上電時(shí),內(nèi)部電路把D/A寄存器復(fù)位為0。其輸出具有與基準(zhǔn)輸入相同的極性,表達(dá)式為 VO=2REFCODE/1024 其中,CMOD是通過串行總線接口輸入的待轉(zhuǎn)換的數(shù)據(jù);REF是基準(zhǔn)電壓。 TLC5615最大的串行時(shí)鐘速率不超過14M

33、Hz,10位DAC的建立時(shí)間為12.5s,通常更新速率限制至80kHz以內(nèi)。 TLC5615的16位移位寄存器在SCLK的控制下從DIN引腳輸入數(shù)據(jù),高位在前,低位在后。16位移位寄存器中間的10位數(shù)據(jù)在上升沿的作用下輸入10位的D/A寄存器供給D/A轉(zhuǎn)換。,9.4.3 SPI串行擴(kuò)展應(yīng)用實(shí)例,AT89C2051與TLC5615通過串行總線接口傳送8位數(shù)據(jù)的接線如下圖所示。 因AT89C2051沒有SPI接口,可用軟件的辦法來模擬SPI的總線操作。P1.1模擬SPI的數(shù)據(jù)輸出端(MOSI),P1.2模擬SPI的SCK輸出端,P1.2模擬SPI的從機(jī)選擇端(SS);TLC5615是數(shù)/模轉(zhuǎn)換器

34、,不會向AT89C2051發(fā)送數(shù)據(jù),故不需要模擬SPI的數(shù)據(jù)輸入端(MISO)。,,9.4.3 SPI串行擴(kuò)展應(yīng)用實(shí)例,AT89C2051將片內(nèi)RAM30H、31H單元中的16位數(shù)據(jù)傳送到TLC5615的參考程序如下:,,9.4.3 SPI串行擴(kuò)展應(yīng)用實(shí)例,,參考程序,本章小結(jié),單片機(jī)中目前常用的串行擴(kuò)展總線和接口可分為以下幾類:UART串行擴(kuò)展接口、I2C總線、SPI總線、Microware總線、1-wire總線、USB總線和CAN總線。 I2C總線是芯片間串行傳輸總線。它用兩根線實(shí)現(xiàn)全雙工同步數(shù)據(jù)傳送,可方便地構(gòu)成多機(jī)系統(tǒng)和外圍器件擴(kuò)展系統(tǒng)。I2C總線簡單,結(jié)構(gòu)緊湊,易于實(shí)現(xiàn)模塊化和標(biāo)準(zhǔn)化

35、。 SPI總線是同步串行外設(shè)接口。允許MCU與各種外圍設(shè)備以同步串行方式進(jìn)行通信來交換信息。可直接與多種標(biāo)準(zhǔn)外圍器件直接接口,采用SPI設(shè)備可簡化電路設(shè)計(jì)。 模擬I2C總線的應(yīng)用程序可使沒有I2C總線的單片機(jī)也能使用I2C總線技術(shù)。模擬SPI總線的應(yīng)用程序也可使沒有SPI總線的單片機(jī)也能使用I2C總線技術(shù)。 CAN總線是多主機(jī)局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。 USB總線是計(jì)算機(jī)串行通信協(xié)議。是即插即用的,數(shù)據(jù)傳輸速度快,擴(kuò)展方便,連接的方式十分靈活。 Microware總線是串行同步雙工通訊接口。1-wire總線也是一種串行通信協(xié)議。,,習(xí) 題,1. 串行擴(kuò)展與并行擴(kuò)展相比的主要優(yōu)點(diǎn)是什么? 2. 簡述I2C總線的數(shù)據(jù)傳輸方法。 3. 常用模擬I2C總線的應(yīng)用子程序有哪些? 4. 簡述SPI總線的數(shù)據(jù)傳輸方法。 5. 常用模擬SPI總線的應(yīng)用子程序有哪些?,,Q & A?Thanks!,,

展開閱讀全文
溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!