单片机飞思卡尔SPI模块.ppt

单片机飞思卡尔SPI模块.ppt

ID:55868611

大小:272.00 KB

页数:25页

时间:2020-06-11

单片机飞思卡尔SPI模块.ppt_第1页
单片机飞思卡尔SPI模块.ppt_第2页
单片机飞思卡尔SPI模块.ppt_第3页
单片机飞思卡尔SPI模块.ppt_第4页
单片机飞思卡尔SPI模块.ppt_第5页
资源描述:

《单片机飞思卡尔SPI模块.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、10.2同步串行外设接口SPI单片机原理与应用本节提要一、SPI概述二、SPI模块功能三、SPI模块引脚四、SPI模块寄存器五、SPI模块编程范例本节提要一、SPI概述二、SPI模块功能三、SPI模块引脚四、SPI模块寄存器五、SPI模块编程范例SPI特性可设置主机模式/从机模式可选择8位或16位数据宽度可选择全双工模式(一个)或单线双向模式可灵活设置的时钟极性和相位可选择从最高位或最低位开始传送可编程的传送速率可实现双缓存操作与LCD驱动器,D/A转换器,RTC,EEPROM等通信接口简单;SPI的数据流动7070

2、MOSIMISOCPU端IO端CPU端IO端707MOSIMISO0重复8次SPI工作原理本节提要一、SPI概述二、SPI模块功能三、SPI模块引脚四、SPI模块寄存器五、SPI模块编程范例SPI方框图SPI时钟发生器移位寄存器控制寄存器主机模式控制整个数据传送通过定义SS选择通信从机确定SCK波特率,相位和极性切换SCK脉冲驱动MOSI信号采样MISO信号通过写入SPIDR触发传输过程从机模式响应传输仅当定义了相应的SS才被激活利用事先定义的相位和极性检测SCK跳变沿驱动MISO信号采样MOSI信号本节提要一、SP

3、I概述二、SPI模块功能三、SPI模块引脚四、SPI模块寄存器五、SPI模块编程范例.SPI引脚1——串行数据引脚MOSI—MasterOut/SlaveInPinMISO—MasterIn/SlaveOutPinSPI置为主机模式:MISO–数据输入线MOSI–数据输出线SPI置为从机模式:MISO–数据输出线MOSI–数据输入线作用:发送和接收串行数据.SPI引脚2——串行时钟SCK—SerialClockPin主机模式下,SCK信号来源于内部MCU总线时钟同步信号,对MOSI和MISO引脚传输的串行输入、输出数

4、据进行同步主机和从机在SCK信号的跳变沿进行移位和采样数据SCK的时钟频率由SPI0BR选择主机和从机遵守相同时序模式SPI信号–SCK极性&相位SCK奇数跳变沿驱动,偶数跳变沿采样SPI信号–SCK极性&相位(续)SCK偶数跳变沿驱动,奇数跳变沿采样.SPI引脚3——外设片选SS—SlaveSelectPin主机模式:SS信号上拉到高电平主机和从机对SS引脚使用不同从机模式:SS信号为低电平本节提要一、SPI概述二、SPI模块功能三、SPI模块引脚四、SPI模块寄存器五、SPI模块编程范例SPI寄存器1/4SPIC

5、R1-SPI控制寄存器11=SPIInterruptEnabled0=SPIInterruptDisabled1=SPISYSTEMEnabled0=SPISYSTEMDisabled1=SPIISMASTER0=SPIISSLAVEDDRS7SSOEMASTERMODESLAVEMODE00SSINPUTSSINPUT(MODFEnabled)01GPINPUTSSINPUT10GPOUTPUTSSINPUT11SSOUTPUTSSINPUT1=SPILSBFIRST0=SPIMSBFIRST1=SPITransm

6、itInterruptEnable0=SPITransmitInterruptDisabledSPICR2-SPI控制寄存器2SPISWAI=SPIStopinWaitMode1=HALTSSICLOCKWHENCPUINWAITMODEMODFEN-ModeFaultEnable0=ModeFaultDisabled1=ModeFaultEnabledBIDIROE-OutputEnableinBidirectionalmode0=OutputBufferDisabled1=OutputBufferEnabled练

7、习:20M总线时钟,最大SPI波特率=?最小SPI波特率=?SPI寄存器2/4SPI寄存器3/4SPISR-SPI状态寄存器SPRF-SPI接收中断标志1=NewisreceivedintoSPIDRSPTEF-SPI发送缓存空中断标志MODF–主机模式错误标志1=SPIDataRegisterisEmpty1=SPIMasterwasselectedasSlaveSPI寄存器4/4SPIDataRegister(SPIDR=SPIDRH:SPIDRL)-SPI数据寄存器注:用户仅当SPI发送缓冲空标志置位时才能写入

8、该寄存器.注:发送数据与接收数据使用相同寄存器本节提要一、SPI概述二、SPI模块功能三、SPI模块引脚四、SPI模块寄存器五、SPI模块编程范例SPI模块编程范例SPI模块编程方法SPI初始化:先写SPI0BR,设定SPI波特率;再写控制寄存器SPI0CR1和SPI0CR2,设定时钟的极性、相位、SPI数据传输宽度、SPI工作模式、中断允许位

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。