全国自考(微型计算机原理与接口技术)模拟试卷4
一、1.单项选择题
0. 以下集成块型号中不属于8位系列单片机型号的是( )
A.83C152JC
B.83C52JA
C.83C51FB
D.8097JF
1. 以下使用后缀表日月十六进制数的是( )
A.B
B.H
C.D
D.O
2. 以下说法正确的是( )
A.计算机能直接执行C的源程序
B.后缀是EXE的文件是二进制文件
C.后缀是OBJ和EXE的文件是可执行文件
D.后缀是OBJ的文件是二进制文件
3. 从循环体内某一层跳出,继续执行循环外的语句是( )
A.return语句
B.break语句
C.continue语句
D.空语句
4. 执行下面程序段后,正确的结果是( ) intx=0,y=0; while(x<15)y++,x+ =++y;
A.x=8
B.y=20
C.x=20
D.y=12
5. 以下定义,使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;
6. 下面不是运算器完成的主要任务是( )
A.算术运算
B.位运算
C.数据处理
D.指令译码
7. 不是伪指令关键字的是( )
A.ORG
B.START
C.EQU
D.DATA
8. 8051/8031型单片机提供中断源的个数是( )
A.3
B.4
C.6
D.5
9. 不是MCS-51单片机I/O的数据传送方式的是( )
A.无条件传送
B.随机传输
C.查询方式
D.中断方式
10. 共阴极显示管点亮时输入电平是( )
A.低电平
B.低电压
C.低阻态
D.高电平
11. 单片机上电复位后,堆栈区的最大允许范围的单元是( )
A.64
B.120
C.128
D.256
12. 8051单片机的VCC(40)引脚是( )
A.主电源+5V引脚
B.接地引脚
C.备用电源引脚
D.访问片外存贮器引脚
13. 8031的定时器T1作计数方式,模式2的方式控制字是( )
A.60H
B.02H
C.06H
D.20H
14. 8031的定时器T0作计数方式,用模式1(16位计数器),则应用初始化编程指令是( )
A.MOV TMOD,#01H
B.MOV TMOD,10H
C.MOV TMOD,#05H
D.MOV TCON,#05H
15. 8255是一个可编程的:I/O接口芯片,“可编程”是( )
A.有14位可控定时器/计数器
B.芯片内包含有256字节的RAM
C.只能使用中断编程的方法进行I/O数据传送
D.使用命令字以程序方法设置I/O数据传送的方式
二、2.填空题
0. int a=6;则表达式a+ =a- =a*a的值是______。
1. 若a=2,b=4,则表达式!(x=a)||(y=b)&&0的值是______。
2. 下面程序的功能是用“辗转相除”求两个整数的最大公约数。请填空。
#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);
}
3. 下面程序的功能是将字符串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);}
三、3.改错题
0. #include"stdio.h"
main()
{char a[10],b[10]="Computer"
a=b;printf("%s",a);
}
错误:______
改正:______
1. main()
{inta[3]={3*0},i;
for(i=1;i<3;i++)scanf("%d",a[i]);
for(i=1;i<3;i++)a[0]=a[0]+a[i+1];
printf("%d",a[0]);
}
错误:______
改正:______
2. 以下程序从键盘输入20个整数存入数组,统计输入非负数的个数,并计算输入的非负整数之和。
#include"stdio.h"
main()
{int i,a[20],s,n;
s=n=0:
for(i=0;i<20;i++)scanf("%d",&a[i])
for(i=0;i<20;i++)
{if(a[i]<0)break;
S+=a[i];n++;
}
printf("s=%d ,n=%d
",s,n);
}
错误:______
改正:______
3. 输出100以内能被3整除且个位数为6的所有整数。
#include<stdio.h>
main()
{int i,j;
for(i=0;i<=9;i++)
{j=i*10+6:
if(j%3==0)continue;
printf("%d",j);}
}
错误:______
改正:______
四、4.程序阅读题
0. main()
{int a[]={1,3,5,2,7};
int b[]={5,3,9,4,6};
int c[5],i;
for(i=0;i<5;i++)
c[i]=a[i]*b[i];
for(i=0;i<5;i++)
printf("%d",c[i]);}
程序运行结果是:______
1. #include<stdio.h>
ss(char*s)
{char *p=s:
while(*p)p++;
return(p-s);}
main()
{char *a="abded";
int i;
i=ss(a);
printf("%d
",i);}
程序运行结果是:______
2. #include<stdio.h>
main()
{int i=0,j,c[6];
scanf("%d",&j);
do{c[i]=j%10;i++;j=j/10;
}while(j!=0);
for(--i;i>=0;i--)
{printf("%d",c[i]);
if(i>0)printf(",");}
}
程序运行时,输入整数为2345<回车>,则输出为:______
3. #include<stdio.h>
main()
{inti,j,sum=0,m,n=4;
for(i=1;i<=n;i++)
{m=1;
for(j=1;j<=i;j++)m=m*j;
sum=sum+m;}
printf("sum=%d
",sum);
}
程序运行结果是:______
五、5.程序设计题
0. 编程序对输入的1000以下的整数,求出其相应的个位数、十位数和百位数。
六、6.填空题-单片机原理与接口技术
0. 8279有______条命令,用命令字______位来表示。
1. 若只需要开串行口中断,则IE的值应设置为______,若需要将外部中断0设置为下降沿触发,则执行的语句为______。
2. 外围扩展芯片的选择方法有两种,它们分别是______和______。
3. MCS-51单片机中,在IP=0x00时,优先级最高的中断是______,最低的是______。
4. 34.执行下列指令组后,标志位(OV)=______(P)=______。
MOV A,#0B4H
ADD A,#00H
SUBB A,#51H
5. 当MCS-51引脚______信号有效时,表示从P0口稳定地送出了低8位地址。
6. MCS-51的定时器用作定时,其定时时间与时钟频率和计数初值有关。用作计数时,最高计数频率的______。
7. MCS-51的特殊功能寄存器分布在______地址范围内。
七、7.改错题-单片机原理与接口技术
0. 下面程序段是将ROM2000H单元的内容送外部RAM1000H单元。
MOV DPTR, #2000H
CLR A
MOVC A,@A+DPTR
MOV DPTR,#1000H
MOV @DPTR,A
错误:______
改正:______
1. 下面程序段实现双字节加法运算(R1)(R0)+(R7)(R6)送入(31H)(30H)。
MOV A,R0
ADD A,R6
MOV 30H,A
MOV A,R1
ADD A,R7
MOV 31H,A
SJMP $
错误:______
改正:______
八、8.程序阅读题-单片机原理与接口技术
0. 2506H M5: MOV SP,#58H
2509H MOV 10H,#0FH
250CH MOV 11H,#0BH
………
250FH ACALL XHD;PC+2→PC,
MOV 20H,11H
2514H M5A:SJMP M5A
XHD:PUSH 10H
PUSH 11H
POP 10H
POP 11H
RET
执行M5A:SJMPM5A后,(SP)=______(20H)=______
1. 设在31H单元存有#23H,执行下面程序:(41H)=______(42H)=______
MOV A,31H
ANL A,#0FH
MOV 41H,A
MOV A,31H
ANL A,#0F0H
SWAP A
MOV 42H,A
九、9.程序设计题-单片机原理与接口技术
0. 编程实现数据块传送,将片内RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。
十、10.微型计算机原理与接口技术-应用题
0. 已知晶体振荡器的频率为fosc=12MHz。T0工作在方式1计数器模式,T1作定时器,工作在方式0,每隔0.5ms使P1.0引脚上的电平变反,在P1.0引脚上产生周期为1ms的方波输出,将下列程序补充完整。
0RG 0000H
AJMP MAIN
0RG 001BH
AJMP INTP
ORG 0030H
MAIN:MOV TMOD, ① ;写控制字
MOV TH1,#0F0H ;写定时常数(定时1ms)
MOV TL1,#0CH
② ;启动T1
③ ;启动T0
④ ;允许T1中断
⑤ ;开放CPU中断
AJMP $ ;定时中断等待
ORG 0200 H ;T1中断服务程序
INQP:PUSH 0
MOV TH1,#0F0H ;重写定时常数
MOV TL1,#0CH
CPL P1.0 ;P1.0变反输出
⑥
⑦
⑧
答:①______;②______;③______;④______;
⑤______;⑥______;⑦______;⑧______。
延伸阅读
- 考前自救指南:希赛自考题库快速提分
- 自考专属刷题工具,刷题即提分!
- 最后9天,自考历年真题应该怎么刷?
- 自考备考一站式服务:希赛自考题库APP
- 0基础逆袭秘籍:希赛全套自考学习包(含智能题库)
- 避开备考误区!用希赛自考APP快速提分!
自考微信公众号
扫码添加
自考备考资料免费领取
去领取
扫描二维码