单片机
返回首页

ATmega 16 单片机的SPI的相关寄存器(九)

2016-10-22 来源:eefocus

1.SPCR——SPI控制寄存器

         SPIE     SPE    DORD     MSTR     CPOL    CPHA    SPR1    SPR0

位 7——SPIE:使能SPI中断
置位后,只要SPSR寄存器的SPIF和SREG寄存器的全局中断使能位置位,就会引发SPI中断。
位 6——SPE:使能SPI
SPE置位将使能SPI。进行任何SPI操作之前必须置位SPE。
位 5——DORD:数据次序
DORD置位时数据的LSB首先发送;否则数据的MSB首先发送。
位 4——MSTR:主/从选择
MSTR置位时选择主机模式,否则为从机。如果MSTR为'1”,SS配置为输入,但被拉低,则MSTR被清零,寄存器SPSR的SPIF置位。用户必须重新设置MSTR进入主机模式。

位3——CPOL:时钟极性
CPOL置位表示空闲时SCK为高电平;否则空闲时SCK为低电平。CPOL功能总结如下:

             CPOL                        起始沿                   结束沿
                0                            上升沿                   下降沿
                1                            下降沿                   上升沿

位 2——CPHA:时钟相位
CPHA决定数据是在SCK的起始沿采样还是在SCK的结束沿采样。

           CPHA                           起始沿                  结束沿
               0                                采样                     设置
               1                                设置                     采样

位1,0——SPR1,SPR0:SPI时钟速率选择1与0
确定主机的SCK速率。SPR1和SPR0对从机没有影响。SCK和振荡器的时钟频率fosc关系如下表所示:

                    SPI2X          SPR1       SPR0              SCK频率
                       0                  0             0                     fosc/4
                       0                  0             1                     fosc/16
                       0                  1             0                     fosc/64
                       0                  1             1                     fosc/128
                       1                  0             0                     fosc/2
                       1                  0             1                     fosc/8
                       1                  1             0                     fosc/32
                       1                  1             1                     fosc/64

2.SPSR——SPI状态寄存器

          SPIF     WCOL      –        –       –      –     –      SPI2X

位7——SPIF:SPI中断标志
串行发送结束后,SPIF置位。若此时寄存器SPCR的SPIE和全局中断使能位置位,SPI中断即产生。如果SPI为主机,SS配置为输入,且被拉低,SPIF也将置位。进入中断服务程序后SPIF自动清零。或者可以通过先读SPSR,紧接着访问SPDR来对SPIF清零。
位 6——WCOL:写碰撞标志
在发送当中对SPI数据寄存器SPDR写数据将置位WCOL。WCOL可以通过先读SPSR,紧接着访问SPDR来清零。
位5..1——Res:保留
保留位,读操作返回值为零。
位0——SPI2X:SPI倍速
置位后SPI的速度加倍。若为主机,则SCK频率可达CPU频率的一半。若为从机,只能保证fosc/4。

3.SPDR——SPI数据寄存器

 

相对于串行数据,SCK的相位和极性有4种组合。CPHA和CPOL控制组合的方式。每一位数据的移出和移入发生于SCK不同的信号跳变沿,以保证有足够的时间使数据稳定。说明如下:

                                       起始沿                    结束沿                    SPI模式
CPOL=0,CPHA=0        采样(上升沿)          采样(下降沿)                   0
CPOL=0,CPHA=1        设置(上升沿)          采样(下降沿)                   1
CPOL=1,CPHA=0        采样(下降沿)          采样(上升沿)                   2
CPOL=1,CPHA=1        采样(下降沿)          采样(上升沿)                   3

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • 如何构建一个触摸传感器电路

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章