欢迎来到

广州自考网

!本站为广东自考民间交流网站,非广东省自考办网站,请各位考生以广东省教育考试院(eea.gd.gov.cn)通知为准。
关闭自考导航
报考指南
广州自考主考院校
辅导资料
当前位置:首页 > 历年真题 > 正文

2009年4月全国自考(微型计算机原理与接口技术)真题试卷

发布时间:2022-02-11 整编:广州自考网 阅读量:251 次

一、1.单项选择题

0. 无符号的数10111011B所对应的十进制数是  ( )

A.186D
B.187D
C.188D
D.189D

1. 二进制数11111111与二进制数00000000进行按位“与”运算的结果是  ( )

A.00000000
B.11111111
C.10000000
D.00000001

2. 计算机的外部设备(键盘、显示器、打印机等)与CPU相连接的方式是  ( )

A.直接相连
B.通过电缆线
C.通过虚拟设备
D.通过I/0接口

3. 正数用原码和补码表示时,其最高位是符号位,则该符号位的值分别是  ( )

A.1,1
B.1,0
C.0,1
D.0,0

4. 表达式3+7.2+"A"的运算结果是  ( )

A.75.2
B.10.2A
C.A10.2
D.107.2

5. 语句FILE*filePtr=fopen("myFile.dat","a");打开文件后的作用是  ( )

A.从文本文件读数据
B.向文本文件写数据
C.向文本文件末尾追加数据
D.向二进制文件末尾追加数据

6. MCS-51系列单片机扩展外部存储器时,有一个I/O口作为低8位地址和数据线的分时复用口,此:I/O 口是( )

A.P3口
B.P2口
C.P1口
D.P0口

7. 8051单片机内部具有定时器/计数器的个数和位数分别是  ( )

A.1个,16位
B.2个,16位
C.2个,8位
D.3个,8位

8. MCS-51系列单片机的一个机器周期包含时钟周期的个数是  ( )

A.8个
B.10个
C.12个
D.16个

9. 程序计数器PC和堆栈指针SP两个寄存器的位数分别为  ( )

A.PC-8位 SP-8位
B.PC-8位 SP-16位
C.PC-16位 SP-8位
D.PC-16位 SP-16位

10. 执行MOV A,#98H:及ADDA,#81两条指令后,累加器A及进位标志CY的内容分别为( )

A.(A)=19H,(CY)=0
B.(A)=19H,(CY)=1
C.(A)=79H,(CY)= 0
D.(A)=79H,(CY)=1

11. 已知(SP)=40H,片内RAM(60H)=0FH,执行PUSH 60H和POP 50H两条指令后,SP及50H中内容各为  ( )

A.(SP)=39H,(50H)=23H
B.(SP)=40H,(50H)=0FH
C.(SP)=41H,(50H)=0FH
D.(SP)=40H,(50H)=60H

12. 已知(CY)=1,(A)=0FH,要使结果为(CY)=1,(A)=1EH,则需执行指令  ( )

A.RLC A
B.RRC A
C.RL A
D.RR A

13. PSW.4位和PSW.3位是工作寄存器区的选择位。执行下列指令组后,选择的工作寄存器组是  ( )  CLR PSW.4  SETB PSW.3

A.0组
B.1组
C.2组
D.3组

14. 某半导体存储器有8根数据线,13根地址线,则它的存储容量是  ( )

A.8K×8位
B.16K×8位
C.32K×8位
D.64K×8位

15. RS232接口,表示逻辑1的信号电平是  ( )

A.1OV
B.2V
C.0V
D.-10V

二、2.填空题

0. 微处理器是微型计算机的核心芯片,是将计算机中的运算器和控制器集成在一个很小的硅片上制成的集成电路,通常用英文字母简写为______。

1. 执行了printf("The file name is d:data.db");语句,将输出______。

2. 执行scanf("%d/%d/%d",&x,&y,&z);语句时,希望把三个数据2008、1和1分别输给整型变量x、y、z,则应该在键盘键入______。

3. 如果把数组名作为实参传递给对应的形参,则实际上传递的是该数组的______。

三、3.改错题

0. 本程序在运行时从键盘输入2个整数,如果输入的第一个数大于第二个数,则两数互换,否则不互换。
  #include<stdio.h>
  main()
  ( int num1,num2,x;
  scanf("%d%d",&numl,&num2);
  if(num1>num2)
  x=Bum1;numl=num2;num2=x;
  printf("%d<%d ",num1,num2);
  }
  错误:______
  改正:______

