文档库

最新最全的文档下载
当前位置:文档库 > DSP原理及应用(杨风开)部分课后习题解答

DSP原理及应用(杨风开)部分课后习题解答

1-1程序存储器中保存的是什么?程序的最终表现形式是什么?

DSP原理及应用(杨风开)部分课后习题解答

答:(1)程序存储器中保存的是二进制数据,即物理上的高低电平信号。

(2)程序的最终表现形式是机器码,即用二进制表示的高低电平。

1-2 何为总线?总线的图形表示形式是怎样的?(画图说明)P5 P8

答:(1)总线是连接多个设备、供多个设备使用的一系列性质相同的连线。

(2)总线用双线箭头表示。

1-5 计算机系统由哪两部分构成?两大部分间通过什么连接?P5

答:(1)由CPU和外设构成;(2)通过总线连接。

1-6 何为单片机?何为DSP?P5 P7

答:(1)单片机是将CPU和外设功能集成在一块芯片上的计算机系统;

(2)DSP是特殊的单片机,特指数字信号处理器。

1-8 经典的数字信号处理方法有哪些?P7

答:(1)时域中的数字滤波(2)时域、频域的快速傅里叶变换(FFT)

1-10 区别单片机和DSP的标志是什么?P7

答:是加连乘指令。DSP有加连乘指令而单片机没有。

1-14 DSP有几个移位定标寄存器?作用是什么?P11 P12

答:(1)有3个(ACC与a输入数据总线、b输出数据总线、c乘积寄存器之间)(2)作用a使数据在传送过程中按指定方式移位;

b按指定方式对数据进行小数处理(定标)

数据的移位和定标均在传送过程中自动发生,不需要花费CPU时间。

1-17 在DSP中做乘法运算时,一个乘数必须来自TREG,运算结果保存在PREG。

1-22 DSP有哪3个独立地址空间?每个空间容量是多少?P18

答:有程序存储器、数据存储器和I/O。每个空间容量是64K字。

1-24 DARAM和SARAM有什么区别?P18~20

答:(1)DARAM是双访问RAM,SARAM是单访问RAM;

(2)DARAM在CPU内部,而SARAM在芯片内部,CPU外部。

1-27 LF25407型DSP片内有多大容量FLASH程序存储器?FLASH程序存储器属于那一部分电路?P22

答:有32K容量FLASH程序存储器。属于CPU内部组成部分。

1-31 CPU时钟频率由什么寄存器设定?P29

答:由SCSR1寄存器第11~9位确定的倍频系数乘以晶振频率f in得到。

1-35 系统控制和状态寄存器有哪些?主要作用是什么?P33~34

答:(1)有SCSR1、SCSR2两个。

(2)作用是a设置CPU及外设的基本运行参数;b反映CPU及外设的工作状态。

1-37 中断响应应具备什么条件?P36

答:中断请求信号和中断允许。(1允许,0禁止)

1-39 什么情况下会发生中断嵌套?P37

答:在前一个中断服务程序未结束,又有更高级别中断源发出中断请求时会发生中断嵌套。1-40 当CPU响应外设中断时,硬件电路将自动将中断向量存放于PIVR中。P39

1-41 总中断控制位INTM位于哪个寄存器中?作用是什么?P40

答:在CPU状态寄存器ST0中。作用是使能或禁止中断。(0允许,1禁止)

1-43 外设中断向量寄存器PIVR的作用?P41

答:用于存放发出中断请求的外设子中断向量。

2-1 何为寻址方式?P52

答:就是指令寻找操作的数据地址的方式。

2-2 何为立即寻址?P52

答:直接以数值的形式装载或存储数据的方式。

2-3 何为直接寻址?DSP直接寻址有什么特点?P52

答:(1)以指令后的数值作为操作数的地址的寻址方式。

(2)特点是直接寻址时,需先向状态寄存器ST0中的页地址指针DP装载页地址,然后才能进行直接寻址。直接寻址的地址值仅低7位有效,高9位被忽略。

2-4 何为间接寻址?DSP可以通过什么进行间接寻址?P53

答:(1)指实际需要的数据必须通过寄存器中的值间接获得的寻址方式。

(2)DSP能且只能通过8个辅助寄存器AR0~AR7进行间接寻址。

2-5 间接寻址是否需要设定数据页?它有哪几种间接寻址方式?P53~54

答:(1)间接寻址不需要设定数据页,仅以当前辅助寄存器中的16位数作地址。

(2)有基本间接寻址、地址增(减)量间接寻址、地址加(减)偏移量间接寻址、地址逆序进位加(减)偏移量间接寻址4种

2-6 地址加减偏移量间接寻址方式中,数据地址在哪个寄存器中?偏移量在哪个寄存器中?答:数据地址在*中(AR0除外),偏移量在AR0中。P53

