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

发布者:骄阳少年最新更新时间:2016-10-22 来源: eefocus关键字:ATmega  单片机  SPI  寄存器 手机看文章 扫描二维码
随时随地手机看文章
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

关键字:ATmega  单片机  SPI  寄存器 引用地址:ATmega 16 单片机的SPI的相关寄存器(九)

上一篇:ATmega 16 单片机的USART的相关寄存器(十)
下一篇:ATmega 16 单片机的中断系统的相关寄存器(八)

推荐阅读最新更新时间:2024-03-16 15:16

凌力尔特推出纤巧16位ADC集成2ppm/ºC基准
凌力尔特公司 (Linear Technology Corporation) 推出一对 16 位增量累加 ADC LTC2460 和 LTC2462,这两款器件都在纤巧 3mm x 3mm DFN 封装中集成了一个精确基准。该集成的基准 (典型值为 2ppm/ºC,最大值为 10ppm/oC) 允许精确测量,并减少了对外部基准的需求,这对空间受限应用而言是一个关键好处。两款 ADC 都保证 16 位无漏码分辨率。就远端传感器电池供电型应用和监视温度或压力的工业传感器而言,这使 LTC2460 和 LTC2462 成为完整的解决方案。 这两款 ADC 靠单一 2.7V 至 5.5V 的电源工作,用来通过一个 SPI 串
[模拟电子]
凌力尔特推出纤巧<font color='red'>16</font>位ADC集成2ppm/ºC基准
单片机的串口通信编程的总结
本次小结的主要目的是更加明确单片机的串口中断是如何发生的。即:是如何触发串口中断的发送功能的。在说明中我使用特殊的字体颜色来强调重点部分和注意事项。 程序一: 本程序是使用软件设置TI来实现串口中断的触发,如果在初始化函数中不增加 TI=1; 这条语句,那么是不会触发中断的 #include STC89C5X.h //包含51单片机的头文件 #define uint unsigned int #define uchar unsigned char /* 串口通讯接口定义 RXD-------P3.0 数据接收端 TXD-------P3.1 数据发送端 */ /*====================
[单片机]
基于MCU的智能水表设计方案
水表的电源一般由水表自行供给,这就对水表的功耗提出了苛刻的要求。国际规定,智能水表的静态电流应该小于30μA,实际中水表厂商都把该指标控制在10μA以内(使用干簧管传感器时),保证工作时间大于6年以上才算合格。NEC带LCD控制功能的8位微控制器以其低功耗、高性能等优势,成为水表微控制器的优质选择。    1 NEC山梨MR和Renesas MCU 水表方案   该方案的工作原理为:在叶轮上装上磁铁,由磁场感应器(MR Sensor)感知出叶轮的旋转。磁场感应器(MR Sensor)把磁场信号转变成电信号,再由单片机进行计量的加法或减法运算,运算值由液晶显示或对外部输出。   方案结构框图如下:    2 R
[模拟电子]
基于<font color='red'>MCU</font>的智能水表设计方案
avr单片机 TC1的16位PWM输出程序
********************************************/ * 工作频率:内部8M * * 编 译 器:ICCAVR 6.31A * * 输 出:PD4输出PWMB,PD5输出PWMA * * 产生的PWM频率为8M/65536约122Hz * ********************************************/ #include iom16v.h #include macros.h //延时函数:入口time 需延时的MS数 void delay_ms(unsigned int time) { unsi
[单片机]
ATmega8 外部复位
外部复位由外加于RESET 引脚的低电平产生。当复位低电平持续时间大于最小脉冲宽度 时( 参见Table 15) 即触发复位过程,即使此时并没有时钟信号在运行。当外加信号达到 复位门限电压VRST( 上升沿) 时, tTOUT 延时周期开始。延时结束后MCU 即启动。
[单片机]
<font color='red'>ATmega</font>8 外部复位
PIC16F84单片机产生两组PWM输出实例
;********************************************************************** ; * ; 檔案名稱: PWM-C.asm * ;********************************************************************** ; * ; 其它檔案: 無 * ;*************
[单片机]
STC89C51单片机和ADXL345三轴加速度模块实现简易计步器程序
单片机源程序如下: #include STC51PRJ.h extern BYTE BUF ;//接收数据缓存区 /*****************起始信号***************/ void ADXL345_Start() { SDA = 1; //拉高数据线 SCL = 1; //拉高时钟线 Delay5us(); //延时 SDA = 0; //产生下降沿 Delay5us(); //延时 SCL = 0; //拉低时钟线 } /************
[单片机]
汽车微控制器介绍
随着智能汽车的发展,用户对汽车的安全性、稳定性、智能化不断提出更新的要求。车载各项功能的实现都需要复杂的芯片组和算法的稳定支持,MCU将发挥更大的作用。 什么是汽车微控制器? 汽车微控制器又称MCU,是汽车电气控制系统的核心部件。MCU必须具备良好的高温性能和稳定性,才能控制车内所有电子系统,包括多媒体、音响、导航、悬架等。与普通MCU相比,汽车MCU对品质要求更高,在复杂环境下不易损坏汽车的。一般来说,最重要的是可靠性和温度范围,民用级为0-70℃,工业级为20-85℃,汽车级为40-85℃。 MCU将成为“汽车大脑”的重要组成部分,是汽车的智能大脑,发挥着“思考、计算、控制”的核心功能。随着汽车电子电气架构向集中式
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved