一起答

全国自考(微型计算机原理与接口技术)模拟试卷1

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 42. 将4个单字节数放片内30H~39H,它们求和结果放在片内50H,51H单元。

  2. 43. 下面程序的功能是信号灯控制程序,利用P1口控制八个发光二极管的亮与灭(设输出低电平时,对应发光二极管被点亮)。阅读程序完成说明语句。

    ORG 0000H

      AJMP MAIN   ;转主程序

      ORG 001 BH   ;该地址是①的地址

      AJMP CONT   ;当出现②时,才会执行到该指令

      ORG 0100H

      MAIN: MOV TMOD,#10H   ;执行该指令的目的是③

      MOV TH1,#3CH   ;置50ms定时初值

      MOV TL1,#OBOH   ;此时堆栈指针SP的内容是④

      SETB EA   ;执行该指令前,EA的初始值是⑤

      SETB ET1   ;定时器T1开中断

      SETB TR1   ;执行该指令的目的是⑥

      CLR 08H   ;清1s计满标志位

      MOV R3,#14H   ;置50ms循环初值

      DISP: MOV R2,07H

      MOV A,#0FEH

      NEXT:MOV P1,A   ;第2次执行完该指令后,对应⑦灯被点亮

      JNB 08H,$   ;查询1s时间到否

      CLR 08H   ;清标志位

      RL   A

      DJNZ R2,NEXT

      MOV R2,#07H

      NEXT1:MOV P1,A

      JNB 08H,$

      CLR 08H

      RR   A

      DJNZ R2,NEXT1

      SJMP DISP

      CONT: MOV TH1,#3CH   ;程序执行到此处时,堆栈指针SP的内容是⑧

      MOV TL1,#OBOH

      DJNZ R3,EXIT   ;判1s定时到否

      MOV R3,#14H   ;重置50ms循环初值

      SETB 08H   ;标志位置1

      EXIT: RETI   ;该指令的功能是将堆栈的内容送至PC

      答:①______;②______;③______;④______;

      ⑤______;⑥______;⑦______;⑧______。

  3. 41. 下面程序是对8255进行初始化,使其A口按方式0______,B口按方式0输出,C口上半部按方式0______,C口下半部按方式1输入。

  4. 40. 下面程序是将片外RAM 2000H开始的单元中______字节的数据,传送到片内RAM______开始的单元中去。

    MAIN:MOV DPTR,#2000H

            MOV R1,#20H

            MOV R0,#05H

      LOOP:MOVX A,@DPTR

            MOV @R1,A

            INC DPTR

            INC   R1

            DJNZ R0,LOOP

            RET

  5. 39. 设单片机的fosc=6MHz,下面程序是100ms延时的子程序。

    DELAY:MOV R7,#64H

      A0:   MOV R6,#0FAH

              DJNZ R6,$

              DJNZ R7.DELAY

              RET

      错误:______

      改正:______

  6. 38. 下面的程序完成5+4+3+2+1=15=0FH。

    MOV R3,05H

              CLR A

      L00P: ADD A,R3

              DJNZ @R3,LOOP

              SJMP $

      错误:______

      改正:______

  7. 37. 80C51在作并行扩展时,如果采用全地址译码,扩展芯片的地址是______。

  8. 36. 存储器的地址线有14根,数据线有8根,其存储容量为______。

  9. 35. 当DAC 0832 D/A转换器的CS接8031的P2.0时,程序中0832的地址指针DPDR寄存器应置为______。

  10. 34. 执行下列程序后,(42H)=______,(55H)=______。

      MOV SP,#40H

      MOV 42H,#85H

      MOV 55H,#37H

      PUSH 42H

      PUSH 55H

      POP   42H

      POP   55H

  11. 33. 设(SP=60H),(ACC=30H),(B=70H)。执行下列指令后,SP的内容为______,61H单元的内容为______。 PUSH ACC PUSH B

  12. 32. 使用8031单片机时EA引脚接______电平,因其内部无______存储器。

  13. 31. 12根地址线可选择______存储单元,32KB存储单元需要______根地址线。

  14. 30. 一个机器周期包含______个晶振周期。若品振周期的频率为12MHz,则机器周期为______。

  15. 29. 编写程序,从键盘输入6名学生的5门成绩,分别统计出每个学生的平均成绩并输出。

  16. #include"stdio.h"

      main()

      {int i;

        for(i=1;i<=5;i++)

      {if(i%2)printf("*");

        else continue;

        printf("#");}

      printf("#");}

      程序运行结果是:______

    :minor-latin'>,&x);}

       printf("%d\n",sum);

      }

      程序运行时输入1 9 34 0<回车>,则程序运行结果是:______

  17. #include<stdio.h>

      main()

      {int x,sum;

        scanf("%d",&x);

        sum=0;

        while(x>0)

        {if(x%2==0)sum+=x;

        scanf("%d",&x);}

       printf("%d\n",sum);

      }

      程序运行时输入1 9 34 0<回车>,则程序运行结果是:______

  18. #include<stdio.h>

      #define N 6

      void main()

      {int a[N]={4,5,8,3,6,1};

      int j,i,t;

      for(i=0;i<N-1;i++)

       for(j=0;j<N-1-i;j++)

      if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}

      for(j=0;j<N;j++)printf("%5d",a[j]);

      程序运行结果是:______

  19. #include"stdio.h"

      main()

      {int i;

        for(i=1;i<=5;i++)

      {if(i%2)printf("*");

        else continue;

        printf("#");}

      printf("#");}

      程序运行结果是:______

    :minor-latin'>,&x);}

       printf("%d\n",sum);

      }

      程序运行时输入1 9 34 0<回车>,则程序运行结果是:______

  20. 24. 以下程序的输出结果是29,改正错误。

    fun(int x,int y)

      {x*x+y*y;}

      main()

      {int a;

      a=fun(5,2);

      printf("%d",a);

      }

      错误:______

      改正:______

  21. 23. 下面程序的功能是将小写字母变成对应大写字母后的第二个字母。其中y变成A,z变成B。

    #include "stdio.h"

      main()

      {char c;

       while((c=getchar())!='\n')

       {if(c>='a'&&c<='z')

       c=c-30;

       if(c>'z'||c<='z'+2)

       c=c-26;}

       printf("%c",c);

      }

      错误:______

      改正:______

  22. main()

      {

      int a[3]={0,1,2};

      int i;

      scarf("%d",&a);

      for(i=1;i<3;i++)a[0]=a[0]+a[i];

      printf("a [0]=%d\n",a[0]);

      }

      错误:______

      改正:______

  23. main()

      {

        int a;

        char ch;

        ch="A":

        scanf("%d",a);

        printf("%c+%d=%c\n",ch,ch+a);

      }

      错误:______

      改正:______

  24. 20. 输入两个整数,n1,n2(要求n1<n2),统计两整数范围内的素数的个数。请填空。

    #include"math.h"

    #include"stdio.h"

      int prime(int x)

      {int k;

      for(k=2;k<=sqrt(x);k++)

      if(x%k==0)return(0);

      return(1)}

      main()

      {int a,b,j,n=0;

      printf("\n请输入两个数:");

      scanf("%d,%d",&a,&b);

      if(a>b){______}

      for(j=a;j<=b,j++)

      if(prime(j))n++;

      printf("a=%4d,b=%4d,n=%4d\n"a,b,n);}

  25. 19. 鸡兔共有30只,脚共有90个,下面程序是计算鸡兔各有多少只。请填空。

    main()

      {int x,y;

        for(x=1:x<=29:x++)

         {y=30-x;

           if(______)printf("%d,%d\n",x,y);}

      }

  26. 16. 一个EPROM的地址有A0-A11引脚,它的容量是( )

    • A.2KB
    • B.4KB
    • C.11KB
    • D.12KB
  27. 18. 若a=5,b=2,c=1,则表达式a-b<c||b==c的值是______。

  28. 17. 若int s=6;则表达式s%2+(s+1)%2的值是______。

  29. 14. 若设串行控制寄存器SCON=40H,则串行口的工作方式是( )

    • A.方式0
    • B.方式1
    • C.方式2
    • D.方式3
  30. 15. 地址指针DPTR是( )

    • A.4位的专用寄存器
    • B.8位的专用寄存器
    • C.16位的专用寄存器
    • D.32位的专用寄存器
  31. 12. 执行下列3条指令后,30H单元的内容是(  ) 

    MOV R0,#30H 

    MOV 40H,#0EH 

    MOV @R0,40H  

    • A.40H
    • B.30H
    • C.0EH
    • D.FFH
  32. 13. MOV C,00H指令中源操作数的寻址方式是( )

    • A.位寻址
    • B.直接寻址
    • C.立即寻址
    • D.寄存器寻址
  33. 11. 控制串行口工作方式的寄存器是( )

    • A.TCON
    • B.PCON
    • C.SCON
    • D.TMOD
  34. 9. MCS-51外部中断1固定对应的中断入口地址为( )

    • A.0003H
    • B.000BH
    • C.0013H
    • D.001BH
  35. 10. 在扩展系统中,能够提供地址信号的高8位的端口是( )

    • A.P0口
    • B.P1口
    • C.P2口
    • D.P3口
  36. 8. 单片机的指令地址存放在( )

    • A.PSW
    • B.DPTR
    • C.SP
    • D.PC
  37. 7. 8051与8751的区别是( )

    • A.内部数据存储器的数目不同
    • B.内部数据存储器的类型不同
    • C.内部程序存储器的类型不同
    • D.内部的寄存器的数目不同
  38. 5. 变量的指针是(  )

    • A.变量的首地址
    • B.变量的值
    • C.变量的名
    • D.变量的一个标志
  39. 6. 打开文件语句fp=fopen("a.dat","r");中fp的类型是( )

    • A.File *
    • B.file
    • C.File
    • D.FILE *
  40. 3. 下列选项中,合法的C语言关键字是( )

    • A.default
    • B.get
    • C.integer
    • D.VAR
  41. 4. 已知char ch='B';则以下表达式的值是(  )

    ch=(ch>='A'&&ch<='Z')?(ch+32):ch;

    • A.A
    • B.a
    • C.b
    • D.Z
  42. 2. 用8位(bit)二进制能够表示的有符号数的范围是( )

    • A.-127~+128
    • B.-128~+127
    • C.-127~+127
    • D.-128~+128
  43. 1. 以下集成块型号中,不属于MCS-51系列单片机型号的是(  )

    • A.8094BH
    • B.83C452
    • C.80C32
    • D.8051AH