一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 使用89C51和ADC0809的接口,采集2通道10个数据,存入内部RAM的50H~59H单元,下面是查询方式程序段。请完成填空。(IN2的地址为7FFAH,P1.0查询转换结束信号)

    ORG 0100H

    MOV R7, ①

    MOV R0,#50H

    MOV ② ,#7FFAH

    NEXT:MOVX @DPTR, ③

    JB ④ ,$

    MOVX A, ⑤

    MOV ⑥ ,A

    INC ⑦

    DJNZ RT ⑧

    SJMP $

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

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

  2. 下面是8031扩展8255A初始化程序,其PA口设置成______,PB口和PC口设置成______。

    MOV A,#90H

    MOV DPTR,#7FFFH

    MOVX @DPTR,A

    MOV DPTR,#7FFCH

    MOVX A,@DPTR

    MOV DPTR,#TFFDH

    MOVX @DPTR,A

  3. 将4个单字节数放片内30H~39H,它们求和结果放在片内50H,51H单元。

  4. 下面子程序的功能是从串行接口接受一个字符,其定时器T1工作模式______,波特率为______。(时钟为11.059MHz)

    START:MOV TMOD,#20H

    MOV TH1,#0E8H

    MOV TL1,#0E8H

    SETB TR1

    MOV SCON,#50H

    L1: JNB RI,L1

    CLR RI

    MOV A,SBUF

    RET

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

    MOVX DPTR,#1000H

    MOVX A,@DPTR

    MOV 20H,A

    错误:______

    改正:______

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

    MOV R0,#30H

    MOV A,@R0

    MOV R0,A

    错误:______

    改正:______

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

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

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

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

    MOV A,#0B4H

    ADD A,#00H

    SUBB A,#51H

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

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

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

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

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

  16. #include<stdio.h>

    int f(int x,int y)

    {return(x>y)?x:y);}

    main()

    {int a,b;

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

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

    }

    程序运行时,从键盘输入9,8<回车>,则运行结果是:______

  17. main()

    {int i=3,*p1;

    int a[3]={15,30,45},*p2;

    pl=&i;p2=a;

    pl=p2+2:

    printf("%d,%d\n",*p1,*p2);

    }

    程序运行结果是:______

  18. #include<stdio.h>

    main()

    {int c;

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

    {switch(c-'2')

    {case 0:

    case 1:putchar(c+4);

    case 2:putchar(c+4);break;

    case 3:putchar(c+3);

    case 4:putchar(c+2);break;}}

    printf("\n");

    }

    程序运行时,输入2743<CR>,则运行结果是:______

  19. main()

    {int n;

    float s=1.0;

    for(n=10;n>1;n--)

    s=s+1/n;

    printf("%6.1f\n",s);

    }

    错误:______

    改正:______

  20. #include<stdio.h>

    main()

    {int i,j;

    inta[5]={2,4,6,9,12},b[6]={2,3,4,6,8,9};

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

    for(j=0;j<6;j++)

    if(*(a+i)==*(b+j)printf("%d",*(a+i));

    printf("\n");

    }

    程序运行结果是:______

  21. #include"stdio.h"

    void fact(int k)

    {

    int i,s;

    s=s*i:

    return(s);

    }

    错误:______

    改正:______

  22. 程序输入1,输出One,输入其他,输出Other。

    main()

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

    if(a=1)printf("One\n");

    else printf("Other\n");

    }

    错误:______

    改正:______

  23. 运行以下程序的结果是321。

    main()

    {int x;

    x=3;

    do

    {printf("%d",x--);

    }while(!x);}

    错误:______

    改正:______

  24. 从键盘上输入若干个学生成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。

    main()

    {float s,gmax,gmin;

    scanf("%f,"&s);

    gmax=s;gmin=s;

    while(s>=0)

    {if(s>gmax)gmax=s;

    if(______)gmin=s;

    scanf("%f",&s);}

    printf("gmax=%f\ngmin=%f\n"gmax,gmin);}

  25. 以下程序是用来统计正整数的每位数字中零的个数,并求每位数字中最大者。请填空。

    main()

    {unsigned long num,max,t;

    int count;

    count=max=0:

    scanf("%ld",&num);

    do{

    t=______;

    if(t==0)++count;

    else if(max<t)max=t;

    num/=10;

    }while(num);

  26. 当a=3,b=2,c=1时,表达式f=a>b>c的值是______。

  27. inta,b;则表达式(a=2,b=5,a++,b++,a+b)的值是______。

  28. 在堆栈操作中,当进栈数据全部弹出后,这时SP指向(   )

    • A.栈底单元地址
    • B.7FH单元
    • C.栈底单元地址加1
    • D.栈底单元地址减1
  29. 下列程序段的执行结果是(   )

    MOV R0,#30H

    SETB C

    CLR A

    • ADDC A,#00H    MOV @R0,A
    • A.(30H)=00H
    • B.(30H)=01H
    • C.(00H)=00H
    • D.(00H)=01H
  30. 从地址2132H开始有一条绝对转移指令AJMP addr11,指令可能实现的转移范围是(   )

    • A.2000H—27FFH
    • B.2132H—2832H
    • C.2100H—28FFH
    • D.2000H—3FFFH
  31. MCS-51单片机在正常运行程序时RST引脚是(   )

    • A.高电平
    • B.低电平
    • C.脉冲输入
    • D.高阻态
  32. MCS-51单片机在访问外部数据存储器时,地址指针是(   )

    • A.DPTR
    • B.PC
    • C.PSW
    • D.SP
  33. 协调CPU与外围设备之间的数据传送的是(   )

    • A.三态门
    • B.锁存器
    • C.缓冲器
    • D.寄存器
  34. 下面不是中断响应条件的是(   )

    • A.CPU处于开中断状态
    • B.低级中断源
    • C.高级中断源
    • D.一条指令执行完毕
  35. 8051定时器/计数器T0工作方式0和方式1的区别是(   )

    • A.前者是16位后者是13位
    • B.前者是16位后者是8位
    • C.前者是13位后者是8位
    • D.前者是13位后者是16位
  36. MCS-51内部RAM字节数是(   )

    • A.128
    • B.256
    • C.107
    • D.4K
  37. 下列程序段执行后,a的值是(   )

    int*p,a=10,b=1;

    p=&a;a=*p+b;

    • A.12
    • B.13
    • C.10
    • D.11
  38. 带进位的循环移位指令是(   )

    • A.RL
    • B.RR
    • C.CLR
    • D.RLC
  39. C语言函数返回值的类型是(   )

    • A.return语句中表达式类型
    • B.调用该函数时主调函数的类型
    • C.定义该函数时函数的类型
    • D.调用函数时系统临时决定
  40. 执行int x=2,y=3;后表达式x=(y==3)的值是(   )

    • A.1
    • B.0
    • C.2
    • D.3
  41. 以下不属于单片机集成块型号的是(   )

    • A.80486DX
    • B.83C51FA
    • C.8097BH
    • D.8051
  42. C语言中最基本的数据类型是(   )

    • A.整型、实型、逻辑型
    • B.整型、实型、逻辑型、字符型
    • C.整型、字符型、逻辑型
    • D.整型、实型、字符型
  43. 以下所列的C语言常量中,错误的是(   )

    • A.0xFF
    • B.2L
    • C.1.2e0.5
    • D.'\72'