版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第12章單片機的串行擴展
技術112.2SPI總線串行擴展 SPI(SerialPeriperalInterface)是Motorola公司推出的同步串行外設接口,允許單片機與多個廠家生產(chǎn)的帶有標準SPI接口的外圍設備直接連接,以串行方式交換信息。
圖12-3為SPI外圍串行擴展結構圖。SPI使用4條線:串行時鐘SCK,主器件輸入/從器件輸出數(shù)據(jù)線MISO,主器件輸出/從器件輸入數(shù)據(jù)線MOSI和從器件選擇線
。23圖12-3SPI外圍串行擴展結構圖 SPI典型應用是單主系統(tǒng),一臺主器件,從器件通常是外圍接口器件,如存儲器、I/O接口、A/D、D/A、鍵盤、日歷/時鐘和顯示驅動等。擴展多個外圍器件時,SPI無法通過數(shù)據(jù)線譯碼選擇,故外圍器件都有片選端
。在擴展單個SPI器件時,外圍器件的片選端
可以接地或通過I/O口控制;在擴展多個SPI器件時,單片機應分別通過I/O口線來分時選通外圍器件。 在SPI串行擴展系統(tǒng)中,如果某一從器件只作輸入(如鍵盤)或只作輸出(如顯示器)時,可省去一條數(shù)據(jù)輸出(MISO)線或一條數(shù)據(jù)輸入(MOSI)線,從而構成雙線系統(tǒng)(
接地)。4 SPI系統(tǒng)中單片機對從器件的選通需控制其CS*端,由于省去傳輸時的地址字節(jié),數(shù)據(jù)傳送軟件十分簡單。但在擴展器件較多時,需要控制較多的從器件
端,連線較多。 在SPI系統(tǒng)中,主器件單片機在啟動一次傳送時,便產(chǎn)生8個時鐘,傳送給接口芯片作為同步時鐘,控制數(shù)據(jù)的輸入和輸出。傳送格式是高位(MSB)在前,低位(LSB)在后,如圖12-4所示。輸出數(shù)據(jù)的變化以及輸入數(shù)據(jù)時的采樣,都取決于SCK。但對不同外圍芯片,可能是SCK的上升沿起作用,也可能是SCK的下降沿起作用。SPI有較高的數(shù)據(jù)傳輸速度,最高可達1.05Mbit/s。5
圖12-4
SPI數(shù)據(jù)傳送格式 Motorola提供了一系列具有SPI接口的單片機和外圍接口芯片,如存儲器MC2814、顯示驅動器MC14499和MC14489等各種芯片。6 SPI從器件要具有SPI接口。主器件是單片機。目前已有許多機型的單片機都帶有SPI接口。但對AT89S51,由于不帶SPI接口,SPI接口的實現(xiàn),可采用軟件與I/O口結合來模擬SPI的接口時序。 【例12-2】
設計AT89S51單片機與串行A/D轉換器TLC2543的SPI接口。 TLC2543是美國TI公司的12位串行SPI接口的A/D轉換器,轉換時間為10μs。片內(nèi)有1個14路模擬開關,用來選擇11路模擬輸入以及3路內(nèi)部測試電壓中的1路進行采樣。7
圖12-5為單片機與TLC2543的SPI接口電路。TLC2543的I/OCLOCK、DATAINPUT和
端由單片機的P1.0、P1.1和P1.3來控制。轉換結果的輸出數(shù)據(jù)(DATAOUT)由單片機的P1.2串行接收,單片機將命令字通過P1.1輸入到TLC2543的輸入寄存器中。 下面的子程序為AT89S51選擇某一通道(例如AIN0通道)進行1次數(shù)據(jù)采集,A/D轉換結果共12位,分兩次讀入。先讀入TLC2543中的8位轉換結果到單片機中,同時寫入下一次轉換的命令,然后再讀入4位的轉換結果到單片機中。8 注意:TLC2543在每次I/O周期讀取的數(shù)據(jù)都是上次轉換的結果,當前轉換結果要在下一個I/O周期中被串行移出。TLC2543A/D轉換的第1次讀數(shù)由于內(nèi)部調(diào)整,讀取的轉換結果可能不準確,應丟棄。
圖12-5AT89S51單片機與TLC2543的SPI接口9子程序如下:ADCOMD BYTE 6FH ;定義命令存儲單元
ADOUTH BYTE 6EH ;定義存儲轉換結果高4位單元ADOUTL BYTE 6DH ;定義存儲轉換結果低8位單元ADCONV:CLR P1.0 ;時鐘腳為低電平 CLR P1.3 ;片選
有效,選中TLC2543 MOV R2,#08H;送出下一次8位轉換命令和 ;讀8位轉換結果做準備 MOV A,ADCOMD ;下一次轉換命令在ADCOMD ;單元中送ALOOP1:MOV C,P1.2 ;讀入1位轉換結果 RRC A ;1位轉換結果帶進位位右移10
MOV P1.1,C ;送出命令字節(jié)中的1位 SETB P1.0 ;產(chǎn)生1個時鐘 NOP CLR P1.0 NOP DJNZ R2,LOOP1;是否完成8次轉換結果讀入和命 ;令輸出?未完則跳 MOV ADOUTL,A;讀8位轉換結果存入ADOUTL單元 MOV A,#00H ;A清0 MOV R2,#04H ;為讀入4位轉換結果做準備11 SETB P1.0 ;產(chǎn)生1個時鐘 NOP CLR P1.0 NOP DJNZ R2,LOOP2 ;是否完成4次讀入?未完則跳 ;LOOP2 MOV ADOUTH,A ;高4位轉換結果存入 ;ADOUTH單元中的高4位 SWAP ADOUTH ;ADOUTH單元中的高4位與 ;低4位互換LOOP2:MOV C,P1.2 ;讀入高4位轉換結果中的1位 RRC A ;帶進位位循環(huán)右移 SETB P1.0 ;時鐘無效 RET12 執(zhí)行上述程序中的8次循環(huán),執(zhí)行“RRCA”指令8次,每次讀入轉換結果1位,然后送出ADCOMD單元中的下一次轉換的命令字節(jié)“G7G6G5G4G3G2G1G0”中的1位,進入TLC2543的輸入寄存器。 經(jīng)8次右移后,8位A/D轉換結果數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人版權質押合同(2024版)2篇
- 語言認知托班課程設計
- 閱讀與寫作課程設計
- 陷波器課程設計模擬電子
- 車道荷載計算課程設計
- 走向小學游戲課程設計
- 金筆作文課程設計
- 藍牙音箱設計課程設計
- 車輛保安課程設計案例
- 申論規(guī)范用詞課程設計
- 小學美術課堂案例分析
- 企業(yè)管理干股入股合作協(xié)議書
- 2024年社區(qū)工作者考試必背1000題題庫【含答案】
- AIOT智能物聯(lián)產(chǎn)業(yè)學院建設方案
- 2024年全國高考物理電學實驗真題(附答案)
- 護士培訓課件:醫(yī)療護士法律法規(guī)應知應會
- 《陶瓷裝飾?彩繪》課程標準
- 三年級上冊口算練習1000道三附答案
- T-902 千分尺內(nèi)校報告
- 強奸罪起訴狀
- 部編二上語文第四單元美麗中國 公開課一等獎創(chuàng)新教學設計
評論
0/150
提交評論