一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 43. 已知晶体振荡器的频率为fosc=12MHz。T0工作在方式1计数器模式,T1作定时器,工作在方式0,每隔0.5ms使P1.0引脚上的电平变反,在P1.0引脚上产生周期为1ms的方波输出,将下列程序补充完整。

       0RG 0000H

            AJMP MAIN

            0RG 001BH

            AJMP INTP

            ORG 0030H

      MAIN:MOV TMOD, ①  ;写控制字

            MOV TH1,#0F0H   ;写定时常数(定时1ms)

            MOV TL1,#0CH

              ②     ;启动T1

              ③     ;启动T0

              ④     ;允许T1中断

              ⑤     ;开放CPU中断

            AJMP $   ;定时中断等待

            ORG 0200 H   ;T1中断服务程序

      INQP:PUSH 0

            MOV TH1,#0F0H   ;重写定时常数

            MOV TL1,#0CH

            CPL P1.0   ;P1.0变反输出

              ⑥  

              ⑦  

              ⑧  

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

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

  2. 41. 设在31H单元存有#23H,执行下面程序:(41H)=______(42H)=______ 

    MOV A,31H

      ANL A,#0FH

      MOV 41H,A

      MOV A,31H

      ANL A,#0F0H

      SWAP A

      MOV 42H,A

  3. 42. 编程实现数据块传送,将片内RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。

  4. 2506H   M5: MOV SP,#58H

              2509H         MOV 10H,#0FH

              250CH         MOV 11H,#0BH

              ………

              250FH         ACALL XHD;PC+2→PC,

                             MOV 20H,11H

              2514H    M5A:SJMP M5A

                        XHD:PUSH 10H

                             PUSH 11H

                             POP 10H

                             POP 11H

                             RET

    执行M5A:SJMPM5A后,(SP)=______(20H)=______

  5. 39. 下面程序段实现双字节加法运算(R1)(R0)+(R7)(R6)送入(31H)(30H)。

    MOV A,R0

      ADD A,R6

      MOV 30H,A

      MOV A,R1

      ADD A,R7

      MOV 31H,A

      SJMP $

      错误:______

      改正:______

  6. 37. MCS-51的特殊功能寄存器分布在______地址范围内。

  7. 38. 下面程序段是将ROM2000H单元的内容送外部RAM1000H单元。

    MOV      DPTR, #2000H

      CLR      A

      MOVC     A,@A+DPTR

      MOV      DPTR,#1000H

      MOV      @DPTR,A

      错误:______

      改正:______

  8. 34. 34.执行下列指令组后,标志位(OV)=______(P)=______。

    MOV A,#0B4H 

    ADD A,#00H

    SUBB A,#51H

  9. 35. 当MCS-51引脚______信号有效时,表示从P0口稳定地送出了低8位地址。

  10. 36. MCS-51的定时器用作定时,其定时时间与时钟频率和计数初值有关。用作计数时,最高计数频率的______。

  11. 32. 外围扩展芯片的选择方法有两种,它们分别是______和______。

  12. 33. MCS-51单片机中,在IP=0x00时,优先级最高的中断是______,最低的是______。

  13. 31. 若只需要开串行口中断,则IE的值应设置为______,若需要将外部中断0设置为下降沿触发,则执行的语句为______。

  14. 30. 8279有______条命令,用命令字______位来表示。

  15. #include<stdio.h>

      main()

      {int i=0,j,c[6];

        scanf("%d",&j);

        do{c[i]=j%10;i++;j=j/10;

          }while(j!=0);

        for(--i;i>=0;i--)

          {printf("%d",c[i]);

            if(i>0)printf(",");}

      }

      程序运行时,输入整数为2345<回车>,则输出为:______

  16. 29. 编程序对输入的1000以下的整数,求出其相应的个位数、十位数和百位数。

  17. #include<stdio.h>

      main()

       {inti,j,sum=0,m,n=4;

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

      {m=1;

      for(j=1;j<=i;j++)m=m*j;

        sum=sum+m;}

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

      }

      程序运行结果是:______

  18. main()

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

        int b[]={5,3,9,4,6};

        int c[5],i;

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

        c[i]=a[i]*b[i];

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

          printf("%d",c[i]);}

      程序运行结果是:______

  19. #include<stdio.h>

      ss(char*s)

      {char *p=s:

        while(*p)p++;

        return(p-s);}

      main()

      {char *a="abded";

        int i;

        i=ss(a);

        printf("%d\n",i);}

      程序运行结果是:______

  20. 23. 以下程序从键盘输入20个整数存入数组,统计输入非负数的个数,并计算输入的非负整数之和。

    #include"stdio.h"

      main()

      {int i,a[20],s,n;

        s=n=0:

        for(i=0;i<20;i++)scanf("%d",&a[i])

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

      {if(a[i]<0)break;

        S+=a[i];n++;

      }

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

      }

      错误:______

      改正:______

  21. 24. 输出100以内能被3整除且个位数为6的所有整数。

    #include<stdio.h>

      main()

      {int i,j;

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

      {j=i*10+6:

      if(j%3==0)continue;

      printf("%d",j);}

      }

      错误:______

      改正:______

  22. main()

      {inta[3]={3*0},i;

        for(i=1;i<3;i++)scanf("%d",a[i]);

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

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

      }

      错误:______

      改正:______

  23. #include"stdio.h" 

    main()

      {char a[10],b[10]="Computer"

      a=b;printf("%s",a);

      }

      错误:______

      改正:______

  24. 18. 若a=2,b=4,则表达式!(x=a)||(y=b)&&0的值是______。

  25. 20. 下面程序的功能是将字符串s中所有的字符a删除。请填空。

    #include<stdio.h>

      void main()

      {char s[80];

      int i,j=0;

      gets(s);

      for(i=0;s[i]!='\0';i++)

      if(s[i]!='a')______;

      s[j]='\0';

      puts(s);}

  26. 19. 下面程序的功能是用“辗转相除”求两个整数的最大公约数。请填空。

    #include<stdio.h>

      main()

      {int r,m,n;

      scanf("%d%d",&m,&n);

      if(m<n)______

      r=m%n:

      while(r){m=n;n=r;r=m%/n};

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

      }

  27. 17. int a=6;则表达式a+ =a- =a*a的值是______。

  28. 16. 8255是一个可编程的:I/O接口芯片,“可编程”是( )

    • A.有14位可控定时器/计数器
    • B.芯片内包含有256字节的RAM
    • C.只能使用中断编程的方法进行I/O数据传送
    • D.使用命令字以程序方法设置I/O数据传送的方式
  29. 14. 8031的定时器T1作计数方式,模式2的方式控制字是( )

    • A.60H
    • B.02H
    • C.06H
    • D.20H
  30. 15. 8031的定时器T0作计数方式,用模式1(16位计数器),则应用初始化编程指令是( )

    • A.MOV TMOD,#01H
    • B.MOV TMOD,10H
    • C.MOV TMOD,#05H
    • D.MOV TCON,#05H
  31. 11. 共阴极显示管点亮时输入电平是( )

    • A.低电平
    • B.低电压
    • C.低阻态
    • D.高电平
  32. 13. 8051单片机的VCC(40)引脚是( )

    • A.主电源+5V引脚
    • B.接地引脚
    • C.备用电源引脚
    • D.访问片外存贮器引脚
  33. 12. 单片机上电复位后,堆栈区的最大允许范围的单元是( )

    • A.64
    • B.120
    • C.128
    • D.256
  34. 9. 8051/8031型单片机提供中断源的个数是( )

    • A.3
    • B.4
    • C.6
    • D.5
  35. 10. 不是MCS-51单片机I/O的数据传送方式的是( )

    • A.无条件传送
    • B.随机传输
    • C.查询方式
    • D.中断方式
  36. 8. 不是伪指令关键字的是( )

    • A.ORG
    • B.START
    • C.EQU
    • D.DATA
  37. 7. 下面不是运算器完成的主要任务是( )

    • A.算术运算
    • B.位运算
    • C.数据处理
    • D.指令译码
  38. 5. 执行下面程序段后,正确的结果是(  ) 

    intx=0,y=0;

    while(x<15)

    y++,x+=++y;

    • A.x=8
    • B.y=20
    • C.x=20
    • D.y=12
  39. 6. 以下定义,使p指向data和a域的赋值语句是(  ) 

    struct stuclent {

    int a;

    float b;

    data,*p;

    • A.p=&a;
    • B.p=data.a;
    • C.*p=data.a;
    • D.p=&data.a;
  40. 4. 从循环体内某一层跳出,继续执行循环外的语句是( )

    • A.return语句
    • B.break语句
    • C.continue语句
    • D.空语句
  41. 3. 以下说法正确的是( )

    • A.计算机能直接执行C的源程序
    • B.后缀是EXE的文件是二进制文件
    • C.后缀是OBJ和EXE的文件是可执行文件
    • D.后缀是OBJ的文件是二进制文件
  42. 2. 以下使用后缀表日月十六进制数的是( )

    • A.B
    • B.H
    • C.D
    • D.O
  43. 1. 以下集成块型号中不属于8位系列单片机型号的是( )

    • A.83C152JC
    • B.83C52JA
    • C.83C51FB
    • D.8097JF