單片機(jī)原理:12-2串行擴(kuò)展技術(shù)-SPI-略_第1頁(yè)
單片機(jī)原理:12-2串行擴(kuò)展技術(shù)-SPI-略_第2頁(yè)
單片機(jī)原理:12-2串行擴(kuò)展技術(shù)-SPI-略_第3頁(yè)
單片機(jī)原理:12-2串行擴(kuò)展技術(shù)-SPI-略_第4頁(yè)
單片機(jī)原理:12-2串行擴(kuò)展技術(shù)-SPI-略_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第12章單片機(jī)的串行擴(kuò)展

技術(shù)112.2SPI總線串行擴(kuò)展 SPI(SerialPeriperalInterface)是Motorola公司推出的同步串行外設(shè)接口,允許單片機(jī)與多個(gè)廠家生產(chǎn)的帶有標(biāo)準(zhǔn)SPI接口的外圍設(shè)備直接連接,以串行方式交換信息。

圖12-3為SPI外圍串行擴(kuò)展結(jié)構(gòu)圖。SPI使用4條線:串行時(shí)鐘SCK,主器件輸入/從器件輸出數(shù)據(jù)線MISO,主器件輸出/從器件輸入數(shù)據(jù)線MOSI和從器件選擇線

。23圖12-3SPI外圍串行擴(kuò)展結(jié)構(gòu)圖 SPI典型應(yīng)用是單主系統(tǒng),一臺(tái)主器件,從器件通常是外圍接口器件,如存儲(chǔ)器、I/O接口、A/D、D/A、鍵盤(pán)、日歷/時(shí)鐘和顯示驅(qū)動(dòng)等。擴(kuò)展多個(gè)外圍器件時(shí),SPI無(wú)法通過(guò)數(shù)據(jù)線譯碼選擇,故外圍器件都有片選端

。在擴(kuò)展單個(gè)SPI器件時(shí),外圍器件的片選端

可以接地或通過(guò)I/O口控制;在擴(kuò)展多個(gè)SPI器件時(shí),單片機(jī)應(yīng)分別通過(guò)I/O口線來(lái)分時(shí)選通外圍器件。 在SPI串行擴(kuò)展系統(tǒng)中,如果某一從器件只作輸入(如鍵盤(pán))或只作輸出(如顯示器)時(shí),可省去一條數(shù)據(jù)輸出(MISO)線或一條數(shù)據(jù)輸入(MOSI)線,從而構(gòu)成雙線系統(tǒng)(

接地)。4 SPI系統(tǒng)中單片機(jī)對(duì)從器件的選通需控制其CS*端,由于省去傳輸時(shí)的地址字節(jié),數(shù)據(jù)傳送軟件十分簡(jiǎn)單。但在擴(kuò)展器件較多時(shí),需要控制較多的從器件

端,連線較多。 在SPI系統(tǒng)中,主器件單片機(jī)在啟動(dòng)一次傳送時(shí),便產(chǎn)生8個(gè)時(shí)鐘,傳送給接口芯片作為同步時(shí)鐘,控制數(shù)據(jù)的輸入和輸出。傳送格式是高位(MSB)在前,低位(LSB)在后,如圖12-4所示。輸出數(shù)據(jù)的變化以及輸入數(shù)據(jù)時(shí)的采樣,都取決于SCK。但對(duì)不同外圍芯片,可能是SCK的上升沿起作用,也可能是SCK的下降沿起作用。SPI有較高的數(shù)據(jù)傳輸速度,最高可達(dá)1.05Mbit/s。5

圖12-4

SPI數(shù)據(jù)傳送格式 Motorola提供了一系列具有SPI接口的單片機(jī)和外圍接口芯片,如存儲(chǔ)器MC2814、顯示驅(qū)動(dòng)器MC14499和MC14489等各種芯片。6 SPI從器件要具有SPI接口。主器件是單片機(jī)。目前已有許多機(jī)型的單片機(jī)都帶有SPI接口。但對(duì)AT89S51,由于不帶SPI接口,SPI接口的實(shí)現(xiàn),可采用軟件與I/O口結(jié)合來(lái)模擬SPI的接口時(shí)序。 【例12-2】

設(shè)計(jì)AT89S51單片機(jī)與串行A/D轉(zhuǎn)換器TLC2543的SPI接口。 TLC2543是美國(guó)TI公司的12位串行SPI接口的A/D轉(zhuǎn)換器,轉(zhuǎn)換時(shí)間為10μs。片內(nèi)有1個(gè)14路模擬開(kāi)關(guān),用來(lái)選擇11路模擬輸入以及3路內(nèi)部測(cè)試電壓中的1路進(jìn)行采樣。7

