自考02205微型计算机原理与接口技术(14-18)真题试卷_第1页
自考02205微型计算机原理与接口技术(14-18)真题试卷_第2页
自考02205微型计算机原理与接口技术(14-18)真题试卷_第3页
自考02205微型计算机原理与接口技术(14-18)真题试卷_第4页
自考02205微型计算机原理与接口技术(14-18)真题试卷_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2014年10月高等教育自学考试《微型计算机原理与接口技术》试题课程代码:02205一、单项选择题1、在计算机中,存放数据和指令的存储单元的地址是用哪种数制来编码的?(A)A、二进制B、八进制C、十进制D、十六进制2、用下列哪种语言编写的程序可以被计算机直接识别并执行?(C)A、算法语言B、汇编语言C、机器语言D、C语言3、在下列四个选项中,哪个选项中的用户标识符都不合法?(A)A、floatB、AC、aD、_1232a0P_0gototempA-bDointINT4、设有变量intx=1,y=2;charc='A';则表达式(c+x+y)的值是(字符A的ASCII码是65)(C)A、'A'B、'D'C、68D、空或零5、下列关于C语言函数调用的说法中,正确的是(D)A、凡是函数都可以相互调用与被调用B、main()函数不可以被递归调用,但可以被嵌套调用C、main()函数是主函数,不可以被其他函数调用,但可以调用自己D、main()函数是主函数,不可以被任何函数调用,但可以调用其他函数6、如果定义了文件指针:FILE*fileA;,用该指针打开当前目录下的数据文件abc.dat,并且在文件末尾添加数据,则下列打开文件的语句正确的是(B)A、fileA=fopen("abc.dat","w");B、fileA=fopen("abc.dat","a");C、fileA=fopen("w","abc.dat");D、fileA=fopen("a","abc.dat");7、若MCS-51单片机的时钟频率为4MHz,则其机器周期为(D)A、0.25sB、1sC、2sD、3s8、8031单片机内部数据存储器(RAM)单元共有(C)A、32字节B、64字节C、128字节D、256字节9、MCS-51单片机并行I/O口中,只能作输入/输出口,没有第二功能的口是(B)A、PO口B、P1口C、P2口D、P3口10、当MCS-51单片机的PSW(程序状态字)中的RS1、RS0为11时,工作寄存器组R0-R7在RAM中地址为(D)A、00H—07HB、08H—0FHC、10H—17HD、18H—1FH11、下列指令中对进位标志CY没有影响的是(B)A、ADDA,30HB、JCNEXTC、SUBBA,R7D、CJNEA,#10H,$+312、下列指令中目的操作数使用直接寻址的指令是(D)A、ADDA,30HB、MOV@R1,AC、MOVR7,#10HD、ORLP1,A13、若在地址为1100H地方存放有指令SJMP·26H,则该指令执行后,程序转到的地址为(C)A、1102HB、1126HC、1128HD、10DCH14、下列指令中,错误的指令是(A)A、MOVACC.0,P1.1B、MOVACC.7,CC、MOVC,P1.7D、MOV10H,C15、存贮容量为16K×8位的存贮器,其地址线和数据线分别是(C)A、16根,8根B、8根,16根C、14根,8根D、8根,14根16、在8031单片机系统中,关于DAC0832和ADC0809的用途,描述正确的是(C)A、DAC0832和ADC0809都用作模拟量输入通道B、DAC0832用作模拟量输入通道,ADC0809用作模拟量输出通道C、DAC0832用作模拟量输出通道,ADC0809用作模拟量输入通道D、DAC0832和ADC0809都用作模拟量输出通道二、填空题17、计算机的操作指令通常由操作码(或指令码)和操作数两部分组成,其中操作数表示参加操作的数本身或操作数所在内存的地址。18、两个不同符号的数相加,是做减法实现的。但在计算机中,减法也是通过加法来实现的,为了把减法运算改为加法运算,就引入了反码和补码。19、初始化语句:intx=5,y=x++抖;执行后,变量x的值是6,变量y的值是5。20、设有定义语句:inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a+7;,则表达式*p的值是7,表达式*(p-2)的值是5。三、改错题每小题只有一处错误或不妥,请指出,并将其改正。(答案写在答题卡相应位置)21、下面的程序是对输入的3个数进行比较,并输出其中的最大数、最小数。#include<stdio.h>main(){intx,3;z,max,min;scanf("%d%d%d",&x,&y,&z);max=x;min=y;if(x<y)max=y;min=x;if(z>max)max=z;elseif(z<min)min=z;printf("最大数是:%d,最小数是:%d\n",max,min);}答:错误:max=y;min=x;正确:{max=y;min=x;}22、下面的程序是计算从1加到n(n>1且n<200)的和(即:1+2+3+……+n),并输出计算结果。#include<stdio.h>main(){intn;printf("请输入n(n>1且n<200):");scanf("%d",&n);if(n>1&&n<200){inti,sum=O;for(i=1;i<=n;++i){sum+=i;}}printf("1加到%d的和=%d\n",n,sum);}答:23、#include<stdio.h>main(){intx[10],i;for(i=l;i<=10;++i){scanf("%d",&x[i]);printf("%d,",x[i]);}printf("\n");}答:24,#include<stdio.h>structDate{inty,m,d;};main(){structDatedatel,*p=&datel;scanf("%d,%d,%d",p->y,p->m,p->d);printf("输入的日期:%d年,%d月,%d日\n",p->y,p->m,p->d);}答:四、程序阅读题请阅读下列程序,写出程序运行结果。(答案写到答题卡相应位置)25.#include<stdio.h>main(){floata,x=1;intn;scanf("%f',&a);n=a/l00;if(n>0){switch(n){case1:x=0.95;break;case2:x=0.9;break;case3:case4:x=0.8;break;default:x=0.7;}}printf("%6.2f:%6.2f\n",a,a*x);}程序运行两次,第一次输入值为87.53,第二次输入值为310。答:程序第一次运行结果为:87.53:87.53程序第二次运行结果为:310.00:248.0026.#include<stdio.h>main(){inti,x=O;for(i=l;i<10;){if(i%3--0){x=i;prinff("%d,",x);}if(x!=0){i+=i;continue;}++i;}printf("\n");答:程序运行结果为3,6,27.#include<stdio.h>main(){charstr[]={"do-while,for,while"};str[8]='#';str[1O]='\0';str[12]=';';str[13]='W';printf("%s\n",str);}答:28,#include<stdio.h>main(){chars1[]={"LinXiaoping"},s2[]={"LiuPangfeng"},*p=s2+1;s1[21=*(++p);++p;s1[4]=*(++p);s1[T]=*(p+2);*p=*(p+4);printf("%s,%s\n",s1,s2);}答:五、程序设计题根据题意编写成完整的程序29、下面程序的功能是在输入的字符串中统计某个字符出现的次数,请根据题义编写被调用函数(注意:不能改变主函数)。#include<stdio.h>intfunction(charstr[],charc);main(){intsum;charstr[255],c;printf("请输入字符串(字符个数<255):");scanf("%s",str);printf("请输入要查找并统计的字符:");scanf("%c",&c);if(str[O]!='\0'){sum=function(str,c);if(sum--O)printf("输入的字符串中无字符%c。\n",c);elseprintf("在字符串%s中,字符%c出现%d次)。\n",str,c,sum);}/*以下为定义函数部分*/答:六、填空题30、MCS-51单片机用作外部程序存储器(ROM)读选通信号的引脚是。31、若MCS-51单片机PSW中的(RS1)=0,(RS0)=1时,则R6对应的RAM单元地址为0EH。32、若指令为MOVA,#10H,则源操作数的寻址方式是立即数寻址。33、已知(A)=9BH,进位标志(CY)=0,执行指令RRCA后,(A)=4DH,(CY)=1。34、已知(SP)=70H,执行指令LCALL2110H后,(SP)=72H,(71H)=10H。35、若要使P1口的高2位置“1”,低6位保持不变,可使用一条指令:ORLP1,#0C0H。36、若8031单片机系统执行了指令SETBEA和SETBEX1,则表示外部中断1(或INT1)中断已开放,其中断入口地址是0013H。37、8031单片机内部的定时/计数器有4种工作方式。在作为定时器用时,设时钟频率为12MHz,则其最大定时时间为65.536ms。七、改错题每小题只有一处错误或不妥,请指出,并将其改正。(答案写在答题卡相应位置)38、以下程序段拟将内部RAM中30H单元开始的16个字节转移到XBUF开始的外部数据存储器中。MOVR0,#30HMOVDPTR,#XBUFMOVR7,#16LOOP:MOVA,@R0MOV@DPTR,AINCR0INCDPTRDJNZR7,LOOP答:错误:MOV@DPTR,A改正:MOVX@DPTR,A39、若8031单片机要求中断优先权从高到低依次为T0,T1,INT0,INT1,串行口。INT0和INT1为边沿触发,并允许这些中断,则指出以下初始化程序的错误并改正。MOVIE,#9FHMOVIP,#02HMOVTCON,#55H答:错误:MOVIP,#02H改正:MOVIP,#0AH八、程序阅读题请阅读下列程序,写出程序运行结果。(答案写到答题卡相应位置)40、阅读以下子程序:MOVDPTR,#TABLRLAADDA,DPLMOVDPL,AJNCCONTINCDPHCONT:CLRAMOVCA,@A+DPTRMOVR7,AMOVA,#1MOVCA,@A+DPTRMOVR6,ARETTABL:DW200,5000,100,268,110,260,800,3100,2560如原来(A)=5,调用子程序后,(R7)=01U,(R6)=04H,如原来(A)=2,调用子程序后,(R7)=00H,(A)=64H。41、若8031单片机时钟频率为12MH2,运行以下程序后,在P1.0口将产生频率为40Hz的连续矩形波,其矩形波高电平时间为5ms。ORG0000HAJMPMAINORG001BHAJMPT11NTMAIN:MOVTMOD,#10HMOVTHI,#0B1HMOVTLI,#0EOHSETBEASETBET1CLRPl.0SETBFOSETBTR1SJMP$T11NT:JBF0,T11NT1MOVTH1,#0B1HMOVTLI,#0EOHSJMPT11NT2T11NT1:MOVTHI,#0ECHMOVTLl,#78HT11NT2:CPLFOCPLP1.0RETI九、程序设计题根据题意及已提供的语句,编写成完整的程序。42、以XD_BUF为起始地址的外部数据存储器中,存放有200个学生的考试成绩(0~100),均为单字节二进制无符号数。试编写一程序(填写程序的空缺部分),统计成绩≥90分和成绩)60分的学生人数,分别存放在内部RAM30H和31H单元。START:MOVDPTR,#XDBUFMOVR7,#200MOV30H,#0MOV31H,#0SJMP$答:十、应用题43、8031单片机用8255A扩展并行口连接打印机电路如题43图所示。现将存放在内部RAM20H单元开始的16个数据送到打印机打印。STB是打印机输入信号,它的上升沿将数据读入并开始打印。打印机读入一个字符后在ACK端输出一个负脉冲,作为8031的INT0中断申请。请将下列程序中缺少的内容,填到答题卡相应位置。ADRESEQU①H;8255AA1218位地址,没用到的位为“1”ORG0000HAJMPSTARTORG②n;INT0中断入口地址AJMPROUTSTART:MOVR0,#ADRES+3MOVA,#③H;8255A方式控制字,与本题无关的位为“0”MOVX@R0,ASETB④;INT0边沿触发SETBEASETBEX0MOVR1,#20HMOVR2,#⑤HMOVA,⑥;取出第一个字符MOVR0,#ADRES;打印第一个字符MOVX@R0,AMOVR0,#ADRES+2;输出STB信号MOVA,#00HMOVX@R0,AMOVA,#01HMOVX@R0,ASJMP$ROUT:INCR1;中断服务程序,打印一个字符MOVA,@R1MOVR0,#⑦MOVX@R0,AMOVR0,#⑧MOVA,#00HMOVX@R0,AMOVA,#01HMOVX@R0,ADJNZR2,NEXTCLREX0NEXT:RETI答:

2015年4月全国高等教育自学考试《微型计算机原理与接口技术》试题课程代码:02205一、单项选择题(本大题共16小题,每小题1分,共16分)1、下列数字中不可能是八进制数的是A、123B、128C、255D、2562、假设X=5,Y=10,则下述各表达式中与其他几个表达式的运算结果都不同的是A、X+YB、Xeq\o\ac(○,+)YC、X∨YD、X∧Y3、一个C语言程序由一个或多个函数相互调用构成,其中能调用main函数的是A、编译器B、操作系统C、库函数D、自定义函数4、合法的C语言常数表示是A、3.14×104B、C、061D、41H5、设有C语言变量定义intx;,则语句for(x=3;x!=0;x/=2);执行的循环次数是A、1次B、2次C、3次D、无穷次6、在C程序中函数声明语句void*func(vo㈤;的正确含义是A、func函数无返回值B、func函数的返回值可以是任意数据类型C、func函数没有形参D、func函数有一个任意数据类型的形参7、下列描述不属于RISC计算机特点的是A、单周期执行B、大量的通用寄存器C、指令长度不固定D、专门的Load和Store指令完成数据在寄存器和外部存储器之间的传输8、当LPC2138微控制器的引脚用作GPIO功能时,对引脚清零是通过寄存器A、IOxSETB、IOxCLRC、IOxPIND、IOxDIR9、ARM处理器中用于自动保存函数或子程序的返回地址的寄存器是A、程序计数器B、链接寄存器C、堆栈指针寄存器D、程序状态寄存器10、下列关于ARM处理器CPSR寄存器标志位的作用,错误的是A、N:负标志B、Z:零标志C、C:进位标志D、V:借位标志11、在ARM处理器中,优先级最高的中断类型是A、复位B、数据中止C、FIQD、IRQ12、存储一个32位数0x7654321到2000H~2003H四个字节单元中,若以小端模式存储,则2003H存储单元的字节内容为A、0x07B、0x76C、0x21D、0x3213、FIQ中断的入口地址是A、0x0000001CB、0x00000018C、0x0000000CD、0x0000001414、在LPC2138微控制器中,设置GPIO引脚时不需要进行的操作为A、输入输出模式设置B.功能设置C、引脚方向设置D、触发方式设置15、下列工作模式中,不属于ARM特权模式的是A、用户模式B、系统模式C、中断模式D、FIQ模式16、下列不属于ARM7处理器异常中断类型的是A、快速中断请求B、未定义指令C、数据访问中止D、数据捕获二、填空题(本大题共13小题,每小题2分,共26分)17、设有定义unsignedintx=0xFFFFFFFF;floaty=123.45;,在32位计算机上执行语句printf(;输出的结果是。18、设x,y为整型变量,要正确计算出代数式的值,且要求结果是实型数,相应的C语言表达式的表示形式为。19.设有定义;则赋值表达式;运行后x的值是一,y的值是。20.形式参数的作用域范围限于所在的函数体内,当时形参变量被创建,当时形参变量被释放21.若有定义:;则初始化后的初值为,的初值为22、执行下列定义及语句:Structsample{inta;intb}data[]={{0,0},{1,1},{2,2}},*p=data;*p=*(p+2);后,p->a的值为——,p->b的值为23、CISC是复杂指令集计算机的缩写,RISC是的缩写,所有ARM内核都采用体系结构。24、GPIO口的引脚功能复用是指,LPC2138芯片的GPIO引脚功能是通过寄存器配置实现。25、ARM处理器的中断过程包含、和中断返回三个阶段。26、一个8位D/A转换器,当输入码为10000000B时,产生2.5V的输出电压,若输入码为11111111B时,输出电压为V。27、堆栈指针寄存器SP是用于保存地址。28.ARM内核有两个指令集,分别是ARM指令集和指令集。当寄存器CPSR中的控制位T为1时,处理器处于状态。29.ARM体系的存储器地址空间范围是从0~Ox。三、改错题(本大题共4小题,每小题,2分,共8分)每小题只有一处错误或不妥,请指出,并将其改正。30、如果系统采用ASCII编码,某程序员需要输出字符(已知字符a的ASCII码值为97),他采用下列语句:Printf();31、如果有定义;,要想得到输出,程序采用语句:32、下列程序是计算的函数,若n<0则返回-1。33.四、程序阅读题(本大题共4小题,每小题4分,共16分)请阅读下列程序,写出程序运行结果。程序运行结果:程序运行结果:程序运行结果:程序运行结果:五、程序设计题(本大题共1小题,共8分)根据题意编写成完整的程序。38、编写一个函数,对给定数组中所有奇数求平均值,并予以返回。该函数的声明及调用形式由如下的程序给出,数组的数据由主函数通过随机数生成函数rand()产生。六、分析题(本大题共2小题,每小题8分,共16分)39、异步串行数据通信是以字符帧为基本单位。假设题39图所示波形表示异步串行通信接口接收到的1个字符帧,已知数据位7位,1位校验位,1位停止位,请填空。(1)题39图中停止位所在的时间段为。(2)该异步串行通信所采用的校验方式为校验。(3)接收的数据如果以二进制表示,则等于。(4)如果图中T1段的时间为0.208ms,则比特率为bit/s。40、硬件接线如题40图所示,请阅读下列程序,回答下述问题。(1)如果要让引脚P0.16、P0.17控制发光二极管D1、D2的点亮或熄灭,程序应执行哪两种初始化操作?(2)如果要点亮D1,程序应执行什么操作?试写出对应的语句。(3)当按键K1按下时,发光二极管D1、D2的闪烁周期是多少?如果D1是点亮的,那么D2是点亮的还是熄灭的?(4)当按键K1释放时,发光二极管D1、D2的闪烁周期是多少?七、应用题(本大题共1小题,共10分)41、将LPC2138的引脚P0.25设置为10位D/A转换器的输出,输出的波形如题41图所示。试将下列程序中空缺的内容填写在题后对应编号的横线内,使之能够完成规定的功能。{255,255,255,255,255,255,255,255,254,254,254,254,254,253,253,253,253,252,252,252,251,251,250,250,249,249,249,248,247,247,246,246,245,245,244,243,243,242,241,241,240,239,238,238,237,236,235,234,233,232,232,231,230,229,228,227,226,225,224,223,222,221,220,218,217,216,215,214,213,212,210,209,208,207,206,204,203,202,201,199,198,197,195,194,193,191,190,189,187,186,184,183,182,180,179,177,176,174,173,I71,170,168,167,165,164,162,161,159,158,156,155,153,152,150,149,147,146,144,142,141,139,138,136,135,133,131,130,128,127,125,124,122,120,119,117,116,114,113,111,109,108,106,105,103,I02,100,99,97,96,94,93,91,90,88,87,85,84,82,81,79,78,76,75,73,72,71,69,68,66,65,64,62,61,60,58,57,56,54,53,52,51,49,48,47,46,45,43,42,41,40,39,38,37,35,34,33,32,31,30,29,28,27,26,25,24,23,23,22,2I,20,19,18,17,17,16,15,14,14,13,12,12,11,10,lO,9,9,8,8,7,6,6,6,5,5,4,4,3,3,3,2,2,2,2,1,1,1,1,1,O,O,O,O,O,O,O,O,

2016年4月高等教育自学考试《微型计算机原理与接口技术》试题课程代码:02205一、单项选择题1、有关冯·诺依曼结构计算机的存储器,下列描述中正确的是A、只能存储程序B、只能存储数据C、既能存储程序也能存储数据D、程序和数据不能同时存放在同一个存储器中2、8位补码10000001表示的十进制数是A、129B、,127C、-1D、13、要将C语言的源程序变成可以运行的可执行文件,下列各阶段不需要的是A、编译B、预编译C、加载D、链接4、执行了下面赋值语句后,x的值是inti;floatx;x=i=7.8;A、7B、8C、7.0D、7.85、下列语句段中循环体执行的次数是a=10;s=0;while(--a>0)S+=1;A、8B、9C、10D、116、如果在C程序中将某个内部变量说明为static存储类别,则可以A、防止该变量的值被修改B、加快该变量的访问速度C、延长该变量的生存期D、扩大该变量的作用域7、ARM处理器中R14寄存器的作用是A、保存当前执行指令在内存中的地址B、保存上一条指令在内存中的地址C、保存函数或子程序的返回地址D、保存程序运行的控制和状态位8、ARM处理器运行时存放控制和状态位的寄存器是A、PCB、LRC、SPD、CPSR9、ARM处理器执行如下运算操作:0xd0+0x30,则条件标志位Z、N分别为A、00B、01C、10D、1110、ARM处理器复位后,处理器进入A、系统模式B、管理模式C、用户模式D、中断模式11、LPC2138微控制器中的下列模块,属于APB外设的是A、EMCB、片内FlashC、TIMER0D、VIC12、设置LPC2138微控制器PO.16引脚的输入或输出方向是通过寄存器A、IO0CLRB、IO0SETC、IO0DIRD、PINSEL013、嵌套式中断是指A、处理器允许响应中断请求B、处理器在中断服务时允许响应优先级更低的新中断C、处理器在中断服务时允许响应优先级更高的新中断D、处理器在中断服务时不再响应新的中断14、RS232电平的逻辑0对应的电压水平为A、3~15VB、-15~-3VC、0VD、3.3~5V15、一个10位D/A转换器的绝对精度为+ILSB,则其相对精度为A、0.0977%B、0.0488%C、0.977mVD、0.2%16、LPC2138微处理器不包含下述功能模块中的A、PWMB、看门狗定时器C、实时时钟D、USB二、填空题17、每个C语言程序必须有一个名字为的函数。18、在C语言中存储一个ASCII字符需占用个字节,存储字符串常量”\\n”需占用个字节。19、设有定义intx=1,y=1;,则赋值表达式y=((++x)/2==1)?x>>2:x<<2;运行后x的值是,y的值是。20、补充完整下面用递归函数求的C函数。intpower(intx,intn){if(n==0)return;if(n>0)return;}21、若有定义:char*p[2]={"xyz","ABCD"};,则表明p是一个数组,执行printf("%s\n",p[1]);后的结果是。22、若将下述变量rect指向的对象赋值为(3,5),则正确的赋值语句是。structsample{intlength,breadth;}*rect;23、LPC2138微控制器中的VIC可处理多达——个中断信号,但CPU的中断请求输入信号只有2个,它们是FIQ租。24、采用三级指令流水线机制的计算机指令执行过程分为三个步骤:、和执行。25、在串行通讯中,每秒钟内传输二进制位的数量称为;每秒钟内硬件所产生的信号单元变化的次数称为。26、对A/D转换器,输入的是幅值连续变化的———量,输出的是幅值上离散的———量。27、LPC2138微控制器的片内SRAM支持8位、位和位的读写访问。28、当定时器计数值达到某个预设值后产生中断或执行其他动作,这种工作方式称为。当定时器识别输入信号发生跳变并可选择产生中断,这种工作方式称为。29、设ARM存储器采用小端字节顺序存放,向存储地址为0x08001000的存储单元写入32位整数0x78563412。如果从存储单元0x08001002读取半字数据时,得到的数据是;如果从存储单元0x08001001读取字节数据时,得到的数据是。三、改错题每小题只有一处错误或不妥,请指出,并将其改正。30、下列程序实现求正方形的面积。#include<stdio.h>#defineLEN5.5#defineSIDELENLEN+5intmain(void){floatarea;area=S1DE_LEN*SIDE_LEN;printf("Areais%7.2f\n",area);return0;}答:错误:改正:31、函数f的作用是将a的每一位取反,它的定义如下:unsignedcharf(unsignedchara){return!a;}答:错误:改正:32、introtate(intx,intn){switch(n/16){caseO:x=x>>(16-n);continue;case1:x=x>>(32-n);returnx;default:printf("What'sthematter?\n");}returnx;}答:错误:改正:33、intmain(void){chara[]="Yes",b[]={"No"};char*p1=&b[0],*p2=a;while(*p1++=*p2++);printf("%s,%s\n",a,b);return0;}答:错误:改正:四、程序阅读题请阅读下列程序,写出程序运行结果。34、#include<stdio.h>intmain(void){inta[4]={10,11,13,15};inti;for(i=0;i<4;++i){if(i%2!=0)a[i]/=2;elseif(a[i]%2==0)a[i]*=2;elsea[i]-=2;printf("%d,",a[i]);}printf("\n");return0;}程序运行结果:35、#include<stdio.h>intmain(void){intA[3]={2,7,5};int*p;p=A;printf("%d\n",*(p++));printf("%d\n",++(*p));return0;}程序运行结果:36、#include<stdio.h>intfun(intx,inty);intmain(void){intm,n;m=2;n=3;m=fun(m,m+n);n=fun(m,n);printf("\n");return0;}intfun(ihtx,inty){staticintm=1,n=3;if(!(x<=m))re=y%4;elsem=(--y);n++;printf("%d,%d,",m,n);returnm;}程序运行结果:37、#include<stdio.h>typedefstructproduct{charcolor[1O];floatprice;structproduct*next;}st_product;intmain(void){st_producttoy[]={{"blue",35.60,0},{"green",47.90,0}};st_product*p=toy;p->price=29.80;p->next=p+1;p->next->color[3]='E';(++p)->price=19.90;p--;printf("%s,%.2f,%s,%.2f\n",p->color,p->price,p->next,>color,p->next->price);return0;}程序运行结果:五、程序设计题根据题意编写成完整的程序。38、编写一个函数,要求判断传入的字符串中的字符是否按从小到大的顺序排列,并返回第一个未正确排序的位置,如果所有字符都正确排序则返回该字符串的长度。该函数的声明及调用形式由如下的程序给出。(注:字符大小以ASCII码为序)#include<stdlib.h>intsequence_len(char*);intmain(void){charmystring[]={"adfGhklX"};printf("Thesequencelengthof%sis%d\n",mystring,sequence_len(mystring));return0;}/*以下为floatsequence_len(char*)函数的定义部分*/六、分析题39、异步串行数据通信是以字符帧为基本单位。假设题39图所示波形图表示异步串行通信接口接收到的1个字符帧,已知数据位8位,1位校验位,1位停止位,请回答下述问题:(1)起始位所在的时间段为。(2)所采用的校验方式为校验。(3)接收的数据如果以二进制表示,则等于B。(4)如果图中T1~T10段的时间为8.333ms,则波特率为bit/s。七、应用题40、下列程序完成的功能是:利用定时器0产生FIQ向量中断,控制P0.3连接的LED灯闪烁。试问答下述问题。(1)定时器0经过预分频后,其计数频率是多少?中断定时周期是多少?LED灯闪烁周期是多少?(2)试从IO0CbR,IO0DIR,FIQTimer0_ISR中挑选出合适的内容,填写在程序划线①、②、③处,完善程序语句。(3)试说明程序行④处语句:“VICIntSelect=(1<<4);”的含义。程序1:main.c#include<LPC123X.h>#defineLED_ON(((unsignedlong)0x01)<<3)void_irqFIQ_Timer0_ISR(void){if((IO0PIN&LED_ON)==0)dIO0SET=LED_ON;else①=LED_ON;;TOIR=0x01;}/*初始化定时器Timer0*//**晶振:fosc=12MHz;系统时钟:fcclk=60MHz;*fpclk=l5MHz*/voidTimer0Init(void){T0PR=99;/*设置预分频寄存器*/T0MCR=0x03;/*TC和MR匹配时产生中断,TC复位*/T0MR0=150000;/*设置匹配控制寄存器*/T0TCR=0x03;/*启动并复位定时器*/T0TCR=0x01;/*启动定时器*/VICIntSelect=(1<<4);/*(④)*/VICIntEnable=(1<<4);}intmain(void)②=LED_ON;/*设置P0.3引脚*/TimerOInit();/*初始化定时器*/while(1);程序2:Startup.s/*设置中断服务程序入口地址*/……ResetAddrDCDResetHandlerUndefAddrDCDUndefHandlerSWIAddrDCDSWIHandlerPAbtAddrDCDPAbtHandlerDAbtAddrDCDDAbtHandlerDCD0;ReservedAddressIRQAddrDCDIRQ_HandlerIMPORTFIQTimer0_ISRFIQAddrDCD③答:(1)(2)①;②;③。(3)41、硬件接线如题41图所示,要求实现如下功能:(1)当按键K1按下时,发光二极管D1、D2交替闪烁,闪烁周期为1s,即D1点亮0.5s,此时D2熄灭;然后D1熄灭0.5s,此时D2点亮。如此循环往复。(2)当按键K1释放时,发光二极管D1、D2同步闪烁,闪烁周期为1s,即D1点亮0.5s,此时D2也点亮;然后D1熄灭0.5s,此时D2也熄灭。如此循环往复。试完善下述程序。#include"LPC213XREG.h"voiddelay_ms(unsignedintt);intmain(void){rPINSEL1.nibbles.n0=0;/*设置P0.16、P0.17为GPIO引脚*/rPINSEL0.field.p0_15=0;/*设置P0.15为GPIO引脚*/rlO0DIR.field.dl6=1;/*设置P0.16为输出*/①;/设置P0.17为输出*/②;/设置P0.15为输入*/while(1){if(rIO0PIN.field.d15==0)/*按K1按下*/{if(rIO0SET.field.d16){rIO0CLR.field.d16=1;/*熄灭D1*/③;/点亮D2*/}else{④;/*点亮D1*/⑤;/*熄灭D2*/}⑥;/*延时*/}else{if(rIO0SET.field.d16){rIO0CLR.field.d16=1;/*熄灭D1*/⑦;/*熄灭D2*/}else{⑧;/*点亮D1*/⑨;/*点亮D2*/⑩;/*延时*/}}voiddelay_ms(unsignedintt)/*t为延时的ms数*/{constunsignedintcclk=60000000;/*芯片主频为60MHz*/constunsignedintloop_clks=10;volatileunsignedintn;n=(cclk/1000/loop_clks)*t;while(n--);return答:①;②;③;④;⑤;⑥;⑦;⑧;⑨;⑩。

2016年10月高等教育自学考试《微型计算机原理与接口技术》试题课程代码:02205一、单项选择题1、CPU中包含的冯,诺依曼结构计算机部件有A、控制器和运算器B、寄存器和存储器C、存储器和运算器D、控制器和I/O设备2、二进制数01010100B的十六进制表示是A、84HB、124HC、54HD、45H3、C语言程序的源文件的扩展名是A、cB、cppC、objD、exe4、下列变量名中,合法的变量名是A、_abcB、forC、2bcD、main5、已知a是整型变量,下列C语言条件语句中,功能与其他语句不同的是A、if(a!=0)x=~a;elsex=a;B、if(a==0)x=~a;elsex=a;C、if(a)x=~a;elsex=a;D、if(!a)x=a;elsex=~a;6、执行下列语句后变量s的值是s=0;for(k=1;k<9;k+=2)s+=k;A、16B、24C、25D、367、存储一个32位数0x1234567到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为A、0x12B、0x56C、0x67D、0x018、ARM处理器的内部寄存器R13除了可以作为通用寄存器外,还可以作为A、程序计数器B、链接寄存器C、堆栈指针寄存器D、程序状态寄存器9、在串行通讯中,每秒钟内硬件所产生的信号单元变化的次数称为A、比特率B、时钟频率C、波特率D、分辨率10、异步传输数据帧格式中,不是必选部分的是A、起始位B、数据位C、奇偶校验位D、停止位11、关于ARM处理器的异常的描述中,不正确的是A、复位属于异常B、除数为零会引起异常C、异常都要返回D、外部中断会引起异常12、复位后,LPC2138处理器所处的模式及状态分别是A、用户模式,Thumb状态B、系统模式,ARM状态C、管理模式,ARM状态D、系统模式,Thumb状态13、在串行异步通讯方式中,发送端DTE的TxD要和接收端DTE的哪个相连接?A、TxDB、RxDC、RTSD、CTS14、CPSR寄存器中反映处理器状态的位是A、J位B、I位C、F位D、T位15、8位D/A转换器,其最大输出电压为5V,若输入数据为10H,则输出的电压为(V)A、B、C、D、16、FIQ异常处理能满足快速响应的原因是A、进入FIQ中断处理前无需保存CPSRB、进入FIQ中断处理前无需切换运行模式C、FIQ运行模式级别最高D、FIQ请求具有最高的优先级二、填空题17、如果双精度变量x=123.456;,则语句printf("%e",x);的输出是。18、如果有符号整型对象占用4个字节的内存空间,则可表示的值范围为。19、下面是计算1+2+3+……+n的递归函数(n≥0),请填空。intsum(intn){if(n==0)return0;;}20、函数fun的功能是计算一组实型数的平均值,请填空。doublefun(){doublesum=0;intk;for(k=O;k<n;++k)sum+=a[k];returnsum/n;}21、如果x是字符型变量,判断x中的字符是否是小写字母的表达式是。22、设计算机以小端模式工作,且血型占4个字节。已知字符'A'的ASCII码值为41H,设有定义:union{unsignedintdata;unsignedcharpos[4];}s,*p=&s;则执行语句s.data=0x41434547;与通过指针p访问data成员的语句是等价的,且执行printf("%c\n",s.pos[1];的结果是。23、在周期为20Hz,占空比为2/3的方波中,每个周期高电平持续的时间为。24、在ARM处理器的运行模式下,程序可以访问所有系统资源,也可以任意地进行处理器模式切换。25、A/D转换是指将信号转换为二进制数。在A/D转换中,若输入模拟信号中最高频率分量是10MHz,则最低采样频率为。26、用D/A转换器能分辨出来的最小输出电压与最大输出电压的比值来表示一个n位的D/A转换器的分辨率为。27、在LPC2138处理器中,中断优先级为1~级,复位的中断优先级是级。28、LPC2138提供个定时器。当定时器工作在匹配方式时,它对时钟信号PCLK进行(选填:加或减)1计数。29、LED数码管显示“0”的共阳极显示码为C0H,共阴极显示码为H。三、改错题每小题只有一处错误或不妥,请指出,并将其改正。30、#include<stdio.h>#definePI3.14;intmain(void){floatradius=22;printf("Circumferenceis%f\n",2*PI*radius);}错误:改正:31、下列函数的作用是使两个整数相除得到一个实型的商,当除数为0时返回0。floatfunction(inta,intb){floats;if(b==0)s=0;elses=a/b;returns;}错误:改正:32、下面语句判断变量a的值是否为3。if(a=3)printf("ais3\h");elsepfintf("aisnot3\n");错误:改正:33、某程序需要定义一个字节的位域如下:stuctpacked{unsignedcharbitArray1:6;unsignedcharbitArray2:3;}data;错误:改正:四、程序阅读题请阅读下列程序,写出程序运行结果。34、#include<stdio.h>intfun(){staticintk=2;return++k;}intmain(void){intk;for(k=0;k<4;++k)printf("%d\t",fun());return0;}程序运行结果为:。35、#include<stdio.h>voidchanges(char*s){for(;*s!='\0';++s)*s=*s+1;intmain(void){charstr[]="LEFT";changes(str);printf("%s\n",str);return0;}程序运行结果为:。36、#include<stdio.h>intmain(void){charstr[]={"#3a8F#"};inti=0,dnum=0,hnum=0;while(str[++i]!='\0'{if(str[i]>='0'&&str[i]<='9')dnum=dnum*10+str[i]-'0';elseif(str[i]>='a'&&str[i]<='f')hnum=hnum*16+str[i]-'a'+10;elseif(str[i]>='A'&&str[i]<='F')hnum=hnum*16+str[i]-'A'+10;elsecontinue;}printf("%d,%d\n",dnum,hnum);return0;}程序运行结果为:。37、设已建立下述链表。typedefstructNode{intdata;structNode*next;}SNode;intfun(SNode*head){intsum=0;while(head){sum+=head->data;head=head->next;}returnsum;}函数fun的作用是:。调用fun(head)的结果为:。五、程序设计题根据题意编写成完整的程序。38、编写一个非递归函数fun,函数原型为intfun(char*s);,判断作为参数传入的一个字符串是否为回文。回文是正读和倒读都完全一样的字符串。例如,若字符串为"abcdcba",就是一个回文。六、分析题39、通过LPC2138的D/A转换器的引脚P0.25输出波形的程序如下,试回答下述问题。(1)试画出引脚P0.25的输出波形。(2)输出波形的最大值对应的D/A转换器输入数字量是多少?(3)试说明程序行①处语句:“uint32DAvalue:10;”中10的含义。(4)试说明程序行②处语句:“PINSEL1:0x00080000;"的含义。//文件名:main.c#include<LPC213X.h>typedefunsignedintuint32;typedefunsignedcharuint8;typedefunion{uint32data;struct{uint32:6;/*保留*/uint32DAvalue:10;/*①*/uint32bias:l;/*调节转换性能和功率的控制位*/uint32:15;/*保留*/}field;}CReg_DA;/*D/A控制寄存器*/#defineRegDAC(*((volatileCReg_DA*)0xE006C000))intmain(void){uint32Aout,i;uint8fag;PINSEL1=0x00080000;/*②*/Aout=0;flag=0;while(1){if(flag==0)CReg_DA.field.DAvalue=Aout++;elseCReg_DA.field.DAvalue:Aout--;if(Aout==1023)flag=1;if(Aout==0)flag=0;for(i=0;i<300;i++);/*延时,以便观察*/}}七、应用题40、异步串行数据通信是以字符帧为基本单位。假设题40图所示波形图表示异步串行通信接口接收到的1个字符帧,已知数据位7位,1位校验位,2位停止位,请回答下述问题:(1)起始位所在的时间段为。(2)所采用的校验方式为校验。(3)接收的数据如果以二进制表示,则等于B。(4)如果题40图中T1段的时间为0.1041ms,则波特率为bit/s。41、下述程序完成的功能是:LPC2138微控制器的定时器0每隔1s产生一次IRQ向量中断,控制P0.4连接的LED灯闪烁。试将程序中空白横线上所缺的正确内容填写在题后对应编号的横线上。//主程序:main.c#include<LPC123X.h>#defineLED_ON(((unsign

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论