




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國(guó)電建合同范本
- 烹飪?cè)现R(shí)練習(xí)題庫(kù)(附答案)
- 個(gè)人廣告公司年終總結(jié)
- 修路購(gòu)銷合同范本
- 小學(xué)英語(yǔ)職稱考試試卷
- 作坊小廠轉(zhuǎn)讓合同范本
- 上半年工作總結(jié)和下半年工作計(jì)劃
- 醫(yī)生專家聘用合同范本
- 南京 汽車(chē)銷售合同范本
- 個(gè)人經(jīng)營(yíng)合作合同范本
- GB/T 3274-2017碳素結(jié)構(gòu)鋼和低合金結(jié)構(gòu)鋼熱軋鋼板和鋼帶
- GB/T 18318-2001紡織品織物彎曲長(zhǎng)度的測(cè)定
- 《企業(yè)員工培訓(xùn)國(guó)內(nèi)外文獻(xiàn)綜述》4800字
- 麻醉藥品與精神藥品不良反應(yīng)的防治 (1) - 副本課件
- 車(chē)輛保險(xiǎn)登記臺(tái)賬參考模板范本
- 礦山道路施工組織設(shè)計(jì)方案
- 正弦函數(shù)的圖像與性質(zhì)優(yōu)秀課件
- 山東省任氏宗親分布村落
- 北師大版小學(xué)數(shù)學(xué)五年級(jí)下冊(cè)《有趣的折疊》說(shuō)課稿
- 陜西省建設(shè)工程長(zhǎng)安杯獎(jiǎng)省優(yōu)質(zhì)工程結(jié)構(gòu)備案和復(fù)查的要求
- 典型示功圖分析(全)
評(píng)論
0/150
提交評(píng)論