2-7 条件判断中,条件可以有哪些符号?其含义分别是什么?P71

答:EQ ACC=0 NC 进位位C=0 NEQ ACC≠0 C 进位位C=1

LT ACC<0 NOV 溢出标志位OV=0

GT ACC>0 OV 溢出标志位OV=1

LEQ ACC≤0 NTC 测试位TC=0

GEQ ACC≥0 TC 测试位TC=1

BIO BIO引脚为低电平UNC 无条件

2-8 设指令执行前的初始条件:SXM=1,ARP=1,DP=6,AR0=80H,AR1=8080H,(8080H)=1234H,(8081H)=2345H,(200H)=0080H,(300H)=0001H,ACC=00006000H。

下列各条指令均在初始条件下执行,填写执行结果。

(1)LACC #5678H ACC=00005678H

(2)LACC #8765H ACC=0FFFF8765H

(3)LACC 200H,2 ACC=00000004H

(4)LACC * + ACC=00001234H,AR1=8081H

(5)LACC *0+,1,AR3 ACC=00002468H,AR1=8100H,ARP=3

(6)LACC *BR0+ ACC=00001234H,AR1=8040H

(8)OR *0+ ACC=00007234H,AR1=8100H

3-1 程序存储器中存放的是什么形式的指令?包括哪两部分?P91

答:存放的是16位二进制机器码指令。包括操作码、操作数两部分。

3-2 何为汇编语言指令?何为汇编语言程序?P91

答:(1)以助记符代表操作码,以符号、变量名代表操作数书写的指令为汇编语言指令;

(2)由汇编语言指令构成的程序为汇编语言程序。

3-3 将汇编语言源程序文件翻译成机器码文件的过程称为汇编或编译,完成编译功能的个人计算机或软件称为汇编器或编译器。编译形成的机器码文件称为目标文件。

将机器码程序翻译成汇编语言的过程称为反汇编。P92

3-4 何为程序的链接?何为链接器?P92

答:(1)将不同的目标文件、目标文件库中的内容组合到一起的过程,称为程序的链接;

(2)完成连接功能的个人计算机软件称为链接器。

3-5 程序的调试模式有几种?各有什么特点?P93

答:(1)有软件仿真、硬件仿真

(2)软件仿真节约成本,但只适合调试计算类程序;

硬件仿真成本较大,但一些必须观察I/O口或实时性很强的程序功能必须硬件仿真。3-6 DSP链接器可将存储器分为基本的哪3段?各起什么作用?P94

答:(1)分为代码段(.text)、数据段(.data)、附加段(.bss)

(2)代码段为程序存储器中的代码;

数据段为程序存储器中存放的各种固定常数、表格;

附加段为数据存储器,用于临时存放各种数据、变量。

3-7 链接器对不同文件中的相同段进行组合时,要进行哪些操作?

答:(1)在存储器空间内分配不同文件的段,使之开始在合适位置;

(2)将标号所代表的地址调整到新段地址

(3)将引用调整到重新定位后的标号。

3-8 命令文件中包括哪些信息?P96

答:包括输入文件名、输出文件名选项、MEMORY和SECTION链接伪指令、赋值说明

3-9 实际的汇编语言命令文件通常包含哪两条伪指令?各自的作用是什么?P100

答:(1)包含MEMORY和SECTION伪指令。

(2)MEMORY伪指令用于定义实际目标系统中所含的各种形式的存储器,以及他们所占据的地址范围;

SECTION伪指令用于指定用户程序中定义的段名称所指向的存储器块,以及该存储器块所在的页。

3-10 典型的汇编语言指令由哪4部分组成?各有什么作用?P100

答:(1)由标号、操作码助记符、操作数、注释组成;

(2)标号代表语句所在行的地址,编译软件编译程序时,将自动把标号变成具体地址值;

操作码助记符为硬件电路进行算术逻辑运算提供控制信号,以决定硬件进行何种操作;

操作数为硬件电路进行算术逻辑运算提供输入数字信号。

注释提供给编程者自己或他人阅读,与指令执行无关。

3-11 何为伪指令?其作用是什么?P101

答:(1)伪指令是与编译软件对应的,形式上与指令相同,但不能被编译成机器码;

(2)作用是为编译软件或链接软件提供必要信息,满足编程者要求。

3-12 宏调用和子程序调用在书写形式上有什么不同?在程序执行实质上有什么不同?答:(1)宏调用直接写宏名称即可调用,子程序要通过CALL指令调用;P102 (2)宏调用是伪指令,调用时将宏内容直接复制到调用处,有多少次宏调用,宏定义中的语句就会写回去多少次,不会节省在程序存储器中占用的空间;

