以下是利用MCS-51系列单片机汇编语言实现模拟I2C总线接收N个字节数据的程序段(RDNBYTE),请将汇编程序代码中(9)~(13)空缺处的内容填写完整。表6-21所示为MCS-51系列单片机部分汇编指令及寄存器说明。
程序中已定义了标号为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总线时钟线 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 ;发送寻址字节(读) (9) (10) JB F0,RDNBYTE RDN: MOV R1,#MRD RDN1: (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
编译器对程序进行一定的优化是非常有必要的,高级语言的程序可以被转化为汇编语言的指令形式。通常优化的方法有(1)、循环优化、废代码的清除等。
对嵌入式系统进行性能测试可以衡量系统的实时性,分析嵌入式软件的优劣,同时分析程序的执行时间可以帮助分析CPU功耗等特性。最坏执行时间是指(2)。
在嵌入式系统中,由于软/硬件资源有限,且系统对实时性和可靠性要求较高,因此在进行嵌入式软件开发时,要注意对执行时间、存储空间和开发/维护时间这三种资源的使用进行优化。请具体说明在编写代码时,需要做到哪几点编码准则?
在一台采用S3C44BOX微处理器(32位RISC结构)的嵌入式系统中,将图6-22所示的(a)、(b)程序段分别重复11 000次,(a)程序段需要2.13 ms;(b)程序段需要1.01 ms。
由此可见,在进行算术运算编码时遵守哪些编码准则?
假如加油机内油量足够,油价为5元/升,用户的账户金额为800元,那么在基本流 A4输入油量的过程中,请运用边界值分析方法为A4选取合适的输人数据(即油量,单位为升)。
图6-22所示的(a)、(b)程序段的功能是完全一样的,都是对一个结构体数组的各个元素进行初始化,但采用两种不同的方法来实现。请在200字以内归纳这两个算术运算程序段所采用的实现方法。
阅读以下关于嵌入式操作系统软件编码优化的技术说明,根据要求回答问题1至问题5。
【说明】
由于嵌入式系统对实时性的要求较高,因此一般要求对代码的性能进行优化,使代码的执行速度越快越好。图6-22给出了两个算术运算的程序段(a)、(b)。
在嵌入式系统设计过程中,给定一份软件设计规格说明书后,下一步的工作就是编写代码。通常编码工作包含哪些步骤?
对于基本流A来说,表6-6所示中哪些测试用例属于正面测试用例,哪些测试用例属于负面测试用例。请用表6-6中相应的“测试用例ID号”回答问题。
请在150字以内简要说明以表6—6所示的方法创建测试用例矩阵的优点。
场景中的每一个场景都需要确定测试用例,一般采用矩阵或决策表来确定和管理测试用例。表6-5是一种通用格式,表中各行代表各个测试用例,而各列代表测试用例的信息。本例中的测试用例包含测试用例ID号、场景(或说明/条件)、测试用例中涉及的所有数据元素(作为输人或已经存在于数据库中)以及预期结果等项目。
测试用例的设计步骤通常是:首先确定执行用例场景所需的数据元素(本例中包括账号、是否黑名单卡、输入油量、账面金额以及加油机油量),然后构建矩阵,最后确定包含执行场景所需的适当条件的测试用例。在表6-6的测试矩阵中,V表示有效数据元素,I表示无效数据元素,n/a表示不适用,例如CW01表示“成功加油”基本流。请按上述规定为其他应用场景设计测试用例矩阵。
编译程序的功能是什么?解释程序与编译程序的主要区别是什么?请在150字以内简要说明。
高级经济师考试试题精选练习(1)
高级经济师考试模拟练习题之单选题(1
高级经济师考试试题精选练习(2)
高级经济师考试试题精选练习(3)
高级经济师考试试题:经济法案例试题精
高级经济师考试模拟试题及答案
高级经济师考试试题及答案:单选练习题
高级经济师考试试题:经济法案例试题精
高级经济师考试模拟题及答案练习(1)
高级经济师考试模拟题及答案练习(2)