199
第 9 章 串行外设接口模块(SPI)
9.4.2 软件设计
2 MAX5121 与 DSP 的 SPI 软件实现
源程序代码:
(1)所需的复位和中断向量定义文件“vectors.asm”
// 该文件利用汇编语言代码定义了复位和中断向量
.title "vectors.asm"
.ref _c_int0,_nothing
.sect ".vectors"
reset: b _c_int0
int1: b _nothing
int2: b _nothing
int3: b _nothing
int4: b _nothing
int5: b _nothing
int6: b _nothing
(2)主程序
//该程序利用 LF2407 的 SPI 模块向 MAX5121 芯片发送数据用于 D/A 转换,MAX5121 的模拟输出端输出一
个三角波
//用 C 语言编写
#include "register.h"
int GPR3;
int flag1;
int flag;
//系统初始化子程序
int initial()
{
asm(" setc INTM"); //屏蔽中断
WSGR=0X00; //禁止所有的等待状态
asm(" CLRC SXM");
asm(" CLRC OVM");
asm(" CLRC CNF"); //B0 被配置为数据空间
*SCSR1=0X81FE; //CLKIN=6M,CLKOUT=24M ,并且使能到 SPI 模块的时钟
*WDCR=0X0E8; //不使能看门狗
}