圖12-5為單片機(jī)與TLC2543的SPI接口電路。TLC2543的I/OCLOCK、DATAINPUT和

端由單片機(jī)的P1.0、P1.1和P1.3來(lái)控制。轉(zhuǎn)換結(jié)果的輸出數(shù)據(jù)(DATAOUT)由單片機(jī)的P1.2串行接收,單片機(jī)將命令字通過(guò)P1.1輸入到TLC2543的輸入寄存器中。 下面的子程序?yàn)锳T89S51選擇某一通道(例如AIN0通道)進(jìn)行1次數(shù)據(jù)采集,A/D轉(zhuǎn)換結(jié)果共12位,分兩次讀入。先讀入TLC2543中的8位轉(zhuǎn)換結(jié)果到單片機(jī)中,同時(shí)寫(xiě)入下一次轉(zhuǎn)換的命令,然后再讀入4位的轉(zhuǎn)換結(jié)果到單片機(jī)中。8 注意:TLC2543在每次I/O周期讀取的數(shù)據(jù)都是上次轉(zhuǎn)換的結(jié)果,當(dāng)前轉(zhuǎn)換結(jié)果要在下一個(gè)I/O周期中被串行移出。TLC2543A/D轉(zhuǎn)換的第1次讀數(shù)由于內(nèi)部調(diào)整,讀取的轉(zhuǎn)換結(jié)果可能不準(zhǔn)確,應(yīng)丟棄。

圖12-5AT89S51單片機(jī)與TLC2543的SPI接口9子程序如下:ADCOMD BYTE 6FH ;定義命令存儲(chǔ)單元

ADOUTH BYTE 6EH ;定義存儲(chǔ)轉(zhuǎn)換結(jié)果高4位單元ADOUTL BYTE 6DH ;定義存儲(chǔ)轉(zhuǎn)換結(jié)果低8位單元ADCONV:CLR P1.0 ;時(shí)鐘腳為低電平 CLR P1.3 ;片選

有效,選中TLC2543 MOV R2,#08H;送出下一次8位轉(zhuǎn)換命令和 ;讀8位轉(zhuǎn)換結(jié)果做準(zhǔn)備 MOV A,ADCOMD ;下一次轉(zhuǎn)換命令在ADCOMD ;單元中送ALOOP1:MOV C,P1.2 ;讀入1位轉(zhuǎn)換結(jié)果 RRC A ;1位轉(zhuǎn)換結(jié)果帶進(jìn)位位右移10

MOV P1.1,C ;送出命令字節(jié)中的1位 SETB P1.0 ;產(chǎn)生1個(gè)時(shí)鐘 NOP CLR P1.0 NOP DJNZ R2,LOOP1;是否完成8次轉(zhuǎn)換結(jié)果讀入和命 ;令輸出?未完則跳 MOV ADOUTL,A;讀8位轉(zhuǎn)換結(jié)果存入ADOUTL單元 MOV A,#00H ;A清0 MOV R2,#04H ;為讀入4位轉(zhuǎn)換結(jié)果做準(zhǔn)備11 SETB P1.0 ;產(chǎn)生1個(gè)時(shí)鐘 NOP CLR P1.0 NOP DJNZ R2,LOOP2 ;是否完成4次讀入?未完則跳 ;LOOP2 MOV ADOUTH,A ;高4位轉(zhuǎn)換結(jié)果存入 ;ADOUTH單元中的高4位 SWAP ADOUTH ;ADOUTH單元中的高4位與 ;低4位互換LOOP2:MOV C,P1.2 ;讀入高4位轉(zhuǎn)換結(jié)果中的1位 RRC A ;帶進(jìn)位位循環(huán)右移 SETB P1.0 ;時(shí)鐘無(wú)效 RET12 執(zhí)行上述程序中的8次循環(huán),執(zhí)行“RRCA”指令8次,每次讀入轉(zhuǎn)換結(jié)果1位,然后送出ADCOMD單元中的下一次轉(zhuǎn)換的命令字節(jié)“G7G6G5G4G3G2G1G0”中的1位,進(jìn)入TLC2543的輸入寄存器。 經(jīng)8次右移后,8位A/D轉(zhuǎn)換結(jié)果數(shù)據(jù)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論