1、全国自考(微型计算机原理与接口技术)模拟试卷 3 及答案与解析一、单项选择题1 以下集成块型号中不属于 16 位系列单片机型号的是( )(A)8095BH(B) 8096BH(C) 83C452(D)9097BH2 用 16 位(bit)二进制能够表示的无符号数的范围是( )(A)65536(B) 65535(C) 65537(D)655343 以下说法中正确的是( )(A)C 语言程序总是从第一个定义的函数开始执行(B)要调用的函数必须在 main()函数中定义(C) C 语言程序总是从 main()函数开始执行(D)main()函数必须放在程序的开始部分4 不能把字符串 Hello!赋给数
2、组 b 的语句是( )(A)char b10;b=”Hell0 !“;(B) char b10=H,e,l,l,o ,!;(C) char b10;strcpy(b,“Hello !“);(D)char b10=“Hello !“;5 若有定义 int a10,*p=a;则 p+5 表示的是( )(A)a5的值(B) a6的值(C) a5的地址(D)a6的地址6 对以下定义正确的表述是( ) union node int num;char name10 ;stud;(A)stud 是一个联合体类型(B) stud 是一个联合体变量(C) node 是一个联合体数据(D)node 是一个联合体变
3、量7 MCS-51 布尔处理机的存储空间指的是( )(A)00H0FH(B) 10H1FH(C) 20H2FH(D)30H3FH8 不影响程序状态字 PSW 的指令关键字是( )(A)ADD(B) ADDC(C) SUBB(D)RRC9 下面不属于中断处理过程的是( )(A)保护现场号恢复现场(B)开中断与关中断(C)中断向量(D)中断服务与中断返回10 MCS-51 单片机的定时器/计数器工作方式 1 是 ( )(A)16 位计数器结构(B) 8 位计数器结构(C) 13 位计数器结构(D)两个 8 位计数器结构11 用户可以直接使用的 8031 单片机 I/O 接口是( )(A)P0(B)
4、 P2(C) P1(D)P312 ANL20H,#30H 指令中,源操作数的寻址方式是 ( )(A)立即寻址(B)直接寻址(C)位寻址(D)相对寻址13 JZ rel 指令中,操作数 rel 的寻址方式是( )(A)立即寻址(B)直接寻址(C)位寻址方式(D)相对寻址方式14 通过串行口发送或接收数据时,在程序中应使用( )(A)MOV 指令(B) MOVX 指令(C) MOVC 指令(D)SWAP 指令15 下列对 SCON 的相关位描述不正确的是 ( )(A)当 REN=1 时,禁止串行口接收数据(B)在方式 0 时,SM2 必须为 0(C) RI 位由软件清零(D)IT1=1 ,表示帧发
5、送结束16 8051 单片机系统扩展时使用的锁存器用于锁存( )(A)高 8 位地址(B)低 8 位地址(C) 8 位数据(D)ALE 信号二、填空题17 inta,b,c ;则表达式 a=(b=4)+(c=2)的值是_ 。18 若 a=1,b=4,c=3,则表达式!(a b)|!c1 的值是_。19 以下程序的功能是计算字符串的长度。请填空。 #includestdio.h main() char str100,*sp=str; int nlen=0; scanf(“%s“,str); for(;*sp!=0;sp+)_; printf(“%d“,nlen) ; 20 以下程序的功能是对 1
6、0 个整数从小到大排序。请填空。 #includestdio.h sort(int arr,int n); main() int a10,*p,i; printf(“input 10 numbers:“); for(i=0;i10;i+) scanf(“%d“,ai) ; printf(“nthe original array is:“); for(p=a;Pa+10;p+) printf(“%d“,*p); sort(a,10); printf(“nthe present array is:“) ; for(P=a;Pa+10;P+) printf(“%d“,*p); sort(int ar
7、r,int n) int*p1,*p2,temp; for(p1=arr;p1arr+(n-1);p1+) for(p2=p1+1;p2arr+n ;p2+) if(_) temp=*p1;*p1=*p2;*p2=temp; 三、改错题21 #includestdio.h #includeconio.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 以下程序运行时从键盘
8、输入字符串 ABCDE 按回车键结束输入,使输入字符串中的 A 和 B 转换为字符#输出,其他字符输出为* 。 #include“stdio.h“ main() char c:while(c=getchar()!=0) switch(c) caseA: caseB:putchar(#);break; default:putchar(*) ; 错误:_ 改正:_23 以下程序计算 12310 的和。 #include“stdio.h“ main() int i,s=1; do s=s+i;i+; while(i=10) printf(“%dn“,s); 错误:_ 改正:_24 输入 10 个整数
9、存入一维数组,再按逆序重新存放后再输出。 #includestdio.h main() int i,j,a10,k; for(i=0;i =9;i+)scanf(“%d“ ,ai) ; for(i=0,j=9;i=4;i+,j-) k=ai;ai=aj;aj=k; for(i=0;i =9;i+)printf(“%d“ ,a); 错误:_ 改正:_四、程序阅读题25 main() inta=2,b=3,c ; c=a+b: b=a+-1: printf(“%d, %d,%dn“,a,b,c) ; b=-c+1: printf(“%d, %d,%dn“,a,b,e) ; 程序运行结果是:_26
10、main() intp8=11,12,13, 14,15,16,17,18,i=0,k=0; while(i8) if(pi%2)k+=pi; i+; printf(“%dn“,k); 程序运行结果是:_27 #include“stdio.h“ main()inti,k=0,s10=1 ,2,3,4,5,6,7,8,9,10; for(i=0;i 10;i+) if(i%2)k+=si; intfor(i=i-1;i=0 ;i-) if(i%5=0)printf(“%d“,si); printf(“%dn“,k); 程序运行结果为:_28 #includestdio.h #includestr
11、ing.h func(char str) int num=0; while(*(str+num)!=0)num+; retum(num); main() char str10,*p=str; getchar(p); printf(“%dn“,func(p); 程序运行时,从键盘上输入 ABCDE回车,则输出结果是: _五、程序设计题29 编程序计算 s=1!+2!+3!+4!的和。六、填空题-单片机原理与接口技术30 MCS-51 系列单片机有 40 个引脚其中:_为时钟引脚、_为复位引脚。31 MCS-51 系列单片机 P0 和 P1 口,当既作输入口又作 _时,在输出转输入时应先给端口写入
12、_然后再读取。32 数码管要显示字形“5” ,则_、c、d、f、g 段亮,_、e 段灭。33 MCS-51 系列单片机内设有_个可编程的_位定时器/计数器。34 MCS-51 系列单片机片内数据存储器工作寄存器区 32 个字节被均匀地分为 4 个组:第 0 组工作寄存器,地址为_;第 1 组工作寄存器,地址为_;第 2组工作寄存器,地址为 10H17H;第 3 组工作寄存器,地址为 18H1FHH。35 当定时/计数器工作方式寄存器_中的功能选择位为 0 时,工作于内部定时方式。36 串行控制寄存器 SCON 的单元地址是_。37 PCON 寄存器中与串行通信有关的只有 D7 位(SMOD),
13、该位为波特率倍增位。当 SMOD=_时,串行口波特率增加一倍。七、改错题-单片机原理与接口技术38 下面程序段是将外部 RAM30H 单元的内容送到 R0。 MOV R0,#30H MOV A,R0 MOV R0,A错误:_ 改正:_39 下面程序段是将外部 RAM1000H 单元的内容送内部 RAM20H 单元。 MOVX DPTR,#1000H MOVX A,DPTR MOV 20H,A 错误:_ 改正:_八、程序阅读题-单片机原理与接口技术40 晶振 6MHz,下面中断初始化程序是使用 T1,工作方式_,在 P1.0 引脚输出等宽矩形波周期为_微秒的。 MOV TMOD,#20H MOV
14、 TL1,#06H MOV TH1,#06H SETB EA SETB ET1 SETB YR0 SJMP $41 已知单片机的晶振频率为 6MHz,下面程序用单片机内部定时器 T0 工作在方式1 下,从 P1.0 输出周期为 _的方波脉冲信号,时间常数为_。 ORG 3000H START:MOV TMOD, #01H MOV TL0,#OCH MOV THO, #OFEH SETB TR0 LOOP: JBC TFO,DONE SJMP LOOP DONE:MOV TL0,#OCH MOV THO,#OFEH CPL P1.0 SJMP LOOP九、程序设计题-单片机原理与接口技术42 片
15、外 RAM2000H 开始的单元中有 5BH 的数据,编程将它们传送到片内RAM20H 开始的单元中去。十、微型计算机原理与接口技术-应用题43 下面程序段利用 D/A 转换器产生三角波,请完成程序段。 MOV ,#7FFFH MOV ,#00H UP: MOVX ,A INC A JNZ MOV A, DOWN: MOVX , A DEC JNZ SJMP UP 答:_;_;_;_; _;_;_;_。全国自考(微型计算机原理与接口技术)模拟试卷 3 答案与解析一、单项选择题1 【正确答案】 C2 【正确答案】 A【试题解析】 216+1=65535,注意还有 0。3 【正确答案】 C4 【正
16、确答案】 A【试题解析】 数组名是常量,不能赋值。5 【正确答案】 C【试题解析】 p 指的是 a0,则 p+5 是指 a5。6 【正确答案】 B7 【正确答案】 C8 【正确答案】 A9 【正确答案】 C【试题解析】 中断向量是中断处理程序的入口地址表,是预先设置的。10 【正确答案】 A11 【正确答案】 C【试题解析】 只有 P1 口没有第二功能,因此可以直接使用。12 【正确答案】 A【试题解析】 单片机指令系统规定,加#的数据是立即数。13 【正确答案】 D14 【正确答案】 A【试题解析】 串口发送或接收是内部可寻址寄存器。因此使用 MOV 指令。15 【正确答案】 A16 【正确
17、答案】 B二、填空题17 【正确答案】 6【试题解析】 先算括号,再算术。18 【正确答案】 0【试题解析】 先算括号,再单目运算。19 【正确答案】 nlen+【试题解析】 利用字符串结束标志0,nlen 是计数器。20 【正确答案】 *p1*p2三、改错题21 【正确答案】 错误:scanf(“%d“,k); 改正:将其修改为 scanf(“%d“,k);【试题解析】 scanf 函数格式错误22 【正确答案】 错误:while(c=getchar()!=0) 改正:将其修改为 while(c=getehar()!=n)【试题解析】 根据题意循环条件逻辑错误23 【正确答案】 错误:s=s
18、+i; 改正:将其修改为 s=s*i;【试题解析】 根据题意算术表达式错误24 【正确答案】 错误:printf(“%d“,a) ; 改正:将其修改为 printf(“%d“,ai);【试题解析】 printf 函数格式错误四、程序阅读题25 【正确答案】 3,1,5 3,5,4【试题解析】 第一次执行输出前,a 执行+运算,所以是 3,3,5。第二次输出前,b 执行 b=-c+1;b=5,注意 C=4,所以输出 3,5,4。26 【正确答案】 56【试题解析】 该程序是计算 P 数组中奇数的和。27 【正确答案】 6 1 30【试题解析】 该程序第一次循环是求下标为奇数的元素之和。第二次循环
19、是求下标能被 5 整除的元素。28 【正确答案】 5【试题解析】 该程序完成输入的字符串的长度。五、程序设计题29 【正确答案】 main() long int a,b,sum=0 , p; for(a=1;a =4;a+) p=1; for(b=1;b=a;b+) p*=b: sum+=P; printf(“%ld“,sum);六、填空题-单片机原理与接口技术30 【正确答案】 18 和 19 931 【正确答案】 输出 132 【正确答案】 a b33 【正确答案】 2 1634 【正确答案】 00H07H 08H0FH35 【正确答案】 TMOD36 【正确答案】 98H37 【正确答案
20、】 1七、改错题-单片机原理与接口技术38 【正确答案】 错误:MOV A,RO 改正:MOVX A,R0【试题解析】 片内传送指令不能到外部 ROM 中39 【正确答案】 错误:MOVX DPTR,#1000H 改正:MOV DPTR ,#1000H【试题解析】 DPTR 是内部存储单元八、程序阅读题-单片机原理与接口技术40 【正确答案】 2500【试题解析】 TMOD=20H=00100000B,所以是方式 2。初值=06H=00000110B=6,256-6=250,晶振=6MHz ,所以矩形波周期为25021s=500s。41 【正确答案】 2ms OFEOCH【试题解析】 注意这里是 16 位定时计数器。九、程序设计题-单片机原理与接口技术42 【正确答案】 MAIN:MOV DPTR,#2000H MOV R1,#20H MOV R0,#05H LOOP:MOVX A,DPTR MOV R1,A INC DPTR INC R1 DJNZ R0,LOOP RET十、微型计算机原理与接口技术-应用题43 【正确答案】 DPTRA DPTRUP #0FEH DPTRADOWN