<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          PIC16F877 MSSP模塊之SPI通信

          作者: 時(shí)間:2016-11-24 來(lái)源:網(wǎng)絡(luò) 收藏
          SPI模式允許同時(shí)、同步發(fā)送和接收 8位數(shù)據(jù)。支持 SPI的所有四種模式。一般用以下三個(gè)引腳來(lái)完成通信:

          • 串行數(shù)據(jù)輸出 (SDO)
          • 串行數(shù)據(jù)輸入 (SDI)
          • 串行時(shí)鐘 (SCK)

          本文引用地址:http://www.ex-cimer.com/article/201611/320862.htm

          當(dāng)工作在從動(dòng)模式時(shí),可能還需要第 4個(gè)引腳:
          • 從動(dòng)選擇 (SS)

          結(jié)構(gòu)框圖

          SSP模塊由一個(gè)發(fā)送/接收移位寄存器(SSPSR)和一個(gè)緩沖寄存器(SSPBUF)組成。SSPSR用于器件輸入和輸出數(shù)據(jù)的移位,高位在前。在新的數(shù)據(jù)接收完畢前,SSPBUF保存上次寫入SSPSR的數(shù)據(jù)。一旦8位新數(shù)據(jù)接收完畢,該字節(jié)被送入SSPBUF寄存器。同時(shí)緩沖區(qū)滿標(biāo)志位BF(SSPSTAT <0>)和中斷標(biāo)志位 SSPIF置1。這種雙重緩沖接收方式,允許接收數(shù)據(jù)被讀走之前,開始接收下一個(gè)數(shù)據(jù)。在數(shù)據(jù)發(fā)送/接收期間,任何試圖寫SSPBUF寄存器的操作都無(wú)
          效,卻會(huì)將寫沖突檢測(cè)位WCOL(SSPCON<7>)置1。此時(shí)用戶必須用軟件將WCOL位清零,以判別下一次對(duì)SSPBUF的寫操作是否成功完成。為確保應(yīng)用軟件有效地接收數(shù)據(jù),應(yīng)該在新數(shù)據(jù)寫入SSPBUF之前,將SSPBUF中的數(shù)據(jù)讀走。
          緩沖區(qū)滿標(biāo)志位BF(SSPSTAT<0>)用于表示SSPBUF是否已經(jīng)載入了接收的數(shù)據(jù)(發(fā)送完成)。當(dāng)SSPBUF中的數(shù)據(jù)被讀取后,BF位即被清零。如果SPI僅僅作為一個(gè)發(fā)送器,則不必理會(huì)這一位。通??捎肧SP中斷來(lái)判斷發(fā)送或接收是否完成。如果需要接收數(shù)據(jù),可從SSPBUF中讀取。SSP中斷一般用來(lái)確定發(fā)送/接收何時(shí)完成。必須對(duì)SSPBUF進(jìn)行讀和/寫。如果不打算使用中斷方法,用軟件查詢方法同樣可確保不會(huì)發(fā)生寫沖突。

          主控模式的操作
          因?yàn)橹骺刂破骺刂浦鳶CK信號(hào),所以它可以在任何時(shí)候啟動(dòng)數(shù)據(jù)傳輸,同時(shí)主控制器通過(guò)軟件協(xié)議來(lái)決定從控制器何時(shí)發(fā)送數(shù)據(jù)。在主控模式下,數(shù)據(jù)一旦寫入SSPBUF就開始發(fā)送或接收。如果SPI僅作為接收器,則SDO輸出可以禁止(將其設(shè)置為輸入口 )。SSPSR寄存器按編程設(shè)置的時(shí)鐘速率,對(duì)SDI引腳上的信號(hào)進(jìn)行連續(xù)地移位輸入,每接收完一個(gè)字節(jié),都把其送入 SSPBUF,就象普通的接收字節(jié)一樣(相應(yīng)的中斷和狀態(tài)位置1)。這在作為“在線主動(dòng)監(jiān)控”方式的接收器應(yīng)用中是很有用的。時(shí)鐘極性可通過(guò)對(duì)SSPCON寄存器的CKP位(SSPCON<4>)進(jìn)行適當(dāng)?shù)木幊虂?lái)設(shè)定。在主控模式下,SPI 時(shí)鐘速率(位速率)可由用戶編程設(shè)定為下面幾種方式之一 :
          •FOSC/4 (或 TCY)
          •FOSC/16 (或 4 • TCY)
          •FOSC/64 (或 16 • TCY)
          定時(shí)器2 輸出 /2
          這里允許的最大數(shù)據(jù)速率是8.25 Mbps(當(dāng)晶振為 20 MHz時(shí) )。圖 17-6 給出了主控模式的時(shí)序圖。當(dāng)CKE位置1時(shí),SDO數(shù)據(jù)在SCK的第一個(gè)時(shí)鐘邊沿前就有效。圖中所示輸入采樣的變化則由SMP位的狀態(tài)決定。圖中同時(shí)給出了何時(shí)將接收到的數(shù)據(jù)寫入SSPBUF。

          典型應(yīng)用




          關(guān)鍵詞: PIC16F877MSSP模塊SPI通

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();