一起答

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

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 下面程序是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

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

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

  2. RAM中60H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD码的十位和个位放在累加器A中,百位放在R6中。

  3. 下面程序段是将ROM 3000H单元内容送R7。

    MOV DPTR,#3000H

    CLR A

    MOVC A,@R7+DPTR

    MOV R7,A

    错误:______

    改正:______

  4. 以下是8051单片机定时/计数器的初始化程序(设单片机晶振频率是6MHz):T0作为定时,定时时间为______,T1作为计数,记满______溢出。

    ORG 0000H

    LJMP 0050H

    ORG 0050H

    MOV TMOD,#20H

    MOV TH0,#63H

    MOV TL0,#18H

    MOV TH1,#9CH

    MOV TL,#9CH

    SETB EA

    SETB TR0

    SETB TR1

    SJMP $

  5. 下面程序是将片内RAM______开始的单元内10个二进制数,找出其中最大值并存于单元中。

    START: MOV R0,#40H

    MOV R7,#09H

    MOV A,@R0

    LOOP: INC R0

    MOV 30H,@R0

    CJNE A,30H,NEXT

    NEXT: JNC BIE1

    MOV A,30H

    BIE1: DJNZ R7,LOOP

    MOV 50H,A

    RET

  6. 下面程序段是将片外RAM20H~25H单元清零。

    MOV R0,#20H

    MOV R7,#06H

    CLR A

    LOOP: MOV @R0,A

    INC R0

    DJNZ,#3000H

    错误:______

    改正:______

  7. 某8031单片机时钟频率为12MHz,现将T0设置为定时方式1,定时时间为1毫秒,其计数器中的时间常数初值应为______。(写成四位十六进制数)

  8. 8031单片机内部数据RAM中的位寻址区的地址范围是______。

  9. 执行下面一段程序后,(A)=______,(B)=______。

    MOV SP,#60H

    MOV A,#10H

    MOV B,#01H

    PUSH A

    PUSH B

    POP A

    POP B

  10. MUL AB的执行结果是存储高8位在______中,低8位在______中。

  11. 8051单片机内有______个16位的定时/计数器,______有四种工作方式。

  12. MCS-51的存储器空间配置从功能上可分为四种类型:______、内部数据存储器、______、外部程序存储器。

  13. 8255A属于可编程的______I/0接口芯片,8255A的A通道有______种工作方式。

  14. 每个苹果0.8元,第一天买两个苹果,第二天开始,每天买前一天的两倍,直到买的苹果个数达到不超过100的最大值。编写程序,求每天平均花多少钱?

  15. #include<stdio.h>

    main()

    {int n,sum=0;

    scanf("%d",&n);

    do{sum=sum+(n%10)*(n%10);

    n=n/10;}while(n);

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

    }

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

  16. #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 3 4 0<回车>,则程序运行结果是:______

  17. #include"stdio.h"

    main()

    {int i;

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

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

    else continue;

    printf("#");}

    printf("#");}

    程序运行结果是:______

  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. main()

    {char s[]="9876",*p;

    *p=s:

    printf("%s",p);

    }

    错误:______

    改正:______

  20. 下面程序的功能是将大写字母改成小字母,小字母改成大写字母。

    main()

    {char ch;

    scanf("%c",&ch);

    if(ch>='A'||ch<='Z')ch=ch+32;

    elseif(ch>='a'&&ch<='z')ch=ch-32;

    printf("%c",ch);

    }

    错误:______

    改正:______

  21. main()

    {

    float a[10]={0.0};

    int i

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

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

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

    }

    错误:______

    改正:______

  22. #include<stdio.h>

    #include<conio.h>

    main()

    {

    int i,j;

    char ch;

    while(ch=getchar()!='\r')

    {

    i++:

    printf("%c",ch);

    }

    printf("you type%d characters\n",i);

    }

    错误:______

    改正:______

  23. 以下程序的功能是计算字符串的长度。请填空。

    #include<stdio.h>

    main()

    {char str[100],*sp=str;

    int nlen=0;

    scanf("%s",str);

    for(;*sp!='\0';sp++)______;

    printf("%d",nlen);

    }

  24. 以下程序的功能是对10个整数从小到大排序。请填空。

    #include<stdio.h>

    sort(int arr[],int n);

    main()

    {int a[10],*p,i;

    printf("input 10 numbers:");

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

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

    printf("\nthe original array is:");

    for(p=a;P<a+10;p++)

    printf("%d",*p);

    sort(a,10);

    printf("\nthe present array is:");

    for(P=a;P<a+10;P++)

    printf("%d",*p);

    }

    sort(int arr[],int n)

    {int*p1,*p2,temp;

    for(p1=arr;p1<arr+(n-1);p1++)

    for(p2=p1+1;p2<arr+n;p2++)

    if(______)

    {temp=*p1;*p1=*p2;*p2=temp;}

    }

  25. 若a=1,b=4,c=3,则表达式!(a<b)||!c&&1的值是______。

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

    • A.有14位可控定时器/计数器
    • B.芯片内包含有256字节的RAM
    • C.只能使用中断编程的方法进行I/O数据传送
    • D.使用命令字以程序方法设置I/O数据传送的方式
  27. inta,b,c;则表达式a=(b=4)+(c=2)的值是______。

  28. 8031的定时器T0作计数方式,用模式1(16位计数器),则应用初始化编程指令是(   )

    • A.MOV TMOD,#01H
    • B.MOV TMOD,10H
    • C.MOV TMOD,#05H
    • D.MOV TCON,#05H
  29. 8031的定时器T1作计数方式,模式2的方式控制字是(   )

    • A.60H
    • B.02H
    • C.06H
    • D.20H
  30. 共阴极显示管点亮时输入电平是(   )

    • A.低电平
    • B.低电压
    • C.低阻态
    • D.高电平
  31. 单片机上电复位后,堆栈区的最大允许范围的单元是(   )

    • A.64
    • B.120
    • C.128
    • D.256
  32. 8051单片机的VCC(40)引脚是(   )

    • A.主电源+5V引脚
    • B.接地引脚
    • C.备用电源引脚
    • D.访问片外存贮器引脚
  33. 不是MCS-51单片机I/O的数据传送方式的是(   )

    • A.无条件传送
    • B.随机传输
    • C.查询方式
    • D.中断方式
  34. 8051/8031型单片机提供中断源的个数是(   )

    • A.3
    • B.4
    • C.6
    • D.5
  35. 以下定义,使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;
  36. 不是伪指令关键字的是(   )

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

    • A.算术运算
    • B.位运算
    • C.数据处理
    • D.指令译码
  38. 从循环体内某一层跳出,继续执行循环外的语句是(   )

    • A.return语句
    • B.break语句
    • C.continue语句
    • D.空语句
  39. 执行下面程序段后,正确的结果是(   )

    int x=0,y=0;

    while(x<15)y++,x+ =++y;

    • A.x=8
    • B.y=20
    • C.x=20
    • D.y=12
  40. 以下使用后缀表日月十六进制数的是(   )

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

    • A.83C152JC
    • B.83C52JA
    • C.83C51FB
    • D.8097JF
  42. 以下说法正确的是(   )

    • A.计算机能直接执行C的源程序
    • B.后缀是EXE的文件是二进制文件
    • C.后缀是OBJ和EXE的文件是可执行文件
    • D.后缀是OBJ的文件是二进制文件