DSP期末试卷(含答案)

2020-03-27 13:06

湖南科技学院二○一三年上学期期末考试

通信工程 专业 2013 级 DSP原理及应用(实验) 试题

考试类型:开卷 试卷类型:A卷 考试时量:120分钟

题号 答案 1 A 2 A 3 A 4 C 5 C 6 A 7 A 8 B 9 D 10 B 题 号 得 分 阅卷人 复查人 一 二 三 四 五 总分 统分人 一、选择题 (本题共10小题,每小题2分,满分20分,答案填入下表)

1.实验课中,配置DSP工作在纯软件环境或硬件仿真环境的窗口名称是( )

A、Setup CCStudio v3.3 B、 CCStudio v3.3 C、emurst D、 Protel 99 SE 2. DSP实验箱附带的USB信号线连接ICETEK-5100SB仿真器和PC机后,ICETEK-5100SB仿真器上指示灯Power和Run灯点亮,可通过查看桌面上的图标名称( )查看初始化是否成功。

A、CCStudio v3.3 B、Setup CCStudio v3.3 C、Protel 99 SE D、emurst

3. CCS可以工作在纯软件仿真环境中,进入CCS设置窗口如(图一)所示,My System应该选择(图二)中的( )

(图一)

(图二)

A、C55xx Rev3.0 Functional Simulator B、C55xx Rev3.0 Cycle Accurate Simulator C、ICETEK USB 5100-C5510 V2.x Emulator D、ICETEK USB 5100-C5510 Emulator

第 1页

4. 实验中,单步调试的按键是( )

A、F5 B、F 6 C、F10 D、F11

5. 在程序中,观察某变量在运行过程的变化,可以选中该变量右键,选择( ) A、 Editor B 、Quick Watch C 、Add to Watch Window D 、Go to?

6. 实验中,要想查看寄存器值的变化,可通过“View”菜单中的( )项开启内存观察窗口。 A 、Memory B 、Disassembly C 、Register D 、Watch Window 7.实验中,直流电机调速改变占空比的方法是( )

A、定宽调频法 B、调宽调频法 C、定频调宽法 D、以上答案均不对 8. 下面几个选项中,不是C语言开发的优点的是( )

A、易于开发和维护 B、不容易发生流水线冲突 C、可移植性强 D、优化代码简单 9. 下面几个选项中,不是汇编语言开发的缺点的是( )

A、可读性差 B、代码量大 C、可移植性差 D、容易产生流水线冲突 10. C语言程序在执行时,先要调用C标准库中的初始化程序,入口标号为( )。 A、_c_init0 B、 _c_init00 C、start D、ioport

二 、填空题(每空2分,满分20分)

1. DSP的软件开发工具包括 汇编器 、 编译器 、 连接器 、调试器、代码模拟器、代码库及实时操作系统等。

2. ICETEK–VC5509-A实验箱上,用户可编程的指示灯有 4 个。

3. 从当前位置开始执行程序,直到遇到断点后停止的调试按钮是 run ;用来暂停正在执行的程序的调试按钮是 halt 。

4. DSP定时器实验中,将定时器timer_init( )函数里的“prd0 = 0x0ffff ”改成“prd0 = 0x0fff”,指示灯闪烁的频率变 快 (填快或慢),发生这种现象的原因是计数器采用 减1 (填减1或加1)计数的方式。

5. TMS320C55x DSP的中断可分为可屏蔽中断和不可屏蔽中断两种,软件中断是 不可屏蔽 中断,C5509可响应个 5 外中断。

三、简答题(每小题8分,共16分)

1. 怎样创建一个新的工程项目?

答:(1)在主菜单“project”中选择“new”选项

(2)在“Project Name”域中输入要创建的项目名,在“Location”域输入或选择将要

第 2页

创建的工程项目所处的目录,对于每个新建的工程项目最好建立不同的目录。 (3)在“project”下拉列表中选择将要 创建的工程项目的配置。

(4)在“Target”下拉列表中选择要创建的工程项目所对应的目标器件系列 (TMS320C54xx,TMS320C55xx等) (5)最后单机“finish”按钮。

2. 简述ICETEK-VC5509-A与PC机没有正常连接的常见原因。(假设设备是正常的,列出至少4

条以上)

答:1.USB线松弛没连接好 2.电源没开

3.软硬件模式没选对

4.ICETEK-VC5509-A等相关驱动没装好

五、程序题(共44分)

