第一篇:DSP原理及应用-(修订版)邹彦--课后习题答案(定稿)
第一章:
1、数字信号处理的实现方法一般有哪几种?
答:数字信号处理的实现是用硬件软件或软硬结合的方法来实现各种算法。(1)在通用的计算机上用软件实现;(2)在通用计算机系统中加上专用的加速处理机实现;(3)用通用的单片机实现,这种方法可用于一些不太复杂的数字信号处理,如数字控制;(4)用通用的可编程 DSP 芯片实现。与单片机相比,DSP 芯片具有更加适合于数字信号处理的软件和硬件资源,可用于复杂的数字信号处理算法;(5)用专用的 DSP 芯片实现。在一些特殊的场合,要求的信号处理速度极高,用通用 DSP 芯片很难实现(6)用基于通用 dsp 核的asic 芯片实现。
2、简单的叙述一下 dsp 芯片的发展概况?
答: 第一阶段,DSP 的雏形阶段(1980 年前后)。代表产品: S2811。主要用途: 军事或航空航天部门。第二阶段,DSP 的成熟阶段(1990 年前后)。代表产品: TI 公司 的 TMS320C20 主要用途: 通信、计算机领域。第三阶段,DSP 的完善阶段(2000 年以后)。代表产品:TI 公司 的 TMS320C54 主要用途: 各个行业领域。
3、可编程 dsp 芯片有哪些特点?
答:
1、采用哈佛结构(1)冯。诺依曼结构,(2)哈佛结构(3)改进型哈佛结构
2、采用多总线结构 3.采用流水线技术
4、配有专用的硬件乘法-累加器
5、具有特殊的 dsp 指令
6、快速的指令周期
7、硬件配置强
8、支持多处理器结构
9、省电管理和低功耗
4、什么是哈佛结构和冯。诺依曼结构? 它们有什么区别?
答: 哈佛结构: 该结构采用双存储空间,程序存储器和数据存储器分开,有各自 独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。冯。诺依曼结构: 该结构采用单存储空间,即程序指令和数据共 用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。
区别: 哈佛: 该结构采用双存储空间,程序存储器和数据存储器分开,有各自 独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进 行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大地提高了 数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。冯: 当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。
5、什么是流水线技术?
答: 每条指令可通过片内 多功能单元完成取指、译码、取操作数和执行等多个步骤,实现多条指令的并行执行,从而在不提高系统时钟频率的条件下减少每条指令的执行时间。利用这种流水线结构,加上执行重复操作,就能保证在单指令周期内 完成数字信号处理中用得最多的乘法-累加运算。(图)
6、什么是定点 dsp 芯片和浮点 dsp 芯片? 它们各有什么优缺点?
答: 若数据以定点格式工作的称为定点 DSP 芯片。若数据以浮点格式工作的称为浮点 DSP芯片。定点 dsp 芯片优缺点: 大多数定点 dsp 芯片称为定点 dsp 芯片,浮点 dsp 芯片优缺 点: 不同的浮点 DSP 芯片所采用的浮点格式有所不同,有的 DSP 芯片采用自 定义的浮点格式,有的 DSP 芯片则采用 IEEE 的标准浮点格式。
7、dsp 技术的发展趋势主要体现在什么方面? 答:(1)DSP 的内 核结构将进一步改善(2)DSP 和微处理器的融合(3)DSP 和高档CPU 的融合(4)DSP 和 SOC 的融合(5)DSP 和 FPGA 的融合(6)实时操作系统 RTOS与 DSP 的结合(7)DSP 的并行处理结构(8)功耗越来越低
8、简述 dsp 系统的构成和工作过程?
答: DSP 系统的构成: 一个典型的 DSP 系统应包括抗混叠滤波器、数据采集 A/D 转换器、数字信号处理器 DSP、D/A 转换器和低通滤波器等。DSP 系统的工作过程: ①将输入信号 x(t)经过抗混叠滤波,滤掉高于折叠频率的分量,以防止信号频谱的混叠。②经过采样和 A/D 转换器,将滤波后的信号转换为数字信号 x(n)。③数字信号处理器对 x(n)进行处理,得数字信号 y(n)。④经 D/A 转换器,将 y(n)转换成模拟信号;⑤经低通滤波器,滤除高频分量,得到平滑的模拟信号 y(t)。(图)抗混叠滤波器 AD转换器-数字信号处理器 DA转换器 低通滤波器
9、简述 dsp 系统的设计步骤? 答: : ①明确设计任务,确定设计目 标②算法模拟,确定性能指令③选择 DSP 芯片和外围芯片④设计实时的 DSP 芯片系统⑤硬件和软件调试⑥系统集成和测试。(图)
10、dsp 系统有哪些特点? 答:(1)接口 方便(2)编程方便(3)具有高速性(4)稳定性好(5)精度高(6)可重复性好(7)集成方便
11、在进行 dsp 系统设计时,应如何选择合理的 dsp 芯片? 答:
1、dsp 的运算速度
2、dsp 芯片价格
3、dsp 芯片运算精度
4、dsp 芯片的硬件资源
5、dsp 芯片的开发工具
6、dsp 芯片的功耗
7、其他因素。第二章
1、TMS320C54x 芯片的基本结构都包括哪些部分? 答: ①中央处理器 ②内 部总线结构 ③特殊功能寄存器 ④数据存储器 RAM ⑤程序存储器ROM ⑥I/O 口 ⑦串 行口 ⑧主机接口 HPI ⑨定时器 ⑩中断系统
2、TMS320C54x 芯片的 CPU 主要由哪几部分组成?
答: ①40 位的算术运算逻辑单元(ALU)。②2 个 40 位的累加器(ACCA、ACCB)。③1 个运行-16 至 31 位的桶形移位寄存器。④17×17 位的乘法器和 40 位加法器构成的乘法器-加法器单元(MAC)。⑤比较、选择、存储单元(CSSU)。⑥指令编码器。⑦CPU 状态和控制寄存器。
3、处理器工作方式状态寄存器 PMST 中的 MP/MC、OVLY 和 DROM 三个状态位对 C54x的存储空间结构各有何影响? 当 OVLY= 0 时,程序存储空间不使用内 部 RAM。当 OVLY= 1 时,程序存储空间使用内 部RAM。内 部 RAM 同 时被映射到 程序存储空间 和 数据存储空间。当 MP/ MC=0 时,4000H~EFFFH 程序存储空间定义为外部存储器; F000H~FEFFH 程序存储空间定义为内 部ROM; 当 MP/ MC=1 时,4000H~FFFFH 程序 存储空间 定 义为外部存储。DROM=0: 0000H~3FFFH—— 内 部 RAM ; 4000H~FFFFH—— 外 部 存 储 器 ; DROM=1 : 0000H~3FFFH——内 部 RAM; 4000H~EFFFH——外 部存储器; F000H~FEFFH——片 内ROM; FF00H~FFFFH——保留。、TMS320C54x 芯片的片内 外设主要包括哪些电路?
① 通用 I/O 引 脚②定时器 ③时钟发生器④ 主机接口 HPI⑤ 串 行通信接口 ⑥ 软件可编程等待状态发生器⑦可编程分区转换逻辑
5、TMS320C54x 芯片的流水线操作共有多少个操作阶段? 每个阶段执行什么任务? 完成一条指令都需要哪些操作周期?
六个操作阶段:① 预取指 P;将 PC 中的内 容加载 PAB ② 取指 F;将读取到的指令字加载 PB③ 译码 D;若需要,数据 1 读地址加载 DAB; 若需要,数据 2 读地址加载 CAB; 修正辅助寄存器和堆栈指针④ 寻址 A;数据 1 加载 DB; 数据 2 加载 CB; 若需要,数据 3 写地址加载 EAB⑤ 读数 R;数据 1 加载 DB; 数据 2 加载 CB; 若需要,数据 3 写地址加载 EAB; ⑥执行 X。执行指令,写数据加载 EB。
6、TMS320C54x 芯片的流水线冲突是怎样产生的? 有哪些方法可以避免流水线冲突?
答: ’C54x 的流水线结构,允许多条指令同时利用 CPU 的内 部资源。由于 CPU 的资源有限,当多于一个流水线上的指令同时访问同一资源时,可能产生时序冲突。
解决办法① 由 CPU 通过延时自 动解决; ② 通过程序解决,如重新安排指令或插入空操作指令。为了避免流水冲突,可以根据等待周期表来选择插入的 NOP 指令的数量。
7、TMS320C54x 芯片的串 行口 有哪几种类型? 四种串 行口 : 标准同步串 行口 SP,缓冲同步串 行口 BSP,时分多路串 行口 TDM,多路缓冲串 行口 McBSP。8、TMS320VC5402 共有多少可屏蔽中断? 它们分别是什么? NMI 和 RS 属于哪一类中断源?
答: TMS320VC5402 有 13 个可屏蔽中断,RS 和 NMI 属于外部硬件中断。
9、试分析下列程序的流水线冲突,画出流水线操作图。如何解决流水冲突? STLM A,AR0 STM #10,AR1 LD *AR1,B 解: 流水线图如下图:
解决流水线冲突: 最后一条指令(LD *AR1,B)将会产生流水线冲突,在它前面加入一条 NOP 指令可以解 决流水线冲突。
10、试根据等待周期表,确定下列程序段需要插入几个 NOP 指令。① LD @GAIN, T STM #input,AR1 MPY *AR1+,A 解: 本段程序不需要插入 NOP 指令 ② STLM B,AR2 STM #input ,AR3 MPY *AR2+,*AR3+,A 解: 本段程序需要在 MPY *AR2+,*AR3+,A 语句前插入 1 条 NOP 指令 ③MAC @x, B STLM B,ST0 ADD @table, A, B 解: 本段程序需要在 ADD @table, A, B 语句前插入 2 条 NOP 指令 第三章
1、已知(80H)=50H,AR2=84H,AR3=86H,AR4=88H。MVKD 80H,*AR2 MVDD *AR2,*AR3 MVDM 86H, AR4 运行以上程序后,(80H)、(84H)、*AR3 和 AR4 的值分别等于多少? 解:(80H)=50H,(84H)=50H,*AR3=50H,AR4=50H
2、已知,(80H)=20H、(81H)=30H。LD #0,DP LD 80H,16,B ADD 81H,B 运行以上程序,B 等于多少? 答:(B)=00 0000 0000H
3、阅读以下程序,分别写出运行结果。.bss x,4.data table:.word 4,8,16,32 „„
STM #x,AR1 RPT #2 MVPD table,*AR1+ 解: 数据表 table 中的常量 4 传送到以变量 x 的地址为地址的存储单元中; 数据表 table 中的常量 8 传送到以变量 x+1 的地址为地址的存储单元中; 数据表 table 中的常量 16 传送到以变量 x+2 的地址为地址的存储单元中;.bss x,4.data table:.word 4,8,16,32 „„
STM #x,AR1 RPT #2 MVPD table,*+AR2 解: 数据表 table 中的常量 4 传送到以变量 x+1 的地址为地址的存储单元中; 数据表 table中的常量 8 传送到以变量 x+2 的地址为地址的存储单元中; 数据表 table 中的常量 16 传送到以变量 x+3 的地址为地址的存储单元中; 3.5 TMS320C54x 的数据寻址方式各有什么特点? 应该应用在什么场合? 答: TMS320C54x 有 7 种基本的数据寻址方式: 立即寻址,绝对寻址,累加器寻址,直接寻址,间接寻址,存储器映像寄存器寻址和堆栈寻址。
1,立即寻址: 其特点是指令中包含有一个固定的立即数,操作数在指令中,因而运行较慢,需要较多的存储空间。它用于对寄存器初始化。
2,绝对寻址: 可以寻址任一数据存储器中操作数,运行较慢,需要较多的存储空间。它用于对寻址速度要求不高的场合。
3,累加器寻址: 把累加器内 容作为地址指向程序存储器单元。它用于在程序存储器和数据存储器之间传送数据。4,直接寻址: 指令中包含数据存储器的低 7 位和 DP 或 SP 结合形成 16 位数据存储器地址,它寻址速度快,用于对寻址速度要求高的场合。
5,间接寻址: 利用辅助寄存器内 容作为地址指针访问存储器,可寻址 64 千字 X16 为字数据存储空间中任何一个单元。它用于按固定步长寻址的场合。6,堆栈寻址: 用于中断或子程序调用时,将数据保存或从堆栈中弹出。7,存储器映像寄存器(MMR)寻址,是基地址为零的直接寻址,寻址速度快,它用于直接用 MMR 名快速访问数据存储器的 0 页。第四章
1、软件开发的环境有哪几种? 在非集成开发环境中,软件开发常采用哪些部分? 答: 可以在两种开发环境中进行 C54X 的开发: 非集成的开发环境和集成的开发环境。在非 集成开发环境中,软件开发常采用: 编辑、汇编、链接、调试等部分。
2、什么是 COFF 格式? 它有什么特点? 答: 汇编器和链路器生成的目 标文件,是一个可以由'C54x 器件执行的文件。这些目 标文件的格式称为公共目 标文件格式,即 COFF。
特点: 在编写汇编语言程序时,COFF 采用代码段和数据段的形式,以便于模块化的编程,使编程和管理变得更加方便。
3、说明.text 段、.data 段和.bss 段分别包含什么内 容?.text 段(文本段),通常包含可执行代码;.data 段(数据段),通常包含初始化数据;
.bss 段(保留空间段),通常为未初始化变量保留存储空间。
5、链接器对段是如何处理的? 答: 链接器将一个或多个 COFF 目 标文件中的各种段作为链接器的输入段,经过链接后在一个可执行的 COFF 输出模块中建立各个输出段,通过情况下是将不同目 标文件中的同名段进 行合并,并为各个输出段分配进具体的存储器中。
6、什么是程序的重定位?
答: 将各个段配置到存储器中,使每个段都有一个合适的起始地址; 将符号变量调整到相对于新的段地址的位置;
将引 用调整到重新定位后的符号,这些符号反映了调整后的新符号值。
7、宏定义、宏调用和宏展开分别指的是什么?
答: 在调用宏之前,必须先定义宏。可以在源程序的任何位置定义宏,宏定义的所有内 容必须包含在同一个文件中。宏定义可以嵌套,即在一条宏指令中调用其他的宏指令。在定义宏之后,可在源程序中使用宏名进行宏调用。
8、链接器能完成什么 工作?链接器命令文件中,MEMORY 命令和 SECTIONS 命令的任务是什么? 答: 链接器将各个目 标文件合并起来,并完成如下工作:(1)将各个段配置到目 标系统的存储器。(2)对各个符号和段进行重新定位,并给它们指定一个最终的地址。(3)解决输入文件之间的未定义的外部引 用。MEMORY 命令的作用: MEMORY 命令用来建立 DSP应用系统中的存储器模型。通过这条命令,可以定义系统中所 包含的各种形式的存储器,以及它们占用的地址范围。SECTION 命令的作用: 说明如何将输入段结合成输出段; 在可执行程序中定义输出段; 规定输出段在存储器中的存 储位置; 允许重新命名 输出段。第六章 应用程序设计
2、FIR 低通滤波器的截止频率为 0.2 n,其输出方程为:790()i()iy n a x n i。存放
a0 的系数表以及存放数据的循环缓冲区设置在 DARAM 中,如图 6.1 所示。试用
MATLAB 中的 fir1 函数确定各系数 ai,用循环缓冲区实现。解: 运行 Coef.m 文件,生成滤波器所需系数文件。Coef.m 文件内 容如下: n=79;b=fir1(n,0.1);fid=fopen('FIRCoef.inc','wt');fprintf(fid,'%s %s %sn','FIRCoef','.sect',' “FIRCOEF”');fprintf(fid,' %sn','');for j=1:1:(n+1)fprintf(fid,' %s %6.0fn','.word',round(b(j)*16384));end fclose(fid)用循环缓冲区实现的参考程序如下:
;FIR 滤波器的参考程序,使用循环缓冲区法。.title “fir_main.asm”.mmregs.global _c_int00 K_ FIR_BFFR.set 80 K_ FIR_INDEX.set 1 K_ FRAME_SIZE.set 256 stack_len.set 100 stack.usect “STACK”,stack_len FIR_DP.usect “fir_vars”,0 d_filin.usect “fir_vars”,1 d_filout.usect “fir_vars”,1 fir_coff_table.usect “fir_coff”,K_FIR_BFFR d_data_buffer.usect “fir_bfr”,K_FIR_BFFR;buffer size for the filter FIR_Dinbuf.usect “fir_dinbuf”,K_FRAME_SIZE FIR_Doutbuf.usect “fir_doutbuf”,K_FRAME_SIZE.asg AR0, FIR_INDEX_P.asg AR4,FIR_DATA_P.asg AR5,FIR_COFF_P.asg AR6,INBUF_P.asg AR7,OUTBUF_P.copy “FIRInput.inc”.copy “FIRCoef.inc”.text _c_int00: ssbx INTM;INTM=1,禁止所有可屏蔽中断 ssbx FRCT;------stm #0, CLKMD;切换 CPU 内 部 PLL 到分频模式 Clk_Status: ldm CLKMD, A and #01b, A bc Clk_Status, ANEQ;检查是否已经切换到分频模式? stm #0x07ff,CLKMD;设置 DSP 时钟 16.384MHZ;------nop stm #0x3FF2,PMST stm #0x7FFF,SWWSR stm #0xF800,BSCR stm #0x0000, IMR;禁止所有可屏蔽中断 stm #0xFFFF, IFR;清除中断标志
stm #stack+stack_len,SP;设置堆栈指针 nop STM #FIR_Dinbuf,AR1 RPT #(K_FRAME_SIZE-1)MVPD #FIRIn,*AR1+;以上 3 行的功能是把模拟数据拷贝到内 存中。STM #fir_coff_table,FIR_COFF_P RPT #K_FIR_BFFR-1;MVPD #FIRCoef,*FIR_COFF_P+;把滤波器常数拷贝到内 存中。STM #K_FIR_INDEX,FIR_INDEX_P STM #d_data_buffer,FIR_DATA_P;load cir_bfr address for the recent samples RPTZ A,#K_FIR_BFFR STL A,*FIR_DATA_P+;清除滤波器缓冲区,所有数据存储单元置 0。STM #(d_data_buffer+K_FIR_BFFR-1), FIR_DATA_P;STM #fir_coff_table, FIR_COFF_P;AR5 指向滤波器系数缓冲区最低地址。STM #FIR_Dinbuf,INBUF_P AR6 指向输入数据缓冲区,准备读入数据。STM #FIR_Doutbuf,OUTBUF_P;AR7 指向输出数据缓冲区,准备读出数 据。
;修改数据页指针 LD #FIR_DP,DP STM #K_FRAME_SIZE-1,BRC;程序执行 256 次。RPTBD fir_filter_loop-1 STM #K_FIR_BFFR,BK;LD *INBUF_P+, A;从输入数据缓冲区读入数据,准备处理。fir_filter: STL A,*FIR_DATA_P+%;读入最新数据 RPTZ A,(K_FIR_BFFR-1)MAC *FIR_DATA_P+0%,*FIR_COFF_P+0%,A;累加处理。
STH A, *OUTBUF_P+;把数据输出到输出缓冲区,可以验证结果。fir_filter_loop Wait b Wait.END 第七章 TMS320C54x 片内 外设、接口 及应用
1、已知 TMS320C54X 的 CLKOUT 频率为 4MHz,那么,①在 SAM 工作方式下,主机的时钟频率是多少?
解: 在 SAM 工作方式下,主机频率可达 3.2MHz 或 2.4MHz。
②在 HOM 工作方式下,主机的时钟频率与 TMS320C54X 的时钟频率有关吗? 答: 在 HOM 工作方式下,主机的时钟频率与 TMS320C54X 的时钟频率无关。
2、试分别说明下列有关定时器初始化和开放定时中断语句的功能(针对 5402 处理器)。
①STM #0004H,IFR 解: 清除外部中断 2 标志位 ②STM #0080H,IMR 解: 允许定时器 T1 或 DMAC1 中断(使用哪一种中断由 DMA 通道优先级和使能控制寄存
器 DMPREC 控制。在复位以后,中断被配置为定时器 T1 中断)。③RSBX INTM 解: 使能所有可屏蔽中断。④STM #0279H,TCR 解: 设置定标计数器的值 PSC 为 9; 定时器分频系数为 9; 以 PRD 中的值加载 TIM,以 TDDR 中的值加载 PSC; 定时器停止工作。
3、试分别说明下列语句的功能。① STM #SPCR10,SPSA0 STM #0001H,BSP0 解: 对串 口 控制寄存器 SPCR10 赋值。不使用数字循环返回模式,接收数据 DRR[1,2] 采用右对齐方式,连续时钟方式,DX 使能判断,接收中断由 RRDY 产生,接收移位寄存器
未超载,串 口 接收器准备好,使能串 口 接收器。②STM #SPCR20,SPSA0 STM #0081H,BSP0 解: 对串 口 控制寄存器 SPCR20 赋值。串 口 使用软件模式,帧同步逻辑、采样率发生器复
位,由发送准备好 XRDY 驱动发送中断; 发送移位寄存器为空,发送器未准备好,使能串 口 发送器。
③STM #SPCR20,SPSA0 ORM #01000001B,BSP0 解: 修改串 口 控制寄存器 SPCR20 的值。由采样率发生器产生帧同步信号,使能串 口 发送 器。
4、已知中断向量 TINT=013H,中断向量地址指针 IPTR=0111H,求中断向量地址。
解: 中断向量地址=(100010001B)<<9+(10011)<<2=88CCH 第八章
1、一个典型的 dsp 系统通常有哪些部分组成? 画出原理框图? 答: 一个完整的 DSP 系统通常是由 DSP 芯片和其他相应的外围器件构成。一个典型的 DSP 系统应包括抗混叠滤波器、数据采集 A/D 转换器、数字信号处理器 DSP、D/A 转换器和
低通滤波器等。DSP 系统的工作过程: ①将输入信号 x(t)经过抗混叠滤波,滤掉高于折
叠频率的分量,以防止信号频谱的混叠。②经过采样和 A/D 转换器,将滤波后的信号转
换为数字信号 x(n)。③数字信号处理器对 x(n)进行处理,得数字信号 y(n)。④经 D/A 转
换器,将 y(n)转换成模拟信号; ⑤经低通滤波器,滤除高频分量,得到平滑的模拟信号 y(t)。
2、dsp 系统硬件设计过程都有哪些步骤?
答: 第一步: 确定硬件实现方案; 第二步: 器件的选择; 第三步: 原理图设计; 第四步:
PCB 设计; 第五步: 硬件调试; 第九章
工程项目 的管理
CCS 开发环境对用户 系统采用工程项目 的集成管理,使用户 系统的开发和调试变得简单明
了。在开发过程中,CCS 会在开发平台中建立不同独立程序的跟踪信息,通过这些跟踪信
息对不同的文件进行分类管理,建立相应的文件库和目 标文件。
一个工程项目 包括源程序、库文件、链接命令文件和头文件等,它们按照目 录树的结构
组织在工程项目 中。工程项目 构建(编译链接)完成后生成可执行文件。9.1 CCS 集成开发环境都有哪些功能?
答: CCS 集成开发环境。此环境集编辑,编译,链接,软件仿真,硬件调试和实时跟踪
等功能于一体,包括编辑工具,工程管理工具和调试工具等。9.3 在 CCS 的所有窗口 中,都含有一个关联菜单。怎样打开这个关联菜单? 答,只要在该窗口 中单击右键就可以打开关联菜单。9.4 CCS 软件为用户提供哪几种常用的工具条?
答: 标准工具条,编辑工具条,项目 工具条和调试工具条
9.6 CCS 软件可为用户提供各种窗口,常用的窗口都有哪些? 怎样打开? 答: 反汇编窗口,存储器窗口,寄存器窗口,观察窗口,反汇编窗口 : 主要用来显示反汇编后的指令和调试所需的符号信息,包括反汇编指令,指令所存放的地址和相应的操作码。当程序装入目 标处理器或仿真器后,CCS 会自 动打
开反汇编窗口。存储器窗口 : 可以直接显示存储器的内 容。在调试程序的过程中,可直
接观察存储器的内 容来确定程序的正确性。
9.7 一个工程项目 都包含有哪些文件? 怎样建立一个新的工程项目 ?
答: 一个工程项目 包括源程序,库文件,链接命令文件和头文件等,它们按照目 录树的
结构组织在工程项目 中。见课本(P358)
9.8 CCS 软件为用户构建工程项目 提供了哪几种操作? 这些操作有什么不同? 答: 1,编译文件: 编译文件仅完成对当前源文件的编译,不进行链接。2,增加性构建:增加性构建仅对修改的源文件进行编译,先前编译过,没有修改的文件不再进行编译。
3,全部重新构建: 是对当前工程项目 中的所有文件进行重新编译,重新链接,形成输输入放 大 电路抗 混叠 滤波器A/D 转换器DSPI/O 口存储器D/A转换器平滑滤 波输出出文件。
4,停止构建: 停止当前的构建进程。
9.9 怎样使用 CCS 软件来调试程序? 其都有哪些步骤?
答: CCS 开发环境提供了异常丰富的调试手段。当完成工程项目 构建,生成目 标文件后,就可以进行程序的调试。一般的调试步骤为:
1、装入构建好的目 标文件;
2、设置程序断点,探测点和评价点;
3、执行程序;
4、程序停留在断点处,查看寄存器和内 存单元的数据,并对中间数据进行在线(或输出)分析。反复上述过程直到程序达到预期的功能为止。9.10 在 CCS 软件中,程序运行控制经常需要哪些操作? CCS 提供了四种实时运行程序的操作,它们分别是哪些操作? 各有什么不同?
答: 在调试程序的过程中,经常需要复位,执行,单步执行等操作。
1、装载文件
2、复位目 标处理器
3、单步运行
4、实时运行 第 7 章程序
; 初始化定时器 0 ; 根据定时长度计算公式: Tt=T*(TDDR+1)*(PRD+1); 给定 TDDR=9,PRD=1599,CLKOUT 主频 f=4MHz,T=250ns ; Tt=250*(9+1)*(1599+1)=4,000,000(ns)=4(ms)STM #1599,TIM0 STM #1599,PRD0 STM #K_TCR0,TCR0 ; 启 动定时器 0 中断 RET ; 定时器 0 的中断服务子程序: 通过引 脚 XF 给出周期为 8ms 的占空比 ; 为 50%的方波波形 t0_flag.usect “vars”,1 ; 当前 XF 输出电平标志位 ; 若 t0_flag=1,则 XF=1 ; 若 t0_flag=0,则 XF=0 time0_rev: PSHM TRN PSHM T PSHM ST0 PSHM ST1 BITF t0_flag,#1 BC xf_out,NTC SSBX XF ST #0,t0_flag B next xf_out: RSBX XF ST #1,t0_flag next: POPM ST1 POPM ST0 POPM T POPM TRN RETE(3)方波发生器程序清单
周期为 8ms 的方波发生器,定时中断周期为 4ms,每中断一次,输出端电平取一次反。; abc1.asm ; 定时器 0 寄存器地址 TIM0 . set 0024H PRD0 . set 0025H TCR0 . set 0026H ; K_TCR0: 设置定时器控制寄存器的内 容 K_ TCR0_SOFT.set 0b ; Soft=0 K_ TCR0_FREE.set 0b ; Free=0 K_ TCR0_PSC.set 1001b ; PSC=9H K_TCR0_TRB.set 1b ; TRB=1 K_ TCR0_TSS.set 0b ; TSS=0 K_ TCR0_TDDR.set 1001b ; TDDR=9 K_ TCR0.set K_TCR0_SOFT| K_TCR0_FREE| K_TCR0_PSC| K_TCR0_TRB| K_ TCR0_TSS| K_TCR0_TDDR 周期信号的周期检测
定时器计数器的使用对于周期信号的周期检测,可在信号的每个周期内 发出一个脉冲,然后通过程序计算两个脉冲之间的时间来确定信号的周期。
当脉冲来临时触发外部中断 INT0 外部中断 INT0 用来记录脉冲定时器 0 用来记录时间。为了 增加计时长度,可在程序中设置一级计数器。定时器 0 的寄存器用来记录低位时间,程序中的计数器用来记录高位时间,在外部中断服务程序中读取时间。在定时器 0 中断服务程序中对计数器加 1,实现低位时间的进位。; abc3.asm ; 定时器 0 寄存器地址 TIM0.set 0024H PRD0.set 0025H TCR0.set 0026H TSSSET.set 010H TSSCLR.set 0ffefH ; K_TCR0: 设置定时器控制寄存器的内 容 K_ TCR0_SOFT.set 0b ; Soft=0 K_ TCR0_FREE.set 0b ; Free=0 K_ TCR0_PSC.set 1111b ; PSC=15 K_ TCR0_TRB.set 1b ; TRB=1 K_ TCR0_TSS.set 0b ; TSS=0 K_ TCR0_TDDR.set 1111b ; TDDR=15 K_ TCR0.set K_TCR0_SOFT| K_TCR0_FREE| K_TCR0_PSC| K_TCR0_TRB| K_TCR0_TSS| K_TCR0_TDDR t_counter.usect “vars”,1 t_ptr_counter.uset “vars”,1 tim_ptr_counter.usect “vars”,1 tcr_ptr_counter.usect
第二篇:数据库原理及应用第7章课后习题答案
习题7
1、试述事务的概念及事务的四个特性。
事务(Transaction)是用户定义的一个数据库操作序列,这些操作是一个完整的工作单元,一个事务内的所有语句被作为一个整体,这些操作要么全做,要么全不做。事务是数据库环境的中的逻辑单元,相当于操作系统中的进程。
为了保证数据库中数据的正确性,一个事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这四个特性简称ACID特性。
2、试述事务的状态及转换。
3、在数据库中为什么要并发控制?并发控制能保证事务的哪些特性?
数据库的一个明显的特点是多个用户共享数据库资源,尤其是多用户可以同时存取相同的数据。在这样的系统中,在同一时刻并发运行的事务数可达数百个。若对事务的并发操作不加以控制,就会造成数据存、取的错误,破坏了数据的一致性和完整性。
并发控制可以防止数据不一致性出现。
4、并发操作可能会产生哪几类数据不一致?用什么方法可以避免不一致性的情况?
并发操作带来的数据不一致性分为四种情况:丢失数修改、读“脏”数据、不可重复读和产生“幽灵”数据。
在数据库环境下,进行并发控制的主要技术有封锁(Locking)、时间戳(Timestamp)和乐观控制法。商用的DBMS一般都采用封锁方法。
5、什么是封锁?基本的封锁类型有哪些?试述它们的含义。
封锁机制,即加锁(Locking),是一种并发控制机制,是用来调整对共享目标的并行存取的技术。事务通过向封锁管理程序的系统组成部分发出请求而对事务加锁。
基本封锁类型有两种:共享锁(Share Locks,简记为S锁或读锁)和排它锁(Exclusive Locks,简记为X锁或写锁)。
6、如何用封锁机制保证数据的一致性?
在运用X锁和S锁对数据对象加锁时,还需要约定一些规则,这些规则为封锁协议或加锁协议(Locking Protocol)。对封锁方式加不同的规则,就形成了各种不同级别的封锁协议。不同级别的封锁协议所能达到的一致性级别是不同的。
7、什么样的并发调度是正确的调度?
可串行性(Serializability)是并发事务正确调度的准则。按照这个准则规定,一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度。
8、理解并解释下列术语的含义:
封锁、活锁、死锁、排他锁、共享锁、可串行化的调度、两段锁协议。
1)加锁就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,封锁其要使用的数据。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。
2)活锁:如果事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。然后T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求……,T2有可能永远等待,这就是活锁。
3)死锁:如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁,接着T2又申请封锁R1,因T1已封锁了R1,T2也只能等待T1释放R1上的锁。这样T1在等待T2,而T2又在等待T1,T1和T2两个事务永远不能结束,形成死锁。4)共享锁:
若事务T对数据对象A加上S锁,则事务T可以读A,但不能修改A。其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。5)排他锁:
若事务T对数据对象A加上X锁,则只允许T读取和修改A,但不允许其它事务再对A加任何类型的锁和进行任何操作,直到T释放A上的锁。这就保证其他事务在T释放A上的锁之前不能再读取和修改A。6)多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同,称这种调度策略为可串行化(Serializable)调度。
7)所谓两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。具体内容如下: ①在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁;
②在释放一个封锁之后,事务不再申请和获得任何其他封锁。
9、数据库中为什么要有恢复子系统?它的功能是什么?
系统故障会丢失这些事务对数据的修改,使数据库处于不一致状态。
恢复子系统在系统重启时,撤销所有未完成的事务,并重做已经提交的事务,以保证将数据库真正恢复到一致状态。
10、数据库运行过程中可能产生的故障有几类?哪些故障影响事务的正常执行?哪些
故障破坏数据库数据? 1)事务内部的故障
事务内部的故障有的是可以通过事务程序本身发现的,有的是非预期的,不能由事务程序处理的。
事务故障意味着事务没有达到预期的终点,因此,数据库可能处于不正确的状态。恢复程序要在不影响其他事务运行的情况下,强行回滚该事务,即撤销该事务已经作出的任何对数据库的修改,使得该事务好像根本没有启动一样。这类恢复操作称为事务撤销(UNDO)。
2)系统故障
系统故障又称为软故障,是指造成系统停止运转,要使得系统重新启动的故障。例如,硬件错误(如CPU故障)、操作系统故障、DBMS代码错误、系统断电等都是系统故障。这样的故障会影响正在运行的所有事务,但不破坏数据库。
3)其他故障
介质故障或由计算机病毒引起的故障或破坏可归为其他故障。
介质故障常称为硬故障,指外存故障,如磁盘损坏、磁头碰撞等。这类故障会对数据库造成破坏,并影响正在操作数据库的所有事务。这类故障发生的可能性小得多,但破坏性最大。
各种故障对数据库的影响有两种可能性:一是数据库本身被破坏;二是数据库没有被破坏,但数据可能不正确,这是由于事务的运行被非正常终止造成的。
11、数据库恢复技术有哪些?
1)利用备份技术 2)利用事务日志 3)利用镜像技术
12、什么是数据库的备份?
数据备份是指定期或不定期地对数据库数据进行复制,可以将数据复制到本地机器上,也可以复制到其他机器上,也称为数据转储。
13、什么是日志文件?为什么要设日志文件?
日志文件(log)是用来记录事务对数据库的更新操作的文件。具体的作用是:
a)事务故障恢复和系统故障恢复必须用日志文件。b)在动态备份方式中必须建立日志文件,后备副本和日志文件结合起来才能有效地恢复数据库。
14、登记日志文件时为什么必须先写日志文件,后写数据库?
如果先写了数据库修改,而在日志文件中没有登记下这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性。所以为了安全,一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改,这就是“先写日志文件”的原则。
15、什么是数据库镜像?它有什么用途?
所谓镜像就是在不同的设备上同时存有两份数据库,把一个设备称为主设备,另一个称为镜像设备。主设备和镜像设备互为镜像关系,每当主数据库更新时,DBMS自动把整个数据库或其中的关键数据复制到另一个镜像设备上。保证镜像数据与主数据库的一致。
这样,一旦出现介质故障,可由镜像磁盘继续提供使用,同时DBMS自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。
由于数据库镜像是通过复制数据实现的,频繁地复制数据自然会降低系统运行效率,因此在实际应用中用户往往只选择对关键数据和日志文件镜像,而不是对整个数据库进行镜像。
第三篇:《微机原理及应用》教材课后习题及答案
《微机原理及应用》习题答案
第一章
1.11 请完成下列数制转换:
(1)将174.66D转换为对应的二进制和十六进制形式。
(2)将100011101011.01011B转换为对应的十进制和十六进制形式。(3)将F18A6.6H转换为对应的二进制和十进制形式。答:174.66D=10101110.1010B=AE.AH 100011101011.01011B=2283.34375D=8EB.58H F18A6.6H=989350.375D
1.12 请写出与数据+37和-37对应的8位机器数原码、反码和补码,并分别用二进制和十六进制表示出来。
答:-37D=(10100101B)原=(11011010B)反=(11011011B)补
1.13 8位机器数46H,若作为无符号数和补码有符号数,其对应的真值各是什么?若作为BCD码和ASCII码,其对应的又是什么?
答:无符号数46H=70,补码46H=+70
BCD码46H=46,ASCII码46H=“F”
第二章
2.5什么是8088中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?1MB最多能分成多少个逻辑段?请将如下逻辑地址用物理地址表达:
(1)FFFFH:0H(2)40H:17H(3)2000H:4500H
(4)B821H:4567H 答:⑴ FFFFH:0H = FFFF0H
⑵ 40H:17H = 00417H
⑶ 2000H:4500H = 24500H
⑷ B821H:4567H = BC777H 2.8已知DS=2000H,BX=0100H,SI=0002,存储单元[20100H]~[20103H]依次存放12H,34H,56H,78H,[21200H]~[21203H]依次存放2AH,4CH,87H,65H,说明下列每条指令执行完后AX寄存器的内容以及源操作数的寻址方式? 答:⑴ AX=1200H,立即数寻址;
⑵ AX=0100H,寄存器寻址;
⑶ AX=4C2AH,直接寻址;
⑷ AX=3412H,寄存器间接寻址;
⑸ AX=4C2AH,寄存器相对寻址;
⑹ AX=7865H,基址变址寻址;
⑺ AX=65B7H,基址变址相对寻址。2.9 说明下面各条指令的具体错误原因:
(1)mov cx,dl(2)mov ip,ax(3)mov es,1234h(4)mov es,ds
(5)mov al,300(6)mov [sp],ax(7)mov ax,bx+di(8)mov 20h,ah 答: ⑴操作数类型不同;
⑵不能手工修改IP;
⑶不能将立即数直接MOV到段寄存器;
⑷不能在段寄存器之间直接MOV数据;
⑸300大于AL所能存放的数据的范围;
⑹寄存器间接寻址只能用BX/BP/SI/DI之一;
⑺MOV AX,[BX+DI];
⑻目的操作数不能是立即数。
2.10 已知数字0~9对应的格雷码依次为:18H,34H,05H,06H,09H,0AH,0CH,11H,12H,14H,它存在于以table为首地址(设为200H)的连续区域中。请为如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。lea
bx,table mov al,8
xlat
答:
lea
bx,table ;bx=0200h mov al,8
;al=08h xlat
;al=12h 2.11给出下列各条指令执行后的AL值,以及CF,ZF,SF,OF和PF的状态: mov al,89h add al,al add al,9dh cmp al,0bch sub al,al dec al inc al 答:⑴ al=89h ⑵ al=12h,CF=1,ZF=0,SF=0,OF=1,PF=1,AF=1 ⑶ al=afh,CF=0,ZF=0,SF=1,OF=0,PF=1,AF=0 ⑷ al=afh,CF=1,ZF=0,SF=1,OF=1,PF=1,AF=0 ⑸ al=00h,CF=0,ZF=1,SF=0,OF=0,PF=1,AF=0 ⑹ al=ffh,CF=0,ZF=0,SF=1,OF=0,PF=1,AF=1 ⑺ al=00h,CF=0,ZF=1,SF=0,OF=0,PF=1,AF=1 2.12请分别用一条汇编语言指令完成如下功能:
(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。
(2)用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加并把结果送到AL中。用BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX寄存器的内
容相加,并把结果送回存储器中。
(4)用位移量为0520H的直接寻址方式把存储器中的一个字与数3412H相加,并把结果
送回该存储单元中。
(5)把数0A0H与AL寄存器的内容相加,并把结果送回AL中。答:
⑴ add dx,bx;
⑵ add al,[bx+si]; ⑶ add [bx+00b2h],cx
⑷ add word ptr [0520h],3412h ⑸ add al,0a0h 2.13设X,Y,Z,V均为16位带符号数,分别装在X,Y,Z,V存储器单元中,阅读如下程序段,得出它的运算公式,并说明运算结果存于何处。mov ax,x imul y mov cx,ax mox bx,dx mov ax,z cwd add cx,ax adc bx,dx sub cx,540 abb bx,0 mov ax,v cwd sub ax,cx abb dx,bx idiv x 答:(V -(X * Y + Z - 540))/ X 2.14给出下列各条指令执行后的结果,以及状态标志CF、OF、SF、ZF、PF的状态。mov ax,1470h and ax,ax or ax,ax xor ax,ax not ax test ax,0f0f0h 答:⑴ ax=1470h ⑵ ax=1470h,CF=0,ZF=0,SF=0,OF=0,PF=0 ⑶ ax=1470h,CF=0,ZF=0,SF=0,OF=0,PF=0 ⑷ ax=0000h,CF=0,ZF=0,SF=0,OF=1,PF=1 ⑸ ax=0ffffh,CF=0,ZF=0,SF=0,OF=1,PF=1
⑹ ax=0ffffh,CF=0,ZF=0,SF=1,OF=0,PF=12.16假设DS=2000H,BX=1256H,TABLE的偏移地址是20A1H,物理地址232F7H处存放3280H,试问执行下列段内间接寻址的转移指令后,转移的有效地址是什么? 答:⑴ 1256h; ⑵ 3280h 2.17判断下列程序段跳转的条件(1)xor ax,leleh je equal(2)test al,10000001b jnz there(3)cmp cx,64h jb there 答:⑴ ax=1e1eh; ⑵ al=1******1b; ⑶ cx<64h 2.18如下是一段软件延时程序,请问NOP指令执行了多少次?
xor cx,cx delay: nop
loop delay 答:65536 2.19 有一个首地址为array的20个字的数组,说明下列程序段的功能。
mov cx,20 mov ax,0 mov si,ax sumlp: add ax,array[si]
add si,2
loop sumlp
mov total,ax 答:将array数组的20个字(无进位)累加,其和存入total单元。2.20按照下列要求,编写相应的程序段:
(1)由string指示的起始地址的主存单元中存放一个字符串(长度大于6),把该字符串的第1个和第6个字符(字节量)传送给DX寄存器。
(2)有两个32位数值,按“小端方式”存放在两个缓冲区buffer1和 buffer2中,编写程序段完成DX.AX←buffer1-buffer2功能。
(3)编写一个程序段,在DX高4位全为0时,使AX=0;否则,使AX=-1。(4)把DX.AX中的双字右移4位。
(5)有一个100个字节元素的数组,其首地址为array,将每个元素减1(不考虑溢出或借位)存于原处。
答:
⑴ mov dl,string
mov dh,string+5 ⑵ mov ax,word ptr buffer1
sub ax,word ptr buffer2
mov dx,word ptr buffer1+2
sbb dx,buffer2+2 ⑶
test dx,0f0h
je
t1
mov ax,-1
jmp
done t1: mov ax,0 done: …..⑷ mov ax,1234h
mov dx,5678h
mov cx,4 lp1:
shr
dx,1
rcr
ax,1
loop lp1 ⑸ lea bx,array
mov cx,100 lp1:
sub [bx],1
inc
bx
loop lp1 2.25编写一个程序段:先提示输入数字“Input Number:0~9”,然后在下一行显示输入的数字,结束;如果不是键入了0~9数字,就提示错误“Error!”,继续等待输入数字。答:
.model
small.stack
100h.data
message
db “Input
Number : 0~9”,0dh,0ah,“$”
error
db “Error!”,0dh,0ah,“$”
.code.startup
mov
dx,offset message
mov
ah,09h
int
21h begin1:
mov
ah,01h
int
21h
cmp
al,“0”
jb
err1
cmp
al,“9”
ja
err1
mov
dl,al
mov
ah,02h
int
21h.exit err1:
mov
offset error
mov
ah,09h
int
21h
jmp
begin1 end
第三章
3.11请设置一个数据段,按照如下要求定义变量:
(1)my1b为字符串变量,表示字符串“Personal Computer”。(2)my2b为用十进制数表示的字节变量,这个数的大小为20。(3)my3b为用十六进制数表示的字节变量,这个数的大小为20。(4)my4b为用二进制数表示的字节变量,这个数的大小为20。(5)my5w为20个未赋值的字变量。(6)my6c为100的符号常量。
(7)my7c为字符串常量,代替字符串“Personal Computer”。答:
my1b
db “Personal Computer” my2b
db 20 my3b
db 14h my4b
db 00010100b my5w dw 20 dup(?)my6c
equ 100 my7c
equ < Personal Computer > 3.14设在某个程序中有如下片段,请写出每条传送指令执行后寄存器AX的内容:
;数据段
org 100h varw
dw 1234h,5678h varb
db 3,4 vard
dd 12345678h buff
db 10 dup(?)mess
db „hello‟
;代码段
mov ax,offset mess
mov ax,type buff+type mess+type vard
mov ax,sizeof varw+sizeof buff+sizeof mess
mov ax,lengthof varw+lengthof vard 答:
offset varb = 0104h offset mess = 0114h type buff = 1;type mess = 1; type vard = 4 sizeof varw = 4;sizeof buff = 10; sizeof mess = 5 lengthof varw =2;lengthof vard = 1 3.15假设myword是一个字变量,mybyte1和mybyte2是两个字节变量,指出下列语句中的具体错误原因。
⑴ mov byte ptr [bx],1000(2)mov bx,offset myword[si](3)cmp mybyte1, mybyte2(4)mov mybyte1,al+1(5)sub al,myword(6)jnz myword 答:
⑴1000大于字节变量所能表示的范围
mov byte ptr [BX],5 表示的意思是把5以字节的形式传送给DS:BX,1000超过了0ffh,也就是大于1个字节,所以无法传送会出现 error A2050: Value out of range(值超出范围)
数据类型不匹配,目的地址单元是字节单元,1000大于255。无法存放。⑵OFFSET只能用于简单变量
OFFSET后只能跟标识符。
⑶双操作数不能同时为存储器操作数
CMP的两个操作数不能同时在存储器中。
⑷数值表达式应为运算符加常量
运算符只能对常数进行操作,不能对变量进行操作。
⑸两操作数类型不一致
数据类型不匹配,AL是8位的,MYWORD是16位变量。⑹条件跳转只能是短跳转
MYWORD是变量,其指的单元中存放的是操作数,不能用做跳转入口。
3.17已知用于LED数码管的显示代码表为:
LEDtable
db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h
db 80h,90h,88h,83h,0c6h,0c1h,86h,8eh 它依次表示0~9,A~F这16个数码的显示代码。现编写一个程序实现将lednum中的一个数字(0~
9、A~F)转换成对应的LED显示代码。答:
stack segment stack
db 100h dup(?)stack ends
data segment ledtable db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h
db 80h,90h,88h,83h,0c6h,0c1h,86h,8eh lednum
db 3 data ends
code segment 'code' assume cs:code,ss:stack,ds:data start: mov ax,data mov ds,ax
lea bx,ledtable mov al,lednum xlat
mov ax,4c00h int 21h code ends end start
解析:stack 段是缺省的堆栈段时写成 stack segment para stack'stack' 比较简单省事儿,因为这样链接程序会自动设置 exe 可执行文件里初始堆栈指针,程序里就不用自己进行设置了。如果没有最后的那个 'stack' 说明项,就需要自己设置 ss:sp。'stack'是类别名。
把我定义的stack segment关联到栈,省去了assume ss:stack对么,所以我可以写成stack segment stack.3.18编制一个程序,把变量bufX和bufY中较大者存入bufZ;若两者相等,则把其中之一存入bufZ中。假设变量存放的是8位有符号数。答:
data segment x
db 13 y
db-3 z
db ? data ends
stack segment stack
db 100 dup(?)stack ends
code segment 'code' assume cs:code, ds:data, ss:stack start: mov ax,data mov ds,ax
mov al,x mov ah,y cmp al,ah jbe change mov z,ah jmp done change: mov z,al done: mov ax,4c00h int 21h code ends end start 3.19设变量bufX为有符号数16位数,请将它的符号状态保存在signX,即:如果变量值大于等于0,保存0;如果X小于0,保存-1.编写该程序。答:
data segment buffx dw 13 signx dw ? data ends
stack segment stack
db 100 dup(?)stack ends
code segment 'code' assume cs:code, ds:data, ss:stack start: mov ax,data mov ds,ax
mov ax,buffx;ax=13 cmp ax,0 jbe change mov signx,0 jmp done change: mov signx,-1 done: mov ax,4c00h int 21h code ends end start 3.20 bufX、bufY和bufZ是3个有符号十六进制数,编写一个比较相等关系的程序:(1)如果这3个数都不相等,则显示0。
(2)如果这3个数中有两个数相等,则显示1。(3)如果这3个数都相等,则显示2。答:
data segment bufx
db 13 bufy
db-3 bufz
db-3 data ends
stack segment stack
db 100 dup(?)stack ends
code segment 'code' assume cs:code, ds:data, ss:stack start: mov ax,data mov ds,ax
mov al,bufx mov bl,bufy mov cl,bufz
cmp al,bl je
cac cmp al,cl je
view1 cmp bl,cl je
view1 mov dl,'0' jmp view cac: cmp al,cl je
view2
view1: mov dl,'1' jmp view
view2: mov dl,'2'
view: mov ah,02h int 21h
mov ax,4c00h int 21h code ends end start 3.21例3.7中,如果要实现所有为1的位都顺序执行相应的处理程序段(而不是例题中仅执行最低为1位的处理程序段),请写出修改后的代码段? 答: data segment number db 78h addrs dw offset fun0, offset fun1, offset fun2, offset fun3,offset fun4, offset fun5, offset fun6, offset fun7 data ends
stack segment stack
db 100 dup(?)stack ends
code segment 'code' assume cs:code, ds:data, ss:stack start: mov ax, data mov ds, ax
mov dh, number mov cx, 8 mov bx, 0 lp1: shr dh, 1 jc
next
again: inc bx inc bx loop lp1 jmp done next: jmp addrs[bx]
fun0: mov dl, '0' jmp view fun1: mov dl, '1' jmp view fun2: mov dl, '2' jmp view fun3: mov dl, '3' jmp view fun4: mov dl, '4' jmp view fun5: mov dl, '5' jmp view fun6: mov dl, '6' jmp view fun7: mov dl, '7' jmp view
view: mov ah, 02h int 21h jmp again
done: mov ax, 4c00h int 21h
code ends end start 3.22编制程序完成12H, 45H, F3H, 6AH, 20H, FEH, 90H, C8H, 57H和34H共10个无符号字节数据之和,并将结果存入字节变量SUM中(不考虑进位)。答:
data segment num db 12h, 45h, 0f3h, 6ah, 20h, 0feh, 90h, 0c8h, 57h, 34h sum db ? data ends
stack segment stack
db 100 dup(?)stack ends
code segment 'code' assume cs:code, ds:data, ss:stack start: mov ax, data mov ds, ax
mov cx, 10 lea bx, num
again: mov al, [bx] add sum, al inc bx loop again
mov ax, 4c00h int 21h code ends end start 3.23 求主存0040H:0开始的一个64KB物理段中共有多少个空格? 答:
stack segment stack
db 100 dup(?)stack ends
code segment 'code' assume cs:code, ss:stack start: mov ax, 0040h mov es, ax mov di, 0 mov cx, 0 mov bx, 0 mov al, ' '
again: scasb jne next inc bx next: dec cx jne again
mov ax, 4c00h int 21h code ends end start 3.24编写计算100个正整数之和的程序。如果和不超过16位字的范围(65535),则保存其和到wordsum,如超过则显示 „overflow!‟。答: data segment num dw 100 dup(800)sum dw ? msg db 'Overflow!', 13, 10, '$' data ends
stack segment stack
db 100 dup(?)stack ends
code segment 'code' assume cs:code, ds:data, ss:stack start: mov ax, data mov ds, ax
mov cx, 100 lea bx, num mov ax, 0
again: add ax, [bx] inc bx inc bx jc
err loop again
mov sum, ax jmp done err: mov dx, offset msg mov ah, 09h int 21h
done: mov ax, 4c00h int 21h code ends end start 3.25编制程序完成将一个16位无符号二进制数转换成为用8421BCD码表示的5位十进制数。转换算法可以是:用二进制数除以10000,商为“万位”,再用余数除以1000,得到“千位”;一次用余数除以100、10和1,得到“百位”、“十位”和“个位”。答: data segment bnum dw 19982 dnum db 5 dup(?), '$' data ends
stack segment stack
db 100 dup(?)stack ends
code segment 'code' assume cs:code, ds:data, ss:stack start: mov ax, data mov ds, ax
mov ax, bnum lea bx, dnum mov dl, 0 cwd mov cx, 10000 div cx add al, 30h mov [bx], al inc bx mov ax, dx cwd mov cx, 1000 div cx add al, 30h mov [bx], al inc bx mov ax, dx cwd mov cx, 100 div cx add al, 30h mov [bx], al inc bx mov ax, dx cwd mov cx, 10 div cx add al, 30h mov [bx], al inc bx
add dl, 30h mov [bx], dl
mov dx, offset dnum mov ah, 09h int 21h
mov ax, 4c00h int 21h
code ends end
start 3.27编写一个源程序,在键盘上按一个键,将从AL返回的ASCII码值显示出来,如果按下ESC键则程序退出。答:
stack segment stack
db 100h dup(?)stack ends
code
segment 'code' assume cs:code, ss:stack start: mov ah, 07h int 21h
cmp al, 1bh je
done
push ax mov dl, al mov cl, 4 shr dl, cl call htoasc mov ah, 02h int 21h pop ax mov dl, al and dl, 0fh call htoasc mov ah, 02h int 21h
jmp start
done: mov ax, 4c00h int 21h
htoasc proc add dl, 30h cmp dl, 39h jbe htoend add dl, 7 htoend: ret htoasc endp
code
ends end
start 3.28请按如下说明编写子程序:
;子程序功能:把用ASCII码表示的两位十进制数转换位对应二进制数 ;入口参数:DH=十位数的ASCII码,DL=个位数的ASCII码 ;出口参数:AL=对应的二进制数 答:
stack segment stack
db 100h dup(?)stack ends
code
segment 'code' assume cs:code, ss:stack start: mov dx, 3932h call asctoh
mov ax, 4c00h int 21h
asctoh proc push cx sub dx, 3030h mov cl, 10 mov al, dh mul cl add al, dl pop cx ret asctoh endp
code
ends end
start 3.29调用HTOASC子程序,编写显示一个字节的16进制数、后跟“H”的子程序。答:
stack segment stack
db 100h dup(?)stack ends
code
segment 'code' assume cs:code, ss:stack start: mov ah, 07h int 21h
cmp al, 1bh je
done
call htoah
jmp start
done: mov ax, 4c00h int 21h
htoah proc push ax push cx push dx push ax mov dl, al mov cl, 4 shr dl, cl call htoasc mov ah, 02h int 21h
pop ax mov dl, al and dl, 0fh call htoasc mov ah, 02h int 21h
mov dl, 'H' mov ah, 02h int 21h pop dx pop cx pop ax ret htoah endp
htoasc proc add dl, 30h cmp dl, 39h jbe htoend add dl, 7 htoend: ret htoasc endp
code
ends end
start 3.30写一个子程序,根据入口参数AL=0、1、2,依次实现对大些字母转换成小写、小写转换成大写或大小写字母互换。欲转换的字符串在string中,用0表示结束。答:
data segment string db 'abcDEfGh', '$' data ends
stack segment stack
db 100 dup(?)stack ends
code
segment 'code' assume cs:code, ds:data, ss:stack start: mov ax, data mov ds, ax
mov al, 2 call change
mov dx, offset string mov ah, 09h int 21h
mov al, 0 call change
mov dx, offset string mov ah, 09h int 21h
mov al, 1 call change
mov dx, offset string mov ah, 09h int 21h
mov ax, 4c00h int 21h
change proc lea bx, string cmp al, 0 je
cg1 cmp al, 1 je
cg2 cg3: cmp byte ptr [bx], '$' je
done cmp byte ptr [bx], 5ah ja
xtod add byte ptr [bx], 20h jmp cg33 xtod: sub byte ptr [bx], 20h cg33: inc bx jmp cg3 cg2: cmp byte ptr [bx], '$' je
done cmp byte ptr [bx], 61h jb
cg22 sub byte ptr [bx], 20h cg22: inc bx jmp cg2 cg1: cmp byte ptr [bx], '$' je
done cmp byte ptr [bx], 5ah ja
cg11 add byte ptr [bx], 20h cg11: inc bx jmp cg1
done: ret change endp
code
ends end
start 3.34编写一个计算字节校验和的子程序。所谓“校验和”是指不记进位的累加,常用于检查信息的正确性。主程序提供入口参数,有数据个数和数据缓冲区的首地址。子程序回送求和结果这个出口参数。传递参数方法自定。答:
data segment count = 10 array db count dup(10h)check db ? data ends
stack segment stack
db 100 dup(?)stack ends
code segment 'code' assume cs:code, ds:data, ss:stack start: mov ax, data mov ds, ax
mov ax, count push ax mov ax, offset array push ax call sumcheck mov check, al
mov ax, 4c00h int 21h
sumcheck proc push bp mov bp, sp push bx push cx mov bx, [bp+4] mov cx, [bp+6] mov al, 0 sum1: add al, [bx] inc bx loop sum1 pop cx pop bx pop bp ret 4 sumcheck endp
code ends end
start
第四篇:会计学原理课后习题及答案070611
三、判断题
1.()会计核算的各种专门方法在会计核算过程中应单独运用,互不相干。
2.()会计主体应该是独立核算的经济实体。
3.()会计的基本职能是检查和监督。
4.()会计基本前提包括会计主体、货币计量、资料完整和经济效益。
5.()会计是一种经济管理活动。
6.()商品流通企业生产经营过程有供应、生产和销售三个阶段。
三、判断题
1.()所有的经济业务的发生,都会引起会计恒等式两边发生变化。
2.()资产和权益在数量上始终是相等的。
3.()所有账户都分为左右两方。左边是增加方,右方是减少方。
4.()总账和明细账除用货币计量外,必要时均可采用实物计量。
5.()会计科目和账户均是对经济业务进行分类的项目。
6.()所有总分类账户均应设置明细分类账户。
7.()复合分录可以是由几个简单分录复合而成。
8.()一般情况下,账户的余额与增加额在一方。
9.()账户记录试算不平衡,说明记账肯定有差错。
10.()总分类账期末余额应与所属明细分类账户期末余额合计数相等。
三、判断题
1.()为管理企业的生产经营活动发生的工资、材料消耗、固定资产折旧费等项支
出,应记入“管理费用”。
2.()购进两种以上材料发生的共同费用,不能直接计入每种材料的采购成本时,应按照材料的重量、体积或价值比例分配计人各种材料的采购成本。
3.()企业预付货款时,应记入“预付账款”账户的借方。
4.()“生产成本”账户的借方登记生产过程中发生的各项生产费用,期末借方余
额表示期末尚未加工完成的在产品实际生产成本。
5.()制造费用是指企业行政管理部门为组织和管理生产经营活动而发生的各项费
用。
6.()由于“累计折旧”账户属于资产类账户,故其余额一般在借方,表明企业现
有固定资产累计已提的折旧。
7.()结转已完工产品的生产成本,应借记“生产成本”账户,贷记“库存商品”
账户。
8.()结转已销售产品的生产成本,应借记“库存商品”账户,贷记“主营业务成本”账户。
9.()工业企业支付国内采购材料的货款和运输费、装卸费、各种税金,都构成材
料的采购成本。
10.()企业在销售货物时,按销售额和适用税率计算并向购货方收取的增值税“销
项税额”,应通过“营业税金及附加”账户核算。
三、判断题
1.()按账户的用途和结构分类,“本年利润 ”和“利润分配”账户都属于财务成果类账户。
2.()按账户的用途和结构分类,“应付账款”账户属于盘存类账户。
3.()“生产成本”账户既是成本计算类账户,又是集合分配账户。
4.()待处理账户的特点是:在最终结果处理争议未决前,账户有期末余额;在全
部处理后,账户无余额。
5.()“本年利润”账户年末必须把余额转入“利润分配---未分配利润”账户,结
转后无余额。
6.()调整账户与被调整账户所反映的经济内容不同,但两者余额的方向可能相同,也可能相反;相同时相加,相反时相减。
7.()所有者权益账户的特点是应该按照企业的投资者分别设置明细账户,以便反
映各投资者对企业实际拥有的所有者权益的数额,该账户既能提供价值指标,又能提供实物
量指标。
8.()所有盘存账户均可以提供实物和货币两种指标。
三、判断题
1.()原始凭证必须按规定格式和内容逐项填写齐全,同时必须由经办部门和经
办人员签字盖章。
2.()有关现金、银行存款收支业务的凭证,如果填写错误,不能直接更改,应
加盖“作废”戳记,从新填写,以免错收、错付。
3.()原始凭证可以由非财务部门和人员填写,但记账凭证只能由财务部门和人
员填写。
4.()付款凭证左上角“借方科目”处应填写“现金”或“银行存款”科目。
5.()所有的记账凭证都应附有原始凭证。
6.()原始凭证有时也是登记账簿的依据。
7.()各种凭证若填写错误,不得随意涂改、刮檫、挖补。
8.()限额领料单是一种汇总原始凭证。
9.()会计凭证是会计工作的起点和关键。
三、判断题
1.()分类账都是根据记账凭证逐笔登记的。
2.()会计账簿和会计凭证记录经济业务的方式不同。
3.()总账和日记账必须采用订本式账页。
4.()如果账簿记录发生错误,可以视情况选用涂改工具涂改。
5.()在会计中间变更会计人员,可以不办理账簿移交手续。
6.()结账时,应在“本累计”下面划通栏单红线,表示封账。
三、判断题
1.()任何账务处理程序的第一步是根据原始凭证编制记账凭证。
2.()各种账务处理程序的主要区别是登记明细账的依据不同。
3.()科目汇总表账务处理程序的优点在于能反映账务户对应关系。
4.()记账凭证账务处理程序适用于规模较大、业务较多的单位。
5.()同一个企业可以同时采用几种不同的会计核算程序。
6.()汇总记账凭证账务处理程序都是按贷方科目设置,按借方科目汇总。
7.()在科目汇总表账务处理程序下,总分类账应根据科目汇总表登记。
8.()汇总记账凭证账务处理程序的优点在于可及时了解资金的运动状况。
三、判断题
1.()银行存款的清查,主要是将银行存款日记账与总账进行核对。
2.()未达账项是造成企业银行存款日记账与银行对账单余额不等的惟一原因。
3.()月末企业银行存款的实有余额为银行对账单余额加上企业未收、银行已收款
项,减去企业已付、银行未付的款项。
4.()产生未达账项的原因是记账错误,应采用适当的方法予以纠正。
5.()月末应根据“银行存款余额调节表”中调整后的余额进行账务处理,使企业银行存款账的余额与调整后的余额一致。
6.()从财产清查的对象和范围看,年终决算前对企业财产物资所进行的清查一般属于全面清查。
7.()在采用“永续盘存制”下,还需要再对各项财产物资进行盘点。
8.()企业与其开户银行对账时所编制的“银行存款余额调节表”是企业发现该存款账实不符实进行会计核算的原始凭证。
9.()对盘盈的存货,应于批准后计入营业外支出。
10.()对盘亏存货的净损失,属于一般营业损失部分经批准应计入管理费用。
三、判断题
1.()会计报表是综合反映企业资产、负债和所有者权益的情况及一定时期的经营成果和现金流量的书面文件。
2.()会计报表按其反映的内容,可以分为动态会计报表和静态会计报表。资产负债表是反映在某一特定时期内企业财务状况的会计报表,属于静态会计报表。
3.()会计报表按照编制单位不同,可以分为个别会计报表和合并会计报表。
4.()资产负债表属于静态报表,利润表属于动态报表。
5.()目前国际上比较普遍的利润表的格式主要有多步式损益表和单步式损益表两种。为简便明晰起见,我国企业采用的是单步式损益表格式。
6.()资产负债表中“应收账款”项目,应根据“应收账款”账户所属各明细账户的期末借方余额合计填列。如“预付账款”账户所属有关明细账户有借方余额的,也应包括在本项目内。如“应收账款”账户所属明细账户有贷方余额,应包括在“预付账款”项目内填列。
7.()资产负债表是以“资产=负债+所有者权益”的会计平衡式为依据的。
8.()利润表示反映企业在某一特定日期财务状况的会计报表。
9.()企业的利润总额即是反映企业一定时期所实现的营业利润。
10.()现金流量表是反映企业一定时期经营成果情况的会计报表。
三、判断题
1.()银行对账单不属于会计凭证,因而也就不属于会计档案。
2.()在我国,《会计法》与《企业会计准则》具有同等的地位。
3.()企业会计工作的组织方式有集中核算与非集中核算两种。
4.()企业的全部会计档案均应永久保存,以便查阅。
5.()各企业、事业行政机关等单位一般都应单独设置会计机构。但一些规模小,会计业务简单的单位,也可不单独设置会计机构。
三、判断题
1.()会计电算化系统与手工会计系统完全不同。
2.()会计软件就是指会计核算软件。
3.()我国企业实施会计电算化必须树立系统的观念,坚持循序渐进的原则。
4.()我国的会计电算化将从单机应用网络会计发展。
5.()电算化会计信息处理过程分为输入、处理和输出三个环节。
答案
三、判断题
1.×2.√3.×4.×5.√6.×
三、判断题
1、x2、√
3、x4、x5、x6、x7、√
8、√
9、√
10、√
三、判断题
1.√2.√ 3.√4.√5.×6.× 7.×8.× 9.×10.×
三、判断题
1.×2.×3.×4.√5.√6.× 7.× 8.×
三、判断题
1.√ 2.√3.√4.×5.×6.√7.√8.×9.√
三、判断题
1.×2.√3.√4.×5.×6.×
三、判断题
1.√2.×3.×4.×5.×6.√ 7.√ 8.×
三、判断题
1.× 2.× 3.× 4.× 5.× 6.√7.√8.× 9.× 10.√
三、判断题
1.√2.×3.× 4.√5.×6.×7.√8.×9.× 10.三、判断题
1.×2.×3.√4.×5.√
三、判断题
1.× 2.× 3.√ 4.√ 5.√
×
第五篇:汽车发动机原理课后习题答案
第一章 发动机的性能
1.简述发动机的实际工作循环过程。
1)进气过程:为了使发动机连续运转,必须不断吸入新鲜工质,即是进气过程。此时进气门开启,排气门关闭,活塞由上止点向下止点移动。
2)压缩过程:此时进排气门关闭,活塞由下止点向上止点移动,缸内工质受到压缩、温度。压力不断上升,工质受压缩的程度用压缩比表示。
3)燃烧过程:期间进排气门关闭,活塞在上止点前后。作用是将燃料的化学能转化为热能,使工质的压力和温度升高,燃烧放热多,靠近上止点,热效率越高。4)膨胀过程:此时,进排气门均关闭,高温高压的工质推动活塞,由上止点向下至点移动而膨胀做功,气体的压力、温度也随之迅速下降。
5)排气过程:当膨胀过程接近终了时,排气门打开,废气开始靠自身压力自由排气,膨胀过程结束时,活塞由下止点返回上止点,将气缸内废气移除。
3.提高发动机实际工作循环热效率的基本途径是什么?可采取哪些基本措施? 提高实际循环热效率的基本途径是:减小工质传热损失、燃烧损失、换气损失、不完全燃烧损失、工质流动损失、工质泄漏损失。提高工质的绝热指数κ。
可采取的基本措施是:
⑴减小燃烧室面积,缩短后燃期能减小传热损失。
⑵.采用最佳的点火提前角和供油提前角能减小提前燃烧损失或后燃损失。⑶采用多气门、最佳配气相位和最优的进排气系统能减小换气损失。
⑷ 加强燃烧室气流运动,改善混合气均匀性,优化混合气浓度能减少不完全燃烧损失。
⑸优化燃烧室结构减少缸内流动损失。
⑹采用合理的配缸间隙,提高各密封面的密封性减少工质泄漏损失。
4.什么是发动机的指示指标?主要有哪些?
答:以工质对活塞所作之功为计算基准的指标称为指示性能指标。它主要有:指示功和平均指示压力.指示功率.指示热效率和指示燃油消耗率。
5.什么是发动机的有效指标?主要有哪些?
答:以曲轴输出功为计算基准的指标称为有效性能指标。
主要有:1)发动机动力性指标,包括有效功和有效功率.有效转矩.平均有效压力.转速n和活塞平均速度;
2)发动机经济性指标,包括有效热效率.有效燃油消耗率;
3)发动机强化指标,包括升功率PL.比质量me。强化系数PmeCm.6.总结提高发动机动力性能和经济性能的基本途径。①增大气缸直径,增加气缸数 ②增压技术
③合理组织燃烧过程 ④提高充量系数 ⑤提高转速 ⑥提高机械效率
⑦用二冲程提高升功率。7.什么是发动机的平均有效压力、油耗率、有效热效率?各有什么意义?平均有效压力是指发动机单位气缸工作容积所作的有效功。平均有效压力是从最终发动机实际输出转矩的角度来评定气缸工作容积的利用率,是衡量发动机动力性能方面的一个很重要的指标。
有效燃油消耗率是单位有效功的耗油量,通常以每千瓦小时有效功消耗的燃料量来表示。
有效热效率是实际循环有效功与所消耗的燃料热量之比值。有效热效率和有效燃油消耗率是衡量发动机经济性的重要指标。8.发动机的机械损失主要包括哪些?
摩擦损失,驱动各种附件损失,带动机械增压器损失,泵气损失 9.什么是机械效率?受哪些因素影响?有何意义? 机械效率是有效功率与指示功率的比值。影响因素: ①转速和活塞平均速度 ②负荷
③润滑油温度和冷却水温度,意义:比较机械损失所占比例的大小。10.如何测定机械效率?适用于汽油机的是哪种方法?为什么?
通过发动机试验测定,常用方法有示功图法、倒拖法、灭缸法、油耗线法。倒拖法适用于汽油机。
11.简述汽油机和柴油机工作循环的区别
汽油机和柴油机的工作循环同样有进气,压缩,燃烧(工作),排气四个过程。它们的不同的点;
1)汽油机在进气道,进入汽缸内的气体是有一定比例的汽油和空气(称做可燃混合气);柴油机在进气道,进入汽缸内的气体是纯净的空气。
2)在压缩的过程。汽油机与柴油机是没有区别的,只是被压缩的气体,成分不同。
3)燃烧过程,汽油机与柴油机的区别较大。汽油本身物质燃点较低,经压缩后给一个高压的电火花就将其点燃了,而且燃烧的速度比柴油快;柴油本身物质密度较大,要在高温和高压的条件下才能自行燃烧,经压缩后的纯净空气正好满足了这个条件,这时即刻向汽缸喷入高压油使其燃烧。柴油的热值比汽油高产生的动力比汽油机大。
4)排气过程基本是一样的。废弃物都是二氧化碳和水,但是由于汽油的燃烧速度太快需要加入抗爆剂,因此排放不如柴油机清洁 13.为什么柴油机的热效率要显著高于汽油机? 1).柴油机的压缩比高,作功时膨胀得更厉害。
2).柴油机油气混合时空燃比远大于1,是富氧燃烧,燃料可以充分燃烧。汽油机燃烧的空燃比在1左右,因为没有足够的氧气,汽油不能完全燃烧。14.柴油机工作循环为什么不采用等容加热循环? 定容加热理想循环又称奥托循环,基于这种循环而制造的煤气机和汽油机是最早的活塞式内燃机。由于煤气机、汽油机和柴油机燃料性质不同,机器的构造也不同,其燃烧过程接近于定容过程,不再有边燃烧边膨胀接近于定压的过程,故而在热力学分析中,奥托循环可以看作不存在定压加热过程的混合加热理想循环。定容加热循环被压缩的是燃料和空气的混合物,要受混合气体自燃温度的限制,存在“爆燃”的问题,效率不会太高;定压加热循环压缩的仅仅是空气,不存在“爆燃”的问题,效率高,所以柴油机采用的是后者而不是前者 第二章 发动机的换气过程
1.为什么发动机进气门迟后关闭、排气门提前开启。提前与迟后的角度与哪些因素有关?
答:(1)进气门迟后关闭是为了充分利用高速气流的动能,实现在下止点后继续充气,增加进气量。排气门提前开启是由于配气机构惯性力的限制,若是活塞在下至点时才打开排气门,则在气门开启的初期,开度极小,废气不能通畅流出,缸内压力来不及下降,在活塞向上回行时形成较大的反压力,增加排气行程所消耗的功
(2)提前与迟后的角度与哪些因素有关?(配气相位的合理选择要从哪几个方面衡量):①充气效率的变化是否符合动力性要求。②换气损失尽可能的小。③能否保证必要的燃烧室扫气作用。④排放指标好。
2四冲程发动机换气过程包括哪几个阶段,这几个阶段时如何界定的?
答:1)自由排气阶段:从排气门打开到气缸压力接近于排气管内压力的这个时期。
强制排气阶段:废气是由活塞上行强制推出的这个时期。进气过程:进气门开启到关闭这段时期。
气门重叠和燃烧室扫气:由于排气门迟后关闭和进气门提前开启,所以进.排气门同时打开这段时期。
3影响充量系数的主要因素有哪些? 答:1.进气门关闭时缸内的压力。2.进气门关闭时缸内气体温度。3.残余废气量。4.进排气相位角。5.发动机压缩比。6.进气状态。
第三章 发动机废气涡轮增压
3为什么增压后需要采用进气中冷技术? 答:对增压器出口空气进行冷却,一方面可以进一步提高发动机进气管内空气密度,提高发动机的功率输出,另一方面可以降低发动机压缩始点的温度和整个循环的平均温度,从而降低发动机的排气温度、热负荷和NOx的排放。5车用发动机采用增压时应注意哪些问题? 答:1)适当降低压缩比,加大过量空气系数。2)对供油系统进行结构改造,增加每循环供油率。3)合理改进配齐相位。
4)进排气系统设计要与增压系统的要求一致。5)对增压器出口空气进行冷却。7汽油机增压的技术难点有哪些?
限制汽油机增压的主要技术障碍时:爆燃、混合气的控制、热负荷和增压器的特殊要求等。
第四章 燃料与燃烧化学
1我国的汽油和轻柴油时分别根据哪个指标来确定牌号的? 答:汽油根据辛烷值来确定牌号;轻柴油按凝点来确定牌号。
2蒸发性不好和太好的汽油,在使用中各有什么缺点和可能产生的问题?
答:蒸发性过强的汽油在炎热夏季以及大气压力较低的高原和高山地区使用时,容易使发动机的供油系统产生“气阻”,甚至发生供油中断。另外,在储存和运输过程中的蒸发损失也会增加; 蒸发性若的汽油,难以形成良好的混合气,这样不仅会造成发动机启动困难,加速缓慢,而且未气化的悬浮油粒还会使发动机工作不稳定,油耗上升。如果未燃尽的油粒附着在气缸壁上,还会破坏润滑油膜,甚至窜入曲轴箱稀释润滑油,从而使发动机润滑遭破坏,造成机件磨损增大。3试述汽油辛烷值和柴油十六烷值的意义。答:辛烷值用来表示汽油的抗爆性,抗爆性时指汽油在发动机气缸内燃烧时抵抗爆燃的能力。辛烷值是代表点燃式发动机燃料抗爆性的一个约定数值。在规定条件下的标准发动机试验中通过和标准燃料进行比较来测定。采用和被测定燃料具有相同的抗爆性的标准燃料中异辛烷的体积百分比来表示。
柴油十六烷值时用来评定柴油的自燃性。将十六烷值规定为100的正十六烷和规定十六烷值为0的α-甲基萘按不同比列混合得出不同十六烷值的标准燃料,其十六烷值为该混合气中正十六烷的体积百分比。如果某种柴油与某标准燃料的自燃性相同,则该标准燃料的十六烷值即为该柴油的十六烷值。4什么是过量空气系数?它与混合气浓度有什么关系?
答:发动机工作过程中,燃烧1kg燃油实际共给的空气量与理论空气量之比,称为过量空气系数。过量空气系数大于1称为稀混合气,等于1称为标准混合气,小于1称为浓混合气。
8发动机采用代用燃料的意义是什么? 答:减缓石油消耗速度,改善发动机的动力性和燃油经济性,降低有害物质排放。第五章 柴油机混合气的形成与燃烧
1.以柱塞式喷油泵为例简述柴油机燃料喷射过程 柱塞式喷油泵一般由柴油机曲轴的定时齿轮驱动,固定在喷油泵体上的活塞式输油泵由喷油泵的凸轮轴驱动,当柴油机工作时,输油泵从油箱洗出柴油,经油水分离器除去柴油中的水分,再经燃油滤清器,滤清柴油中的杂质,然后送入喷油泵,在喷油泵内,柴油经过增压和计量之后,经高压油管供入喷油器,最后通过喷油器将柴油喷入燃烧室。喷油泵前端装有喷油提前角调节器,后端与调速器组成一体,输油泵供给的多余柴油及喷油器顶部的回油均流回油管返回油箱
3什么时供油提前角和喷油提前角?解释两者的关系以及对柴油机性能的影响。答:供油系统的理论供油始点到上止点为止,曲轴转过的角度叫供油提前角。喷油器的针阀开始升起也就是喷油始点到上止点间曲轴转过的角度叫喷油提前角。供油提前角的大小决定了喷油提前角,供油提前角越大,喷油提前角约到。但两者并不同步增大,两者之差称为喷油延迟角。影响:发动机转速越高,高压油管越长,喷油延迟角越大,它越大,在着火期间喷入的油越多,低压油喷入气缸的量增多,燃油雾化变差,燃烧不充分,易产生积碳堵塞喷油孔的现象,降低柴油机的性能。
5柴油机有哪些异常喷射现象和他们可能出现的工况?简述二次喷射产生的原因和危害及消除方法。
答:柴油机有二次喷射、断续喷射、不规则喷射、隔次喷射和滴油这几种异常喷射现象。二次喷射易发生在高速、大负荷工况下;断续喷射常发生于某一瞬间喷油泵的供油量小于喷油器喷出的油量和填充针阀上升空出空间的油量之和。不规则喷射和隔次喷射易发生在柴油机怠速工况下。二次喷射是在压力波动影响下针阀落座后再次升起造成的。由于二次喷射是在燃油压力较低的情况下喷射的,导致这部分燃油雾化不良,燃烧不完全,碳烟增多,并易引起喷孔积炭堵塞。此外,二次喷射还使整个喷射持续时间拉长,则燃烧过程不能及时进行,造成经济性下降,零部件过热等不良后果。为避免出现不正常喷射现象,应尽可能地缩短高压油管的长度,减小高压容积,以降低压力波动,减小其影响。并合理选择喷射系统的参数。
7.试述柴油机燃烧过程,说明压力升高率的大小对柴油机性能的影响 柴油机燃烧过程:着火延迟期、速燃期、缓燃期和补燃期
影响:过大的压力升高率会使柴油机工作粗暴,噪声明显增加,运动零部件受到过大冲击载荷,寿命缩短;过急的压力升高会导致温度明显升高,使氮氧化物生成量明显增加
8.燃烧放热规律三要素是什么?什么是柴油机合理的燃烧放热规律?
答:一般将燃烧放热始点(相位)、放热持续期和放热率曲线的形状称为放热规律三要素。合理的放热规律是:燃烧要先缓后急。在初期的燃烧放热要缓慢以降低NOx的排放,在中期要保持快速燃烧放热以提高动力性和经济性能,在后期要尽可能缩短燃烧以便降低烟度和颗粒的排放。9.简述柴油机的混合气形成的特点和方式
柴油机在进气过程中进入燃烧室的是纯空气,在压缩过程接近终了时才被喷入,经一定准备后既自行着火燃烧。由于柴油机的混合气形成的时间比汽油机短促得多,而且柴油的蒸发性和流动性都较汽油差,使得柴油难以在燃烧前彻底雾化蒸发并与空气均匀混合,因而柴油机可燃混合气的品质较汽油机差。因此柴油机不得不采用较大的过量空气系数,使喷入燃烧室内的柴油能够燃烧得比较完全 柴油机混合气形成方式从原理上来分,有空间雾化混合和油膜蒸发混合两种 10.简述直喷式燃烧室柴油机的性能特点,并与分隔式燃烧室柴油机进行比对。直喷式燃烧室柴油机的性能特点:
(1)燃烧迅速,所以经济性好,燃油消耗率低,但工作粗暴,压升率高,燃烧噪声大
(2)燃烧室结构简单,表面积与体积的比小,散热损失小,没有主副燃烧室的流动损失,冷启动性能好,经济性(3)对喷射系统要求较高
(4)NOx排放量较分隔式燃烧室高特别在高负荷区;微粒排放量较低(5)对转速变化较为敏感
分隔式燃烧室柴油机的性能特点:
(1)主要靠强烈的空气运动来保证较好的混合气质量,空气利用率较高α=1.2(2)随转速的提高,空气运动强度增大,高速下性能较好(3)对喷射系统要求较低
(4)结构复杂,表面积与体积的比大,散热损失和流动损失大,比直喷式燃烧室柴油机效率低,经济性差
(5)由于散热损失大使起动性能变差
(6)先在副燃烧室着火,主燃烧室压力上升缓慢,工作平稳,燃烧噪声小,但对经济性不利
(7)对燃油不太敏感,有较强的适应性
(8)除低负荷下的碳烟排放量大外,其余由于直喷式
11柴油机燃烧过程优化的基本原则是什么? 答:(1)油-气-燃烧室的最佳配合。(2)控制着火落后其内混合气生成量。
(3)合理组织燃烧室内的涡流和湍流运动。(4)紧凑的燃烧室形状。
(5)加强燃烧期间和燃烧后期的扰流。(6)优化运转参数。
12什么是柴油机合理的喷油规律? 答:喷射开始时段的喷油率不能太高,以便控制着火落后期内形成的可燃混合气量,降低初期放热率,防止工作粗暴。在燃烧开始后,应有较高的喷油率以期缩短喷油持续期,加快燃烧速率,同时尽可能减少喷油系统中的燃油压力波动,以防止不正常喷射现象。
第六章 汽油机混合气的形成与燃烧
1.说明汽油机燃烧过程各阶段的主要特点,以及对它们的要求
燃烧过程:(1)着火落后期:它对每一循环都可能有变动,有时最大值是最小值的数倍。要求:为了提高效率,希望尽量缩短着火落后期,为了发动机稳定运行,希望着火落后期保持稳定
(2)明显燃烧期:压力升高很快,压力升高率在0.2-0.4MPa/(°)。希望压力升高率合适
(3)后燃期:湍流火焰前锋后面没有完全燃烧掉的燃料,以及附在气缸壁面上的混合气层继续燃烧。希望后燃期尽可能的短。
2.爆燃燃烧产生的原因是什么?它会带来什么不良后果? 答:燃烧室边缘区域混合气也就是末端混合气燃烧前化学反应过于迅速,以至在火焰锋面到达之前即以低温多阶段方式开始自然,引发爆燃。爆燃会给柴油机带来很多危害,发生爆燃时,最高燃烧压力和压力升高率都急剧增大,因而相关零部件所受应力大幅增加,机械负荷增大;爆燃时压力冲击波冲击缸壁破坏了油膜层,导致活塞、气缸、活塞环磨损加剧,爆燃时剧烈无序的放热还使气缸内温度明显升高,热负荷及散热损失增加,这种不正常燃烧还使动力性和经济性恶化。3.爆燃和早燃有什么区别?
答:早然是指在火花塞点火之前,炽热表面点燃混合气的现象。爆燃是指末端混合气在火焰锋面到达之前即以低温多阶段方式开始自然的现象。早燃会诱发爆燃,爆燃又会让更多的炽热表面温度升高,促使更加剧烈的表面点火。两者相互促进,危害更大。另外,与爆燃不同的时,表面点火即早燃一般是在正常火焰烧到之前由炽热物点燃混合气所致,没有压力冲击波,敲缸声比较沉闷,主要是由活塞、连杆、曲轴等运动件受到冲击负荷产生震动而造成。4.爆燃的机理是什么?如何避免发动机出现爆燃?
答:爆燃着火方式类似于柴油机,同时在较大面积上多点着火,所以放热速率极快,局部区域的温度压力急剧增加,这种类似阶越的压力变化,形成燃烧室内往复传播的激波,猛烈撞击燃烧室壁面,使壁面产生振动,发出高频振音(即敲缸声)。避免方法:适当提高燃料的辛烷值;适当降低压缩比,控制末端混合气的压力和温度;调整燃烧室形状,缩短火焰前锋传播到末端混合气的时间,如提高火焰传播速度、缩短火焰传播距离。
5.何谓汽油机表面点火?防止表面点火有什么主要措施? 答:在汽油机中,凡是不靠电火花点火而由燃烧室内炽热表面点燃混合气的现象,统称为表面点火。防止措施: 1)适当降低压缩比。
2)选用沸点低的汽油和成焦性小的润滑油。
3)要避免长时间的低负荷运行和汽车频繁加减速行驶。
4)应用磷化合物为燃油添加剂使沉积物中的铅化物成为磷酸铅从而使碳的着火温度提高到560℃且氧化缓慢,放出热量少,从而减少表面点火的产生。
6.何谓汽油机燃烧循环变动?燃烧循环变动对汽油机性能有何影响?如何减少燃烧循环变动? 答:燃烧循环变动是点燃式发动机燃烧过程的一大特征,是指发动机以某一工况稳定运转时,这一循环和下一循环燃烧过程的进行情况不断变化,具体表现在压力曲线、火焰传播情况及发动机功率输出均不相同。影响:由于存在燃烧循环变动,对于每一循环,点火提前角和空燃比等参数都不可能调整到最佳,因而使发动机油耗上升、功率下降,性能指标得不到充分优化。随着循环变动加剧,燃烧不正常甚至失火的循环次数逐渐增多,碳氢化合物等不完全燃烧产物增多,动力性、经济性下降。同时,由于燃烧过程不稳定,也使振动和噪声增大,零部件寿命下降,当采用稀薄燃烧时,这种循环变动情况加剧。减少措施:1)尽可能使фa=0.8~1.0,此时的循环变动最小。2)适当提高气流运动速度和湍流程度可改善混合气的均匀性,进而改善循环变动。3)改善排气过程,降低残余废气系数γ。4)避免发动机工作在低负荷、低转速工况下。5)多点点火有利于减少循环变动。6)提高点火能量,优化放电方式,采用大的火花塞间隙。
7提高汽油机压缩比对提高性能有何意义?如何保证在汽油机上使用较高的压缩比
提高压缩比可以提高汽油机的功率和经济性,特别是对经济性有显著的作用。但压缩比过高,会导致汽油机爆燃,所以应该合理的设计燃烧室,缩短火焰传播行程,合理选用火花塞位置。适当利用湍流,降低终燃混合气温度等
11在汽油机上燃烧均质稀混合气有什么优点?它所面临的主要困难时什么?目前解决的途径有哪些?
答:优点:混合气均匀,燃烧较完全。对燃油共给及喷射系统没特别高的要求。困难:1为防止爆燃采用较低压缩比导致热效率较低。2)浓混合气的比热容比低导致热效率低。3)只能用进气管节流方式对混合气量进行调节即所谓量调节使得泵气损失较大。4)在化学剂量比附近燃烧,导致有害排放特别是NOx排放较高。
5)用三元催化转换器的汽油机,它的过量空气系数фa必须控制在1左右,从而限制其性能进一步提高。
解决途径:采用稀薄燃烧汽油机。一类是非直喷式稀燃汽油机,包括均质稀燃和分层稀燃式汽油机,另一类是缸内直喷式稀燃汽油机。12.分析过量空气系数和点或提前交对燃烧过程的影响
答:当a=0.8-0.9时,由于燃烧温度最高,火焰传播速度最大,Pe达最大值,但爆燃倾向增大。当a=1.03-1.1时,由于燃烧完全,有效燃油消耗率最低,使用a<1的浓混合气工作,由于必然会产生不完全燃烧,所以CO排放量明显上升,当a<0.8或a>1.2时,火焰速度缓慢,部分燃料可能来不及完全燃烧,因而经济性差,HC排放量增多且工作不稳定。点火过迟,则燃烧延长到膨胀过程,燃烧最高压力和温度下降,传热损失增多,排气温度升高,热效率降低,但爆燃倾向减小,NOx升高,功率、排放量降低。(点火提前角对汽油机的经济性影响较大。据统计,如果点火提前角偏离最佳位置5°曲轴转角热效率下降1%;偏离转角10°曲轴转角,热效率下降5%;偏离20°曲轴转角,热效率下降16%。)13何谓稀燃、层燃系统?稀燃、层燃对汽油机有何益处?
答:稀燃系统就是均质预混合气燃烧,通过采用改进燃烧室、高湍流、高能点火等技术使汽油机的稳定燃烧界限超过α=17的系统; 分层燃烧系统就是在α更大的情况下,均质混合气难以点燃,为了提高稀燃界限,通过不同的气流运动和供油方法,在火花塞附近形成具有良好着火条件的较浓的可燃混合气,而周边是较稀混合气和空气,分层燃烧低汽油机可稳定工作在α=20~25范围内。好处:使燃油消耗率降低,且提高排放性能。
14电控汽油喷射系统与化油器相比有何优点?
答:1)可以对混合气空燃比进行精确控制,使发动机在任何公开下都处于最佳工作状态,特别是对过渡工况的动态控制,更是传统化油器式发动机无法做到的。2)由于进气系统不需要喉管,减少进气阻力,加上不需要对进气管加热来促进燃油的蒸发,所以充气效率高。3)由于进气温度低,使得爆燃燃烧得到有效控制,从而有可能采取较高的压缩比,这对发动机热效率的改善时显著的。4)保证各缸混合比的均匀性问题比较容易解决,相对于发动机可以使用辛烷值低的燃料。5)发动机冷起动性能和加速性能良好,过渡圆滑。第七章 发动机的特性
1研究发动机特性的意义时什么?
答:发动机的特性是发动机性能的综合反映,在一定条件下,发动机性能指标或特性参数随各种可变因素的变化规律就是发动机的特性。研究发动机的特性是为了分析发动机在不同工况下运行的动力性能指标、经济性能指标、排放指标以及反映工作过程进行的完善程度指标等。
2发动机的性能包括哪几方面?如何评价发动机性能?
答:发动机性能包括:动力性能指标、经济性能指标和排放性能指标。评价其性能需要对发动机的特性进行分析和研究。用来表示发动机特性的曲线就是特性曲线,它是评价发动机的一种简单、直观、方便的形式,时分析和研究发动机的一种最基本的手段。
3发动机的负荷特性如何测取?在测取过程中应该注意哪些内容?
答:负荷特性是指当转速不变时,发动机的性能指标随负荷而变化的关系。用曲线的形式表示,就是负荷特性曲线。发动机的负荷特性曲线是在发动机试验台架上测取的。测取前,将发动机冷却液温度、润滑油温度保持在最佳值;调节测功器负荷并改变循环供油量,使发动机的转速稳定在某一常数。4试分析汽油机和柴油机负荷特性的特点。
答:1)汽油机的燃油消耗率普遍较高,且在从空负荷向中小负荷段过渡时,燃油消耗率下降缓慢,仍维持在较高水平,燃油经济性明显较差。2)汽油机排气温度普遍较高,且与负荷关系较小。3)汽油机的燃油消耗量曲线弯度较大,而柴油机的燃油消耗量曲线在中、小负荷段的线性较好。5根据实验条件的不同,发动机的外特性有几种形式?
12什么是发动机的万有特性?汽油机、柴油机的万有特性各有什么特点? 负荷特性、速度特性只能表示某一油量控制机构位置固定或某一转速时,发动机参数见的变化规律,而对于工况变化范围大的发动机要分析各种工况下的性能,就需要在一张图上全面表示出发动机性能的特性曲线,这种能够表达发动机多参数的特性称万有特性 汽油机的万有特性:
(1)最低耗油率高,并且经济区域偏小
(2)等耗油率曲线在低速区向大负荷收敛,这说明汽油机在低速、低负荷的耗油率随负荷的减小而急剧增大,在实际使用中,应尽量避免出现这种情况
(3)汽油机的等功率线随转速升高而斜穿等耗油率线,转速越高越废油。因此,在实际使用中当汽车等功率运行时,驾驶人应尽量使用高速挡,以便节油
柴油机的万有特性:
(1)最低耗油率偏低,并且经济区域较宽
(2)等耗油率曲线在高、低速均不收敛,变化较平坦(3)相对汽车变速工况的适应性好 第八章 发动机的排放与噪声
1简述发动机各种污染物对人体健康的影响
答:CO:轻度中毒:头痛、头晕、耳鸣、恶心、呕吐、心悸、四肢无力或有短暂的晕厥。中度中毒:除上诉症状加重外,出现程度较浅的昏迷。重度中毒:除上诉症状加重外,常并发肺水肿、脑水肿、呼吸困难、心律失常等,可在短时间内死亡。
HC:对血液和神经有害,有致癌作用,对眼、呼吸道、血液有毒害。
NOx:NO高浓度时会造成中枢神经有轻度障碍,NO2对心肝肾有影响,可引起支气管炎、肺气肿。
光化学烟雾:会引起呼吸道疾病与其他疾病。微粒:对人体呼吸系统有危害。
2简述汽油机主要排放污染物及其生成机理
汽油机排放污染物主要有:排气污染物主要有CO、HC、NOX、SO2和微粒;曲轴箱窜气和燃料蒸发形成的HC。CO的生成机理 :CO是烃燃料燃烧的中间产物,排气中的CO是由于烃的不完全燃烧所致 HC的生成机理: 1)不完全燃烧(氧化)2)壁面淬熄效应 3)狭缝效应
4)壁面油膜和积炭吸附作用
NOx的生成机理 :燃烧过程中产生的NO经排气管排至大气中,在大气条件下缓慢的与O2反应,生成NO2.因而在讨论NOX的生成机理时,一般只讨论NO的生成机理.燃烧过程中NO的生成方式有3种,根据产生机理的不同分别称为热力型NO也称热NO或高温NO、激发NO以及燃料NO。热力NO主要由于火焰温度下大气中的氮被氧化而成,当燃烧的温度下降时,高温NO的生成反应会停止,即NO会被“冻结”。激发NO主要是由于燃料产生的原子团与氮气发生反应所产生。燃料NO是含氮燃料在较低温度下释放出来的氮被氧化而成的。3简述柴油机主要排放污染物及其生成机理
柴油机主要污染物有:微粒、NOX、HC和硫氧化物。微粒生成机理是烃类燃料在高温缺氧条件下析出碳粒和杂质表面粘有机物SOF。混合气浓度极不均匀,过浓或过稀的混合气会产生HC。喷油器压力室容积内的燃油高温下产生HC。高温条件下氧分子裂解成氧原子,再与N2生成NO。燃油中的硫在高温条件下与氧生成硫氧化物
4简述汽油机和柴油机混合气形成和燃烧过程的区别,并对比汽油机和柴油机的排放性能
5论述降低汽油机排放污染物的措施 1)推迟点火提前角能降低NOx 和HC。2)废气再循环能降低NOx。
3)合理的燃烧室设计能减少淬熄和缝隙效应产生的HC。4)电控汽油喷射结合三效催化转化器能降低CO、NO 和HC。5)高能点火和热反应器能降低CO和HC。答:机内净化技术:废气再循环装置、改进发动机设计,电子控制燃油喷射系统,提高燃油品质。机外净化技术:曲轴箱强制通风、燃油蒸发控制系统、三元催化转化器。
6论述降低柴油机排放污染物的措施
机内净化技术:增压中冷技术、改进进气系统、改进喷油系统、改进燃烧系统、降低机油消耗、废气再循环、提高燃油品质。机外净化技术:微粒捕集器、氧化催化转化器、NOx还原催化转化器、寺院催化转化器。