6单片机扩展系统祥解.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * 1. SPI 原理 SPI 8位移位寄存器 MSB LSB 主机 SPI 8位移位寄存器 MSB LSB 从机 MISO MISO MOSI MOSI SPI时钟发生器 SCK SCK /SS /SS VCC 图8-1 SPI主/从CPU内部连接 主/从CPU的SPI数据传输 SPI引脚配置 当SPI被设置成允许时,MOSI(PB5)、MISO(PB6)、SCK(PB7)和/SS(PB4)引脚的数据方向,按表8-1中来配置。 输入 用户定义 /SS(PB4) 输入 用户定义 SCK(PB7) 用户定义 输入 MISO(PB6) 输入 用户定义 MOSI(PB5) 方向(从SPI) 方向(主SPI) 引脚 2. /SS引脚功能 当SPI被配置为主机时(SPI控制寄存器SPCR的MSTR位置1),用户可以决定/SS引脚的方向。若/SS引脚被设置为输出,该引脚将作为通用输出口,而不影响SPI系统(通常用于驱动从机的/SS引脚);如果/SS被设置为输入,则/SS必须保持为高电平来保证主机SPI的操作。如果在主机模式下,/SS引脚为输入,而且被外设电路置低,则该系统认为另外的主机选择该SPI为它的从机并开始对它传递数据。因此,在主机模式下使用中断方式来驱动SPI发送时,存在/SS被置低的可能。因此在中断程序中,应随时检查MSTR位是否为“1”,一旦发现MSTR位被从机清“0”,则必须由用户再次将其置位,以恢复SPI的主机方式。 当SPI被配置为从机时,/SS总是作为输入口。当/SS被外部置低时,SPI功能被激活,MISO变为输出口(如果被用户配置为输出口时),而其他成为输入。如果/SS被置“1”后,所有相关引脚都为输入口,同时SPI处于禁止状态不接收任何数据。 3. 与SPI接口相关的寄存器 SPI控制寄存器——SPCR SPIE SPE DORD MSTR CPOL CPHA SPR1 SPR0 位3(CPOL):时钟(SCK)极性选择,当该位被设置为“1”时,SCK在闲置时是高电平;当CPOL为“0”时,SCK在闲置时是低电平。 位2(CPHA):时钟(SCK)相位选择,CPHA位的设置决定了串行数据的锁存采样是在SCK时钟的前沿还是在SCK时钟的后沿。 位1、0(SPR1、SPR0):时钟速率选择位 位7(SPIE):SPI中断使能 位6(SPE):SPI使能,当该位置1时,SPI功能被激活。要使能SPI的任何操作,必须设置该位。 位5(DORD):数据移出顺序,当DORD=1时,数据传送的顺序为LSB(低位)被首先传送;当DORD=0时,数据的MSB(高位)被首先传送。 位4(MSTR):主/从机选择,当MSTR=1时,选择主机SPI模式;MSTR=0时,选择从机SPI模式。 SPI状态寄存器——SPSR SPIF WCOL —— —— —— —— —— SPI2X 位7(SPIF):SPI中断标志位 当串行传送完成时SPIF位被置“1”,且若SPCR中的SPIE=1、全局中断使能位I=1,则产生中断。如果/SS被设置为输入且在SPI是主机模式时被外部拉低,此时将设置SPIF标志。SPIF标志位的属性为只读,清零SPIF有两种方式。 硬件方式。MCU响应SPI中断,转入相应中断程序的同时,SPIF位由硬件自动清“0”。 软件方式。先读取SPI状态寄存器SPSR(读SPSR的操作将会自动清除SPIF位),紧接着对SPI数据寄存器SPDR的操作处理。 位6(WCOL):写冲突标志位 如果在SPI接口的数据传送过程中,对SPI的数据存储器SPDR写入数据,将会置位WCOL。清零WCOL标志只能通过软件方式:先读取SPI状态寄存器SPSR(读SPSR的操作将会自动清除SPIF位和WCOL位),然后再进行对SPI数据寄存器SPDR的操作处理。 位5、4、3、2、1:保留,在ATmage16中,这几位保留,读出为“0”。 位0(SPI2X):倍速SPI SPI数据寄存器——SPDR MSB LSB 7 6 5 4 3 2 1 0 SPI数据寄存器可以读/写的寄存器,其内容是移

文档评论(0)

基本资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档