DSP LED跑马灯实验

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《DSP技术与实验》实验报告

姓名:学号:学期:

实验名:LED跑马灯

一、实验目的

1.熟悉CCS4集成开发环境

2.掌握CCS4下TMS320VC5509A的编程方法

3.熟悉CSL库的使用

二、实验设备

1.一台装有CCS4软件的计算机

开发板

V1仿真器

三、实验原理

LED实验是一个基础,主要为了熟悉开发环境和5509芯片基本编

程方式。要实现LED跑马灯就首先要对芯片GPIO进行控制,GPIO为General Purpose Input Output 的缩写,即通用输入输出接口。每个GPIO都可以配置为输入或输出。HX5509开发板的LED硬件电路如图一所示。对GPIO控制寄存器IODIP写1就可以设定GPIO为输出,然后对数据寄存器IODATA写1或0就可以控制LED状态。GPIO寄存器表如图二所示。

在TI的5509编程过程中,我们不需要直接对寄存器地址操作,而是可以使用TI官方提供的CSL函数库,即Chip Support Library(片级支持库)。有了它,可以简单方便的完成对DSP器件片上外设配置和控制的编程工作,从而简化了DSP片上外设开发工作,缩短开发周期,并且可以达成标准化控制的编程工作。通过查阅TMS320C55x Chip Support Library API Reference Guide .pdf可知,GPIO操作函数原型为:

而且官方手册中提示REG include the registers IODIR,IOD ATA,GPIODIR,GPIODATA,GPIOEN,AGPIODIR,AGPIODATA,and AGPIOEN。

想了解更多信息请查阅 DSP5509开发板\应用资料\官方手册

\TMS320C55x Chip Support Library API Reference Guide .pdf。

四、实验步骤

1.打开 CCS4 ,将开发板上电,链接好仿真器;

2打开本实验工程,编译工程;

3.点击Target---->Launch TI Debugger;

4.点击Target---->Connect Target 或者点击工具栏图标连接开发板,当出现如图所示,则说明连接成功。

5.点击Target---->Load Program 或者工具栏图标下载程序

6.点击Target---->Run或者图标运行程序。此时可以看到开发板上的LED灯开始闪烁。

五、实验结果及分析

1.记录本次实验的实验原理、设计过程、程序设计思想和实验结果、硬件测试结果。

的详细参数如工作电压,电流你知道吗

3.熟悉了解CSL库的使用方法。

六、参考文献

1.《所有实验说明.PDF》

2.《TMS320C55xDSP 原理及应用。》附件:程序及说明

#include <>

#include <>

#include <>

#include <>

void delay();

/*锁相环的设置*/

PLL_Config myConfig = {

0, //IAI: the PLL locks using the same process that was underway

//before the idle mode was entered

1, //IOB: If the PLL indicates a break in the phase lock, //it switches to its bypass mode and restarts the PLL phase-locking

//sequence

24, //PLL multiply value; multiply 24 times

1 //Divide by

2 PLL divide value; it can be either PLL divide value

//(when PLL is enabled), or Bypass-mode divide value

//(PLL in bypass mode, if PLL multiply value is set to 1)

};

main()

{

int i = 0;

/*初始化CSL库*/

CSL_init();

/*设置系统的运行速度为144MHz*/ PLL_config(&myConfig);

/*确定方向为输出*/

GPIO_RSET(IODIR,0xFF);

for(i = 0;i<0x0a;i++)

{

/*全亮*/

GPIO_RSET(IODATA,0xff);

delay();

/*全灭*/

GPIO_RSET(IODATA,0x0);

delay();

}

/*循环闪烁*/

for(;;)

{

GPIO_RSET(IODATA,0x1);

delay();

delay();

GPIO_RSET(IODATA,0x2);

delay();

delay();

GPIO_RSET(IODATA,0x4);

delay();

delay();

GPIO_RSET(IODATA,0x8);

delay();

delay();

GPIO_RSET(IODATA,0x10);

delay();

delay();

GPIO_RSET(IODATA,0x40);

delay();

delay();

GPIO_RSET(IODATA,0x80);

delay();

delay();

}

}

void delay()

{

Uint32 j = 0,k = 0;

for(j = 0;j<0x0c;j++)

相关文档
最新文档