XXX 《基于TI5416芯片的键盘控制程序的实现》 第 21 页 共 26 页
6 结束语
基于以上设计, 可以在SEED-DTK5416 基于TMS320VC5416、TMS320VC5402的新型双DSP 试验箱中实现A/D转换采样的实现。这次课程设计让我们对通信电路DSP实现各种功能模块的设计有了进一步的认识:
1、熟悉了SEED-DTK5416 基于TMS320VC5416、TMS320VC5402的新型双DSP 试验箱;
2、熟悉了并使用TMS320VC5416芯片和AD73360芯片(包括芯片各功能扩展,引脚功能,接口电路设计);
3、熟悉了并掌握上述芯片的接口软件的编写,调试、下载和运行实现。
XXX 《基于TI5416芯片的键盘控制程序的实现》 第 22 页 共 26 页
参考文献
[1] 郝静,王业浦,刘兵兵等.等厚形三棱轴与孔的设计[J].农机化研究,2002.2(1):88-89.
[2] 郭芝俊,左宝山,张桂芳等.机械设计便览[M].天津:天津科学技术出版社,1986:26-64.
[3] 李继彬,李国仁,张振良.高等数学教程[M].北京:科学出版社,1999:43-44. [4] 林洁,数控加工程序编制[M].北京:航空工业出版社,1993:212-216.
XXX 《基于TI5416芯片的键盘控制程序的实现》 第 23 页 共 26 页
附件
1、ad.c文件:这是实验的主程序,包含系统初始化,配置CODEC,AD 设置,通过CODEC 进行AD 采样等。
ioport unsigned port0bfff; #define IOSR port0bfff #define _cosx 0.999390827
#pragma DATA_SECTION(_COSX,\float _cosx[200];
#pragma DATA_SECTION(dacdata,\int dacdata[180]; void delay(void); void main(void) {
unsigned int i=0;
XXX 《基于TI5416芯片的键盘控制程序的实现》 第 24 页 共 26 页 _cosx[0]=1.000; dacdata[0]=4095; _cosx[1]=_COSX;
dacdata[1]=_COSX*2047+2048; i=1; while(1) {
if(i++>179) break;
_cosx[i]=2*_COSX*_cosx[i-1]-_cosx[i-2]; dacdata[i]=_cosx[i]*2047+2048; } i=0; while(1) {
if(i>179) i=0;
IOSR=dacdata[i++]; /*delay*/ } }
void delay(void) {
long int j;
for(j=0; j<200; j++) asm(\}
2. boot.asm文件:C 环境的引导程序。 sint17 .space 4*16 sint18 .space 4*16 sint19 .space 4*16 sint20 .space 4*16 sint21 .space 4*16 sint22 .space 4*16 sint23 .space 4*16 sint24 .space 4*16 sint25 .space 4*16 sint26 .space 4*16 sint27 .space 4*16 sint28 .space 4*16 sint29 .space 4*16 sint30 .space 4*16
int0: RETE
NOP
XXX 《基于TI5416芯片的键盘控制程序的实现》 第 25 页 共 26 页 NOP NOP int1: RETE
NOP NOP NOP int2: RETE
NOP NOP NOP tint: B _time .ref _time
NOP NOP rint0: RETE
NOP NOP NOP xint0: RETE
NOP NOP NOP rint1: RETE
NOP NOP NOP xint1: RETE
NOP NOP NOP int3: RETE
NOP NOP NOP .end
3.dec5416.cmd文件:声明了系统的存贮器配置与程序各段的连接关系。 -c
-o cos.out -l rts.lib MEMORY {
PAGE 0:
PARAM : origin=0x1000, length=0x0efd PAGE 1:
DARAM : origin=0x2000, length=0x2000
XXX 《基于TI5416芯片的键盘控制程序的实现》 第 26 页 共 26 页 }
SECTIONS {
.text : {} > PARAM PAGE 0 .cinit: {} > PARAM PAGE 0 .data: {} > DARAM PAGE 1 .bss: {} > DARAM PAGE 1 .const: {} > DARAM PAGE 1 }
4.vector.asm文件:包含了VC5416 的中断向量表
#define DEC5416_CTL 0x60000 //定义DEC5416_CTL 寄存器 #define DEC5416_INT 0x60001 //定义DEC5416_ INT 寄存器 #define DEC5416_STA 0x60002 //定义DEC5416_ STA 寄存器 StartUp( ) ; 开始函数 {
GEL_MapReset(); ; 存储空间复位
GEL_MapAdd(0x0000,0,0x7fff,1,1); 定义程序空间0000-7fff 可读 写
GEL_MapAdd(0x8000,0,0x7000,1,1); 定义程序空间8000-f000 可读写 GEL_MapAdd(0x0000,1,0x1000,1,1); 定义数据空间0000-f000 可读写 GEL_MapAdd(0xffff,2,1,1,1); 定义i/o 空间0xffff 可读写 GEL_MapOn(); 存储空间打开
GEL_MemoryFill(0xffff,2,1,0x40); 在i/o 空间添入数值40h }
5.commn.h文件:各子函数的头文件,定义了AD 实验中所用的命令宏 #define ADSTART 0xAA40 //启动AD 采样 #define ADSET 0xAA41 //AD 设置
#define ADDATASEND 0xAA43 //AD 数据传送 #define ADOVER 0xAA42 //AD 数据采样结束 #define ADGAIN 0xAA44 //AD 前向增益调整 /*AD 属性设置*/
typedef struct _AdConfig {
unsigned int SampleLong; //AD 采样数据长度 unsigned int SampleRate; //AD 采样率 unsigned int GainSet; //AD 前向增益调整
unsigned int DataLeft; //选择左通路数据还是右通路 }AdConfig, *PAdConfig; /*AD 采样率调整*/
#define ADSAMPL8K 0xd //采样率为8k #define ADSAMPL44K 0x23 //采样率为44k #define ADSAMPL96K 0x1d //采样率为96k
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于TI5416芯片的键盘控制程序的实现(5)在线全文阅读。
相关推荐: