• 首页
  • 小学语文
  • 中学语文
  • 中学英语
  • 免费论文
  • 教学随笔
  • 学生作文
  • 综合考试
  • 试题教案
  • 育儿话题
  • 教学资源
  • 编程技术
  • 博客
  • 2004年4月全国自考微型计算机原理与接口技术试题

    日期:2005-07-17  作者:
    课程代码:02205
    一、单项选择题(本大题共21小题,每小题1分,共21分)
    在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
    1.main()
    { int x,y;
    x=y=1;
    y=++x;
    printf(″%d,%d/n″,x,y);
    }
    程序运行结果为(   )
    A.2,2 B.1,2 C.2,1 D.1,1
    2.main()
    {
    int x=5,y=3,z=1;
    printf(″%d/n″,x>y&&y<z‖z>0);
    }
    程序运行结果为(   )
    A.1 B.3 C.5 D.0
    3.main()
    { int k=10;
    while(k= =0)
    {k=k-1;
    printf(“k=%d”,k);}
    }
    程序中循环体执行的情况是(   )
    A.执行10次 B. while构成无限循环
    C.一次也不执行 D.执行一次
    4.文件a.dat中依次存放0-9十个字符(   )
      #include” stdio.h”
      main()
    {FILE*p;
    int i;
    char c;
    p=fopen(”a.dat”,”r”);
    for(i=0; i<4;i++)
    c=fgetc(p);
    fclose(p);
    printf(”%c/n”,c);
    }
    程序运行结果为(   )
    A.0123 B.3 C.4 D.0
    5.16位二进制所表示的无符号整数,其相应的十进制数范围是(   )
    A.0~65536 B.1~65536 C.1~65535 D.0~65535
    6.MCS—51系列单片机8031片内EPROM有(   )
    A.0KB B.4KB C.2KB D.8KB
    7.十进制数215转换成二进制数表示,是(   )
    A.11010111B B.10001101B C.11011111B D.11110101B
    8.8031单片机所用的电源是(   )
    A.±15V B.+15V C.+5V D.±5V
    9.8031单片机内有_________定时器/计数器。(   )
    A.2个13位 B.2个16位
    C.1个13位,1个8位 D.2个8位
    10.8031单片机外接ROM时,其P2口用作(   )
    A.数据总线 B.I/O口 C.地址总线低 8位 D.地址总线高8位
    11.8031单片机外部ROM、RAM和I/O的地址空间容量共为(   )
    A.16K B.32K C.64K D.128K
    12.8031单片机外接EPROM时,使用      引脚来读EPROM的数据。 (   )
    A.ALE B. C. D. 
    13.执行返回指令RET,返回的地址来自(   )
    A.ROM区 B.堆栈指针SP C. 堆栈栈顶 D. 程序计数器PC
    14.执行下列指令组后,A的内容为(   )
    MOV A.#55H
    ORL A.#00H
    A.55H B.AAH C.00H D.FFH
    15.以下各指令中,___________不属于MCS—51系列的指令。(   )
    A.ADD A,Rn B.ADD Rn,#30H C.ADDC A,30H D.ADD A,@Ri
    16.在2100H开始存放短转移指令SJMP 40H,执行该指令后,PC值为(   )
    A.2140H B.2142H C.2060H D.20C2H
    17.8031单片机的定时器0的中断程序入口地址为(   )
    A.001BH B.0003H C.000BH D.0013H
    18.8031单片机当允许CPU响应外中断1的中断请求时,其IE中的_______位必须为1。
    EA — — ES ET1 EX1 ET0 EX0
    IE寄存器格式                                          (   )

    A.EX0和EA B.ES和EX1 C.EX1和EA D.ET1和EA
    19.8031单片机中IP的内容为00H时,优先权最高的中断源是
    — — — PS PT1 PX1 PT0 PX0
    IP寄存器格式 (   )

    A.外中断0 B.外中断1 C.定时器T0 D.串行口
    20.当8031单片机IP中的PT0=1,PX1=1,PX0=0,PT1=0,PS=0时,优先权最高的中断源是(   )
    A.外中断0 B.外中断1 C.定时器T0 D.定时器T1
    21.2764是容量为8KB的EPROM,该芯片的地址线为        根。(   )
    A.8 B.12 C.10 D.13
    二、改错题(本大题6小题,每小题2分,共12分)
    (下面的程序或程序段存在一个错误或不妥处请在其下划一条线,并将改正的内容写到每小题后的空白处)
    22.main()
    { char cl,c2;
    cl=’9’;
    c2=’10’;
    printf(”cl=%c,c2=%c/n”,c1,c2);
    }

    23.main()
    { float a,b,c;
    scanf(”%f%f”,&a,&b);
    c=a>b?a=1;b=0:a+b;
    printf(”c=%f/n”,c);
    }

    24.main()
    { int a,*p;
    a=20;
    p=a;
    printf(“a=%d”,*p);
    }

    25.main()
    {struct student
    {char name;
    int age;
    float score;
    }s,t, *p;
    p=&s;
    scanf(”%s”,s.name);
    scanf(”%d”,&s.age);
    scanf(”%f”,&s.score);
    t.score=*p->score;
    printf(”%f/n”,t.score);
    }
    26.下列指令组,要完成当(A)≤80H时,转去执行2800H开始的程序,当(A)>80H时,执行3700H开始的程序。请找出错误,并改正之。
    CJNE A, #80H, NEXT
    TEN: LJMP  2800H
    NEXT: JNC  TEN
       LJMP 3700H
    27.下列子程序欲将累加器A中的原码表示的8位带符号二进制数变为补码形式仍存于A中。
    请找出错误,并改正之。
    COPL: JNB  ACC.7, DONE
    CPL  A
    INC  A
    ORL  A,#80H
    DONE: SJMP DONE
    三、填空题(本大题共15小题,每小题2分,共30分。)
    请在每小题的空格中填上正确答案。错填、不填均无分。
    28.以下程序的功能是在输入的一组正整数中找出其中的最大者,若输入的数值为0,程序结束。
    main()
    {int a,max=0;
    scanf(”%d”&a);
    while(a)
    {if(________)max=a;
    scanf(“%d”,&a);}
    printf(“%d”,max);
    }
    29.以下程序是计算s=1*2*3*4*5的值
    main()
    { int k,s=1;
    for(k=1;_______;k++)
    s=s*k;
    printf(“s=%d/n”,s);
    }
    30.下列程序的功能是:若数组元素的值为偶数则置0,奇数保持不变。
    main()
    {int ad,i;
    for(i=0;i<100;i++)
    scanf(”%d”,&a[i]);
    for(i=0;i<100;i++)
    if(_________)a[i]=0;
    for(i=0;i<100;i++)
    printf(”%8d”, a[i]);
    }
    31.函数gcd(a,b)的功能是求二数的最大公约数。
    int gcd(a,b)
    int a,b;
    {int c;
    while(b)
    {c=a%b;
    a=b;
    b=c;
    }
    ____________
    }
    main()
    {int a,b;
    scanf(“%d%d”,&a,&b);
    printf(“gcd is %d/n”,gcd(a,b));
    }
    32.十进制数—127用8位二进制数补码表示时,应为________H。
    33.一个8位二进制数的补数是用100H减去该二进制数,那么81H的补数是100H—81H,其结果为____________H。
    34.8031单片机使用 和 来读写片外____________的内容。
    35.请写出二条相对寻址方式的指令________。
    36.执行下列指令组后(A)=______________。
    MOV  A,#24H
    RL    A
    RL    A
    RL    A
    RL    A
    37.执行下列指令组后,累加器(A)=_____________,进位标志(CY)=_________。
    SETB   C
    MOV   A,  #25H
    ADDC  A,  #0A6H
    38.堆栈区是在____________区开辟的一个区域,其数据的存取遵守_________的原则。
    39.某8031单片机中,T1作为计数用,当有一脉冲从引脚P3.5(T1)输入时,TL1的内容将_________。
    40.8031单片机中,如希望CPU能响应外中断1和串行口的中断,而不响应其他中断,其IE寄存器的内容应为_____________。
    EA — — ES ET1 EX1 ET0 EX0
    IE寄存器格式

    41.若8031单片机的T0作定时器为工作方式1,T1作计数器为工作方式0,均无门控功能,则TMOD寄存器的内容应为______________B。
                               T1方式字段           T0方式字段
    GATE C/T M1 M0 GATE C/T M1 M0
    TMOD寄存器格式 

    42.可编程并行I/O接口芯片8255内部有_________端口,每个口有_________位线。                                       
    四、程序阅读题(本大题共4小题,每小题4分,共16分)
    43.main()
    {int a=1,b=2,*p1=&a,*p2=&b;
    p1=p2;
    printf(“a=%d b=%d *p1=%d *p2=%d/n”, a,b, *p1, *p2);
    }
    程序运行的结果是:
    44. int f(n)
       int n;
    {if(n>0)return n*f(n-1);
    else return 1;
    }
    main()
    { int k;
    k=f(5);
    printf(”k=f(5)=%d/n”,k);
    }
    程序运行结果是:
    45.阅读下列程序,说明程序的功能
    MOV DPL, #00H
    MOV R1, #20H
    MOV R2, #30H
    MOV R0, #50
    LOOP: MOV DPH, R1
    MOVX A, @DPTR
    MOV DPH, R2
    MOVX @DPTR, A
    INC DPTR
    DJNZ R0, LOOP
    HERE: SJMP HERE
    46.见右图,通过8031单片机的P1口接8只发光二极管,为L1~L8。
    读如下程序后回答问题
    ORG 0000H                                                           
    LJMP 0200H  
    ORG 0200H
    START: MOV A, #80H
    LOOP: MOV P1, A
    LCALL D2S;调用延时2秒子程序
    RR A; A循环右移一位
    SJMP LOOP
    D2S: ……; 子程序略
    RET
    END
    (1)第一次调用子程序时,哪个发光二极管亮?
    (2)第二次调用子程序时,哪个发光二极管亮?
    (3)第八次调用子程序时,哪个发光二极管亮?
    (4)第九次调用子程序时,哪个发光二极管亮?
    五、程序设计题(本大题共2小题,第47小题7分,第48小题6分,共13分)
    47.已知数组a中的元素是从小到大排序的,要求对于任意输入的一个整数x,把它插到数组a后,仍保持数组a的排序次序不变。
    # include”stdio.h”
    main()
    {
    int ae,i,x,k;
    for (i=0;i<100;i++)
       a[i]=3*i+2;
    scanf(”%d”,&x);
    /*以下按题目要求编制程序*/
    48.编程序将2000H为首址的片外RAM区的若干字符传送到30H开始的片内RAM区中,遇到‘CR’(即 0DH)就停止传送,‘CR’不要传送,请补全下列程序。
    MOV DPTR,#2000H
    MOV R0,#30H
    六、应用题(本大题共1小题,共8分。)
    49.通过8031单片机使汽车尾灯亮0.5秒,灭0.5秒,设定时器0每间隔0.1秒产生一次中断,外接晶体6MHz,电路如右图,请编写部分程序:
    BUF EQU 40H;0.1秒单元
    ORG 0000H
    LJMP MAIN
    ORG      ①   H;  定时器0中断服务程序入口
    LJMP CLOCK;
    ORG 200H
    MAIN: MOV BUF, #0
    ANL TMOD, #0F0H                       
    ORL TMOD, #01H
    MOV TL0, #0B0H
    MOV TH0, #   ② ;
    SETB ET0
    SETB    ③  
    SETB TR0
    CLR P1.0
    LP: NOP
    SJMP     ④    
    ORG 300H
    CLOCK: MOV TL0, # ⑤  
    MOV TH0, #3CH
    INC   BUF
    MOV    ⑥   ,BUF
    CJNE A, #5, EXIT
    MOV BUF, #0
    CPL     ⑦    
    EXIT:   ⑧    
    END
    (有关定时器/计数器方式寄存器TMOD格式及中断允许控制寄存器IE格式,请参见题40和题41。)

    对 2004年4月全国自考微型计算机原理与接口技术试题 文章的评论    [查看网友评论]

    验证码:
    匿名发表: