[计算机类试卷]软件水平考试(中级)嵌入式系统设计师下午(应用技术)试题模拟试卷2及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)嵌入式系统设计师下午(应用技术)试题模拟试卷2及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)嵌入式系统设计师下午(应用技术)试题模拟试卷2及答案与解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)嵌入式系统设计师下午(应用技术)试题模拟试卷 2及答案与解析 一、试题一 1 阅读以下关于嵌入式系统 I2C总线接口电路的技术说明,根据要求回答问题 1至问题 4。【说明】 I2C总线是一种多主控器总线,对多个 IC器件具有控制总线的能力。采用串行 I2C总线技术设计接口电路,可节约嵌入式系统微处理器的 I/O端口。图 6-17给出了一种实现了键盘、时钟和实时参数存储三个功能模块的应用电路。图 6-17中仅应用 I2C总线构成单主控器的系统。此时时钟线 SCL仅由微处理器驱动,因此可以用微处理器的一根 I/O线作为 SCL信号线,将其设置为输出方式,由软件控制产生串行时钟信
2、号;用微处理器的另一根 I/O线作为 I2C总线的串行数据线,由软件控制在时钟的低电平期间读取或输出数据。 在图 6-17中采用ATMEL公司的 E2PROM AT24C64(IC8)实现了系统初始化数据、仪表系数、用户设置的参数或某些重要的实时数据参数的存储。 DS1302时钟芯片可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达 2.5 5.5 V。 8位并行 I/O口扩展器件 PCF8574具有口输出锁存功能,可直接驱动大电流LED管,同时还带有一个中断请求输出端 INT(漏极开路方式 )。在图 6-17中,将PCF8574器件的 8位准双向口外挂了一个 44键
3、盘矩阵。1 电阻 R36、 R37在图 6-17电路中有何作用。请在 100字以内简要说明。 2 图 6-18给出了 I2C总线开始条件与停止条件的时序图。通常 I2C总线的开始条件、停止条件总是由 (1)产生。在开始条件产生后,总线被认为处于 (2),在完成数据传输产生停止条件后,总线被认为处于空闲状态。在时钟信号的高电子期间,SDA传输线上的电平必须稳定,只有在 SCL传输线上的时钟信 号为 (3),数据线上的高低电子才允许发生变化,此时传送的数据才有效。每一个写到 SDA传输线上的数据字节必须为 8位长度,每一次传输的字节数没有限制,每传输一个字节必须跟一个 (4),传输字节时最高位在前
4、。3 I2C总线的寻址过程是在 (5)后发送第 1个字节,该字节地址决定主控器选择哪一个从器件,还可以通过 (6) 方式同时寻址所有的 I2C器件,但当某个 I2C器件不需要进行数据传输时,将忽略该寻址方式而不作任何应答。如果某个 I2C器件需要获取数据,则将发出 (7)信号并作为一个 (8)。 4 以下是利用 MCS-51系列单片机汇编语言实现模拟 I2C总线接收 N个字节数据的程序段 (RDNBYTE),请将汇编程序代码中 (9) (13)空缺处的内容填写完整。表 6-21所示为 MCS-51系列单片机部分汇编指令及寄存器说明。程序中已定义了标号为 START的启动位子程序、标号为 STO
5、P的停止位子程序、标号为 MACK的发送应答位子程序、标号为 MNACK的发送非应答位子程序、标号为 CACK的应答位检查子程序、标号为 WRBYT的向 VSDA线上发送 1个数据字节的子程序、标号为 RDBYT的从 VSDA线上读取 1个数据字节的子程序。 调用RDNBYTE程序的归一化操作命令是 MOV SLA, #SLAR MOV NUMBYTE, #N LCALL RDNBYT 【汇编程序代码】 VSDA EQU P1.6 ;虚拟 I2C总线数据线 VSCL EQU P1.5 ;虚拟 I2C总线时钟线 SLA EQU 50H ;寻址字节存放单元 NUMBYTE EQU 51H ;传送字
6、节数存放单元 MTD EQU 30H ;发送数据缓冲区 MRD EQU 40H ;接收数据缓冲区 SLAW0 EQU 0AOH ;写 AT24C64(器件地址为0AOH) SLAR0 EQU 0A1H ;读 24C64 SLAW1 EQU 40H ;写 PCF8574(器件地址为040H) SLAR1 EQU 41H ;读 PCF8574 ;模拟 I2C总线接收 N个字节数据 RDNBYTE: MOV R3, NUMBYTE LCALL START ;发送启动位 MOV A,SLA ;发送寻址字节 (读 ) (9) (10) JB F0, RDNBYTE RDN: MOV R1, #MRD R
7、DN1: (11) MOV R1, A DJNZ R3, ACK ; N个字节读完否 ?未完转 (12) LCALL STOP ;发送停止位 RET ACK: (13) INC R1 SJMP RDN1 ;转读下一个字节数据 (9) (13)空缺处供选择的答案 A LCALL START B LCALL MACK C LCALL CACK D LCALL RDBYT E LCALL WRBYT F LCALL MNACK G LCALL STOP 二、试题二 5 阅读以下说明和 x86汇编语言代码,根据要求回答问题 1至问题 3。表 6-3所示为 x86系统指令及寄存器说明表。 说明 在计算机
8、控制中,有些数据补偿、 计算及转换等参数的计算非常复杂,编程难,程序长且运算费时,但是用数表却比较容易实现。 设有 256个字节的数据,已按从小到大的顺序存放在以 BINTAB为首地址的数据区单元中,现要求查找其中值为 126的数据,用对分查表法查询的汇编程序如下: 汇编程序代码 DATA SEGMENT BINTAB DBl8, 25, 32, 46, 56, 78, ;第 1 100个数据 DB 90, 95, 99, 100, 106, 126, ;第 101 200个数据 DB 189, 195, 197, 202, 206, 216, ;第 201 256个数据 COUNT EQU
9、256 FLAG DW ? KEY EQU (1) DATA ENDS STAK SEGMENT STPN DB 20 DUP(?) STAK ENDS CODE SEGMENT ASSUME CS,CODE, DS,DATA, ES:DATA, SS:STAK BINSEAT PROC FAR START, MOV AX, DATA MOV DS, AX MOV ES, AX LEA SI, BINTAB MOV CX, COUNT MOV DX, 1 MOV AX, SI ADD AX, CX MOV DI, AX MOV AL, KEY LOP0, MOV BX, SI ADD BX,
10、DI SHR BX, 1 CMP AL, BX JZ FOUND PUSHF (2) JZ NFOUND POPF JL LESS MOV SI, BX JMP NEXT LESS, (3) NEXT, (4) JMP LOP0 NFOUND: MOV AX, DX ;未找到,标志全 1送 DX FOUND: MOV AX, DX MOV FLAG, AX RET BINSEAT ENDP CODE ENDS (5) 5 请根据试题的要求,将汇编程序代码中 (1) (5)空缺处的内容填写完整。 6 请用 MOV语句实现汇编程序代码中 “LEASI, BINTAB”语 句的功能。 7 该汇编程序
11、执行后, FLAG存储单元中的数值是什么 ?使用对分查表法查询位于这 256个字节数据表中的数据时, “CMPAL, BX”最多被执行几次 ?三、试题三 8 阅读以下说明和 x86汇编语言代码,根据要求回答问题 1至问题 3。 【说明】 在某嵌入式安全监测系统中,对某任务的加工操作需通过数据采集 (Collect_task)、计算 (Calculate_task)这两个不同的程序段来完成,并且执行程序段 Collect_task和Calculate _task的顺序及次数有如下约定: Collect_task(2次 )Calculate_task(1次 )Collect_task(5 次 )C
12、alculate_task(4 次 )Collect_task(2 次 )Calculate_task(2次 ) 表 6-22 所示为 x86系统部分指令及寄存器说明。采用逻辑尺控制法实现以上要求的汇编程序如下: 【汇编程序代码】 N EQU (1) RULE EQU (2) CODE SEGMENT ASSUME CS: CODE START: MOV AX,RULE MOV CL, N LOP: SAL AX, 1 JC (3) Collect: CALL Collect_task ;执行Collect_task程序段 JMP (4) Calculate: CALL Calculate_t
13、ask ;执行 Calculate_task程序段 NEXT: (5) JNZ (6) MOV AH, 4CH ;功能号送入 AH寄存器 INT (7) ;结束程序运行,中断返回 (8) END START 8 请根据试题的要求,将汇编程序代码中 (1) (8)空缺处的内容填写完整。 9 请根据试题的要求,将汇编程序代码中 (1) (8)空缺处的内容填写完整。 10 编译程序的功能是什么 ?解释程序与编译程序的主要区别是什么 ?请在 150字以内简要说明。 四、试题四 11 阅读以下利用场景法设计测试用例的技术说明,回答问题 1至问题 5。 说明 现在的软件几乎都是由事件触发来控制流程的,事件
14、触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成了事件流。这种在软件设计方面的思想也可被引入到软件测试中,生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时测试用例也更容易得到理解和执行。 用例场景是通过描述流经用例 的路径来确定的过程,这个流经过程要从用例开始到结束遍历其中所有基本流 (基本事件 )和备选流 (分支事件 )。以下表 6-4是对某 IC卡加油机应用系统基本流的描述,表 6-5是对该 IC卡加油机应用系统备选流的描述。11 图 6-9是对该 IC卡加油机应用系统的基本流路径和备选流路径的描述,请用题干中描述的相应字每将图中 (1) (6)空缺处的内
15、容填写完整。12 场景中的每一个场景都需要确定测试用例,一般采用矩阵或决策表来确定和管理测试用例。表 6-5是一种通用格式,表中各行代表各个测试用例,而各列代表测试用例的信息 。本例中的测试用例包含测试用例 ID号、场景 (或说明 /条件 )、测试用例中涉及的所有数据元素 (作为输人或已经存在于数据库中 )以及预期结果等项目。 测试用例的设计步骤通常是:首先确定执行用例场景所需的数据元素 (本例中包括账号、是否黑名单卡、输入油量、账面金额以及加油机油量 ),然后构建矩阵,最后确定包含执行场景所需的适当条件的测试用例。在表 6-6的测试矩阵中,V表示有效数据元素, I表示无效数据元素, n/a表
16、示不适用,例如 CW01表示 “成功加油 ”基本流。请按上述规定为其他应用场景设计测试用例矩阵。13 对于基 本流 A来说,表 6-6所示中哪些测试用例属于正面测试用例,哪些测试用例属于负面测试用例。请用表 6-6中相应的 “测试用例 ID号 ”回答问题。 14 请在 150字以内简要说明以表 66所示的方法创建测试用例矩阵的优点。 15 假如加油机内油量足够,油价为 5元 /升,用户的账户金额为 800元,那么在基本流 A4输入油量的过程中,请运用边界值分析方法为 A4选取合适的输人数据 (即油量,单位为升 )。 五、试题五 16 阅读以下关于嵌入式操作系统软件编码优化的技术说明,根据要求回
17、答问题 1至问题 5。 【说明】 由于嵌 入式系统对实时性的要求较高,因此一般要求对代码的性能进行优化,使代码的执行速度越快越好。图 6-22给出了两个算术运算的程序段 (a)、 (b)。16 在嵌入式系统设计过程中,给定一份软件设计规格说明书后,下一步的工作就是编写代码。通常编码工作包含哪些步骤 ? 17 图 6-22所示的 (a)、 (b)程序段的功能是完全一样的,都是对一个结构体数组的各个元素进行初始化,但采用两种不同的方法来实现。请在 200字以内归纳这两个算术运算程序段所采用的实现方法。 18 在一台采用 S3C44BOX微处理器 (32位 RISC结构 )的嵌入式系统中,将图 6-
18、22所示的 (a)、 (b)程序段分别重复 11 000次, (a)程序段需要 2.13 ms; (b)程序段需要1.01 ms。 由此可见,在进行算术运算编码时遵守哪些编码准则 ? 19 在嵌入式系统中,由于软 /硬件资源有限,且系统对实时性和可靠性要求较高,因此在进行嵌入式软件开发时,要注意对执行时间、存储空间和开发 /维护时间这三种资源的使用进行优化。请具体说明在编写代码时,需要做到哪几点编码准则 ? 20 编译器对程序进行一定的优化是非常有必要的,高级语言的程序可以被转 化为汇编语言的指令形式。通常优化的方法有 (1)、循环优化、废代码的清除等。 对嵌入式系统进行性能测试可以衡量系统的
19、实时性,分析嵌入式软件的优劣,同时分析程序的执行时间可以帮助分析 CPU功耗等特性。最坏执行时间是指 (2)。 软件水平考试(中级)嵌入式系统设计师下午(应用技术)试题模拟试卷 2答案与解析 一、试题一 1 【正确答案】 R36、 R37分别是 I2C串行总线上双向的数据线 SDA与时钟线SCL的上拉电阻 这是一道要求读者掌握 I2C串行总线接口电路中各个部件作用的电路分析题。本题的解答思路如下 : I2C串行总线有两根信号线:一根是双向的数据线 SDA;另一根是时钟线SCL。总线上受控器件的串行数据线 SDA都接到总线的 SDA线上,各受控器件的时钟线 SCL接到总线的 SCL上。 在图 6
20、-17所示的电路中,电阻 R36、 R37的阻值为 10 k,分别接在AT24C64、 DS1302、 PCF8574芯片的时钟线 SCL和数据线 SDA上。 由于 I2C总线接口均采用漏极开路 (Open-drain)或集电极开路 (Open-collector)的方式来完成线与 (Wired AND)功能,因此需 在数据线 SDA、时钟线 SCL上接人上拉电阻。可见 R36、 R37分别是 I2C串行总线上双向的数据线 SDA与时钟线 SCL的上拉电阻。 另外,设计 I2C总线接口电路时需要注意,总线的驱动能力以所连接器件的负载电容量不超过 400 pF为宜。 2 【正确答案】 (1)主器
21、件 (2)忙状态 (3)低电平 (4)应答位 ACK 这是一道要求读者阅读 I2C总线开始条件与停止条件的时序图,并理解 I2C总线数据有效性,数据字节格式的综合分析题。本题的解答思路如下: 每一个 I2C总线器件都通过惟一的 地址进行识别,根据其特性,可作为发送器或接收器工作。 由于连接到 I2C总线上的器件各不相同 (如有 CMOS器件、 NMOS器件、 TTL器件等 ),逻辑。或逻辑 1的电平会根据电源电压的高低发生变化,因此,每传输一个位就产生一个时钟脉冲。 在图 6-18所示的时序图中, I2C总线的开始条件是指当 SCL为高电平时,SDA产生由高电平到低电平的跳变。停止条件是指当
22、SCL为高电平时, SDA产生由低电平到高电子的跳变。 开始和停止条件总是由主器件产生。在开始条件产生后,总线被认为处于忙状态,在完成数据传 输产生停止条件后,总线被认为处于空闲状态。因此 (1)空缺处应填入 “主器件 ”, (2)空缺处应填入 “忙状态 ”。 I2C总线数据有效性是指在时钟信号的高电平期间, SDA传输线上的电平必须稳定,只有在 SCL传输线上的时钟信号为低电平时,数据线上的高低电子才允许发生变化。因此 (3)空缺处应填入 “低电子 ”。 I2C总线数据字节的格式规定,每一个写到 SDA传输线上的数据字节必须为 8位长度,每一次传输的字节数没有限制,每传输一个字节必须跟一个应
23、答位ACK(见图 6-18),传输字节时最高位在前 (MSB-first)。如果接收器因为执行其他功能 (如中断服务 )而不能接收剩余的数据字节时,接收器就保持时钟线 SCL为低电平强制发送器进入等待状态,只有当接收器准备接收其他字节并释放 SCL传输线时,数据传输才会继续进行。可见, (4)空缺处应填入 “应答位 ACK”。 3 【正确答案】 (5)开始条件 (6)广播寻址 (7)应答 (8)从接收器 这是一道要求读者掌握 I2C总线寻址的综合分析题。本题的解答思路源于图 6-18所给出的 I2C总线开始条件与停止条件的时序图。 试题关键信息 “该字节地址决定主控 器选择哪一个从器件 ”中,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 嵌入式 系统 设计师 下午 应用技术 试题 模拟 答案 解析 DOC
