微机原理及接口技术试题以及答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第一部分C语言程序设计一、单项选择题(本大题共4小题,每小题1分,共4分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。1.已知字母A的ASCII码为十进制的65,则下面程序的输出是()main(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf(%d,%c\n,ch1,ch2);}A.67,DB.B,CC.C,DD.不确定的值2.若有代数式3aebc:,则不正确的C语言表达式为()A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*33.程序运行结果是()main(){intn=0;while(n=2){n++printf('%d',n);}}A.1B.12C.123D.12344.设有以下语句:structst{intn;structst*next;};structsta[3]={5,&a[1],7,&a[2],9,'\0'},*p;p=&a[0];表达式(++p)-n的值为:()A.5B.7C.9D.'\0'二、改错题(本大题共4小题,每小题2分,共8分。下面的程序或程序段存在一个错误或不妥处,请在其下划一条线,并将改正的内容写到每小题后的空白处。)5.main(){inta,b,c,max=0,min=0;scanf(%d%d%d,&a,&b,&c);if{ab&&ac)max=a;elseifac&&abmin=a;elsemax=min=c;printf(max=%d,min=%d\n,max,min);}6.main(){intx;scanf(%d,&x);switch(x){casex==0:printf(x=0\n);break;default:Printf(x!=0\n);}}7.main(){chara[]=china,b[]=good;printf(%s,%s,a[],b[]);}8.#includestdio.hmain(){file*p;p=fopen(link.dat,r);while(!feof(p))printf(%c\t,fgetc(p));fcolse(p);}三、填空题(本大题共4小题,每小题2分,共8分。)9.若有定义:inta[3][4]={{1,2},{3,5,7},{4,6,8,10}};则初始化后,a[1][2]得到的初值是______。10.程序是求数组中最大元素的下标。main(){ints[100],i,k;for(i=0;i100;i++)scanf(%d,&s[i]);for(i=0,k=0;i100;i++)if(s[i]s[k])__________printf(k=%d\n,k);}11.函数capital_num()的功能是统计一段文字的大写字母数。#includestdio.hmain(){charc[256];intk;gets(c);k=capital_num(c);printf(numberofcapitalis%d\n,k);}intcapital_num(c)charc[];{intn=0,i;for(i=0;c[i]!='\0';i++)if(c[i]='A'&&c[i]='Z')n++;_____}12.已知inta[10],*p=a;那么数组元素a[5]的地址用p表示为_____四、程序阅读题(本大题共2小题,每小题4分,共8分。)13.main(){intx=1,y=1,i=1;do{x=x+y;y=x+y;i++;printf(x=%dy=%d\n,x,y);}while(i=3);}程序运行的结果是_____14.main(){inta,b,c;scanf(%d,%d,%d,&a,&b,&c);prinrf(f()=%d\n,f(a,b,c));}intmax(a,b,c)inta,b,c;{a=ac?a:b;return=a;}intmin(a,b,c)inta,b,c;{a=ab?a:b;a=ac?a:c;returna:}intf(a,b,c)inta,b,c;{return(max(a,b,c)+min(a,b,c))/2};}输入三个数为:90,72,48。程序运行结果为_____五、程序设计题(本大题共1小题,每小题7分,共7分)。15.已知主函数main()调用函数fmax()来计算数组中的最大元素及下标,请在空白处写完函数fmax()。intfmax(x,n,k)intx[],n,*k;{}main(){inta[100],i,k,*p=&k,max;for(i=0;i100;i++)scanf(%d,&a[i]);max=fmax(a,100,p);printf(“最大值为:%d,最大值的下标为:%d\n,max,k);}第二部分MCS—51单片机原理与接口技术一、单项选择题(本大题共11小题,每小题1分,共11分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。16.8位二进制所表示的无符号整数,其相应的十进制数范围是()A.0-255B.1-256C.1-255D.0-25617.字母“b”的ASCII码是()A.11HB.0BHC.B0HD.62H18.十进制数-1用二进制补码表示,该补码是()A.FFHB.00HC.FEHD.81H19.8031单片机外接ROM时,使用()引脚来选通74LS373芯片A.ALEB.PSENC.EAD.WR20.如果8031单片机的一个机器周期为2微秒,则其时钟频率为()MHzA.6B.8C.12D.1621.8031单片机内含定时器和串行口的个数分别为()A.2和1B.1和2C.3和1D.2和222.对程序存储区数据传送,应采用助记符为()A.MOVB.MOVXC.MOVCD.PUSH23.下列各指令中()才属于MCS-51指令系统的位指令A.ANLC.,/bitB.XRLC,bitC.ORLbit,CD.MOVC,/bit24.8031单片机外部中断0请求信号输入的引脚是()A.RXDB.INT0CT0D.WR25.8031单片机的定时器1的中断程序入口地址为()A.001BHB.0003HC.000BHD.0013H26.8031片外可扩展数据存储器()KBA.64B.32C.8D.4二、改错题(本大题共3小题,每小题2分,共6分。下面的程序或程序段存在一个错误或不妥处,请在其下划一条线,并将改正的内容写到每小题后的空白处。)27.某8031单片机时钟频率12MHz,T1为工作方式1,2毫秒定时中断,其部分初始化程序如下,请指出错误,并改正之。MOVTMOD,#01HMOVTH1,#0F8HMOVTL1,#30HMOVIP,#8MOVIE,#88H…T1方式字段T0方式字段TMOD寄存器格式GATEC/TM1M0GATEC/TM1M0IP寄存器格式———PSPT1PX1PT0PX0IE寄存器格式EA——ESET1EX1ET0EX028.下列程序要完成16位无符号数相加,两数分别存于30H,31H和40H,41H(低位在前)并把和存于30H,31H中(设和无进位输出)。请指出错误,并改正之。MOVA,30HADDA,40HMOV30H,AMOVA,31HADDA,41HMOV31H,A29.下列延时子程序,具有保护现场的指令(此处欲保护A及PSW两个特殊功能寄存器)请指出错误,并改正之。DLY0:PUSHACCPUSHPSWMOVR1,#32HDLY1:NOPDJNZR1,DLY1POPACCPOPPSWRET三、填空题(本大题共13小题,每小题2分,共26分)30..87H是用8位二进制原码表示的十六进制数,其相应的十进制数是____。31.假设2个一字节的十六进制数9FH,81H相加的和仍然为8位二进制数,那么相加后其进位标志为_________(1或0),溢出标志为_________(1或0)。32.8031单片机外接ROM时,其P0口具有传送_________信号和_________信号的双重功能。33.当8031单片机中IP=0EH,IE=8DH时,CPU能响应的优先权最低的中断源是_________。IP寄存器格式———PSPT1PX1PT0PX0IE寄存器格式EA——ESET1EX1ET0EX034.8031.单片机中,T0初始化后让其开始计数,应将TCON中的位置1。定时器控制外部中断控制TCON寄存器格式TE1TR1TF0TR0IE1IT1IE0IT035.8031.单片机内部数据RAM中的位寻址区的地址范围是36.某8031单片机时钟频率为12MHz,现将T0设置为定时方式1,定时时间为1毫秒,其计数器中的时间常数初值应为_________(写成四位十六进制数)37.已知(31H)=21H,(32H)=04H执行下列指令组后(31H)=_________(32H)=_________PUSH31HPUSH32HPOP31HPOP32H38.如要选择2组的工作寄存器交换数据,可先执行指令_________PSW(地址为DOH)的格式为CYACFORS1RS0OV—P39.执行下列指令组后,(A)=_________标志位(OV)=_________(P)=_________MOVA,#0B4HADDA,#00HSUBBA,#51H40.执行下列指令组后,累加器(A)=_________。它与R1中内容的关系是_________MOVR1,#87HMOVA,R1CPLAINCASETBACC.741.下列伪指令汇编后,存放25H的单元及LOOP的值分别是_________=25HLOOP=_________。ORG0100HTAB:DB‘ABC’NOON:DS03BUF:DB25HLOOPEQU2100H42.8031.单片机有4个口,其中_________口可以直接应用于I/O口。四、程序阅读题(本大题共2小题,每小题4分,共8分)43.阅读下列程序,说明程序的功能MOVDPTR,#DATA1MOVCONT,#00HLOOP:MOVA,@DPTRHERE:JZHEREINCCONTINCDPTRSJMPLOOP44.见如图,通过8031单片机的P1口接8只发光二极管,读如下程序后回答问题:ORG0000HLJMP0200HORG0200HSTART:MOVA,#01HLOOP:MOVP1,ALCAILD2S;调用延时2秒子程序RLA;A循环左移SJMPLOOPD2S:……;子程序略RETEND1.第一次调用子程序时,哪个发光二极管亮?2.第二次调用子程序时,哪个发光二极管亮?3.第八次调用子程序时,哪个发光二极管亮?4.第九次调用子程序时,哪个发光二极管亮?五、程序设计题(本大题共1小题,共6分)45.在3500H为首址的片外RAM区中,有20个补码表示的数,欲编程序,把其中正数传到20H为首址的片内RAM区中,负数不传送,请补全下列程序。MOVDPTR,#3500HMOVR2,#14HMOVR0,#20H六、应用题(本大题共1小题,共8分)46.8031外部扩展DAC0831芯片,见如图,输入寄存器为1B28H,DAC寄存器为1B29H,假定00H对应D/A输出0V,FFH对应D/A输出5V,阅读如下程序,回答问题ORG0000HLJMPSTARTORG0200HSTART:MOVDPTR,#1B28HMOVA,#0LP1:MOVX@DPTR,AINCDPTRMOVX@DPTR,AACALLD1MS;调用1ms子程序INCACJNEA,#0FFH,LP1NOPLP2:MOVDPTR,#1B28HMOVX@DPTR,AINCDPTRMOVX@DPTR,AACALLD1MS;调用1ms(1毫秒)子程序DECACJNEA,#0,LP2SJMPLP1延时1ms(1毫秒)子程序略去1.该程序运行后,D/A转换输出_________波形2.波形

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功