1. 以下程序的功能是:求30个学生某门课程的平均成绩。
  #include<stdio.h>
  main()
   { int n=30,i=0,t;
  float aver=0;
  while(i<n)
  {scanf("%d",&t);
  aver=aver+t;
  }
  aver=aver/n;
  printf("平均成绩为:%5.1f ",aver);
  }
  错误:______
  改正:______

2. 以下程序的功能是:把键盘输入的10个整数显示在屏幕上。
  #include<stdio.h>
  main()
  { int a[10],i;
  for(i=0;i<10;++i)
  scanf("%d",a[i]);
  for(i=0;i<10;++i)
  printf("%d",a[i]);
  }
  错误:______
  改正:______

3. #include<stdio.h>
  #include<string.h>
  struct number
  { int i;
  float x;
  char c[50];
  }num=(1954,"University",7.98};
  main()
  ( struct number numl;
  num1.i=999;
  num1.x=123.123:
  strcpy(num1.c,"Beijing");
  pfintf("%d,%f,%s ",hum.i,num.x,num.c);
  pfintf("%d,%f,%s ",numl.i,num1.x,num1.c);
  }
  错误:______
  改正:______

四、4.程序阅读题

0. #include <stdio.h>
  main()
  { int num,s;
  scanf("%d",&num);
  if(Bum>=0&&num<=100)
  {s=num/10;
  switch(S)
  {case 6:printf("%d- - -及格 ",num);break;
  case 7:printf("%d- - -中 ",nun);break;
  case 8:printf("%d- - - 良 ",Bum);break;
  case 9:
  case 10:printf("%d- - -优 ",num);break;
  default:pfintf("%d- - -差 ",Bum);
  }
  }
  }
  程序运行两次,第一次输入值为85,第二次输入值为45。
  则程序第一次运行结果为:
  程序第二次运行结果为:

1. #include <stdio.h>
  main()
  { int a=0,b,c=0,i;
  for(i=0;i<=4;i+=2)
  {a+=i;
  b=i+1:
  c+=b:
  }
  printf("a=%d ",a);
  printf("C=%d ",c);
  }
  程序运行结果为:

2. #include <stdio.h>
  main()
  ( int a[6]={1,2,3,4,5,6},i;
  float aver=0,t=0;
  for(i=0;i<6;i++)
  t=t+a[i];
  aver=1.0*t/6:
  printf("%4.1f ".aver);
  for(i=0;i<6;i++)
  if(a[i]>aver)
  printf("%d ",a[i]);
  }
  程序运行结果为:

3. #include <stdio.h>
  main()
  (inta=100,b=200,c=300,d,*p1=&a,*p2=&b,*p3=&c;
  d=*p1+*p2:
  printf("d=%d ",d);
  p1=&d:
  d=a+c;
  printf("d=%d ",*p1);
  p1=p2=&c:
  a=*p1+*p2:
  printf("a=%d ",a);
  c=a+b:
  printf("c=%d ",*p3);
  }
  程序运行结果为:

五、5.程序设计题

0. 下面的程序是利用公式求π的近似值,直到最后一项的值小于10-7为止;最后输出π的近似值。请根据题义编写计算π的函数。
  #include<stdio.h>
  #include<math.h>
  double fpi();
  main()
  {double pi,n;
  printf("请输入计算精度");
  scanf("%lf",&n);
  pi=fpi(n);
  printf("π=%f ",pi);
  }
  /*以下为定义函数部分*/

六、6.填空题-单片机原理与接口技术

0. 8051单片机共有______个中断源,可以设置______个中断优先级。

1. 片内RAM的位寻址区的地址范围为______H~______H。

2. 两条指令MOV 15H,R1及MOV 15H,@R1源操作数的寻址方式,前者为______,后者为______。

3. 执行下列指令组后,程序计数器PC的内容为______H。
  2301H  ANL  A,  #00H
  2303H  JZ  rel; rel为30H
  2305H  ……
      ……

4. 执行调用子程序指令LCALL addr时,其断点地址存放在______中。

5. 已知累加器A中存放一个十进制数的ASCII码,要将其转换为BCD码,可执行一条逻辑运算指令______。

6. 8031单片机时钟频率12MHz,如将T1设定为方式2,定时时间100μS,则TH1应为______。

7. 8031单片机IE=9DH,IP=06H时,CPU能响应的优先权最高的中断源是______。

七、7.改错题-单片机原理与接口技术

0. 下列程序段欲重复执行LOOP开始的程序段50次。
      MOV  A,  #32H
  LOOP: ……
      DEC  A
      DJNZ  ACC,LOOP
  错误:______
  改正:______

1. 8031单片机时钟频率12MHz,T1为工作方式2,50μS定时,允许中断。试指出以下初始化程序的错误并改正。
  MOV  TMOD,#20H
  MOV  TH1,#206
  MOV  TL1,TH1
  SETB TR1
  MOV  IE,#82H
  错误:______
  改正:______

八、8.程序阅读题-单片机原理与接口技术

0. 如8031单片机时钟频率6MHz,在P1.0口接一个红外LED发光二极管,P1.0低电平时亮。运行以下程序后,INT0每中断一次(两次中断间隔时间足够大),LED将发送宽度为______ms的光脉冲______个。
     0RG   0000H
     LJMP  BEG
     ORG   0003H  ;外中断0中断入口
     MOV   R7,#20
     SETB  TR1
     RETI
     ORG   001BH  ;定时器1中断入口
     CPL   P1.0
     DJNZ  R7,RRT
     CLR   TR1
     SETB  P1.0
  RT: RETI
  BEG: MOV  TMOD,#20H
     MOV  TH1,#56
     MOV  TL1,#56
     MOV  IE,#89H
     SJMP  $

1. 已知:(30H)=37H,(31H)=21H,(50H)=75H,(51H)=10H执行以下子程序:
     MOV  R0,#30H
     MOV  R1,#50H
     MOV  R7,#2
     CLR  C
  LOOP:MOV  A,@R0
     ADDC  A.@R1
     DA   A
     MOV  @R0.A
     INC  R0
     INC  R1
     DJNZ  R7,LOOP
     RET
  则结果为:(30H)=______H,(31H)=______H,(R1)=______H,(R7)=______H。

九、9.程序设计题-单片机原理与接口技术

0. 累加器A中的数,如大于等于50H则减去20H后,差值存于片内RAM 40H中,如该数小于50H则加20H后,其和存于片内RAM 40H中。请接着以下指令,补全缺少的部分。
  CJNE A,#50H,NEXT
  SJMP $

十、10.微型计算机原理与接口技术-应用题

0. 交通灯控制实验电路如题43图所示,875l单片机时钟频率6MHz,P1.5~P1.0经电阻接六个发光二极管,其中红1、黄1、绿1,为南北向指示灯;红2、黄2、绿2,为东西向指示灯。以下程序用定时器TD产生0.1秒中断为计时标准,按以下四种状态,交替循环。(1)红1、绿2,亮20秒;(2)红1、黄1、黄2,亮1秒;(3)绿1、红2亮15秒;(4)黄1、红2、黄2亮1秒。试填满程序中的缺少部分。
  
  题43图
      ORG   0000H
      AJMP  START
      ORG    ①  ;定时器T0入口地址
      MOV   TL0,#0B0H
      MOV   TH0,#3CH
      DJNZ  30H, ② 
      MOV   A,R7
      INC   A
      ANL   A,# ③ H
      MOV   R7,A
      ADD   A,#T0_5-1D_1
      MOVC   ④ 
  T0_1: MOV   P1,A
      MOV   30H,#10  ;第2和第4种状态的计数次数
      CJNE  R7,#0,T0_2
      MOV   30H,# ⑤ ;第1种状态的计数次数
      SJMP  T0_3
  T0_2: CJNE  R7,#2,TD_3
      MOV   30H,# ⑥ ;第3种状态的计数次数
  T0_3: RETI
  T0_5: DB   0DEH, ⑦ H,0F3H,0E5H
                 ;每种状态的显示代码(没用到的引脚输出应为“1”)
  START: MOV   TMOD,#01H
      MOV   TL0,#0BOH
      MOV   TH0,#3CH
      MOV   30H,#200
      MOV   R7,#0
      MOV   IE,#82H
      SETB   ⑧ 
      MOV   P1,#0DEH
  LOOP: SJMP  LOOP
  ①______; ②______; ③______; ④______;
  ⑤______; ⑥______; ⑦______;⑧______。
  附:有关特殊功能寄存器各位内容:

问题答疑