2009DSP实验指导书.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:5 大小:22KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

2009DSP实验指导书.doc

2009DSP实验指导书.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

切忌在开发板和仿真器有电的情况下,一定关闭切忌在开发板和仿真器有电的情况下,进行插拔操作。进行插拔操作。电源再连接插拔电缆!电源再连接插拔电缆!实验一一.实验说明“追灯”式电路控制追灯”输入/输出端口(简称I/O口)是DSP芯片内部电路与外部世界交换信息的通道。输入端口负责从外界接收检测信号、键盘信号等各种开关量信号;输出端口负责向外界输送由内部电路产生的处理结果、显示信息、控制命令、驱动信号等。本实验利用TMS320LF2407芯片做基本的I/O控制接口。使用循环指令和多种送数延时循环程序,设计DSP的“追灯”控制器,是最容易和最简单的事例。实验箱中的TMS320LF2407芯片的输出端口用IOPB0~IOPB7引脚,IOPB2接一个按键,IOPB3—6接4个LED发光管。对按键信息的接收是DSP的IO输入;对4个LED的控制是DSP的IO输出。二.实验目的1.了解TMS320LF2407ADSP的数字I/O控制模块的使用方法;2.了解实验开发系统的基本I/O硬件电路的控制方法。3.进一步熟悉设计并调试程序的基本方法。三.实验内容1.设计并调试用于TMS320LF2407的“追灯”控制器,要求“灯”的花样和显示次数均由软件任意设定。2.程序要求具有多种不同的灯亮花样,能实现发光二极管左移、右移即所谓“追灯”功能。四.实验硬件电路图3.1TMS320LF与40LED接口电路五.实验步骤1.实验准备:程序所在目录:C:/TI/myprojects/ex3_LED⑴连接设备:连接开发板和仿真器,用附带的USB电缆连接计算机和仿真器相应接口⑵开启设备:①打开仿真器供电电源;②打开CC2000,进行如下操作:1.打开工程文件:Project->Open,打开该目录中的工程文件。2.编译工程:Project->RebuildALL,编译链接,生成IOPin.out文件3.下载程序:File->LoadProgram。IOPin.out文件通过仿真器将其下载到2407A将DSP上。4.运行程序观察结果Debug->RUN(快捷键F5)六.实验结果可以看到的现象为:核心板上的LED不断闪烁。扩展板上的4个LED均处于熄灭状态。现在将按键轻按一下,只有LED1闪烁;按第二下,只有LED2闪烁;按第三下,只有LED3闪烁;按第四下,只有LED4闪烁;按第五下,四个LED循环依次闪烁。若再按键,则如此反复循环。实验程序可控制指示灯闪烁。通过DSP的通用I/O引脚可以输出状态,从而直接控制外围设备。七.实验参考程序清单C程序I/O端口作为输出(追灯)unsignedintnumled0=200,numkey=0,numled=0,numled_back=200;unsignedintt0=0,t0_back=0,test;unsignedintPB6_FLAG=0;voidKeyLed(){if((numled!=numled_back)&&((numled%200)==0)){numled_back=numled;if(numkey==1){PBDATDIR=PBDATDIR&0xFFC7;if((PBDATDIR&0x0004)==0x0004)PBDATDIR=PBDATDIR&0xFFFB;elsePBDATDIR=PBDATDIR|0x0404;}if(numkey==2){PBDATDIR=PBDATDIR&0xFFCB;if((PBDATDIR&0x0008)==0x0008)PBDATDIR=PBDATDIR&0xFFF7;elsePBDATDIR=PBDATDIR|0x0808;}if(numkey==3){PBDATDIR=PBDATDIR&0xFFD3;if((PBDATDIR&0x0010)==0x0010)PBDATDIR=PBDATDIR&0xFFEF;elsePBDATDIR=PBDATDIR|0x1010;}if(numkey==4){PBDATDIR=PBDATDIR&0xFFE3;if((PBDATDIR&0x0020)==0x0020)PBDATDIR=PBDATDIR&0xFFDF;elsePBDATDIR=PBDATDIR|0x2020;}if(numkey==5){if(numled==400)//200ms{PBDATDIR=PBDATDIR&0xFFC3;}if(numled==600)//400ms{//将其他的led灭掉//IOPB2=0;LED1灭//IOPB2=1;LED1亮//IOPB3=0;LE