微型计算机原理与接口技术-4_真题含答案与解析-交互_第1页
微型计算机原理与接口技术-4_真题含答案与解析-交互_第2页
微型计算机原理与接口技术-4_真题含答案与解析-交互_第3页
微型计算机原理与接口技术-4_真题含答案与解析-交互_第4页
微型计算机原理与接口技术-4_真题含答案与解析-交互_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、B 74LS373微型计算机原理与接口技术-4(总分 100,做题时间 90 分钟)一、单项选择题在每小题列出的四个备选项中只有一个选项是符合题目要求的1.MCS-51 单片机复位操作的主要功能是把 PC 初始化为(|LA 0100HB 0000HC 2080HD 8000H分值:1答案:B2.int a5, *p=a;对 a 数组元素地址的正确引用是(|LA p+5B &a0C &a+1D *a+1分值:1答案:B解析A 越界,C 和 D表达错误。3.以下 if 语句错误的是()SSS_SINGLE_SELA if(x ;盘 B if(x+=y ;C if(x 2&2

2、5%5 勺结果是。SSS_FILL分值:2答案:0解析先算术、比较最后逻辑。25%5=0所以表达式为 0。19.以下函数用丁统计一行字符申中的单词个数,单词之间用空格分隔,请填空。int word_num(char strl)(inti , num=0 word=0;for(i=0 ; strlil=0; i+)if(= =)word=0;else if(word= =0)(word=1; num+ return(num);SSS_FILL口:?分值:2答案:strli解析该函数,用 word 作为空格的标志,num作为单词计数器。20.下面程序的功能是统计在 1631 岁之间的学生人数。请填

3、空。main()(int a30, n, age, i ;for(i=0 ; i 30; i+)ai=0 ;printf(Enter the number of thestudents( 30)n);scanf(%d , &n);printf(Enter the age of each student : n);for(i=0 ; i n ; i+)(scanf(%d , &age); _; printf(the result isn) ;printf(age numbern) ;for(i=16 ; i 32; i+) printf(%d%dn , i , ai-16);SS

4、S_FILLZ=IF分值:2答案:aage-16+解析在 a0 , a1a29中对应存放 16, 17, 18岁的人数。三、改错题每小题只有一处错误或不受,请指出,并将其改正。21.main()(int a10, i ;for(i=1 ; i =0; i-)printf(%d , ai);错误:_改正:_SSS_FILLz=?分值:2答案:错误:scanf(%d , ai);改正:将其修改为 scanf(%d , &ai);解析scanf 函数的格式不对。22.求 1到 n 的自然数之和的函数。#includestdio . hint sum(int n)(int k , s=0;fo

5、r(k=1 ; k 10; k+) s=s+k:return s 年日坎:_改正:_SSS_FILL口=?分值:2答案:错误: for(k=1 ; k 10; k+)改正:将其修改为 for(k=1 ; k =n; k+)解析for 循环条件错误。23.struct abc(char a20=0;char b ; main()(struct abc studl10 ;int a ;for(a=0 ; a 10; a+)scanf(%s , a);错误:_改正:_SSS_FILLI?分值:2答案:错误:char a20=0;改正:将其修改为 char a20;解析结构体不能赋初值。24.#inc

6、ludestdio.hmain()(FILE*I=fp ; char ch ;if(fp=fopen(test.txt , w)=NULL)(printf(cannot open filen) ; exit(0) ; ch=getchar();while(ch!=$)(fputc(ch , fp) ; putchar(ch);ch=getchar() ; fclose(*fp) ;年日坎:_改正:_SSS_FILLz=?分值:2答案:错误:fclose(*fp);改正:将其修改为 felose(fp);解析关闭文件语句语法错误。四、程序阅读题请阅读下列程序,写出程序运行结果。25.main()

7、(inta=(2 , 4, 6, *ptr=&a0 , x=8, y, z;for(y=0 ; y 3; y+)z=(*(ptr+y) y)?*(ptr+y): x;printf(%dn , z) ; 程序运行结果是:SSS_FILLz=?分值:4答案:888解析y=0 , 1, 2 对应 a 数组的元素是 2, 4, 6。程序循环 3次,每次循环数组 元素均不小丁 y值,因此输出 8,共三次,所以输出 888。26.main()int n1 , n2;scanf(%d , &n2);while(n2 !=0)n1=n2%10n2=n2/10;printf(%d , n1) ;

8、 程序运行时从键盘上输入 1298回车,则输出结果是:SSS_FILL分值:4答案:8921 解析n1=n2%10=8 n2=n2/10=129,输出 8,依次类推。27.分值:4答案:warn 解析输入字母 c 后变成字母 d,所以输出 warn。28.#includemain()int i , j , n;scanf(%d , &n);for(i=n ; i 5; i+)for(j=2 ; j =i ; j+)putchar(#) ;程序运行时从键盘输入 1回车,则运行结果是:SSS_FILLZ=?分值:4答案:#解析外层循环 i=1 , 2, 3, 4 对应内层循环 j=2 ,

9、3, 4。当 i=2,输出 1 次#, i=3,输出 2次#, i=4,输出 3次#,因此共输出 6#。五、程序设计题29.输入三个整数 x, y, z,请把这三个数由小到大输出。SSS_TEXT_QUSI |f 分值:8main()int x , y, z, t ;main()char n ;scanf(%e , &n);switch(+n)default : printf(error)easea:caseA;break ;:easeb : caseB : printf(good)break ;:caseC:easeD:printf(pass);:printf(warn);casec

10、cased程序运行时从键盘输入字母 c y)(t=x ; x=y; y=t ; /* 交换 x, y 的值 */if(x z)(t=z ; z=x; x=t ; /* 交换 x, z 的值 */if(y z)(t=y ; y=z; z=t ; /* 交换 z, y 的值 */printf(small to big : %d%d%dn x, y, z);六、填空题-单片机原理与接口技术30.MCS-51 系列单片机片内部数据存储器工作寄存器区32个字节被均匀地分为 4个组:其中第 2组工作寄存器,地址为 ;第 3 组工作寄存器,地址为SSSFILL分值:2答案:10H 17H18HH1FH31.

11、MCS-51 单片机的最大程序寻址空间是 ,地址范围是 000B H 和 0013H 001BH 2314SSS_FILL口=?分值:2答案:0003H七、改错题-单片机原理与接口技术每小题只有一处错误或不受,请指出,并将其改正。38.下面程序段是将 ROM2000H 元的内容送外部 RAM1000HI 元。MOVDPTR, #2000H答案:F1H76HCLRAMOVCA,A+DPTRMOVDPTR,#1000HMOVDPTR,A年日坎:_改正:_SSS_FILLILJI?分值:2答案:错误: MOVDP TA改正:MOVXDP TR解析MO观内部传送指令。39.下面程序段实现双字节加法运算

12、(R1)(R0)+(R7)(R6)送入(31H)(30H)。MOV A,R0ADD A,R6MOV 30H,AMOV A,R1ADD A,R7MOV 31H,ASJMP $年日坎:_改正:_SSS_FILL分值:2答案:错误:ADD A R7改正:ADDC A R7解析根据题意需要用带进位的加法指令。八、程序阅读题-单片机原理与接口技术请阅读下列程序,写出程序运行结果。40.晶振 6MH&下面中断初始化程序是使用 T1,工作方式,在 P1.0 引脚输 出等宽矩形波周期为 散秒的。MOV TMO D#20HMOV TL1,#06HMOV TH1,#06HSETB EASETB ET1SE

13、TB YR0SJMP $SSS_FILLm=?分值:4答案:2500解析 TMOD=20H=00100000 所以是方式 2。 初值=06H=00000110B=6256-6=250,晶振=6MHz 所以矩形波周期为 250X 21 s=500p s。41.已知单片机的晶振频率为 6MHz 下面程序用单片机内部定时器 T0工作在方式 1下,从 P1.0 输出周期为 的方波脉冲信号,时间常数为。ORG 3000HSTART MOV TMOD, #01HMOV TL0,#OCHMOV THO, #OFEHSETB TR0LOOP JBC TFO,DONESJMP LOOPDONE MOV TL0,

14、#OCHMOV THO #OFEHCPL P1.0SJMP LOOPSSS_FILL分值:4答案:2ms OFEOCH解析注意这里是 16 位定时计数器。九、程序设计题-单片机原理与接口技术42.RA 60H单元内存有一个十六进制数,把这个数转换为BC 况的十进制数,BC 况的十位和个位放在累加器 A中,白位放在 R6中SSS TEXT QUS分值:80RG 2200HMOVA, 60HMOVB, #64HDIVABMOVR6, AMOVA,#0AHXCHA,BDIVABSWAP AORL A, BSJMP $END十、应用题 下面程序的功能是信号灯控制程序,利用 P1 口控制八个发光二极管的

15、亮与灭(设输出低电平时,对应发光二极管被点亮)。阅读程序完成说明语句。ORG 0000HAJMP MAIN ;转主程序ORG 001 BH ;该地址是的地址AJMP CONT ;当出现时,才会执行到该指令ORG 0100HMAINMOV TMOD#10H;执行该指令的目的是MOV TH,1 #3CH;置 50ms 定时初值MOV TL1 #OBOH ;此时堆栈指针 SP 的内容是SETB EA;执行该指令前,EA的初始值是SETB ET1 ;定时器 T1开中断SETB TR1 ;执行该指令的目的是CLR 08H;活 1s计满标志位MOV R3 #14H;置 50ms 循环初值DISP:MOV R2, 07HMOV A, #0FEHNEXT MOV P1,A ;第 2 次执行完该指令后,对应灯被点亮JNB 08H $;查询 1s 时间到否CLR 08H;活标志位RL ADJNZ R2 NEXTMOV R2, #07HNEXT1 MOV P1 AJNB 08H $CLR 08HRR ADJNZ R2 NEXT1SJMP DISPCONTMOV TH,1 #3CH;程序执行到此处时,堆栈指针 SP的内容是MOV TL1 #OBOHDJNZ R3 EXIT ;判 1s定时到否MOV R3 #14H;重置 50ms 循环初值SE

温馨提示

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

评论

0/150

提交评论