1. 给下面的程序添加注释。 (12分) void InitTimer() {

ioport unsigned int *tim0; ioport unsigned int *prd0; ioport unsigned int *tcr0; ioport unsigned int *prsc0; tim0 = (unsigned int *)0x1000; prd0 = (unsigned int *)0x1001; tcr0 = (unsigned int *)0x1002; prsc0 = (unsigned int *)0x1003;

*tcr0 = 0x04f0; // 设置定时器控制寄存器并且启动定时器 *tim0 = 0;

*prd0 = 15000; // 初始化定时器0周期寄存器 *prsc0 = 0x0f; // 设置4位定时器初值 16分频 *tcr0 = 0x00e0; // 关闭定时器0控制寄存器,定时器 }

第 3页

void InitCTR() {

CTRGR=0; CTRGR=0x80; CTRGR=0;

CTRLR=0; // 清屏

CTRLR=0x40; // 设置起始行 CTRLR=0x0c0;// 设置起始列 LCDCMD(LCDCMDTURNOFF); dbClearKey=CTRCLKEY;

LBDS=0; // 关闭显示器 }

2. 已知 AC0 = 00 EC00 0000H, AC1 = 0000000000H,TC2 = 1,AR1=0200H,(0200)=00FEH,(0201) = 0020H。

ADDSUBCC *AR1+ ,AC0, TC2, AC1;

执行上面指令之后,AC0、AR1和AC1的值分别是多少?要求用汇编代码写出完整的计算过程,包括各个参数的赋值。 (14分)

解:如果TC2=1,则AC1=AC0+(*AR1+)<<#16; 否则AC1=AC0–(*AR1+)<<#16,

这里TC2=1,所以AC1=AC0+(*AR1+)<<#16, AC1=00EC000000H+00FE0000H=00ECFE0000H, AR1=0201H,

AC0=00EC0000H

汇编代码:

MOV AC0,#EC000000H MOV AC1,#00000000H MOV TC2,#1 MOV AR1,0200H CMP 1,TC2 JNE NEXT LD (AR1),16, MOV AR2,(AR1) ADD AC0,AR2 MOV AC1,AC0 END NEXT:

SUB AC0,AR2 MOV AC1,AC0 END INC AR1

第 4页

3 试设计程序在液晶显示屏上显示计时时钟,精确到秒,形式为“时时:分分:秒秒”。数字0~9在ledkey[10][8]矩阵中(只写主程序即可)。 (18分) #define LCDDELAY 1 #include \

#include \#include \

main() {

int i,nCount=0,nBW=0; PLL_Init(20); SDRAM_init(); InitCTR();

TurnOnLCD(); // 打开显示 LCDCLS(); // 清除显示内存

CTRLCDCMDR=LCDCMDSTARTLINE; // 设置显示起始行 Delay(LCDDELAY); CTRLCDCR=0;

Delay(LCDDELAY); for (;;) {

CTRLCDCMDR=LCDCMDPAGE; // 设置操作页=0 Delay(LCDDELAY); CTRLCDCR=0;

Delay(LCDDELAY);

CTRLCDCMDR=LCDCMDVERADDRESS; // 起始列=0 Delay(LCDDELAY); CTRLCDCR=0;

Delay(LCDDELAY); for ( i=0;i<64;i++ )

{if(i<8)CTRLCDRCR=( nBW==0 )?(ledkey[a][i]):(~ledkey[a][i]); // 屏幕左侧第1至8行第i列赋值 port8002=0; // (赋值后当前操作列自动加1,所以不需设置)

else if(i<16)CTRLCDRCR=( nBW==0 )?(ledkey[b][i-8]):(~ledkey[b][i-8]); // 屏幕左侧第1至8行第i列赋值 port8002=0; // (赋值后当前操作列自动加1,所以不需设置)

else if(i<24)CTRLCDRCR=( nBW==0 )?(ledkey[10][i-16]):(~ledkey[c][i-16]); // 屏幕左侧第1至8行第i列赋值

else if(i<32)CTRLCDRCR=( nBW==0 )?(ledkey[c][i-24]):(~ledkey[d][i-24]); // 屏幕左侧第1至8行第i列赋值

else if(i<40)CTRLCDRCR=( nBW==0 )?(ledkey[d][i-32]):(~ledkey[e][i-32]); // 屏幕左侧第1至8行第i列赋值

else if(i<48)CTRLCDRCR=( nBW==0 )?(ledkey[10][i-32]):(~ledkey[e][i-32]);

第 5页

else if(i<56)CTRLCDRCR=( nBW==0 )?(ledkey[e][i-32]):(~ledkey[e][i-32]); else CTRLCDRCR=( nBW==0 )?(ledkey[nCount][i-40]):(~ledkey[nCount][i-40]); // 屏幕左侧第1至8行第i列赋值 port8002=0; // (赋值后当前操作列自动加1,所以不需设置) Delay(LCDDELAY); CTRLCDCR=0;

Delay(LCDDELAY); }

Delay(1024); nCount++;

if ( nCount==10 ) { e++;

if(e==6) { d++; e=0;

if(d==10) { c++; d=0; if(c==6) { b++; c=0;

if(b==10) {

a++; b=0;

if(a==2&&b==4) a=0; } } } }

nCount=0; //nBW=1-nBW; } }

LEDkey[10][8] ={0x0,0x0,0x0,0x66,0x66,0x0,0x0,0x0}

第 6页


DSP期末试卷(含答案).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:知识产权名词解释及简答题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: