1、全国自考(微型计算机原理与接口技术)模拟试卷 7 及答案与解析一、单项选择题1 以下集成块型号中属于 16 位系列单片机型号的是( )(A)8051(B) 8051AH(C) 8094BH(D)8052BH2 字符H 的 ASCII 码值是 ( )(A)72(B) 73(C) 74(D)753 为表示关系 x 大于等于 y 且大于等于 z,C 语言表达式是 ( )(A)(x =y) (y =z)(B) (x=y)AND(y =z)(C) (x=y)(x=z)(D)(x =y) (y =z)4 C 语言中 while 和 do-while 循环的主要区别是( )(A)do-while 的循环体至
2、少无条件执行一次(B) while 的循环控制条件比 do-while 的循环控制条件严格(C) do-while 允许从外部转到循环体内(D)do-while 循环体不能是复合语句5 下面程序段执行的结果是( ) char*p=“abcde“ ; p+=3;printf(“%d“,p);(A)cde(B) de(C) bcde(D)c6 fopen 打开新的二进制文件,既能读又能写的方式字符串是( )(A)ab+(B) rb+(C) wb+(D)ab7 对于 8031 来说,EA 脚总是( )(A)接地(B)接电源(C)悬空(D)不用8 下面不是运算器完成的主要任务是( )(A)算术运算(B
3、)位运算(C)数据处理(D)指令译码9 不是伪指令关键字的是( )(A)ORG(B) START(C) EQU(D)DATA10 8051/8031 型单片机提供中断源的个数是( )(A)3(B) 4(C) 6(D)511 MCS-51 单片机 I/O 的数据是( )(A)同步传输(B)异步传输(C)随机传输(D)实时传输12 共阴极显示管点亮时输入电平是( )(A)低电平(B)低电压(C)低阻态(D)高电平13 单片机中 PUSH 和 POP 指令常用来( )(A)保护断点,恢复断点(B)保护现场(C)保护现场,恢复现场(D)保护断点14 MCS-51 寻址方式,操作数 Ri 加前缀“” 的
4、寻址方式是( ) (A)寄存器间接寻址(B)寄存器寻址(C)基址加变址寻址(D)立即寻址15 当定时器 T0 发出中断请求后,中断响应的条件是 ( )(A)SETB ET0(B) SETB EX0(C) MOV IE,#82H(D)MOV IE,#61H16 8051 单片机串行口用工作方式 0 时( )(A)数据从 RDX 串行输入,从 TXD 串行输出(B)数据从 RDX 串行输出,从 TXD 串行输入(C)数据从 RDX 串行输入或输出,同步信号从 TXD 输出(D)数据从 TXD 串行输入或输出,同步信号从 RXD 输出二、填空题17 intx=12, n=5;则表达式 x%=(n%=
5、2)的值是_。18 当 a=5,b=4,c=2 时,表达式 ab!=c 的值是_。19 以下程序是求数组 a 中偶数的个数和偶数的平均值。请填空。 main() int a10=1,15,16,18,14,17,24,23,12; int k,i,j;float ave; for(k=i=j=0;j10;j+) if(aj%2!=0)continue; i+=_; k+; if(k!=0)ave=i/j;printf(“%d,%fn“,k,ave); 20 下列程序中,函数 fun 的功能是:根据整型形参 m 的值,计算如下公式的值:t=1-1/(22)-1/(33)-1/(mm)请填空。三、
6、改错题21 #include“stdio.h“ void fact(int k) int i,s ;s=s*i: return(s); 错误:_ 改正:_22 运行以下程序的结果是 321。 main() int x; x=3; do printf(“%d“,x-); while(!x); 错误:_ 改正:_23 程序输入 1,输出 One,输入其他,输出 Other。 main() scanf(“%d“,a) ; if(a=1)printf(“Onen“); else printf(“Othern“); 错误:_ 改正:_24 main() int n; float s=1.0; for(n
7、=10;n1;n-) s=s+1/n; printf(“%6.1fn“,s); 错误:_ 改正:_四、程序阅读题25 main() inta=2, 4,6 ,*ptr=&a0 ,x=8 ,y,z; for(y=0;y3;y+) z=(*(ptr+y)y)?*(ptr+y):x;printf(“%dn“,z) ; 程序运行结果是:_26 main() int n1,n2; scanf(“%d“,&n2) ; while(n2 !=0) n1=n2%10; n2=n2/10; printf(“%d“,n1); 程序运行时从键盘上输入 1298回车,则输出结果是:_27 main() char n;
8、 scanf(“%e“,&n); switch(+n) default: printf(“error“);break ; easea:caseA:easeb :caseB:printf(“good“);break ; casec:caseC:printf(“pass“) ; cased:easeD:printf(“warn“); 程序运行时从键盘输入字母 c回车,则运行结果是:_28 #include main() int i,j,n; scanf(“%d“,&n) ; for(i=n;i 5;i+) for(j=2;j =i;j+)putchar(#); 程序运行时从键盘输入 1回车,则运行
9、结果是:_五、程序设计题29 请编一个函数 int fun(float s ,int n),它的功能是:求高于平均分的人数,并作为函数值返回。数组 s 中存放 n 位学生的成绩。数组 s 的值由主函数从键盘读入,用-1 来结束输入。六、填空题-单片机原理与接口技术30 MCS-51 堆栈寄存器 SP 是_位寄存器,存放 _。31 MCS-51 的 P0P3 口中,_为真正的双向口, _为准双向口。32 执行完下列段指令后(A)=_,(B)=_ MOV A,#08H MOV B,#45H PUSH A PUSH B POP A POP B33 下列程序段执行后,(7EH)=_,(7FH)=_。
10、MOV R0,#7EH MOV 7EH,#0FFH MOV 7FH,#40H INC R0 INC R0 INC R034 若 IT1=0,当引脚_为低电平的时候,INT0 的中断标志位_才能复位。35 片内 RAM 可进行位寻址的空间位地址范围是_。36 MCS-51 指令系统中 direct 表示的含义是:_。37 如果(P 0)=65H,当执行下列程序段后执行后(P 0)=_。 CPL P 0.2 SETB C MOV P0.4,C七、改错题-单片机原理与接口技术38 已知在累加器 A 中存放一个 BCD(09),下面子程序实现一个查平方表。 SQR: INC A MOVC A,A+PC
11、 RET TAB: DB 0,1,4,9,16 DB 25,36,49,64,81 错误:_改正:_39 下列指令组要完成重复执行 LOOP 开始的程序 20 次。 MOV A,#14H L00P:MOV R1,#01H DEC A JNC LOOP 错误:_ 改正:_八、程序阅读题-单片机原理与接口技术40 以下是 8051 单片机定时/计数器的初始化程序(设单片机晶振频率是 6MHz):T0作为定时,定时时间为_,T1 作为计数,记满 _溢出。 ORG 0000H LJMP 0050H ORG 0050H MOV TMOD,#20H MOV TH0,#63H MOV TL0,#18H MO
12、V TH1,#9CH MOV TL,#9CH SETB EA SETB TR0 SETB TR1 SJMP $41 下面程序是将片内 RAM_开始的单元内 10 个二进制数,找出其中最大值并存于单元中。 START: MOV R0,#40H MOV R7,#09H MOV A,R0 LOOP: INC R0 MOV 30H,R0 CJNE A,30H,NEXT NEXT: JNC BIE1 MOV A,30H BIE1: DJNZ R7,LOOP MOV 50H,A RET九、程序设计题-单片机原理与接口技术42 用 89C51 的 P1 口,监测某一按键开关,使每按键一次,输出一个正脉冲(脉
13、宽随意)。十、微型计算机原理与接口技术-应用题43 下面程序是动态显示程序,请分析程序完成说明。 MOV DPTR,#4400H MOV A,#03H MOVX DPTR,A SETB RS0 ;使用第 1 组工作寄存器 MOV R2,#08H MOV R0,#30H CLR A L1: MOV R0,A INC R0 INC A DJNZ R2,L1 DISP: MOV R0,#30H ;显示缓冲区首址送 R0 MOV R1,#00H MOV R2,#08H ;R2 中的 08H 表示 MOV R3,#7FH ;选中最右端 LED DISP1: MOV A,R0 ;第 2 次执行时 A= M
14、OV DPTR,#TAB ;指向字形表首址 MOVC A,A+DPTR ;第 2 次执行时 A= MOV DPTR,#4402H ;4402H 表示 MOVX DPTR,A ;该条指令的作用是 MOV A,R3 ;第 2 次执行时 A= MOV DPTR,#4401H ;指向位选口 MOVX DPTR,A ;位码送 PA 口 DJNZ R1,$ ; DJNZ R1,$ ;该指令的作用是 RR A ;位选字移位 MOV R3,A ;移位后的位选字送 R3 INC R0 ;在本程序中,R0 最大取值为 MOV A,R0 ;缓冲区数据送 A DJNZ R2,DISP1 ;未扫描完,继续循环 SJMP
15、 DISP TAB: DB 3FH ,06H,5BH,4FH ,66H;共阴极 LED 字形表 DB 6DH,7DH,07H,7FH,6FH 答:_ ; _;_;_ ; _; _; _;_。全国自考(微型计算机原理与接口技术)模拟试卷 7 答案与解析一、单项选择题1 【正确答案】 C2 【正确答案】 A3 【正确答案】 C4 【正确答案】 A5 【正确答案】 B【试题解析】 从字母 d 开始输出。6 【正确答案】 C7 【正确答案】 A8 【正确答案】 D9 【正确答案】 B10 【正确答案】 D11 【正确答案】 B【试题解析】 注意同步传输是指通讯双方在通讯之前要有握手信号,就如同我们日常
16、生活中的电话通讯。但是单片机不是这样的,I/O 和 CPU 的传输不需要同步。12 【正确答案】 D13 【正确答案】 C14 【正确答案】 A15 【正确答案】 C【试题解析】 该指令是开中断。16 【正确答案】 C二、填空题17 【正确答案】 0【试题解析】 n%=2 可以写成 n=n%2=1,x%=I 可以写成 x=x%1=0。18 【正确答案】 1【试题解析】 b!=c 可以写成 b=!c=0,a0=1。19 【正确答案】 aj【试题解析】 关键语句是 if(aj%2!=0)continue;aj%2!=0 为真,则 aj中是偶数。20 【正确答案】 i=2;i=m ;i+【试题解析】
17、 这里就是要设置循环条件,注意 i=2 开始。三、改错题21 【正确答案】 错误:int i,s; 改正:将其修改为 int i,s=0;【试题解析】 s 变量没有初值。22 【正确答案】 错误:while(!x) 改正:将其修改为 while(x!=0)【试题解析】 while 循环条件逻辑错误。23 【正确答案】 错误:if(a=1)改正:将其修改为 if(a=1)【试题解析】 if 语句条件表达式错误。24 【正确答案】 错误:s=s+1/n; 改正:将其修改为 s=s+1.0/n;【试题解析】 表达式中类型错误。四、程序阅读题25 【正确答案】 888【试题解析】 y=0,1,2 对应
18、 a 数组的元素是 2,4,6。程序循环 3 次,每次循环数组元素均不小于 y 值,因此输出 8,共三次,所以输出 888。26 【正确答案】 8921【试题解析】 n1=n2%10=8 ,n2=n2/10=129,输出 8,依次类推。27 【正确答案】 warn【试题解析】 输入字母 c 后变成字母 d,所以输出 warn。28 【正确答案】 #【试题解析】 外层循环 i=1,2,3,4 对应内层循环 j=2,3,4。当 i=2,输出 1次#,i=3,输出 2 次#,i=4,输出 3 次#,因此共输出 6#。五、程序设计题29 【正确答案】 main() int fun(float s,in
19、t n); float s100,x,m,n=0; scanf(“%f“,x) while(X!=-1n100) sn=x; n+; scanf(“%f“,x); m=fun(s,n); printf(“m=%d“,m) ; /*intfun(float s,int n) 函数定义如六、填空题-单片机原理与接口技术30 【正确答案】 8 堆栈栈顶的地址31 【正确答案】 P0 P1P332 【正确答案】 45H 08H【试题解析】 堆栈后进先出。33 【正确答案】 00H 41H34 【正确答案】 P3.3 ,IEO35 【正确答案】 00H7FH36 【正确答案】 片内存储器地址37 【正确
20、答案】 71H【试题解析】 65H=01100101B,执行程序段后为:01110001B=71H。七、改错题-单片机原理与接口技术38 【正确答案】 错误:MOVC A,A+PC 改正:MOVC A,A+PC【试题解析】 语法错误39 【正确答案】 错误:JNC LOOP 改正:JNZ LOOP【试题解析】 DEC 指令不影响 PSW八、程序阅读题-单片机原理与接口技术40 【正确答案】 10ms100【试题解析】 TOMD=20H,说明设置,T0 为定时,方式 0,T1 为计数,方式2。所以:T1 计数初值 9CH=10011100B=156,256-156=100 即满 100 溢出。T
21、0 的初值为 6318H=0110001111000B=3192,213=8192 ,8192-3192=5000 ,机器周期为12/6MHz=2s,2s5000=10000s=10ms。 41 【正确答案】 40H 50H【试题解析】 START:MOV R0,#40H ;设置片内开始单元 MOV R7,#09H ;十个存储数据 MOV A,R0 ;第一个数据传送至 A LOOP: INC R0 ;R0 指向下一个数据 MOV 30H,R0 ;假定该数据为最大 CJNE A,30H,NEXT ;A 和该数据比较 NEXT: JNC BIE1 ;如果 A 大转移到 LOOP MOV A,30H ;如果 A 小,将该数据送入 A BIE1: DJNZ R7,LOOP ;数据个数减 1,不为 0 转移到 LOOP MOV 50H,A ; A 中为最大数据,送入 50H 单元 RET 九、程序设计题-单片机原理与接口技术42 【正确答案】 ORG 0100H ABC: SETB P1.0 SETB P1.7 JB P1.7,$ JNB P1.7,$ CLR P1,0 MOV R2,#0DAY: NOP NOP DJNZ R2,DAY SJMP ABC十、微型计算机原理与接口技术-应用题43 【正确答案】 显示位数01H06HPB 口地址将字型码送入 PB 口BFH延时37H
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1