一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 42. 从内部RAM30H单元开始,有10个单字节数据。试编一个程序,把其中的正数、负数分别送40H和50H开始的内部RAM单元。

  2. 下面程序是A/D转换应用程序,可实现多路模拟量输入的巡回检测,采样数据被存放在片内RAM单元中。阅读程序完成说明语句。

            ORG    0000H

            AJMP   MAIN

            ORG    0013H   ;该地址是①地址

            AJMP   INT1

      MAIN:MOV   R0,#78H ;78是②地址

            MOV   R2,#08H   ;

            SETB IT1   ;该指令的作用是③

            SETB EA

            SETB EX1   ;允许INT1中断

            MOV DPTR,#6000H;#6000H是④地址

            MOV   A,#00H   ;A的内容对转换结果⑤影响

      LOOP:MOVX @DPTR,A ;该指令的作用是⑥

      HERE:SJMP HERE

            DJNZ R2,LOOP

      INT1:MOVX A,@DPTR ;当⑦时,程序将运行到此处。

            MOV   @R0,A

            INC  DPTR   ;DPTR加1的目的是⑧

            INC   R0

            RET1

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

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

  3. 41. 下面程序将片内RAM30H单元开始的______字节数据传送到片外RAM______开始的单元中去。

    START:MOV   RO,#30H

              MOV   R7,#0FH

              MOV   DPTR,#3000H

      LOOP: MOV   A,@R0

              MOVX  @DPTR,A

              INC   R0

              INC   DPTR

              DJNZ  R7,LOOP

      RET

  4. 39. 下列程序要完成16位无符号数相加,两数分别存于30H,31H和40H,41H(低位在前),并把和存于30H,31H中(设和无进位输出)。请指出错误,并改正之。

    MOV   A,30H

      ADD   A,40H

      MOV   30H,A

      MOV   A,31H

      ADD   A,41H

      MOV   31H,A

      错误:______

      改正:______

  5. 40. 下面程序是将片内RAM______开始的单元中有______字节的二进制数求它们之和(和<256)。

    ADDIO:MOV   R0,30H

              MOV   R7,#0AH

              MOV   A,@RO

      LOOP: INC   R0

              ADD   A,@R0

              DJNZ  R7,LOOP

              MOV   30H,A

              RET

  6. 38. 某8031单片机时钟频率12MHz,T1为工作方式1,2毫秒定时中断,其部分初始化程序如下,请指出错误,并改正之。

    MOV   TMOD,#01H

      MOV   TH1,#0F8H

      MOV   TL1,#30H

      MOV   IP,#8

      MOV   IE,#88H

      ……

      错误:______

      改正:______

  7. 37. 8051的中断向量表在______、000B H和0013H、001BH、23H。

  8. 36. 使用8031单片机要将EA引脚接低电平,因为其内部无______。

  9. 35. 共阴极LED和共阳极LED的字段码互为______。

  10. 33. 已知A=87H,(30H)= 76H,执行XRLA,30H后,A=______(30H)=______。

  11. 34. 指令DA A是______调整指令,它跟在______的加法指令后。

  12. 32. PCON寄存器中与串行通信有关的只有D7位(SMOD),该位为波特率倍增位。当SMOD=_______时,串行口波特率增加一倍;当SMOD=______时,串行口波特率为设定值。

  13. 31. MCS-51单片机的最大程序寻址空间是______,地址范围是______。

  14. 30. MCS-51系列单片机片内部数据存储器工作寄存器区32个字节被均匀地分为4个组:其中第2组工作寄存器,地址为______;第3组工作寄存器,地址为______。

  15. 29. 从键盘上输入20个元素的值存入一维数组a中,然后将下标为(1、3、5、7、9……)的元素值赋值给数组b,输出数组b的内容。

  16. #include<stdio.h>

      main()

      {int a[]={0,2,5,8,12,15,23,35,60,65};

       intx=15,i,n=10,m;

      i=n/2+1;m=n/2;

      while(m!=0)

      {if(x<a[i]){i=im/2-1;m=m/2;}

         elseif(x>a[i]){i=i+m/2+1;m=m/2;}

          else break;}

        printf("place=%d",i+1);

      }

      程序运行结果是:_____

  17. main()

       {inta[]={1,2,3,4,5,6,7,8,9,10},s=0,i;

        for(i=0;i<10;i++)

        if(a[i]%2==0)s=s+a[i];

        printf("s=%d",s);

      }

      程序运行结果是:______

  18. main()

      {int k,p;

        int s[]={1,-9,7,2,-10,3};

        for(p=0,k=p;p<6;p++)

        if(s[p]>s[k])k=p;

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

      }

      程序运行结果是:______

  19. #include<stdio.h>

      main()

       {inta[]={1,2,3,4},i,j,s=0;

        j=1;

      for(i=3;i>=0;i--){s=s+a[i]*j;j=j*10;}

        printf("s=%d\n",s);

      }

      程序运行结果是:______

  20. 23. 求数组中最大元素和最小元素。

    main()

      {int m[10]={3,-30,20,6,77,2,0,-4,-7,99},

      int i,max,min:

        max=min=m[0];

        for(i=0;i<10;i++)

      {if(m[i]>max)max=m[i];

        if(m[i]<min)min=m;}

        printf("%d,%d",max,min);

      }

      错误:______

      改正:______

  21. 24. 输入两个整数,调用函数stu()求两个数的立方和,返回主函数显示结果。

    int stu(int a,int b)

      {return a*a+b*b;}

      main()

      {int x,y;

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

        printf("%d",stu(x,y));

      }

      错误:______

      改正:______

  22. 22. 学习成绩>=90分的用A表示,60-89分之间的用B表示,60分以下的用C表示。 

    main()

      {int score;

        char grade;

        printf("please input a score!\n");

        scanf("%d",&score);

        grade=score>=90?'A':(score<90?'B':'C');

        printf("%d belongs to %c",score,grade);

      }

      错误:______

      改正:______

  23. #include"stdio.h"

      main()

      {int i,s;

      s=0;

      for(i=0;i<=10;i++;s=s+i)

      printf("%d",s);

      }

      错误:______

      改正:______

  24. 19. 以下函数的功能是:求x的y次方。请填空。

    double fun(double x,int y)

      {int 1;

        double z;

        for(i=1,z=x;i<y;i++)______;

      return z;

      }

  25. 20. 以下程序是计算10名学生1门课成绩的平均分。请填空。

    #include<stdio.h>

      float average(float array[10])

      {int i;float aver,sum=array[0];

        for(i=1;i<10;i++)sum+=______;

        aver=sum/10;

        return(aver);

      }

      main()

      {float score[10],aver;

        int i;

        printf("\n input 10 scores:");

        for(i=0;i<10;i++)scanf("%f",&score[i]);

        aver=average(score);

        printf("\n average score is%5.2f\n",aver);

      }

  26. 18. 若a=6,b=4,c=2;则表达式!(a-b)+c-1&&b+c/2的值是______。

  27. 16. 芯片8255A在方式1输出时,它和外设问的联络信号是(  )

    • A.A
    • B.B
    • C.C
    • D.D
  28. 17. int a;则表达式a=25/3%3的值是______。

  29. 15. 在用接口传信息时,如果用一帧来表示一个字符,且每一帧中有一个起始位、一个结束位和若干个数据位,该传送属于( )

    • A.串行传送
    • B.并行传送
    • C.同步传送
    • D.连续传送
  30. 14. 8031单片机的定时器T0用作计数方式时是( )

    • A.由内部时钟频率定时,一个时钟周期加1
    • B.由内部时钟频率定时,一个机器周期加1
    • C.由外部计数脉冲计数,正跳变加1
    • D.由外部计数脉冲计数,一个机器周期加1
  31. 13. P0口作数据线和低8位地址线时( )

    • A.应外接上拉电阻
    • B.不能作I/O口
    • C.能作I/O口
    • D.应外接高电平
  32. 12. PSW中的RS1和RS0用来( )

    • A.选择工作寄存器区号
    • B.指示复位
    • C.选择定时器
    • D.选择工作方式
  33. 9. 8051/8031型单片机中断标志位的个数是( )

    • A.6
    • B.5
    • C.4
    • D.7
  34. 10. MCS-51单片机I/O接口寻址方式是( )

    • A.独立寻址
    • B.相对寻址
    • C.存储器映射
    • D.绝对寻址
  35. 11. 共阳极显示管点亮时输入电平是( )

    • A.高电平
    • B.低电平
    • C.低电压
    • D.接地
  36. 7. MCS-51外部数据总线组成是( )

    • A.P0
    • B.P1
    • C.P2
    • D.P3
  37. 8. 定义位地址的伪指令是( )

    • A.DS
    • B.DB
    • C.BIT
    • D.DW
  38. 5. 对下列结构体变量stu的成员引用不正确的是(  ) 

    struct student {

    int m;

    float n;

    }stu,*p;

    • A.p.stu.n
    • B.P->m
    • C.(*p).m
    • D.stu.n
  39. 6. 以下表述错误的是( )

    • A.ASCII码文件是文本文件
    • B.ASCII码文件占用内存较少
    • C.二进制文件占用内存较多
    • D.语句FILE fp;定义一个名为fp的文件指针
  40. 3. 算式的C语言表达式是(  )

    • A.1/(1/x+1/y)
    • B.1/1/x+1/y
    • C.1/(1/x)+1/y
    • D.1/1/(x+y)
  41. 2. 如果A=125,B=-78,则[A+B]是( )

    • A.101110
    • B.1101111
    • C.101111
    • D.100111
  42. 4. 下列字符数组长度为5的是( )

    • A.char a[10]={'h','a','b','c','d'};
    • B.char b[]={'h','a','b','e','d','\0'};
    • C.char c[]={'h','a','b','c','d'};
    • D.char d[6]={'h','a','b','c','\0'}
  43. 1. 以下集成块型号中属于MCS-51系列单片机型号的是( )

    • A.8052AH
    • B.80C198
    • C.80C196KB
    • D.80196KC