一起答

2012年微型计算机原理与接口技术自考题模拟(8)

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 编程实现在P1.0引脚接一驱动放大电路驱动扬声器,利用T1产生1000Hz的音频信号从扬声器输出。设fosc=12MHz。

  2. 编程查找在内部RAM的30H~3FH单元中出现0AH的次数,并将查找的结果存入50H单元。

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

    MOV DPTR,#7FFFH

    MOV A,#95H

    MOVX @DPTR,A

  4. 下面程序是将片外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. 下面程序段是将ROM2000H单元的内容送R1。

    MOV#DPTR,#2000H

    CLR A

    MOVC A,@A+DPTR

    MOV R1,A

    错误:______

    改正:______

  6. 下面程序段是将外部RAM30H单元的内容送内部RAM20H单元。

    MOV R1,#30H

    MOVX A,@R1

    MOV 20H,ACC

    错误:______

    改正:______

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

  8. 串行控制寄存器SCON的单元地址是______。

  9. MCS-51系列单片机内设有______个可编程的______位定时器/计数器。

  10. 当定时/计数器工作方式寄存器______中的功能选择位为0时,工作于内部定时方式。

  11. MCS-51系列单片机片内数据存储器工作寄存器区32个字节被均匀地分为4个组:第0组工作寄存器,地址为______;第1组工作寄存器,地址为______;第2组工作寄存器,地址为10H~17H;第3组工作寄存器,地址为18H~1FHH。

  12. 数码管要显示字形“5”,则______、c、d、f、g段亮,______、e段灭。

  13. MCS-51系列单片机P0和P1口,当既作输入口又作______时,在输出转输入时应先给端口写入______然后再读取。

  14. #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);

    }

    程序运行结果是:_____

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

  16. MCS-51系列单片机有40个引脚其中:______为时钟引脚、______为复位引脚。

  17. 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);

    }

    程序运行结果是:______

  18. #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);

    }

    程序运行结果是:______

  19. 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);

    }

    程序运行结果是:______

  20. 下面程序是求1+2+3……+100的和。

    main()

    {int sum,k;

    sum=0;k=1;

    while(k<=100)

    sum=sum+k;k++;

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

    错误:______

    改正:______

  21. 以下程序是给数组a所有元素赋值。

    main()

    {int a[10],i;

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

    scanf("%d",&a[i]);}

    错误:______

    改正:______

  22. 程序的功能是计算1~100之间的奇数和与偶数和。

    main()

    {intsum1=0,sum2=0,a;

    for(a=1;a<=100;a++)

    if(a%2=0)sum1+ =a;

    else sum2+ =a;

    printf("%d,%d",sum1,sum2);

    }

    错误:______

    改正:______

  23. #include"stdio.h"

    main()

    {int a,b;

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

    printf("%d\t%d\n",a,b);

    }

    错误:______

    改正:______

  24. 下列程序中,函数fun的功能是:根据整型形参m的值,计算如下公式的值:t=1-1/(2×2)-1/(3×3)-…-1/(m×m)请填空。

    #include<conio.h>

    #include<stdio.h>

    double fun(int m)

    {double y=1.0;int i;

    for(______)

    y-=1.0/(i*i);

    return(y);

    }

    main()

    {int n=5;

    printf("\nThe result is%1f\n",fun(n));}

  25. 以下程序是求数组a中偶数的个数和偶数的平均值。请填空。

    main()

    {int a[10]={1,15,16,18,14,17,24,23,12};

    int k,i,j;float ave;

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

    {if(a[j]%2!=0)continue;

    i+=______;

    k++;}

    if(k!=0){ave=i/j;printf("%d,%f\n",k,ave);}

    }

  26. 下列指令判断若累加器A的内容不为0就转LP的是(   )

    • A.JB A,LP
    • B.JNZ A,LP
    • C.JZ LP
    • D.CJNE A,#0,LP
  27. intx=12,n=5;则表达式x%=(n%=2)的值是______。

  28. 当a=5,b=4,c=2时,表达式a>b!=c的值是______。

  29. 执行指令MOVX A,@DPTR时,、脚的电平是(   )

    • A.高电平,高电平
    • B.低电平,高电平
    • C.高电平,低电平
    • D.低电平,低电平
  30. 执行如下三条指令后,30H单元的内容是(   )

    MOV R1,#30H

    MOV 40H,#0EH

    MOV @R1,40H

    • A.40H
    • B.0EH
    • C.30H
    • D.FFH
  31. 逻辑“异或”操作指令的助记符是(   )

    • A.ORL
    • B.ANL
    • C.XRL
    • D.MOV
  32. 短转移指令的助记符是(   )

    • A.AJMP
    • B.ANL
    • C.SJMP
    • D.LJMP
  33. MCS-51单片机的定时器/计数器工作方式1是(   )

    • A.16位计数器结构
    • B.8位计数器结构
    • C.13位计数器结构
    • D.2个8位计数器结构
  34. 用户可以直接使用的8031单片机I/O接口是(   )

    • A.P0
    • B.P2
    • C.P1
    • D.P3
  35. 下面不属于中断处理过程的是(   )

    • A.保护现场与恢复现场
    • B.开中断与关中断
    • C.中断向量
    • D.中断服务与中断返回
  36. MCS-51布尔处理机的存储空间指的是(   )

    • A.00H~0FH
    • B.10H~1FH
    • C.20H~2FH
    • D.30H~3FH
  37. 不影响程序状态字.PSW的指令关键字是(   )

    • A.ADD
    • B.ADDC
    • C.SUBB
    • D.RRC
  38. fscanf函数的正确调用形式是(   )

    • A.fscanf(fp,格式字符串,输出列表);
    • B.fscanf(格式字符串,输出列表,fp);
    • C.fscanf(格式字符串,文件指针,输出列表);
    • D.fscanf(文件指针,格式字符串,变量地址列表);
  39. 对于循环for(i=1;0;i++)可以认为是(   )

    • A.逻辑错误
    • B.语法错误
    • C.不进入循环
    • D.死循环
  40. int a=30,b=20,c=10,d;d=a>b>c;则d的值是(   )

    • A.10
    • B.1
    • C.30
    • D.0
  41. 以下正确的函数定义形式是(   )

    • A.double fun(int x;int y)
    • B.double fun(int x,int y)
    • C.double fun(int x,int y);
    • D.double fun(int x,y);
  42. 以下说法不正确的是(   )

    • A.C语言具有一些汇编语言的功能
    • B.C语言是面向对象的程序设计语言
    • C.C语言具有多种存储类型
    • D.C语言具有预处理功能
  43. 以下集成块型号中属于8位系列单片机型号的是(   )

    • A.80C196MC
    • B.80C196KR
    • C.80196KC
    • D.83C51FC