《《嵌入式系统开发与应用》试卷及答案2套.docx》由会员分享,可在线阅读,更多相关《《嵌入式系统开发与应用》试卷及答案2套.docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、职业技术学院学年第二学期电信专业嵌入式系统开发与应用期末试卷A (开卷)班级 姓名 学号题号四总分成绩一、简答题(每题6分,共计60分)1、什么是嵌入式系统?2、ARM有几个异常类型?分别是什么?3、R13通常用来存储什么?哪种模式使用的寄存器最少?4、B,BL,BX的区别是什么?(6分)(3分)8、答:IOODIR = OxOllO9、答:VICIntEnableRx 00000080VICIntSelect =0x00000000 或者 VICIntSelect = 0xFFFFFF7F (3 分) 10、答:MATO. 0 MATO. 1 MATO. 2 MATO. 3 (2分)。当匹配
2、发生时,可由匹配引 脚输出高电平、低电平、发生翻转或保持不变(2分)。T0MR0=10000 (2分)二、程序补充题(每空1分,共计10分)X EQU 11AREA Examples, CODE , READONLYENTRYC0DE32ADDR0, R0,R0, LSL2ADDR0, R0,LSR1CMPR0, RIADDHIRI, RI,ROSUBLS Rl,Rl,#0x000000FF END三、汇编语言编程题(每题10分,共计20分)1、答: AREA TRANS, CODE, READONLY (1 分)ENTRY(1 分)C0DE32(1 分)MOVRO, #20(1分)MOVRI
3、, #90(1分)ADDR3, RO, RI(2分)MOV R8, R3(1分)LOOPB LOOP(1 分)END(1分)2、答:AREA TUAN, CODE,READONLY (1 分)ENTRY(1 分)CODE32(1分)MOV R8, #0x5E(1分)MVN RO, #0xA0000007(2分)SUB R5, RO, R8, LSL#3(2分)LOOPB LOOP(1 分)END(1分)C语言编程题(共计10分)#include config. h ttdefine LEDCON 0xFF16 uint8 i;void DelayNS(uint32 dly)uint32 i;f
4、or(; dly0; dly-)(for (i=0;i5000;i+);)(1分)void irq IRQ_Eint3(void) (for (i=0;i+;i10)I02SET = LEDCON;DelayNS(20) ;(1 分)I02CLR = LEDCON;DelayNS(20) ;(1 分) while( (EXTINT&13) !=O )(EXTINT = 13;(1 分)VICVectAddr = 0; int main(void)rIRQEnable ();PINSEL1 = 0x038;IO2DIR = LEDCON;(1 分)VICIntSelect = 0x0000000
5、0;VICDefVectAddr = (int)IRQ_Eint3;EXTMODE = 0x00;EXTINT = 13;(1 分)VICIntEnable = 116;while (1)I02CLR = LEDCON;(2 分)return (0);职业技术学院学年第二学期电信专业嵌入式系统开发与应用期末试卷B标准答案一、简答题(每题6分,共计60分)1、答:两种状态分别是ARM状态和Thumb状态。(2分)ARM状态,这种状态下执行的是字方式的32位ARM指令(2分)Thumb状态,这种状态下执行半字方式16位的Thumb指令(2分)2、答:当多个异常同时发生时,一个固定的优先级系统决定它
6、们被处理的 顺序:从高优先级到低优先级顺序是复位、数据中止、FIQ、IRQ、预取指 令中止、未定义指令、SWIo (6分)3、答:B指令为简单的跳转指令,不附带其它功能。跳转范围限制在当前指 令的32M字节地址内。(2分)BL指令除了具有跳转功能,还能在跳转之前将下一条指令的地址拷贝到 R14(即LR)链接寄存器中,它适用于子程序调用。跳转范围限制在当前指令 的32M字节地址内。 (2分)BX指令除了具有跳转功能,还能在跳转的同时切换处理器状态。其跳转 范围不受限制。(2分)4、答:馈送序列如下:1)将值( 3分)2)将值0x55 写入PLLFEED(3分)5、答:IO 1 DIR = OxF
7、FFFFFFF(6 分)6、答:PINSEL0 = OxOC(3 分)PINSEL0=0x018 或 PINSELO=(PINSELO&OxFFFFDFF)| (0x01 8)(3分)7、答:MAT 1.0 MAT1.1 MAT1.2 MAT1.3 (2 分)当匹配发生时,可由匹配引脚输出高电平、低电平、发生翻转或保持不变(2分)T1MRO = 20000 (2 分)8、答: VICIntEnable=Ox 00000010(3 分)VICIntSelect = 0x00000010 (3 分)9、答:IOlDIR = 0x0110(6 分)10、答:小端模式:数据的高字节存放在存储器的高地址
8、,低字节存放在存储器的低地址。(3分)大端模式:数据的高字节存放在存储器的低地址,低字节存放在存储 器的高地址。(3分)二、程序补充题(每空1分,共计10分)答:ADDR EQU 0x40003100AREA TRANS, CODE, READONLYC0DE32ENTRYMOV RO, #10LDR RO, RIADD R0, R0, #1CMP R0, #10MOVHS R0, #0B LOOP三、汇编语言编程题(每题10分,共计20分)1、答: AREA EXAP1, CODE, READONLY (1 分)C0DE32(1 分)ENTRY(1 分)MOV R2,#X(1 分)MOVR3
9、,#Y(1分)SUBRO, R2,R3(2 分)MOVRI, RO(1 分)LOOP B LOOP(1 分)END(1 分)2、答:AREA EXAP2, CODE,READONLY (1 分)CODE32ENTRY(1 分)MOV Rl,#0xA0(2分)MOV RO, #0x8F(2分)ADD RO, RO, R1,LSR#3(3分)LOOPB LOOP(1 分)ENDC语言编程题(共计io分)答:include config. h#define BEEPCON 0xFF16 void irq IRQ_Eint3 (void) uint32 i;i = I02SET;if ( (i&BEE
10、PCON)=0 )(I02SET = BEEPCON;) elseI02CLR = BEEPCON;答:include config. h#define BEEPCON 0xFF16 void irq IRQ_Eint3 (void) uint32 i;i = I02SET;if ( (i&BEEPCON)=0 )(I02SET = BEEPCON;) elseI02CLR = BEEPCON;(1分)(1分)(1分)(1分)while( (EXTINT&13) ;=0 )while( (EXTINT&13) ;=0 )(1分)(1分)EXTINT = 13;VICVectAddr = 0;)
11、int main (void)(IRQEnable ();PINSEL1 = 38;(1 分)I02DIR |= BEEPCON;(1 分)VICIntSelect = 0x00000000;VICDefVectAddr = (int)IRQ_Eint3;EXTMODE = 0x00;EXTINT = 13;VICIntEnable = 117;(1 分)wh i1e (1)IO2CLR = BEEPCON;(2 分)return (0);5、设置相关寄存器实现P0.4 口为输出弓|脚。6、写出下面指令的寻址方式SWPRO,RI, R2ORLRI,R2, R4, LSL#4MOVR0,#0x3
12、0ADDADDRO,RI, R2ADDRO,RI, #256LDRRO,RI, #8LDRLI RO, RIADD RI, R2, R3, LSR #47、设置PINSELO寄存器实现P0.1为EINTO功能,把P0.4设置为SCK功能。8、设置方向寄存器使P0.10为输出功能。9、设置UART1中断使能,并设置为IRQ中断。10、写出定时器0的所有匹配引脚和匹配引脚功能,并设置定时器0匹配值为lOOOOo二、程序补充题(每空2分,共计20分) ;定义X的值为10Y EQU 8AREA Examples, , READONLY ;声明代码段 Examples ;标识程序入口 ;声明32位ARM
13、指令MOV RO, #YADDRO, RO, RO, LSL ;计算 RO = Y + 4*Y = 5*YMOVRO, RO, LSR;计算 RO = RO/2MOV R1,#XMOV RI, RI, LSL #1 ;比拟RO和RI;假设网m,那么RI=Rl+RO;假设 RO=RI,那么 RI=Rl-OxFF ;程序结束三、汇编语言编程题(每题10分,共计20分)1、使用汇编指令实现:R8=R3=20 + 90。2、使用MVN汇编指令实现:R5 = 0x5FFFFFF8 - R8 * 8。(要求给R8赋值0x5E)U!U!C语言编程题(共计10分)正常情况下,8个8 LED,低电平点亮)亮。当
14、按键P0.20按下,进入外部中断3,控制8个LED闪烁10次。职业技术学院学年第二学期电信专业嵌入式系统开发与应用期末试卷B (开卷)班级 姓名 学号题号*四总分成绩一、简答题(每题6分,共计60分)1、ARM处理器的状态有几种,分别具有什么特点?2、ARM异常的默认优先级是什么?3、B,BL,BX的区别是什么?4、写出PLL中的馈送寄存器的馈送序列?5、设置相关寄存器实现P1为输出弓1脚。6、设置PINSELO寄存器实现po.i为EINTO功能,把P0. 4设置为SCK功能7、写出定时器1的所有匹配引脚和匹配引脚的功能,并设置定时器匹配值为 20000o8、设置TIMERO中断使能,并设置为
15、FIQ中断。9、设置方向寄存器使P1. 10为输出功能。10、什么叫小端模式?什么叫大端模式?二、程序补充题(每空1分,共计10分)根据注释填写指令 ;定义一个变量ADDR,地址为0x00003100 ;声明代码段TRANS ;程序入口处 ;声明32位ARM指令START LDR RI, #ADDR ;10传送到寄存器R0 ;将由1的数据加载到寄存器R0LOOP ; R0 = RO + 1 ; R0与10比拟,影响条件码标志 ;假设皿=10,那么 R0= 0STR R0,R1 ;跳转到LOOPEND三、汇编语言编程题(每题10分,共计20分)1、使用汇编指令实现:R1=R0二X - 丫。(X和
16、Y都是合法立即数)2、使用汇编指令实现:R0 = 0x8F + Rl/80 (给R1赋值0xA0)C语言编程题(共计10分)编写程序正常情况下,8个LED (连接P2. 16P2.23)亮;当按下按键KEY(P0. 20)后,进入外部中断3,控制8个LED状态取反。职业技术学院学年第二学期电信专业嵌入式系统开发与应用期末试卷A标准答案一、简答题(每题6分,共计60分)1、答:嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪, 适应应用系统对功能、可靠性、本钱、体积、功耗严格要求的专用计算机系统。(6分)2、答:ARM包括7种异常。分别是复位异常,未定义指令异常,软中断异常, 预取指
17、中止异常,数据中止异常,IRQ, FIQo (6分)3、答:寄存器R13通常作为堆栈指针(SP)。(1分)每个异常模式都有其自身的R13分组版本,它通常指向由异常模式所专用 的堆栈。在入口处,异常处理程序通常将其它要使用的寄存器值保存到这个堆 栈。通过返回时将这些值重装到寄存器中,异常处理程序可确保异常发生时的 程序状态不会被破坏。(3分)用户模式使用寄存器最少。(2分)4、答:B指令为简单的跳转指令,不附带其它功能。跳转范围限制在当前指 令的32M字节地址内。(2分)BL指令除了具有跳转功能,还能在跳转之前 将下一条指令的地址拷贝到R14(即LR)链接寄存器中,它适用于子程序调用。 跳转范围限制在当前指令的士32M字节地址内。(2分)BX指令除了具有跳转 功能,还能在跳转的同时切换处理器状态。其跳转范围不受限制。(2分)5、答:PINSEL0=0x00000000; (3 分)IO0DIR=0x00000008;(3 分)6、答:寄存器间接寻址寄存器移位寻址立即寻址寄存器寻址(3分) 立即寻址基址寻址寄存器间接寻址寄存器移位寻址(3分)7、答:PINSEL0 = OxOC (3 分)PINSEL0=0x018 或 PINSELO= (PINSELO&OxFFFFDFF) | (0x018) (3 分)