2012年微型计算机原理与接口技术自考题模拟(5)
摘要:2012年微型计算机原理与接口技术自考题模拟(5):2012年微型计算机原理与接口技术自考题模拟。本试卷总分100分;共有10类型题目
2012年微型计算机原理与接口技术自考题模拟(5):2012年微型计算机原理与接口技术自考题模拟。本试卷总分100分;共有10类型题目
一、单项选择题 ,每小题1分,共16分,在每小题列出的四个备选项中只有一个选项是符合题目要求的,请将其代码填写在题后的括号内。
1.以下集成块型号中属于MCS-51系列单片机型号的是( )
A.8052AH
B.80C198
C.80C196KB
D.80196KC
2.如果A=125,B=-78,则[A+B]补是( )
A.00101110
B.01101111
C.00101111
D.00100111
3.
4.下列字符数组长度为5的是( )
A.char a[10]={"h","a","b","c","d"};
B.char b[]={"h","a","b","e","d"," "};
C.char c[]={"h","a","b","c","d"};
D.char d[6]={"h","a","b","c"," "}
5.对下列结构体变量stu的成员引用不正确的是( )
struct student
{int m;float n;}stu,*p;
A.p.stu.n
B.P->m
C.(*p).m
D.stu.n
6.以下表述错误的是( )
A.ASCII码文件是文本文件
B.ASCII码文件占用内存较少
C.二进制文件占用内存较多
D.语句FILE fp;定义一个名为fp的文件指针
7.MCS-51外部数据总线组成是( )
A.P0
B.P1
C.P2
D.P3
8.定义位地址的伪指令是( )
A.DS
B.DB
C.BIT
D.DW
9.8051/8031型单片机中断标志位的个数是( )
A.6
B.5
C.4
D.7
10.MCS-51单片机I/O接口寻址方式是( )
A.独立寻址
B.相对寻址
C.存储器映射
D.绝对寻址
11.共阳极显示管点亮时输入电平是( )
A.高电平
B.低电平
C.低电压
D.接地
12.PSW中的RS1和RS0用来( )
A.选择工作寄存器区号
B.指示复位
C.选择定时器
D.选择工作方式
13.P0口作数据线和低8位地址线时( )
A.应外接上拉电阻
B.不能作I/O口
C.能作I/O口
D.应外接高电平
14.8031单片机的定时器T0用作计数方式时是( )
A.由内部时钟频率定时,一个时钟周期加1
B.由内部时钟频率定时,一个机器周期加1
C.由外部计数脉冲计数,正跳变加1
D.由外部计数脉冲计数,一个机器周期加1
15.在用接口传信息时,如果用一帧来表示一个字符,且每一帧中有一个起始位、一个结束位和若干个数据位,该传送属于( )
A.串行传送
B.并行传送
C.同步传送
D.连续传送
16.芯片8255A在方式1输出时,它和外设问的联络信号是( )
A.和IBF
B.和
C.和IBF
D.和
二、填空题每小题2分,共8分请在每小题的空格中填上正确答案。
17.int a=6;则表达式a+ =a- =a*a的值是______。
18.若a=2,b=4,则表达式!(x=a)||(y=b)&&0的值是______。
19.下面程序的功能是用“辗转相除”求两个整数的最大公约数。请填空。
#include<stdio.h>
main()
{int r,m,n;
scanf("%d%d",&m,&n);
if(m<n)______
r=m%n:
while(r){m=n;n=r;r=m%/n};
printf(“%d
",n);
}
20.下面程序的功能是将字符串s中所有的字符a删除。请填空。
#include<stdio.h>
void main()
{char s[80];
int i,j=0;
gets(s);
for(i=0;s[i]!=" ";i++)
if(s[i]!="a")______;
s[j]=" ";
puts(s);}
三、改错题每小题2分,共8分每小题只有一处错误或不妥。请指出。并将其改正。
21.#include<stdio.h>
#include<conio.h>
main()
{
int i,j;
int sum,k=0;
for(i=0;i<5;i++);
{
printf("input a number:");
scanf("%d",k);
sum+=k:
}
printf("the sum is%d",sum);
}
错误:______
改正:______
22.以下程序运行时从键盘输入字符串ABCDE按回车键结束输入,使输入字符串中的A和B转换为字符#输出,其他字符输出为*。
#include"stdio.h"
main()
{char c:
while((c=getchar())!=" ")
{switch(c)
{case"A":
case"B":putchar("#");break;
default:putchar("*");}
}
}
错误:______
改正:______
23.以下程序计算1×2×3×……×10的和。
#include"stdio.h"
main()
{int i,s=1;
do
{s=s+i;i++;
}while(i<=10)
printf("%d
",s);
}
错误:______
改正:______
24.输入10个整数存入一维数组,再按逆序重新存放后再输出。
#include<stdio.h>
main()
{int i,j,a[10],k;
for(i=0;i<=9;i++)scanf("%d",&a[i]);
for(i=0,j=9;i<=4;i++,j--)
{k=a[i];a[i]=a[j];a[j]=k;}
for(i=0;i<=9;i++)printf("%d",a);
}
错误:______
改正:______
四、程序阅读题每小题2分,共8分请阅读下列程序。写出程序运行结果。
25.#include<stdio.h>
int fun(char*s)
{char*p=s;
while(*p!=" ")p++;
return(p-s);}
main()
{printf("%d
",fun("hello world"));
}
程序运行结果是:______
26.#include<stdio.h>
main()
{int i,index,n:
int a[10];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
index=0;
for(i=1;i<n;i++)
{if(a[i]<a[index])index=i;}
printf("min=%d,index=%d
",a[index],index);
}
程序运行时输入5 7 9 5<回车>,则程序运行结果是:______
27.#include<stdio.h>
int add(int a,int b)
{int c;
c=a+b:
return c;
}
void print(int t)
{printf("z=%d
",t);}
main()
{int x,y,z;
x=1;y=2;
z=add(x,y);
print(z);
}
程序运行结果是:______
28.#include<stdio.h>
struct mine{int qa,qb,qc;};
main()
{struct mine s[2]={{1,2,3},{4,5,6}};
int answer;
answer=s[0].qa%s[1].qb;
printf("%d
",answer);
}
程序运行结果是:______
五、程序设计题每小题1分,共5分
29.编写程序,从键盘输入6名学生的5门成绩,分别统计出每个学生的平均成绩并输出。
六、填空题每小题2分,共16分请在每小题的空格中填上正确答案。
30.8051单片机有______条地址线,它寻址的地址范围______。
31.MCS-51单片机的一个机器周期是由______个状态构成,一个状态又包含了______节拍。
32.单片机程序的入口地址是______,外部中断1的入口地址是______。
33.若采用6MHz的晶体振荡器,则MCS-51单片机的振荡频率为______,机器周期为______。
34.串行口方式3发送的第9位数据要事先写入______寄存器的______位。
35.对8255的C口D3位置1的控制字是:______。
36.假设(R0)=30H,(20H)=38H,执行指令MOV R0,20H后(R0)=______。
37.执行如下三条指令后,30H单元的内容是______。
MOV R1,#30H
MOV 40H,#0EH
MOV @R1,40H
七、改错题每小题2分,共4分每小题只有一处错误或不妥,请指出,并将其改正。
38.下面子程序是从串行接口接受一个字符。
START:MOV TMOD,20H ;定时器T1工作于模式2
MOV TH1,#0E8H ;设置波特率为1200b/s
MOV TL1,#0E8H
SETB TR1 ;启动T1
MOV SCON,#50H ;串行接口工作于方式1,允许接收
L1: JNB R1,L1 ;等待接收数据,未接收到数据,继续等待
CLR R1 ;接收到数据,清R1
MOV A,SBUF ;接收到数据送A
RET
错误:______
改正:______
39.片内RAM40H开始的单元内有10字节的二进制数,下面程序是完成找出其中最大值并存于50H单元中。
START:MOV R0,#40H ;数据块首地址送R0
MOV R7,#09H ;比较次数送R7
MOV A,R0 ;取数送A
LOOP: INC R0
MOV 30H,@R0 ;取数送30H
CJNE A,30H,NEHT ;(A)与(30H)相比
NEXT:JNC BIE1 ;(A)≥(30H)转BIR1
MOV A,30H ;(A)<(30H),大数送A
BIE1: DJNZ R7,LOOP ;比较次数减1,不为0,继续比较
MOV 50H,A ;比较结束,大数送50H
RET
错误:______
改正:______
八、程序阅读题,每小题5分,共10分请阅读下列程序,写出程序运行结果。
40.下面程序的功能是______。
ORG 4000h
MOV R0,#20H
MOV R7,#0AH
MOV A,@R0
DEC R7
LOOP:INC R0
MOV 40H,@R0
CJNE A,40H,NEXT
NEXT:JC LOOP1
MOV A,40H
LOOP1:DJNZ R7,LOOP
MOV 41H,A
HERE:SJMP $
END
41.下面程序的功能是______。
BTOD1:MOV A,R2
MOV B,#100
DIV AB
MOV R6,A
MOV A,#10
XCH A,B
DIV AB
SWAP A
ADD A,B
MOV R5,A
RET
九、程序设计题,共5分
42.用89C51的P1口,监测某一按键开关,使每按键一次,输出一个正脉冲(脉宽随意)。
十、应用题,共20分
43.
如下图所示,用8255A芯片扩展单片机的I/O口,8255的A口作输入,A口的每一位接一个开关,用B口作为输出,输出的每一位接一个发光二极管。现要求某个开关接高电平(为1)时,相应位上的发光二极管就亮(输出低电平0)。设8255的A口地址为70H,B口地址为71H,C口地址为72H,控制口地址为73H。完成下面程序填空。
START:MOV DFTR, ①
MOV A, ②
MOVX ③ ,A
MOV DPTR, ④
MOVX A, ⑤
CPL ⑥
INC ⑦
MOVX @DPTR, ⑧
AJMP START
答:①______;②______;③______;④______;
⑤______;⑥______;⑦______;⑧______。
延伸阅读
- 考前自救指南:希赛自考题库快速提分
- 自考专属刷题工具,刷题即提分!
- 最后9天,自考历年真题应该怎么刷?
- 自考备考一站式服务:希赛自考题库APP
- 0基础逆袭秘籍:希赛全套自考学习包(含智能题库)
- 避开备考误区!用希赛自考APP快速提分!
自考微信公众号
扫码添加
自考备考资料免费领取
去领取
扫描二维码