日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]十、ATMEGA16的同步串行接口十—(01)、ATMEGA16的同步串行接口的介紹1、ATMEGA16的SPI特點(diǎn)串行外設(shè)接口SPI 允許ATmega16 和外設(shè)或其他AVR 器件進(jìn)行高速的同步數(shù)據(jù)傳輸。ATmega16 SPI 的特點(diǎn)如下:? 全雙工, 3 線同

十、ATMEGA16的同步串行接口

十—(01)、ATMEGA16的同步串行接口的介紹

1、ATMEGA16的SPI特點(diǎn)

串行外設(shè)接口SPI 允許ATmega16 和外設(shè)或其他AVR 器件進(jìn)行高速的同步數(shù)據(jù)傳輸。
ATmega16 SPI 的特點(diǎn)如下:
? 全雙工, 3 線同步數(shù)據(jù)傳輸
? 主機(jī)或從機(jī)操作
? LSB 首先發(fā)送或MSB 首先發(fā)送
? 7 種可編程的比特率
? 傳輸結(jié)束中斷標(biāo)志
? 寫(xiě)碰撞標(biāo)志檢測(cè)
? 可以從閑置模式喚醒
? 作為主機(jī)時(shí)具有倍速模式(CK/2)



2、主機(jī)與從機(jī)之間的SPI連接以及原理

主機(jī)和從機(jī)之間的SPI 連接如Figure 66 所示。 系統(tǒng)包括兩個(gè)移位寄存器和一個(gè)主機(jī)時(shí)鐘
發(fā)生器。通過(guò)將需要的從機(jī)的 SS 引腳拉低,主機(jī)啟動(dòng)一次通訊過(guò)程。主機(jī)和從機(jī)將需要
發(fā)送的數(shù)據(jù)放入相應(yīng)的移位寄存器。主機(jī)在SCK 引腳上產(chǎn)生時(shí)鐘脈沖以交換數(shù)據(jù)。主機(jī)
的數(shù)據(jù)從主機(jī)的MOSI 移出,從從機(jī)的MOSI 移入;從機(jī)的數(shù)據(jù)從從機(jī)的MISO 移出,從
主機(jī)的MISO 移入。主機(jī)通過(guò)將從機(jī)的SS 拉高實(shí)現(xiàn)與從機(jī)的同步。
配置為SPI 主機(jī)時(shí), SPI 接口不自動(dòng)控制 SS 引腳,必須由用戶軟件來(lái)處理。(還有~~就是主機(jī)和從機(jī)的兩個(gè)移位寄存器可以被認(rèn)定為一個(gè)公開(kāi)的16位環(huán)形移位寄存器)對(duì) SPI 數(shù)
據(jù)寄存器寫(xiě)入數(shù)據(jù)即啟動(dòng)SPI 時(shí)鐘,將8 比特的數(shù)據(jù)移入從機(jī)。傳輸結(jié)束后SPI 時(shí)鐘停
止,傳輸結(jié)束標(biāo)志SPIF 置位。如果此時(shí)SPCR 寄存器的SPI 中斷使能位SPIE 置位,中
斷就會(huì)發(fā)生。主機(jī)可以繼續(xù)往SPDR 寫(xiě)入數(shù)據(jù)以移位到從機(jī)中去,或者是將從機(jī)的SS 拉
高以說(shuō)明數(shù)據(jù)包發(fā)送完成。最后進(jìn)來(lái)的數(shù)據(jù)將一直保存于緩沖寄存器里。

配置為從機(jī)時(shí),只要SS 為高,SPI 接口將一直保持睡眠狀態(tài),并保持MISO 為三態(tài)。在
這個(gè)狀態(tài)下軟件可以更新SPI 數(shù)據(jù)寄存器SPDR 的內(nèi)容。即使此時(shí)SCK 引腳有輸入時(shí)
鐘,SPDR 的數(shù)據(jù)也不會(huì)移出,直至SS 被拉低。一個(gè)字節(jié)完全移出之后,傳輸結(jié)束標(biāo)志
SPIF置位。如果此時(shí)SPCR寄存器的SPI中斷使能位SPIE置位,就會(huì)產(chǎn)生中斷請(qǐng)求。在讀
取移入的數(shù)據(jù)之前從機(jī)可以繼續(xù)往SPDR 寫(xiě)入數(shù)據(jù)。最后進(jìn)來(lái)的數(shù)據(jù)將一直保存于緩沖
寄存器里。



SPI 系統(tǒng)的發(fā)送方向只有一個(gè)緩沖器,而在接收方向有兩個(gè)緩沖器。也就是說(shuō),在發(fā)送時(shí)
一定要等到移位過(guò)程全部結(jié)束后才能對(duì)SPI 數(shù)據(jù)寄存器執(zhí)行寫(xiě)操作。而在接收數(shù)據(jù)時(shí),需
要在下一個(gè)字符移位過(guò)程結(jié)束之前通過(guò)訪問(wèn)SPI 數(shù)據(jù)寄存器讀取當(dāng)前接收到的字符。否則
第一個(gè)字節(jié)將丟失。
工作于SPI 從機(jī)模式時(shí),控制邏輯對(duì)SCK 引腳的輸入信號(hào)進(jìn)行采樣。為了保證對(duì)時(shí)鐘信
號(hào)的正確采樣, SPI 時(shí)鐘不能超過(guò)fosc/4。



下面的例程說(shuō)明如何將SPI 初始化為主機(jī),以及如何進(jìn)行簡(jiǎn)單的數(shù)據(jù)發(fā)送。例子中
DDR_SPI必須由實(shí)際的數(shù)據(jù)方向寄存器代替;DD_MOSI、DD_MISO和DD_SCK必須由

實(shí)際的數(shù)據(jù)方向代替。比如說(shuō), MOSI 為PB5 引腳,則DD_MOSI 要用DDB5 取代,
DDR_SPI 則用DDRB 取代。

