微型计算机原理与接口技术自考题7Word格式文档下载.docx
《微型计算机原理与接口技术自考题7Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《微型计算机原理与接口技术自考题7Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
7.8086/8088CPU的寄存器中,能在I/O操作时用作端口地址寄存器的是()
A.AXB.BX
C.CXD.DX
[解析]DX在字乘、字除指令中用作辅助寄存器,在I/O指令间接寻址时作端口寄存器。
8.8086CPU中,EU的组成主要包括()
A.通用寄存器、段寄存器、算术逻辑部件B.通用寄存器、标志寄存器、算术逻辑部件
C.地址控制逻辑、总线控制逻辑、指令队列D.通用寄存器、标志寄存器、指令队列
[解析]8086CPU的执行部件EU由通用寄存器、标志寄存器、算术逻辑部件和EU控制系统等组成。
9.在堆栈中压入一个数据时()
A.先压栈,再令SP+1B.先令SP+1,再压栈
C.先压栈,再令SP-1D.先令SP-1,再压栈
10.执行以下循环语句后,正确的结果是()
i=0:
while(i++<5);
A.i=0B.i=4
C.i=5D.i=6
11.对下面说明叙述正确的是()
typedefstructstu
intn;
charch[8];
student;
A.student是结构体类型名B.student是结构体变量
C.typedefstruct是结构体类型D.struct是结构体类型名
12.在扩展系统中,能够提供地址信号的高8位的端口是()
A.P0口B.P1口
C.P2口D.P3口
C.
13.指令周期是指()
A.CPU从主存取出一条指令的时间
B.CPU执行指令的时间
C.CPU从主存取出一条指令加上执行这条指令的时间
D.时钟周期时间
[解析]本题考查的知识点为指令周期。
[要点透析]每条指令的执行由取指令、译码和执行等操作组成。
执行一条指令所需要的全部时间称为指令周期(InstructionCycle),不同指令的指令周期是不等长的。
14.MCS-51系列单片机扩展外部存储器时,有一个I/O口作为低8位地址和数据线的分时复用口,此:
I/O口是()
A.P3口B.P2口
C.P1口D.P0口
15.执行如下三条指令后,30H单元的内容是()
MOVR1,#30H
MOV40H,#0EH
MOV@R1,40H
A.40HB.0EH
C.30HD.FFH
[解析]MOV@R1,40H是关键语句,其含义是将片外40H单元中的内容送入片内30H单元中。
16.在8086CPU中,CS=1000H,DS=2000H,SS=3000H,IP=4000H,SP=5000H,则下一条执行的指令字节地址为()
A.14000HB.25000H
C.5000HD.8000H
A.
二、填空题(总题数:
4,分数:
8.00)
17.以下程序的功能是对10个整数从小到大排序。
请填空。
#include<stdio.h>
sort(intarr[],intn);
main()
inta[10],*p,i;
printf("
input10numbers:
"
);
for(i=0;
i<10;
i++)
scanf("
%d"
,&a[i]);
/ntheoriginalarrayis:
for(p=a;
P<a+10;
p++)
,*p);
sort(a,10);
/nthepresentarrayis:
for(P=a;
P++)
sort(intarr[],intn)
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;
2.00)
填空项1:
__________________
(正确答案:
*p1>*p2)
18.表达式7+8>2&
&
25%5的结果是1。
0)
[解析]先算术、比较最后逻辑。
25%5=0,所以表达式为0。
19.等差数列的第一项a=2,公差d=3,下面程序的功能是在前n项和中,输出能被4整除的所有项的和。
inta,d,sum;
a=2;
d=3;
sum=0:
dosum+=a;
a+=d:
if(______)printf("
%d/n"
,sum);
while(sum<200);
sum%4==0)
[解析]整除表达式的使用。
20.如果把数组名作为实参传递给对应的形参,则实际上传递的是该数组的______。
起始地址或者:
地址或者:
首地址或者:
第一个元素的地址)
三、改错题(总题数:
21.main()
inta[3]=0,1,2;
inti;
scarf("
,&a);
for(i=1;
i<3;
i++)a[0]=a[0]+a[i];
a[0]=%d/n"
,a[0]);
错误:
______
改正:
______
将其修改为scanf("
,&a[0]);
)
[解析]scanf函数格式错误,a是数组名,不是数组元素
22.structstud
charnum[6];
ints[4];
doubleave=0.0;
a;
i<4;
i++)scanf("
,&a.s[i]);
i++)a.ave+=a.s[i];
%f"
,a.ave);
doubleave=0.0;
将其修改为doubleave;
[解析]结构体成员不能在声明时初始化
23.#include"
stdio.h"
inti,s;
s=0;
i<=10;
i++;
s=s+i)
,s);
将其修改为for(i=0;
i++,s=s+i))
[解析]for循环语句格式错误
24.#include"
siructstudent
intnumber;
charname[10]="
"
;
stmctstudents;
s.number=12345;
,s.number);
错误______
改正______
//error:
在结构体的声明中不能对成员进行初始化
charname[10];
四、程序阅读题(总题数:
25.#include<stdio.h>
(inta=100,b=200,c=300,d,*p1=&
a,*p2=&
b,*p3=&
c;
d=*p1+*p2:
d=%d/n"
,d);
p1=&
d:
d=a+c;
,*p1);
p1=p2=&
c:
a=*p1+*p2:
a=%d/n"
,a);
c=a+b:
c=%d/n"
,*p3);
程序运行结果为:
4.00)
d=300
d=400
a=600
c=800)
26.#include<stdio.h>
floata,b
if(a<10.0)b=1.0/2;
elseif((a<0.5)&&(a!
=2.0))b=1.0/(a+2.0);
elseif(a<10.0)b=1.0/2;
elseb=10.0;
%f/n"
程序运行时输入2.0<回车>,则程序的输出结果是:
0.500000)
[解析]注意嵌套条件语句。
27.#include<stdio.h>
intf(t)
intt;
intx;
if(t<=1)x=1;
elsex=t*f(t-1);
returnx;
intt,x;
t=4;
x=f(t);
t=%d"
,t);
x=%d/n"
,x);
t=4x=24)
28.#include<stdio.h>
#defineN6
voidmain()
inta[N]=4,5,8,3,6,1;
intj,i,t;
i<N-1;
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;
j<N;
j++)printf("
%5d"
,a[j]);
程序运行结果是:
134568)
[解析]双循环语句是排序过程。
五、程序设计题(总题数:
1,分数:
29.自定义一个函数,函数的形参为字符数组s1和s2,函数功能是将字符串s1中的所有数字字符取出,存入另一字符数组s2中,使s2成为一个新的字符串,并在函数中将字符串s2输出。
__________________________________________________________________________________________
正确答案:
(voidfun(chars1[],chars2[])
{inti,j=0;
sl[i];
if(s1[i]>='
0'
&&s1[i]<='
9'
)
s2[j++]=s1[i];
s2[j]='
/0'
puts(s2);
})
六、填空题-单片机原理与接口技术(总题数:
8,分数:
30.8031单片机内部数据RAM中的位寻址区的地址范围是1。
20H~2FH)
31.MCS-51单片机中的堆栈是在1区中开辟的一个区域,其数据的存取遵守2的原则。
片内RAM)
先进后出)
32.EPROM中的信息可采用1照射的方法擦除。
紫外线)
33.指令MOVA,#41H,其源操作数的寻址方式为1。
指令MOVA,41H其源操作数的寻址方式为2。
立即数寻址)
直接寻址)
34.MCS-51单片机外部中断请求信号有电平方式和______,在电平方式下,当采集到INT0或INT1的有效信号为______时,激活外部中断。
脉冲方式低电平)
[解析]电平方式也称为低电平有效方式,脉冲方式也称其为下降沿有效。
35.假设两个一字节的十六进制数9FH,81H相加的和为8位二进制数,那么相加后其进位标志为______,溢出标志为______。
11)
36.MCS-51系列单片机片内部数据存储器工作寄存器区32个字节被均匀地分为4个组:
其中第2组工作寄存器,地址为______;
第3组工作寄存器,地址为______。
10H~17H18H~1FH)
37.串行控制寄存器SCON的单元地址是1。
98H)
七、改错题-单片机原理与接口技术(总题数:
2,分数:
38.设单片机的fosc=6MHz,下面程序是100ms延时的子程序。
DELAY:
MOVR7,#64H
A0:
MOVR6,#0FAH
DJNZR6,$
DJNZR7.DELAY
RET
DJNZR7,DELAY
DJNZR7,A0)
[解析]DELAY是子程序的入口地址,A0是循环入口地址
39.下面程序段是将ROM3000H单元内容送R7。
MOVDPTR,#3000H
CLRA
MOVCA,@R7+DPTR
MOVR7,A
MOVCA,@A+DPTR)
[解析]R7不能作变址寻址
八、程序阅读题-单片机原理与接口技术(总题数:
40.已知:
(30H)=23H,(31H)=13H,(40H)=72H,(41H)=08H
执行:
MOVA,30H
ADDA,40H
DAA
MOV30H,A
MOVA,31H
ADDCA,41H
DAA
MOV31H,A
则结果为:
(30H)=______H,(31H)=______H,(40H)=______H,(CY)=______。
95;
21;
72;
41.以下是8051单片机定时/计数器的初始化程序(设单片机晶振频率是6MHz):
T0作为定时,定时时间为______,T1作为计数,记满______溢出。
ORG0000H
LJMP0050H
ORG0050H
MOVTMOD,#20H
MOVTH0,#63H
MOVTL0,#18H
MOVTH1,#9CH
MOVTL,#9CH
SETBEA
SETBTR0
SETBTR1
SJMP$
10ms100)
[解析]TOMD=20H,说明设置,T0为定时,方式0,T1为计数,方式2。
所以:
T1计数初值9CH=10011100B=156,256-156=100即满100溢出。
T0的初值为6318H=0110001111000B=3192,213=8192,8192-3192=5000,机器周期为12/6MHz=2μs,2μs×
5000=10000μs=10ms。
九、程序设计题-单片机原理与接口技术(总题数:
42.累加器A中的数,如大于等于50H则减去20H后,差值存于片内RAM40H中,如该数小于50H则加20H后,其和存于片内RAM40H中。
请接着以下指令,补全缺少的部分。
CJNEA,#50H,NEXT
(MOON:
CLRC
SUBBA,#20H
SJMPCOM
NEXT:
JNCMOON
ADDA,#20H
COM:
MOV40H,A)
十、十、应用题(总题数:
43.8051单片机实验装置中的扫描式数字显示部分如图所示,6个共阳极LED的段驱动由P2口经8路反相驱动器提供,位驱动由P1.5~P1.0口经6路同相驱动器提供。
以下程序段,使用定时器TD产生2ms中断(时钟频率12MHz),将缓冲区40H~45H(对应LED从左到右)的低4位中的16进制数,转换成显示代码,在LED上扫描显示。
AJMPSTART
ORG000BH
MOVTL0,#①H;
定时器11D时间常数
MOVTH0,#②H
MOVA.@R0
LCALLLDCODE
MOVP2,③
MOVP1,④
TNCR0
MOVA.R7
RRA
MOVR7.A
JNB⑤,T0_2
MOVR0,#4OH
MOVR7,#20H
T0_2:
RETI
START:
MOVTMOD,#⑥H
MOVTL0,#①H
MOVTHO,#②H
MOVR0,#40H
MOVR7,#20H
MOVIE,#82H
SETB⑦
LOOP:
SJMPLOOP
LDCODE:
ANLA,#0FH
INCA
MOVC⑧
DB3FH,06H,5BH,4FH,66H,……;
显示代码
①______;
②______;
③______;
④______;
⑤______;
⑥______;
⑦______;
⑧______。
附:
有关特殊功能寄存器各位内容:
中断允许控制寄存器(IE)
中断优先级寄存器(IP)
定时器控制寄存器(TCON)
定时器方式寄存器(TMOD)
①30②0F8③A④R7⑤ACC.7⑥01⑦TR0⑧A,@A+PC)