子程序调用是一条可执行指令,调用时将调用处地址压入堆栈,并跳转到子程序处执行,然后从子程序返回调用处。可以节省程序存储器空间,但花费跳转、返回时间。3-13 头文件的作用是什么?如何引用?P104

答:(1)将不同程序中存在的公共内容集中在一起,避免程序冗长;

(2)通过.include或.copy伪指令调用。

3-14 TI公司提供哪两个基本的头文件?各自的基本内容是什么?P104 P106

答:(1)VECTOR.H、F2407RGS.H

(2)VECTOR.H设定全部中断向量的跳转地址

F2407RGS.H定义了LF2407芯片内全部寄存器名称和一些常用宏。

3-15 举例说明位代码号与实际位号间的关系。P107

答:位代码号与实际位号是逆向定义的。

BIT DA TA_H,BIT0 ;测试DA TA_H位0(最低位)

BIT DA TA_H,BIT15 ;测试DA TA_H位15(最高位)

BIT DA TA_H,0 ;测试DATA_H位15(最高位)

BIT DA TA_H,15 ;测试DATA_H位0(最低位)

3-16 假定被除数为12345678H,除数为1122H,试编程实现除法运算。

FZ_0 .usect ".data0",1

FZ_1 .usect ".data0",1

FM_0 .usect ".data0",1

SHANG_0 .usect ".data0",1

SHANG_1 .usect ".data0",1

LDP #4

SPLK #1234H,FZ_1

SPLK #5678H,FZ_0

SPLK #1122H,FM_0

LACC FZ_1 ;取分子高位

RPT #15

SUBC FM_0 ;除以分母

SACL SHANG_1 ;存商高位

SUB SHANG_1

ADDS FZ_0 ;余数加分子低位

RPT #15

SUBC FM_0 ;除以分母

SACL SHANG_0 ;存商低位

4-1 LF2407共有几个I/O口?P127 6个(ABCDEFG)

4-2 简述I/O口控制寄存器的数量、名称和用途。P127

答:包括MCRA、MCRB、MCRC三个寄存器,每个寄存器控制2个I/O口。

作用是控制各引脚用于基本I/O功能(0)或特殊功能(1)

4-3 简述数据和方向寄存器的名称和用途。P128

答:名称:PxDARDIR x:A~F 6个

用途:高8位每一位控制一个引脚的方向,0输入,1输出

低8位每一位表征对应引脚状态,0低电平,1高电平

4-4 LF2407有几个外部中断引脚?XINT1CR寄存器的作用是什么?P129

答:(1)有XINT1、XINT2两个。

(2)用于设定外部中断引脚XINT1的中断发生条件,表征XINT1的中断请求状态。4-5 当CPU响应外设中断请求时,硬件电路自动做哪两件事?P130

答:一是将程序的断态地址压入堆栈,跳转到主中断向量地址除执行

二是将发生请求的子中断序号及子中断向量保存到中断向量寄存器PIVR中

4-6 DSP中断服务程序包括哪两部分?P130

答:包括主中断服务程序、子中断服务程序。

4-7 简述VECTOR.H头文件和中断之间的关系

答:在VECTOR.H头文件中定义中断向量的跳转地址,当发生外设中断时,将会在VECTOR.H头文件和用户程序之间相互跳转。

用户程序中使用中断时,需要修改VECTOR.H头文件的内容,并在相应主中断向量地址处和子中断向量地址处存放跳转到用户中断服务程序的指令

4-8 简述LF2407中断程序执行的过程

答:断点主中断向量主中断服务程序子中断向量子中断服务程序回断点4-9对于下面给出的程序:(1)在每行指令旁加文字注释;(2)说明整个程序的作用;

(3)画出IOPF0、IOPF1引脚输出信号的时序图。

DA T_D0 .usect ".data0",1

.include "LF2407.H"

.include "VECTOR.H"

.text

START: LDP #DP_PF2

LACC MCRC

AND #0FCFFH

SACL MCRC ;

LACL PFDA TDIR

OR #0300H

AND #0FFFCH

SACL PFDATDIR ;

LDP #DP_B01

SPLK #00AAH,DAT_D0 ;

LAR AR3,#7

MAR *,AR3

LOOP: LDP #DP_B01

LACL DAT_D0

ROR

SACL DAT_D0 ;

LDP #DP_PF2

LACL PFDA TDIR

BCND LOOP1,C ;

AND #0FFFEH ;

B LOOP2 LOOP1: OR #0001H ;LOOP2: OR #0002H

SACL PFDA TDIR ;

AND #0FFFDH

SACL PFDA TDIR ;

BANZ LOOP ;WAITE: B WAITE

DSP原理及应用(杨风开)部分课后习题解答