微型计算机原理与接口技术真题,2009年4月全国自考(微型计算机原理与接口技术)真题试卷...

一、1.单项选择题

0. 无符号的数10111011B所对应的十进制数是  ( )

A.186D

B.187D

C.188D

D.189D

1. 二进制数11111111与二进制数00000000进行按位“与”运算的结果是  ( )

A.00000000

B.11111111

C.10000000

D.00000001

2. 计算机的外部设备(键盘、显示器、打印机等)与CPU相连接的方式是  ( )

A.直接相连

B.通过电缆线

C.通过虚拟设备

D.通过I/0接口

3. 正数用原码和补码表示时,其最高位是符号位,则该符号位的值分别是  ( )

A.1,1

B.1,0

C.0,1

D.0,0

4. 表达式3+7.2+"A"的运算结果是  ( )

A.75.2

B.10.2A

C.A10.2

D.107.2

5. 语句FILE*filePtr=fopen("myFile.dat","a");打开文件后的作用是  ( )

A.从文本文件读数据

B.向文本文件写数据

C.向文本文件末尾追加数据

D.向二进制文件末尾追加数据

6. MCS-51系列单片机扩展外部存储器时,有一个I/O口作为低8位地址和数据线的分时复用口,此:I/O 口是( )

A.P3口

B.P2口

C.P1口

D.P0口

7. 8051单片机内部具有定时器/计数器的个数和位数分别是  ( )

A.1个,16位

B.2个,16位

C.2个,8位

D.3个,8位

8. MCS-51系列单片机的一个机器周期包含时钟周期的个数是  ( )

A.8个

B.10个

C.12个

D.16个

9. 程序计数器PC和堆栈指针SP两个寄存器的位数分别为  ( )

A.PC-8位 SP-8位

B.PC-8位 SP-16位

C.PC-16位 SP-8位

D.PC-16位 SP-16位

10. 执行MOV A,#98H:及ADDA,#81两条指令后,累加器A及进位标志CY的内容分别为( )

A.(A)=19H,(CY)=0

B.(A)=19H,(CY)=1

C.(A)=79H,(CY)= 0

D.(A)=79H,(CY)=1

11. 已知(SP)=40H,片内RAM(60H)=0FH,执行PUSH 60H和POP 50H两条指令后,SP及50H中内容各为  ( )

A.(SP)=39H,(50H)=23H

B.(SP)=40H,(50H)=0FH

C.(SP)=41H,(50H)=0FH

D.(SP)=40H,(50H)=60H

12. 已知(CY)=1,(A)=0FH,要使结果为(CY)=1,(A)=1EH,则需执行指令  ( )

A.RLC A

B.RRC A

C.RL A

D.RR A

13. PSW.4位和PSW.3位是工作寄存器区的选择位。执行下列指令组后,选择的工作寄存器组是  ( )  CLR PSW.4  SETB PSW.3

A.0组

B.1组

C.2组

D.3组

14. 某半导体存储器有8根数据线,13根地址线,则它的存储容量是  ( )

A.8K×8位

B.16K×8位

C.32K×8位

D.64K×8位

15. RS232接口,表示逻辑1的信号电平是  ( )

A.1OV

B.2V

C.0V

D.-10V

二、2.填空题

0. 微处理器是微型计算机的核心芯片,是将计算机中的运算器和控制器集成在一个很小的硅片上制成的集成电路,通常用英文字母简写为______。

1. 执行了printf("The file name is d:data.db");语句,将输出______。

2. 执行scanf("%d/%d/%d",&x,&y,&z);语句时,希望把三个数据2008、1和1分别输给整型变量x、y、z,则应该在键盘键入______。

3. 如果把数组名作为实参传递给对应的形参,则实际上传递的是该数组的______。

三、3.改错题

0. 本程序在运行时从键盘输入2个整数,如果输入的第一个数大于第二个数,则两数互换,否则不互换。

#include<stdio.h>

main()

( int num1,num2,x;

scanf("%d%d",&numl,&num2);

if(num1>num2)

x=Bum1;numl=num2;num2=x;

printf("%d<%d ",num1,num2);

}

错误:______

改正:______

1. 以下程序的功能是:求30个学生某门课程的平均成绩。

#include<stdio.h>

main()

{ int n=30,i=0,t;

float aver=0;

while(i<n)

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

aver=aver+t;

}

aver=aver/n;

printf("平均成绩为:%5.1f ",aver);

}

错误:______

改正:______

2. 以下程序的功能是:把键盘输入的10个整数显示在屏幕上。

#include<stdio.h>

main()

{ int a[10],i;

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

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

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

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

}

错误:______

改正:______

3. #include<stdio.h>

#include<string.h>

struct number

{ int i;

float x;

char c[50];

}num=(1954,"University",7.98};

main()

( struct number numl;

num1.i=999;

num1.x=123.123:

strcpy(num1.c,"Beijing");

pfintf("%d,%f,%s ",hum.i,num.x,num.c);

pfintf("%d,%f,%s ",numl.i,num1.x,num1.c);

}

错误:______

改正:______

四、4.程序阅读题

0. #include <stdio.h>

main()

{ int num,s;

scanf("%d",&num);

if(Bum>=0&&num<=100)

{s=num/10;

switch(S)

{case 6:printf("%d- - -及格 ",num);break;

case 7:printf("%d- - -中 ",nun);break;

case 8:printf("%d- - - 良 ",Bum);break;

case 9:

case 10:printf("%d- - -优 ",num);break;

default:pfintf("%d- - -差 ",Bum);

}

}

}

程序运行两次,第一次输入值为85,第二次输入值为45。

则程序第一次运行结果为:

程序第二次运行结果为:

1. #include <stdio.h>

main()

{ int a=0,b,c=0,i;

for(i=0;i<=4;i+=2)

{a+=i;

b=i+1:

c+=b:

}

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

printf("C=%d ",c);

}

程序运行结果为:

2. #include <stdio.h>

main()

( int a[6]={1,2,3,4,5,6},i;

float aver=0,t=0;

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

t=t+a[i];

aver=1.0*t/6:

printf("%4.1f ".aver);

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

if(a[i]>aver)

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

}

程序运行结果为:

3. #include <stdio.h>

main()

(inta=100,b=200,c=300,d,*p1=&a,*p2=&b,*p3=&c;

d=*p1+*p2:

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

p1=&d:

d=a+c;

printf("d=%d ",*p1);

p1=p2=&c:

a=*p1+*p2:

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

c=a+b:

printf("c=%d ",*p3);

}

程序运行结果为:

五、5.程序设计题

0. 下面的程序是利用公式

ec90be5ed687f178b62de92645183bc7.png求π的近似值,直到最后一项的值小于10-7为止;最后输出π的近似值。请根据题义编写计算π的函数。

#include<stdio.h>

#include<math.h>

double fpi();

main()

{double pi,n;

printf("请输入计算精度");

scanf("%lf",&n);

pi=fpi(n);

printf("π=%f ",pi);

}

/*以下为定义函数部分*/

六、6.填空题-单片机原理与接口技术

0. 8051单片机共有______个中断源,可以设置______个中断优先级。

1. 片内RAM的位寻址区的地址范围为______H~______H。

2. 两条指令MOV 15H,R1及MOV 15H,@R1源操作数的寻址方式,前者为______,后者为______。

3. 执行下列指令组后,程序计数器PC的内容为______H。

2301H  ANL  A,  #00H

2303H  JZ  rel; rel为30H

2305H  ……

……

4. 执行调用子程序指令LCALL addr时,其断点地址存放在______中。

5. 已知累加器A中存放一个十进制数的ASCII码,要将其转换为BCD码,可执行一条逻辑运算指令______。

6. 8031单片机时钟频率12MHz,如将T1设定为方式2,定时时间100μS,则TH1应为______。

7. 8031单片机IE=9DH,IP=06H时,CPU能响应的优先权最高的中断源是______。

七、7.改错题-单片机原理与接口技术

0. 下列程序段欲重复执行LOOP开始的程序段50次。

MOV  A,  #32H

LOOP: ……

DEC  A

DJNZ  ACC,LOOP

错误:______

改正:______

1. 8031单片机时钟频率12MHz,T1为工作方式2,50μS定时,允许中断。试指出以下初始化程序的错误并改正。

MOV  TMOD,#20H

MOV  TH1,#206

MOV  TL1,TH1

SETB TR1

MOV  IE,#82H

错误:______

改正:______

八、8.程序阅读题-单片机原理与接口技术

0. 如8031单片机时钟频率6MHz,在P1.0口接一个红外LED发光二极管,P1.0低电平时亮。运行以下程序后,INT0每中断一次(两次中断间隔时间足够大),LED将发送宽度为______ms的光脉冲______个。

0RG   0000H

LJMP  BEG

ORG   0003H  ;外中断0中断入口

MOV   R7,#20

SETB  TR1

RETI

ORG   001BH  ;定时器1中断入口

CPL   P1.0

DJNZ  R7,RRT

CLR   TR1

SETB  P1.0

RT: RETI

BEG: MOV  TMOD,#20H

MOV  TH1,#56

MOV  TL1,#56

MOV  IE,#89H

SJMP  $

1. 已知:(30H)=37H,(31H)=21H,(50H)=75H,(51H)=10H执行以下子程序:

MOV  R0,#30H

MOV  R1,#50H

MOV  R7,#2

CLR  C

LOOP:MOV  A,@R0

ADDC  A.@R1

DA   A

MOV  @R0.A

INC  R0

INC  R1

DJNZ  R7,LOOP

RET

则结果为:(30H)=______H,(31H)=______H,(R1)=______H,(R7)=______H。

九、9.程序设计题-单片机原理与接口技术

0. 累加器A中的数,如大于等于50H则减去20H后,差值存于片内RAM 40H中,如该数小于50H则加20H后,其和存于片内RAM 40H中。请接着以下指令,补全缺少的部分。

CJNE A,#50H,NEXT

SJMP $

十、10.微型计算机原理与接口技术-应用题

0. 交通灯控制实验电路如题43图所示,875l单片机时钟频率6MHz,P1.5~P1.0经电阻接六个发光二极管,其中红1、黄1、绿1,为南北向指示灯;红2、黄2、绿2,为东西向指示灯。以下程序用定时器TD产生0.1秒中断为计时标准,按以下四种状态,交替循环。(1)红1、绿2,亮20秒;(2)红1、黄1、黄2,亮1秒;(3)绿1、红2亮15秒;(4)黄1、红2、黄2亮1秒。试填满程序中的缺少部分。

64606b84345b317f6827e8e552b99397.png  

题43图

ORG   0000H

AJMP  START

ORG    ①  ;定时器T0入口地址

MOV   TL0,#0B0H

MOV   TH0,#3CH

DJNZ  30H, ②

MOV   A,R7

INC   A

ANL   A,# ③ H

MOV   R7,A

ADD   A,#T0_5-1D_1

MOVC   ④

T0_1: MOV   P1,A

MOV   30H,#10  ;第2和第4种状态的计数次数

CJNE  R7,#0,T0_2

MOV   30H,# ⑤ ;第1种状态的计数次数

SJMP  T0_3

T0_2: CJNE  R7,#2,TD_3

MOV   30H,# ⑥ ;第3种状态的计数次数

T0_3: RETI

T0_5: DB   0DEH, ⑦ H,0F3H,0E5H

;每种状态的显示代码(没用到的引脚输出应为“1”)

START: MOV   TMOD,#01H

MOV   TL0,#0BOH

MOV   TH0,#3CH

MOV   30H,#200

MOV   R7,#0

MOV   IE,#82H

SETB   ⑧

MOV   P1,#0DEH

LOOP: SJMP  LOOP

①______; ②______; ③______; ④______;

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

附:有关特殊功能寄存器各位内容:

39169712713cbf51446c6cbc162e2fbe.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值