




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
同步串口SPI模 第一節(jié)SPI模塊簡 SPI模塊說 xs128SPI模塊結(jié)構(gòu) 第二節(jié)SPI模塊先關(guān)寄存 SPI控制寄存器 SPI控制寄存器 SPI波特率選擇寄存器 SPI狀態(tài)寄存器 SPI數(shù)據(jù)寄存器 第三節(jié)SPI模塊應(yīng)用實 SPI模塊程 模擬 第一節(jié)SPI模塊簡SPI模塊說串行器件接口(SPI)模塊提供單片機和器件間的全雙工、同步和串行通信。這些器件可以包拪其他微控制器、模數(shù)移位器、移位寄存器、傳感器和器等。SPI2的波特率上,在輔模式中最高可運行在總線4SPISPI移位寄存器。數(shù)據(jù)寫入雙緩沖収射器(寫入SPIDRSPI模塊間的連接。當(dāng)SPI配置為主SPI時,時鐘辒出被路由到SCK管腳,移位器辒出被路由到MOSI,移移位輸出,MISO管腳為移位器輸入。SPISCKMISOxs128SPI模塊結(jié)構(gòu)第二節(jié)SPI模塊SPI控制寄存器SPI的工作方式主要由該寄存器設(shè)置,包括主從方式、單線雙向模式選擇時鐘及位順序等,SPIE:SPI SPI中斷。 SPRFMODFSPE:SPI當(dāng)MODF=1時,SPE結(jié)果總是0,SPOCR1的寫操作指令必須作為模式故障恢復(fù)序0:SPI內(nèi)部硬件完成初始化,但SPI系統(tǒng)處于低功耗的狀態(tài)1:SPI0:SPTEF1:SPTEFMSTR:主、從模式選擇位,用于設(shè)定本機SPI以主器件還是從器件出現(xiàn)01CPOL、CPHA:SPISPI的時鐘格式。當(dāng)無傳輸動作且CPOL=0時,主器件的SCK引腳處于低電平,而如果CPOL=1,SCK則閑置在高電平。CPHASPI時鐘格式。在主模式下,此位SPI系統(tǒng)進(jìn)入空閑狀態(tài)=1數(shù)據(jù)采樣發(fā)生在奇數(shù)邊(1,3,5,..SCK=0數(shù)據(jù)采樣發(fā)生在偶數(shù)邊(0,2,4,..SCKSSOE:從器件選中輸出信號(SS允許位,SS輸出功能只有在主模式下通過置位SSOE和DDRS7實現(xiàn)。 SS輸出。 SSDDRS71LSBF:SPI數(shù)據(jù)位傳輸順序選擇位,通常要求LSBF=0,即傳輸過程在先。讀寫操作正常進(jìn)行,即(MSB)在第7位(BIT7)。 數(shù)據(jù)傳輸(MSB)在先 SPI控制寄存器0:8位1:160:模式錯誤標(biāo)志位置位0:雙向模式下輸出緩沖。SPISWAISPI工作方式0:等待模式下停止SPI時鐘。1SPISPC0MSTRSPI波特率選擇寄存器該寄存器只有六個有效位SPPR2~SPPR0和SPR2~SPR0,用來確定SPISCK0。SPI狀態(tài)寄存器該寄存器反映SPI的工作狀態(tài),其中包括傳輸結(jié)束、寫和模式故障三個清0。SPIF:SPI中斷請求位,在數(shù)據(jù)傳輸過程中,SPRF8SCK周期后置位,通過讀SPISRSPIDR清0。SPTEF:當(dāng)SPIDR1SPTIE位為1,則向CPU發(fā)出中斷請求。讀SPISR然后寫SPIDR將清除該位。0:SPI1:SPIMODF:SPI模式錯誤中斷狀態(tài)位。當(dāng)MSTR=1SS在外部被拉低成邏輯0,該位由SPI硬件自動置1。這時本機SPI已經(jīng)不能成功設(shè)定為主機,顯然這種情況在正常情況下是不允許的。當(dāng)DDRS7=1時,PS7是通用輸出或SS輸出引腳,而不是于SPI系統(tǒng)的SS輸入引腳,在這種特殊情況下,模式故障功能被,MODF保持為0。讀SPOSR隨后寫入SPOCR1將清0該0SPI數(shù)據(jù)寄存器該8位寄存器是SPI6。對該寄存器進(jìn)行讀操作時所的輸入部分是雙緩沖的,但寫操作則直接將數(shù)據(jù)送到而不向主器件請求數(shù)據(jù),例如并行輸入串行輸出的TTL邏輯電路:或者只有接收功能,只從主器件接收而不返回數(shù)據(jù),例如串行輸入并行輸出的TTL邏輯電SPODRSPODR中的第三節(jié)SPI模塊應(yīng)用實SPI模塊程#include<hidef.h> #include #defineLED //LED,寫'0'亮,寫'1'#defineLED_dir //為LED_dir,寫'0'做輸,寫'1'做輸出口#defineHOLD //FM25040A保持位連接的引腳的數(shù)據(jù)寄存器#defineHOLD_dir //FM25040A保持位連接的引腳的方向寄存器#defineCS //FM25040A片選位連接的引腳的數(shù)據(jù)寄存器#defineCS_dir //FM25040A片選位連接的引腳的方向寄存器unsignedchartemp_SPI=0,data_receive= voidINIT_PLL(void){//clksel.7(PLLSEL選擇位)決定內(nèi)部總線時鐘來 //SYNRREFDV寄存器//計算: 048CSYNR=0xc0|//計算 0 4 8 CREFDV=0x80|//后分配寄存器PLLCLK=FVCO/(2*POSTDIV) 如果POSTDIV=0x00,PLLCLK=FVCO _LOCK==0); 寄存器的LOCK位,確定PLL是否穩(wěn)LOCK==1穩(wěn)定,==0 //PLL} voiddelay(intms){intif(ms<1)ms=1; } 初始化SPI模 voidINIT_SPI(void){HOLD_dir=CS_dir=SPI0CR1= SPIE=0:SPI中斷允許位0:中 SPE=1:SPI1:spi SPTIE=0:SPTI CPOL=0:SPI相位選擇位0: SPI0:時鐘偶數(shù)邊緣 SOE=00:SS輸出 SBF=0SPI數(shù)據(jù)位傳輸順序選擇位0SPI0CR2 //SS管腳為普通I/O//7,5,2//6XFRW=008//4MODFEN=0:模式錯誤使能位SPISPI0BR //SPI//654//321CS } SPI發(fā)送函 voidSPI_send(unsignedchardata){ //等待發(fā)送數(shù)據(jù)寄存器(緩沖器)為空SPI0DRL= } SPI接收函 unsignedcharSPI_receive(void){unsignedchartemp,data;while(!SPI0SR_SPIF等待傳輸結(jié)束temp=SPI0SR; //通過讀SPI0SR寄存器,對SPIF位data=SPI0DRL; //將接收的數(shù)據(jù)賦給data變量 //返回data變量} 初始化FM25040A(高速spi器 voidINIT_FM25040A(void){HOLD CS } voidmain(void){ //PLL模塊,設(shè)置 LED_dir //LEDPB0 LED //LEDCS // //發(fā)送WREN CS // CS // //發(fā)送寫命令 //發(fā)送寫入的地址 CS // CS // //發(fā)送讀命令 //發(fā)送的地址 //發(fā)送的地 temp_SPI=SPI_receive(); //數(shù)據(jù),以便shiftregister中的數(shù)據(jù)存入到SPI0DRLdata_receive=SPI_receive(); CS if(data_receive LED //如果數(shù)據(jù)正確,LED}模擬#include<hidef.h> #include #defineHOLDPTJ_PTJ0 //FM25040A保持位連接的引腳的數(shù)據(jù)寄存器#defineHOLD_dirDDRJ_DDRJ0 //FM25040A保持位連接的引腳的方向寄存器#defineCS //FM25040A片選位連接的引腳的數(shù)據(jù)寄存器#defineCS_dir //FM25040A片選位連接的引腳的方向寄存器#defineSCKPTS_PTS6 //定義SCK口數(shù)據(jù)寄存器#defineMOSIPTS_PTS5 //定義MOSI口數(shù)據(jù)寄存器#defineMISO #defineSCK_dirDDRS_DDRS6 //定義SCK口方向寄存器#defineMOSI_dirDDRS_DDRS5 //定義MOSI口方向寄存器#defineMISO_dir //定義MISO口方向寄存#defineLED //LED,寫'0'亮,寫'1'#defineLED_dir //unsignedchar voidINIT_PLL(void){//clksel.7(PLLSEL選擇位)決定內(nèi)部總線時鐘來 //SYNRREFDV寄存器//計算: 048CSYNR=0xc0|//計算 0 4 8 CREFDV=0x80|//后分配寄存器PLLCLK=FVCO/(2*POSTDIV) 如果POSTDIV=0x00,PLLCLK=FVCO _LOCK==0); 寄存器的LOCK位,確定PLL是否穩(wěn)LOCK==1穩(wěn)定,==0 //PLL} voidINIT_port(void){HOLD_dir=1; //FM25040A保持位設(shè)置為輸出口CS_dir=1; //FM25040A片選位設(shè)置為輸出口SCK_dir=1; //SCK設(shè)置為輸出口MOSI_dir1;//MOSI設(shè)置為輸出口MISO_dir0;//MISO設(shè)置為輸LED_dir=1;//LED設(shè)置為輸出口} voidINIT_SPI(void){HOLD=1; //保持位置1SCK=0; CS=1; //放開FM25040A} 通過SPI發(fā)送數(shù) voiddata_sent(unsignedchardata){unsignedchar //1byte8SCK //1byte8{MOSI=SCK=SCK=i--}} 通過SPI接收數(shù) unsignedchardata_receive(void){unsignedchar //1byte8byte //1byte8{ SCK //data變量移位,與接收的數(shù)據(jù)對應(yīng)上data|=MISO;//接收數(shù)據(jù)的當(dāng)前位賦給data變量 SCK=0; } //} voidlongdelay(void){unsigned
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度商鋪租賃合同終止及市場租金指數(shù)掛鉤協(xié)議
- 2025年度股東股份協(xié)議書:智慧城市建設(shè)項目股權(quán)分配及合作協(xié)議
- 自建房安全質(zhì)量監(jiān)督承包協(xié)議書(2025年度)
- 農(nóng)村自建房建筑工程保險合同(2025年度)
- 二零二五年度教育機構(gòu)學(xué)費返利合同
- 二零二五年度高端基金份額代持保密協(xié)議書
- 2025年度磚廠安全生產(chǎn)承包管理合同
- 二零二五年度汽修廠汽車維修技師職業(yè)健康檢查合同
- 2025年度煙草店店鋪轉(zhuǎn)讓與獨家銷售區(qū)域授權(quán)合同
- 2025年度水平定向鉆施工與施工期環(huán)境保護(hù)合同
- 湖北省2025屆高三下學(xué)期2月調(diào)考語文試題及參考答案
- 2025年《地陪導(dǎo)游服務(wù)程序》公開課標(biāo)準(zhǔn)教案
- 愛耳日完整課件
- 生物醫(yī)藥研發(fā)實驗室的安全風(fēng)險評估與控制
- 合肥科技職業(yè)學(xué)院單招計算機類考試復(fù)習(xí)題庫(含答案)
- 系統(tǒng)集成項目售后服務(wù)方案
- 2018-2022年北京市中考真題數(shù)學(xué)試題匯編:填空壓軸(第16題)
- 初三物理常識試卷單選題100道及答案
- 2025年吉林省吉林市事業(yè)單位招聘入伍高校畢業(yè)生54人歷年高頻重點提升(共500題)附帶答案詳解
- 《智能制造技術(shù)基礎(chǔ)》課件-第6章 智能制造裝備
- 鋼結(jié)構(gòu)地下停車場方案
評論
0/150
提交評論