嵌入式期末考试题(5)

2019-05-18 17:12

return 0; }

//输出源串和目标串 //调用strcopy函数 //输出复制后的源串和目标串 ;r1指向源串,从源串载入一个字节的字符到r2,并更新r1=r1+1 ;r0指向目标串,从r2保存一个字节的字符到目标串,并更新r0=r0+1

38.已知C代码如下:

If(a > b)

a++;

Else

b++;

设a在R0、b在R1。试用汇编语言和条件码实现上述功能。 解:

CMP R0,R1 ;R0与R1比较 ADDHI R0,R0,#1 ;若R0>R1,则R0=R0+1 ADDLS R1,R1,#1 ;若R0≤1,则R1=R1+1 向地址0x80001000写入一个8位数据0xAA LDR R0,=0x80001000 MOV R1,#0xAA STRB R1,[R0] //////////////////////////////////////////////////////

36.试分析当初始值R1=23H,R2=0FH执行指令BIC R0, R1,R2,LSL #2后,寄存器R0,R1的值分别是多少? 解:R0=03H, R1=23H 37.试分析说明指令LDMIA r12!, {r0-r11}的操作功能。

将R12地址指针为起始地址的内存中十二个32位数据, 载入到R0-R11寄存器中的,地址的操作方式是先操作、后增加,并更新地址。

38.无符号字符数组x[],有10个单元。编写c51程序,将x中大于0x30的数据相加,结果存入片外RAM中。

unsigned char x[10]={10,20,30,40,50,60,70,80,44,33}; unsigned int xdata y=0; char i; for(i=0;i<=10;i++) { if(x[i]>30 y += x[i]; }

////////////////////////////////////////////////////////////////////////

36.编写程序实现求R4R3-R2R1,差放在R6R5中功能。 解:SUBS R5,R3,R1 SBC R6,R4,R2

37.利用嵌入式CPU开发一个嵌入式、数码显示的温度检测装置,请给出模块化设计框图。 解答:大致框图如下: 温度传感器 信号调理电路 数据和程序存储器 嵌入式处理器 显示接口和驱动电路 LED/LCD数码显示器

38.编写函数y = n的阶乘,入口参数n为无符号字符型,返回值y为无符号长整型。

unsigned long y_jiec(unsigned char n) {char i; unsigned long y=1; for(i=1;i<=x;i++) { y = y * i; }

return y;

}

///////////////////////////////////////////////////////////////

36.编写程序实现求R4R3+R2R1,和放在R6R5中的功能 解:ADDS R5,R3,R1 ADC R6,R4,R2 37.请分析以下指令说明其功能

MOVS R3,R1,LSL #2

ADDS R1,R1,#1 BIC R1,R1,#0x0F BL

DELAY

MOVS R3,R1,LSL #2 ;R3=R1<<2,并影响标志位 ADDS R1,R1,#1 ;R1=R1+1,并影响标志位 BIC R1,R1,#0x0F ;将R1的低4位清零,其它位不变 BL

DELAY

; 调用子程序DELAY

38.无符号字符数组s[ ],有10个单元,编写函数,将s[ ]中小于10的数据相加,结果作为无符号整型值返回。

unsigned char s[10];

unsigned int cheng(void) {char i; unsigned int y=0; for(i=0;i<=10;i++) { if(s[i] <10) y += s[i]; }

return y; }


嵌入式期末考试题(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:八十九学年度海外地区学生来台升读大学校

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: