【计算机类职业资格】中级嵌入式系统设计师下午试题-5及答案解析.doc
《【计算机类职业资格】中级嵌入式系统设计师下午试题-5及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】中级嵌入式系统设计师下午试题-5及答案解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、中级嵌入式系统设计师下午试题-5 及答案解析(总分:75.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)阅读以下关于嵌入式系统 I2C 总线接口电路的技术说明,根据要求回答问题 1 至问题 4。【说明】I2C 总线是一种多主控器总线,对多个 IC 器件具有控制总线的能力。采用串行 I2C 总线技术设计接口电路,可节约嵌入式系统微处理器的 I/O 端口。图 6-17 给出了一种实现了键盘、时钟和实时参数存储三个功能模块的应用电路。图 6-17 中仅应用 I2C 总线构成单主控器的系统。此时时钟线 SCL 仅由微处理器驱动,因此可以用微处理器的一根 I/O 线作为 S
2、CL 信号线,将其设置为输出方式,由软件控制产生串行时钟信号;用微处理器的另一根 I/O 线作为 I2C 总线的串行数据线,由软件控制在时钟的低电平期间读取或输出数据。在图 6-17 中采用 ATMEL 公司的 E2PROM AT24C64(IC8)实现了系统初始化数据、仪表系数、用户设置的参数或某些重要的实时数据参数的存储。DS1302 时钟芯片可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达 2.55.5 V。8 位并行 I/O 口扩展器件 PCF8574 具有口输出锁存功能,可直接驱动大电流 LED 管,同时还带有一个中断请求输出端 INT(漏极开路方式)。在
3、图 6-17 中,将PCF8574 器件的 8 位准双向口外挂了一个 44 键盘矩阵。(分数:15.00)(1).【问题 1】电阻 R36、R37 在图 6-17 电路中有何作用。请在 100 字以内简要说明。(分数:3.75)_(2).【问题 2】图 6-18 给出了 I2C 总线开始条件与停止条件的时序图。通常 I2C 总线的开始条件、停止条件总是由U (1) /U产生。在开始条件产生后,总线被认为处于U (2) /U,在完成数据传输产生停止条件后,总线被认为处于空闲状态。在时钟信号的高电子期间,SDA 传输线上的电平必须稳定,只有在 SCL传输线上的时钟信号为U (3) /U,数据线上的
4、高低电子才允许发生变化,此时传送的数据才有效。每一个写到 SDA 传输线上的数据字节必须为 8 位长度,每一次传输的字节数没有限制,每传输一个字节必须跟一个U (4) /U,传输字节时最高位在前。(分数:3.75)_(3).【问题 3】I2C 总线的寻址过程是在U (5) /U后发送第 1 个字节,该字节地址决定主控器选择哪一个从器件,还可以通过U (6) /U方式同时寻址所有的I2C 器件,但当某个 I2C 器件不需要进行数据传输时,将忽略该寻址方式而不作任何应答。如果某个 I2C 器件需要获取数据,则将发出U (7) /U信号并作为一个U (8) /U。(分数:3.75)_(4).【问题
5、4】 以下是利用 MCS-51 系列单片机汇编语言实现模拟 I2C 总线接收 N 个字节数据的程序段(RDNBYTE),请将汇编程序代码中(9)(13)空缺处的内容填写完整。表 6-21 所示为 MCS-51 系列单片机部分汇编指令及寄存器说明。 B表 6-21 MCS-51 系列单片机部分汇编指令及寄存器说明/B 指令 功能 寄存器 功能MOV 数据传送指令 A 累加器INC 加 1 指令 R1 寄存器JB 转移指令,直接寻址位为 1 时转移 R3 寄存器DJNZ 转移指令,寄存器/直接寻址单元减 1,结果不为零时转移 F0 用户标志位SJMP 相对短转移LCALL长调用指令RET 子程序返
6、回指令程序中已定义了标号为 START 的启动位子程序、标号为 STOP 的停止位子程序、标号为 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 总线时钟
7、线 SLA EQU 50H ;寻址字节存放单元 NUMBYTE EQU 51H ;传送字节数存放单元 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 ;发送寻址字节(读)
8、 U(9) /U U(10) /U JB F0,RDNBYTE RDN: MOV R1,#MRD RDN1: U(11) /U MOV R1,A DJNZ R3,ACK ;N 个字节读完否?未完转 U(12) /U LCALL STOP ;发送停止位 RET ACK: U (13) /U INC R1 SJMP RDN1 ;转读下一个字节数据 (9)(13)空缺处供选择的答案 ALCALL START BLCALL MACK CLCALL CACK DLCALL RDBYT ELCALL WRBYT FLCALL MNACK GLCALL STOP(分数:3.75)_二、B试题二/B(总题数:
9、1,分数:15.00)阅读以下关于基于嵌入式系统的住宅安全系统的技术说明,根据要求回答问题 1 至问题 4。【说明】基于某嵌入式系统的住宅安全系统可使用传感器(如红外探头和摄像头等)来检测各种意外情况,如非法进入、火警及水灾等。房主可以在安装该系统时配置安全监控设备(如传感器、显示器和报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互。在安装过程中,系统给每个传感器赋予一个 D 编号和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码。当系统检测到一个传感器事件时,就激活警报,拨出预置的电话
10、号码,并报告关于位置和检测到的事件的性质等信息。图 6-19 所示是住宅安全系统的顶层数据流图,图 6-20 所示是住宅安全系统的第 0 层数据流图,图 6-21 所示是对住宅安全系统的第 0 层数据流图中加工 4 的细化图。(分数:15.00)(1).【问题 1】请将住宅安全系统的顶层数据流图(图 6-19)中(A)(D)空缺处,以及第 0 层数据流图(图 6-20)中(E)空缺处的内容填写完整。(分数:3.75)_(2).【问题 2】将图 6-21 所示的加工 4 的细化图中的数据流补充完整,请按以下答题格式分别指明加工名称、数据流名称和数据流方向(输入/输出)。答题格式示例:4.2 评估
11、设置(告警数据)4.3 产生告警信号或4.3 产生告警信号(告警类型)(分数:3.75)_(3).【问题 3】修改在住宅安全系统第 0 层数据流图(图 6-20)中的数据存储“配置信息”,将会影响第 0 层数据流图中的哪些加工?(分数:3.75)_(4).【问题 4】数据流图是系统分析阶段用于描述系统逻辑模型的图形描述工具。嵌入式实时系统分析阶段的主要任务是确定需要解决的问题或需要完成的目标及其U (1) /U,同时对实时系统的软/硬件做全面的分析,并对软/硬件做合理的分解,为实时系统的设计打下基础。实时系统的分析需要建模和U (2) /U,以便系统分析人员估计“时间和大小”。建立系统模型时应
12、明确体现U (3) /U、U (4) /U、功能特点及约束条件等因素。(分数:3.75)_三、B试题三/B(总题数:1,分数:15.00)阅读以下说明和 x86 汇编语言代码,根据要求回答问题 1 至问题 3。【说明】在某嵌入式安全监测系统中,对某任务的加工操作需通过数据采集(Collect_task)、计算(Calculate_task)这两个不同的程序段来完成,并且执行程序段 Collect_task 和 Calculate _task 的顺序及次数有如下约定:Collect_task(2 次)Calculate_task(1 次)Collect_task(5 次)Calculate_ta
13、sk(4 次)Collect_task(2 次)Calculate_task(2 次)表 6-22 所示为 x86 系统部分指令及寄存器说明。B 表 6-22 x86 系统部分指令及寄存器说明表/B 指令 功能 寄存器 功能MOV 传送字或字节 CS 代码段寄存器LEA 地址传送 段寄存器 DS 数据段寄存器ADD 加法指令 SS 堆栈段寄存器SUB 减法指令 ES 附加段寄存器PUSH 进栈操作 AX 累加器POP 出栈操作 BX 基址寄存器SAL 算术左移 CX 计数寄存器CALL 子程序调用数据寄存器DX 数据寄存器DEC 减 1 指令 BP 基数指针寄存器JMP 无条件转移指令 SP
14、堆栈指针寄存器JZ/JNZ 结果为 0/不为 0 时转移 SI 源变址寄存器JL/JG 结果小于/大于转移专用寄存器DI 目的变址寄存器JC/JNC 有进(借)位/无进(借)位时转移INT 软中断RET 返回主程序IRET 从中断服务程序返回采用逻辑尺控制法实现以上要求的汇编程序如下:【汇编程序代码】N EQUU (1) /URULE EQUU (2) /UCODE SEGMENTASSUME CS:CODESTART: MOV AX,RULEMOV CL,NLOP: SAL AX,1JC U(3) /UCollect: CALL Collect_task ;执行 Collect_task 程
15、序段JMP U (4) /UCalculate:CALL Calculate_task ;执行 Calculate_task 程序段NEXT: U(5) /UJNZ U (6) /UMOV AH,4CH ;功能号送入 AH 寄存器INT U (7) /U ;结束程序运行,中断返回U(8) /UEND START(分数:15.00)(1).【问题 1】请根据试题的要求,将汇编程序代码中(1)(8)空缺处的内容填写完整。(分数:5.00)_(2).【问题 2】汇编程序是一种系统软件,它的基本功能是将汇编语言源程序翻译成(1)。对于一个 N 行汇编语言代码的源程序,由于汇编指令中形成操作数地址的部分
16、可能出现后面才会定义的符号,因此汇编程序一般至少需要(2)次扫描程序才能完成翻译过程。(分数:5.00)_(3).【问题 3】编译程序的功能是什么?解释程序与编译程序的主要区别是什么?请在 150 字以内简要说明。(分数:5.00)_四、B试题四/B(总题数:1,分数:15.00)1.【说明】 网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色,分别是客户机和服务器。 一般发起通信请求的应用程序称为客户软件,该应用程序通过与服务器进程建立连接来发送请求,然后等待服务器返回所请求的内容。服务器软件一般是指等待接收并处理客户机请求的应用程序,通常由系统执行,
17、等待客户机请求,并且在接收到请求之后,根据请求的内容,向客户机返回合适内容。 本题中的程序较为简单,客户机接收用户在键盘上输入的文字内容,服务器将客户机发送来的文字内容直接返回给客户机,在通信过程中服务器方和客户机方都遵守的通信协议如下: 由客户机首先发送请求,该请求由首部和内容两大部分组成,两个部分各占一行文字,通过行结束符/n隔离。 首部只有一个 Length 域,用于指定请求的内容部分的长度,首部的结构为 关键词 Length+ +数值+/n 内容部分为一行文字,其长度必须与 Length 域的数值相符。 例如,客户机的请求为“Length 14/n hello,welcome to m
18、y home!”,服务器接收请求处理后返回文字“Hello,welcome to my home!”。 【Socket 程序】 /服务器主程序部分 #includestdio.h /引用头文件部分略 #define SERVER_PORT 8080 /服务器监听端口号为 8080 #define BACKLOG 5 /连接请求队列长度 int main(int argc,char *argv ) int listenfd,connfd; /监听套接字、连接套接字描述符 struct sockaddr_in servaddr; /服务器监听地址 listenfdU (1) /U, /创建用于监听
19、的套接字 if(listenfd0) fprintf(stderr,“创建套接字错误!“) /套接字创建失败时打印错误信息 exit(1); bzero(&servaddr.sizeof(servadd); /将地址结构置空 servaddr.sin_familyAF_INET; /设置地址结构遵循 TCP/IP 协议 servaddr.sin_addrs_addrhtonl.U (2) /U /设置监听的 IP 地址为任意合法地址,并将该地址转换为网络字节顺序 servaddr.sin_portU (3) /U; /设置监听的端口,并转化为网络字节顺序 if(bind(4)0) fprint
20、f(stderr,“绑定套接字与地址!“), exit(1); /将监听地址与用于监听的套接字绑定,绑定失败时打印错误信息 if(listen(listedfd,BACKLOG)0) fprintf(stderr,“转换套接字为监听套接字!“); exit(1); /将用于监听的套接字由普通套接字转化为监听套接字 for(;) connfdU (5) /U; /从监听套接字的连接队列中接收已经完成的连接并创建新的连接套接字 if(connfd0) fprintf(stderr,“接收连接失败!“); exit(1); /接收失败打印错误信息 serv_respon(connfd); /运行服务
21、器的处理函数 U(6) /U; /关闭连接套接字 close(listenfd); /关闭监听套接字 /服务器通信部分 #includestdio.h /引用头文件部分略 void serv_respon(int sockfd) int nbytes; char buf1024 for(;) nbytesread_requ(sockfd,buf,1024); /读出客户机发出的请求,并分析其中的协议结构,获知请求的内 /部分的长度,并将内容复制到缓冲区buf 中 if(nbytes=0) return; /如客户机结束发送就退出 else if(bytes0) fprintf(siderr,“
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 中级 嵌入式 系统 设计师 下午 试题 答案 解析 DOC
