日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

基于AVR單片機SPI的串行設計

出處:維庫電子市場網 發(fā)布于:2016-07-18 13:47:41

    1、AVR單片機的SPI接口
    SPI(SerialPeripheralINTERFACE---串行外設接口)總線系統(tǒng)是一種同步串行外設接口,允許MCU與各種外圍設備以串行方式進行通信、數據交換,廣泛應用于各種工業(yè)控制領域?;诖藰藴?,SPI系統(tǒng)可以直接于各個廠家生產的多種標準外圍器件直接接口。SPI接口通常包含有4根線:串行時鐘(SCK)、主機輸入/從機輸出數據線(MISO)、主機輸出/從機輸入數據線(MOSI)和低電平有效的從機選擇線SS。在從機選擇線SS使能的前提下,主機的SCK脈沖將在數據線上傳輸主/從機的串行數據。主/從機的典型連接圖如圖(1)所示:


    圖(1)主/從機的連接圖


    串行外設接口SPI允許ATmega16和外設之間進行高速的同步數據傳輸。ATmega16SPI的特點如下:全雙工,3線同步數據傳輸,主/從機操作,LSB首先發(fā)送或MSB首先發(fā)送,7種可編程的比特率,傳送中斷結束,寫碰撞標志檢測,可以從閑置模式喚醒,作為主機時具有雙速模式(CK/2)。
    如圖(2)所示,系統(tǒng)包括兩個移位寄存器和一個主時鐘發(fā)生器。通過將需要的從機的SS引腳拉低,主機啟動通信過程。主機和從機將需要的數據放到相應的移位寄存器,主機在SCK引腳上產生時鐘脈沖以交換數據。主機的數據從MOSI移出,從從機MISO移入。從機的數據從MISO移出,從從機MOSI移入。主機通過將從機的SS拉高實現與從機的同步。


    圖(2)SPI主機-從機的互連


    下面將介紹SPI的幾個特殊寄存器:
    1.1SPI的控制寄存器—SPCR


    SPIE為SPI中斷使能,置位后,只要SPSR寄存器的SPIF和SREG寄存器的全局中斷使能位置位,就會引發(fā)SPI中斷。SPE置位將使能SPI,DORD置位時數據的LSB首先發(fā)送;否則數據的MSB首先發(fā)送。MSTR置位時選擇主機模式,否則為從機。CPOL置位表示空閑SCK為高電平;否則空閑時SCK為低電平。CPHA決定數據是在SCK的起始沿采樣還是在SCK的結束沿采樣。通過對SPR1、SPR0進行設計,確定主機的SCK速率。
    1.2SPI的狀態(tài)寄存器—SPSR


    SPIF為中斷標志位,串行發(fā)送結束后,SPIF置位。若此時寄存器 SPCR的SPIE和全局中斷使能位置位,SPI中斷即產生。進入中斷例程后SPIF將自動清零。在發(fā)送當中對SPI數據寄存器SPDR寫數據將置位WCOL,SPI2X置位后SPI的速度加倍。
    1.3SPI的數據寄存器—SPDR


    SPDR數據寄存器為讀/寫寄存器,用來在寄存器文件SPI移位寄存器之間傳輸數據。寫寄存器將啟動數據傳輸,讀寄存器將讀取寄存器的接收緩沖器。SPI系統(tǒng)的發(fā)送方向只有一個緩沖器,而在接收方向有兩個緩沖器。也就是說,在發(fā)送時一定要等到移位過程全部結束后才能對SPI數據寄存器執(zhí)行寫操作。而在接收數據時,需要在下一個字符移位過程結束之前通過訪問SPI數據寄存器讀取當前接收到的字符。否則個字節(jié)將丟失。
    比起8051使用軟件模擬時序實現SPI功能來,AVR的硬件SPI實在是先進了許多。通過讀寫相應的寄存器就能輕松實現SPI的操作,使得編程變得更加方面。下面是使用AVR SPI的幾個步驟:
    首先,應設置相應管腳的讀寫寄存器以設定數據傳輸方向。在Mega16里,SPI的接口為以下管腳:PB4-PB7 (SS/MOSI/MISO/CLK)。如果工作在主模式則可以這么寫(PORTB=0xff; DDRB=0xBF; PB7(SCK):輸出 PB6(MISO):輸入 PB5(MOSI):輸出 PB4(SS):輸出)
    接著還需要設定SPI工作寄存器,控制的寄存器只有三個:SPDR(SPI數據寄存器)、SPCR(SPI控制寄存器)、SPSR(SPI狀態(tài)寄存器),其中SPDR是讀寫移位寄存器中的值,SPSR中包括了SPIE:SPI中斷使能位 SPE:SPI使能位 DORD:數據傳送從位或位開始MSTR:主從工作方式選擇 COPL/CPHA:時鐘極性相位選擇 SPR1/SPR0:時鐘速率選擇;SPSR中主要是幾個狀態(tài)標志位,用來做軟件查詢,SPIF:SPI中斷標志位 WCOL:沖則可以如下設置突標志位 如果使用的是軟件查詢, SPCR中只需要置SPE和MSTR兩位。
    隨后的工作就是往SPDR里讀寫數據,需要注意的是少讀寫一個Byte(8 bit)的數據,這和硬件的設計有關。在讀取數據前需要先寫入數據??梢宰x寫一個字節(jié),也可以塊讀寫,在OurAVR上的例程中這兩種方式均有.

關鍵詞:基于AVR單片機SPI的串行設計

版權與免責聲明

凡本網注明“出處:維庫電子市場網”的所有作品,版權均屬于維庫電子市場網,轉載請必須注明維庫電子市場網,http://www.hbjingang.com,違反者本網將追究相關法律責任。

本網轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品出處,并自負版權等法律責任。

如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯系,否則視為放棄相關權利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務:
賣家服務:
技術客服:

0571-85317607

網站技術支持

13606545031

客服在線時間周一至周五
9:00-17:30

關注官方微信號,
第一時間獲取資訊。

建議反饋

聯系人:

聯系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務的動力!意見一經采納,將有感恩紅包奉上哦!