- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 电压控制信号的输出
7.1电压控制信号输出系统
7.1.1电压信号输出系统硬件电路的组成
图7.1 LF2407A电压输出接口电路
7.1.2电压信号的输出过程
7.2 MAX5121
7.2.1 MAX5121芯片功能介绍
图7.2 MAX5121引脚排列
7.2.2 MAX5121的SPI接口指令
7.2.3 MAX5121的SPI接口工作时序图
图7.3 MAX5121的SPI时序图
7.3 TMS320LF2407串行外设接口模块
7.3.1串行外设接口概述
SPI模块共有4个相关的I/O引脚:
SPISOMI(SPI主动输入/从动输出引脚)
SPISIMO(SPI从动输入/主动输出引脚)
SPICLK(SPI时钟引脚)
SPISTE(SPI从动发送使能引脚)
7.3.2串行外设接口操作
主动方式
图7.4 串行外设接口主控制器/从控制器的连接
从动方式
串行外设接口波特率设置
当SPIBRR=3~127时:
SPI波特率=SYSCLK/(SPIBRR+1), SPIBRR=(SYSCLK/SPI波特率)-1
当SPIBRR=0,1或2时:
SPI波特率=SYSCLK/4
7.3.3 串行外设接口控制寄存器
串行外设接口配置控制寄存器(SPICCR)
串行外设接口操作控制寄存器(SPICTL)
串行外设接口状态寄存器(SPISTS)
串行外设接口波特率设置寄存器(SPIBRR)
串行外设接口仿真接收缓冲器寄存器(SPIRXEMU)
串行外设接口接收缓冲器寄存器(SPIRXBUF)
串行外设接口发送缓冲器寄存器(SPITXBUF)
串行外设接口发送/接收缓冲器寄存器(SPIDAT)
串行外设接口中断优先级控制寄存器(SPIPRI)
7.4 TMS320C240xDSP开发工具CCS
7.4.1 CCS概述
7.4.2 CCS的安装和使用
7.4.3 CCS的使用
创建项目
新文件导入新项目
编译、汇编、链接新工程
7.5 CCS工程文件中的命令文件
7.5.1 CCS工程文件中的命令文件
MEMORY
{
PAGE 0: ROM: origin=2000H, length=1000H
PAGE 1: RAM: origin=200H, length=1000H
}
SECTIONS
{
.text: load = ROM
.bss: load = RAM
.data: ROM
}
7.5.2 CCS工程文件中的命令文件的创建
段
.text
.data
.bss
.usect
.sect
在*.cmd文件里指定段存储空间
MEMORY伪指令
SECTIONS伪指令
*.cmd文件里指定段存储空间
MEMORY
{
PAGE 0:EPROM:origin=2000H,length=1000H
PAGE 1:DARAM:origin=3000H,length=1000H
}
SECTIONS
{
.text : EPROM PAGE 0
.vectors : EPROM PAGE 0
.data : DARAM PAGE 1
.bss : DARAM PAGE 1
}
7.6电压信号的输出程序
7.6.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
主程序Dyxhsc.c
//该程序利用LF2407的SPI模块向MAX5121芯片发送数据用于D/A转换
//MAX5121的模拟输出端输出一个三角波
#include register.h
int GPR3;用于存放即将发送到MAX5121的数据
int flag1;
int flag;
// 系统初始化子程序
initial()
{
asm( setc INTM); //禁止所有中断
asm( setc SXM); //抑制符号位扩展
asm( clrc OVM); //累加器中结果正常溢出
asm( clrc CNF); //B0被配置为数据存储空间
*SCSR1=0x81FE; //位11~9=000,CLKOUT=4*CLKIN
//位5=1,使能SPI模块的时钟
*WDCR=0x0E8; //不使能看门狗
*IMR=0x0000; //
文档评论(0)