void SPI_MasterInit(void)
{

DDR_SPI = (1<
SPCR = (1<}
void SPI_MasterTransmit(char cData)
{

SPDR = cData;

while(!(SPSR & (1<;
}

void SPI_SlaveInit(void)
{

DDR_SPI = (1<
SPCR = (1<}
char SPI_SlaveReceive(void)
{

while(!(SPSR & (1<;

return SPDR;
}

3、SS 引腳的功能

從機(jī)模式

當(dāng)SPI 配置為主機(jī)時(shí),從機(jī)選擇引腳SS 總是為輸入。SS 為低將激活SPI 接口, MISO
成為輸出( 用戶必須進(jìn)行相應(yīng)的端口配置) 引腳,其他引腳成為輸入引腳。當(dāng)SS 為高時(shí)
所有的引腳成為輸入, SPI 邏輯復(fù)位,不再接收數(shù)據(jù)。
SS引腳對(duì)于數(shù)據(jù)包/字節(jié)的同步非常有用,可以使從機(jī)的位計(jì)數(shù)器與主機(jī)的時(shí)鐘發(fā)生器同
步。當(dāng)SS 拉高時(shí)SPI從機(jī)立即復(fù)位接收和發(fā)送邏輯,并丟棄移位寄存器里不完整的數(shù)據(jù)。
主機(jī)模式

當(dāng)SPI 配置為主機(jī)時(shí)(MSTR 的SPCR 置位),用戶可以決定SS 引腳的方向。
若SS 配置為輸出,則此引腳可以用作普通的I/O 口而不影響SPI 系統(tǒng)。典型應(yīng)用是用來(lái)
驅(qū)動(dòng)從機(jī)的SS 引腳。
如果SS 配置為輸入,必須保持為高以保證SPI 的正常工作。若系統(tǒng)配置為主機(jī), SS 為
輸入,但被外設(shè)拉低,則SPI 系統(tǒng)會(huì)將此低電平解釋為有一個(gè)外部主機(jī)將自己選擇為從
機(jī)。為了防止總線沖突, SPI 系統(tǒng)將實(shí)現(xiàn)如下動(dòng)作:
1. 清零SPCR 的MSTR 位,使SPI 成為從機(jī),從而MOSI 和SCK 變?yōu)檩斎搿?br/>2. SPSR 的SPIF 置位。若SPI 中斷和全局中斷開(kāi)放,則中斷服務(wù)程序?qū)⒌玫綀?zhí)行。
因此,使用中斷方式處理SPI 主機(jī)的數(shù)據(jù)傳輸,并且存在SS 被拉低的可能性時(shí),中斷服
務(wù)程序應(yīng)該檢查MSTR 是否為"1”。若被清零,用戶必須將其置位,以重新使能SPI 主機(jī)
模式。

4、SPI的相關(guān)寄存器

1)SPI控制寄存器



? Bit 7 – SPIE: 使能SPI 中斷
置位后,只要SPSR 寄存器的SPIF 和SREG 寄存器的全局中斷使能位置位,就會(huì)引發(fā)
SPI 中斷。
? Bit 6 – SPE: 使能SPI
SPE 置位將使能SPI。進(jìn)行任何SPI 操作之前必須置位SPE。
? Bit 5 – DORD: 數(shù)據(jù)次序
DORD 置位時(shí)數(shù)據(jù)的LSB 首先發(fā)送;否則數(shù)據(jù)的MSB 首先發(fā)送。
? Bit 4 – MSTR: 主/ 從選擇
MSTR置位時(shí)選擇主機(jī)模式,否則為從機(jī)。如果MSTR為"1”,SS配置為輸入,但被拉低,
則MSTR 被清零,寄存器SPSR 的SPIF 置位。用戶必須重新設(shè)置MSTR 進(jìn)入主機(jī)模式。

? Bit 3 – CPOL: 時(shí)鐘極性
CPOL 置位表示空閑時(shí)SCK 為高電平;否則空閑時(shí)SCK 為低電平。請(qǐng)參考 Figure 67 與
Figure 68。 CPOL 功能總結(jié)如下:



? Bit 2 – CPHA: 時(shí)鐘相位
CPHA 決定數(shù)據(jù)是在SCK 的起始沿采樣還是在SCK 的結(jié)束沿采樣。請(qǐng)參考Figure 67 與
Figure 68 。



? Bits 1, 0 – SPR1, SPR0: SPI 時(shí)鐘速率選擇1 與0
確定主機(jī)的SCK 速率。SPR1 和SPR0 對(duì)從機(jī)沒(méi)有影響。SCK 和振蕩器的時(shí)鐘頻率fosc
關(guān)系如下表所示:


2)SPI狀態(tài)寄存器



? Bit 7 – SPIF: SPI 中斷標(biāo)志
串行發(fā)送結(jié)束后,SPIF 置位。若此時(shí)寄存器SPCR 的SPIE 和全局中斷使能位置位,SPI
中斷即產(chǎn)生。如果SPI 為主機(jī), SS 配置為輸入,且被拉低, SPIF 也將置位。進(jìn)入中斷
服務(wù)程序后SPIF自動(dòng)清零?;蛘呖梢酝ㄟ^(guò)先讀SPSR,緊接著訪問(wèn)SPDR來(lái)對(duì)SPIF清零。
? Bit 6 – WCOL: 寫(xiě)碰撞標(biāo)志
在發(fā)送當(dāng)中對(duì)SPI 數(shù)據(jù)寄存器SPDR寫(xiě)數(shù)據(jù)將置位WCOL。WCOL可以通過(guò)先讀SPSR,
緊接著訪問(wèn)SPDR 來(lái)清零。
? Bit 5..1 – Res: 保留
保留位,讀操作返回值為零。
? Bit 0 – SPI2X: SPI 倍速
置位后SPI 的速度加倍。若為主機(jī)( 見(jiàn) Table 58),則SCK 頻率可達(dá)CPU 頻率的一半。
若為從機(jī),只能保證fosc /4。

3)SPI 數(shù)據(jù)寄存器- SPDR


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

引言   現(xiàn)場(chǎng)總線作為生產(chǎn)過(guò)程自動(dòng)化發(fā)展的重點(diǎn),對(duì)推動(dòng)自動(dòng)化技術(shù)起到巨大的推動(dòng)作用,是現(xiàn)代化工業(yè)的標(biāo)志。MODBUS作為現(xiàn)場(chǎng)總線的一種通信協(xié)議,它實(shí)現(xiàn)了PLC控制器、工控儀表與設(shè)備間的通

關(guān)鍵字: avr單片機(jī) 智能控制系統(tǒng) modbus協(xié)議

一、項(xiàng)目概述 1.1 引言 溫室是一種可以改變植物生長(zhǎng)環(huán)境、為植物生長(zhǎng)創(chuàng)造最佳條件、避免外界四季變化和惡劣氣候?qū)ζ溆绊懙膱?chǎng)所。它以采光覆蓋材料作為全部或部分結(jié)構(gòu)材料,可在冬季或其

關(guān)鍵字: avr單片機(jī)

一、項(xiàng)目概述 1.1 引言 隨著社會(huì)的發(fā)展,高層建筑和智能化建筑的不斷出現(xiàn),作為垂直運(yùn)輸工具的電梯得到了越來(lái)越廣泛的應(yīng)用,人們對(duì)電梯服務(wù)質(zhì)量及可靠運(yùn)行提出了越來(lái)越高的要求。在20

關(guān)鍵字: avr單片機(jī) 節(jié)能電梯

VR給人一種沉浸感,具有傳統(tǒng)娛樂(lè)方式不可比擬的優(yōu)勢(shì)。理想的VR讓人分不清現(xiàn)實(shí)和虛擬,VR領(lǐng)路人相信VR能夠改變?nèi)藗兊纳罘绞健? 過(guò)去的時(shí)間,那些VR領(lǐng)域的佼佼者們有兩件事做得非常好:一是

關(guān)鍵字: avr單片機(jī)

什么是AVR單片機(jī)?應(yīng)該如何取學(xué)習(xí)?學(xué)習(xí)單片機(jī)的小伙伴都知道,衡量單片機(jī)性能好壞的指標(biāo)主要有:可靠性好、功能強(qiáng)、高速度、低功耗和低價(jià)位,依靠這幾點(diǎn),作為單片機(jī)家族中性能較高的AVR,你真的能理解嗎?

關(guān)鍵字: AVR avr單片機(jī) 寄存器

單片機(jī)誕生于20世紀(jì)70年代末,它是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。單片機(jī)具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會(huì)具有外存。同時(shí)集成諸如通訊接口、定時(shí)器,實(shí)時(shí)時(shí)鐘等外...

關(guān)鍵字: avr單片機(jī) 單片機(jī)

pic單片機(jī)使用較多,因此學(xué)習(xí)pic單片機(jī)的人數(shù)也相對(duì)較多。對(duì)于pic單片機(jī),它的優(yōu)點(diǎn)眾所皆知。此文對(duì)pic單片機(jī)的講解在于介紹pic單片機(jī)的IO口操作。但本文不僅僅局限于pic單片機(jī),同樣將對(duì)51單片、AVR單片機(jī)IO...

關(guān)鍵字: avr單片機(jī) pic單片機(jī) io操作

對(duì)于pic單片機(jī)的學(xué)習(xí),很多朋友總是能充滿激情,不斷利用閑余時(shí)間研究pic單片機(jī)的各類(lèi)技術(shù)。而談及pic單片機(jī),必須牽扯至51、AVR單片機(jī)。因此本文中,將探討pic單片機(jī)以及51、AVR單片機(jī)對(duì)于IO口的操作。對(duì)于本文...

關(guān)鍵字: 51單片機(jī) avr單片機(jī) pic單片機(jī)

單片機(jī)控制開(kāi)關(guān)電源,單從對(duì)電源輸出的控制來(lái)說(shuō),可以有幾種控制方式。

關(guān)鍵字: avr單片機(jī) 開(kāi)關(guān)電源

針對(duì)AT24Cxx系列eeprom存儲(chǔ)器,寫(xiě)的時(shí)候有越頁(yè)功能,不用考慮頁(yè)邊界,I2C用軟件模擬實(shí)現(xiàn),完善中…#define SDA1() PORTC|=1

關(guān)鍵字: at24c01 avr單片機(jī) eeprom 讀寫(xiě)程序
關(guān)閉