您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

ADμC812的串行外设接口(SPI)及其应用

时间:2007-1-20栏目:电子通信论文

CPAH=1时,如果有其他脉冲的干扰,ADμC812将无法与主机获得同步。选择这种方式,当SS为低时,时钟计数器才开始工作。每经过8个时钟同周期,ISPI将置位(如果中断设置正确将产生中断),并且移位寄存器的数据锁存到SPIDAT中。SS保持低电平不会使时钟计数器复位。

CPHA=0时,如果有其他脉冲的干扰,ADμC812也可与主机获得同步。在这种方式下,从机通过SS信号获得的,而不是通过时钟信号获得的。当SS信号变低时,时钟计数器复位,数据位在此后的每一个时钟发送和接收;当SS变高时,ISPI位置位(如果中断设置正确,将产生中断),并且移位寄存器的数据锁存到SPIDAT中。ISPI置位与数据的锁存始终与时钟计数值无关,因此当SS的触发在多于或少于8个时钟时,在SS返回高电平瞬间,ADμC812将产生中断,并且收到或发送的数据将不可靠。在这种方式下,SS不可始终置低,如果始终置低,那么从机将始终发送00。

当了与主机获得同步,从机SS的下降沿必然由主机控制。当SS变低时,从机产生外部中断,中断服务中SPE位由软件清除,然后重新置位。SPE位的置位将使时钟计数器复位到零。须注意的一点是这一中断必须有比其他中断更高的优先级,才可使从机在主机第1个时钟到来之间获得同步。主机程序必须为从机中断执行中断服务提供足够的时间,以对SPE进行操作。典型的操作是在清除SS和向SPIDAT中写数据之间用12~15个NOP指令。
ADμC812的串行外设接口(SPI)及其应用
二、实际应用

图3所示为1个主机和1个从机典型的电路连接图。注意主、从机要有公共的地。

根据图3的连接情况及前面分析的主、从机工作工程,绘制流程图如图4所示。

主机程序:

SET EA ;打开中断允许

SET IE2.0 ;打开SPI中断

MOV SPICON,#30H ;送SPI控制字

MASTER:CLR P3.5 ;置SS为低

NOP ;等待从机中断执行完毕

NOP

NOP

NOP

MOV SPIDAT,#DATA;向SPIDAT中写数据

LCALL DELAY ;根据选择的分频比算出数据传输的时间,确定DELAY子程序的延时时间(也可用中断方式)

SETB P3.5 ;将SS置高

LJMP MASTER ;送下一个数

从机程序:

ORG 0013H ;外部中断INT0入口

CLR SPE ;SPE位清除

SETB SPE ;与主机时钟获得同步

SETB P3.2 ;撤销中断

RETI

……

SETB EA ;打开中断允许

SETB IE2.0 ;打开SPI中断

SETB EX0 ;打开外部中断

MOV SPICON,#20H ;送SPI控制字

CLR P1.5 ;设置为数字输入

JB P3.1$ ;判断P3.1是否为低

CLR

上一页  [1] [2] [3] [4] 下一页

下页更精彩:1 2 3 4 下一页