微型计算机原理与接口技术试题-答案002.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流微型计算机原理与接口技术试题-答案002最权威的师资阵容 最及时的在线答疑 全程视频授课,反复观看 不限次数自考365网校数百门课程全面招生!基础班串讲班 祝您成功每一天! 郭建华 韩旺辰 郝玉柱 张旭娟 孙茂竹 白薇全国2002年4月高等教育自学考试微型计算机原理与接口技术试题课程代码:02205第一部分 C语言程序设计一、单项选择题(本大题共4小题,每小题1分,共4分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。1.已知字母A的ASCII码为十进制的65,则下面程序的输出是( )main() char ch1,ch2; ch1='A'+'5'-'3' ch2='A'+'6'-'3' printf("%d,%cn",ch1,ch2); A.67,D B.B,C C.C,D D.不确定的值2.若有代数式:,则不正确的C语言表达式为( ) A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/b*33.程序运行结果是( ) main() int n=0; while(n<=2) n+ printf('%d',n); A.1 B.1 2 C.1 2 3 D.1 2 3 44.设有以下语句: struct st int n; struct st*next; struct st a3=5,&a1,7,&a2,9,'0',*p; p=&a0;表达式(+p)->n的值为:() A.5 B.7 C.9 D.'0'二、改错题(本大题共4小题,每小题2分,共8分。下面的程序或程序段存在一个错误或不妥处,请在其下划一条线,并将改正的内容写到每小题后的空白处。)5.main() int a,b,c, max=0,min=0; scanf("%d%d%d",&a,&b,&c); ifa>b&&a>c)max=a; else if a<c&&a<b min=a; else max=min=c; printf("max=%d,min=%dn",max,min);6.main() int x; scanf("%d",&x); switch(x) case x=0:printf("x=0n");break; default:Printf("x!=0n");7.main( ) char a="china",b="good" printf("%s,%s",a,b);8.#include"stdio.h" main() file *p; p=fopen("link.dat","r"); while(!feof(p) printf("%ct",fgetc(p); fcolse(p);三、填空题(本大题共4小题,每小题2分,共8分。)9.若有定义:int a34=1,2,3,5,7,4,6,8,10;则初始化后,a12得到的初值是_。10.程序是求数组中最大元素的下标。 main( ) int s100,i,k; for(i=0;i<100;i+) scanf("%d",&si); for(i=0,k=0;i<100;i+) if(si>sk)_ printf("k=%dn",k);11.函数capital_num()的功能是统计一段文字的大写字母数。#include "stdio.h"main() char c256; int k; gets(c); k=capital_num(c); printf("number of capital is %dn",k);int capital_num(c)char c;int n=0,i; for(i=0;ci!='0'i+) if(ci>='A' &&ci<='Z')n+;_12.已知int a10,*p=a;那么数组元素a5的地址用p表示为_四、程序阅读题(本大题共2小题,每小题4分,共8分。)13.main() int x=1,y=1,i=1; do x=x+y;y=x+y;i+; printf("x=%d y=%dn",x,y); while(i<=3);程序运行的结果是_14.main() int a,b,c; scanf("%d,%d,%d",&a,&b,&c); prinrf("f()=%dn",f(a,b,c); int max(a,b,c) int a,b,c; a=a<c?a:b; return=a; int min(a,b,c) int a,b,c; a=a<b?a:b; a=a<c?a:c; return a: int f(a,b,c) int a,b,c; return(max(a,b,c)+min(a,b,c)/2; 输入三个数为:90,72,48。 程序运行结果为_五、程序设计题(本大题共1小题,每小题7分,共7分)。15.已知 主函数main()调用函数fmax()来计算数组中的最大元素及下标,请在空白处写完函数fmax()。 int fmax(x,n,k) int x,n,*k; main() int a100,i,k,*p=&k,max; for (i=0;i<100;i+) scanf("%d",&ai); max=fmax (a,100,p); printf(“最大值为:%d,最大值的下标为:%dn",max,k);第二部分 MCS51 单片机原理与接口技术一、单项选择题(本大题共11小题,每小题1分,共11分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。16.8位二进制所表示的无符号整数,其相应的十进制数范围是( ) A.0-255 B.1-256 C.1-255 D.0-25617.字母“b”的ASCII码是( ) A.11H B.0BH C.B0H D.62H18.十进制数-1用二进制补码表示,该补码是( ) A.FFH B.00H C.FEH D.81H19.8031单片机外接ROM时,使用( )引脚来选通74LS373芯片 A.ALE B.P C. D.20.如果8031单片机的一个机器周期为2微秒,则其时钟频率为( )MHz A.6 B.8 C.12 D.1621.8031单片机内含定时器和串行口的个数分别为( ) A.2和1 B.1和2 C.3和1 D.2和222.对程序存储区数据传送,应采用助记符为( ) A.MOV B.MOVX C.MOVC D.PUSH23.下列各指令中( )才属于MCS-51指令系统的位指令A.ANLC.,/bit B.XRL C,bit C.ORL bit,C D.MOV C,/bit24.8031单片机外部中断0请求信号输入的引脚是( ) ARXD B. C D.25.8031单片机的定时器1的中断程序入口地址为( ) A.001BH B.0003H C.000BH D.0013H26.8031片外可扩展数据存储器( )KB A.64 B.32 C.8 D.4二、改错题(本大题共3小题,每小题2分,共6分。下面的程序或程序段存在一个错误或不妥处,请在其下划一条线,并将改正的内容写到每小题后的空白处。)27.某8031单片机时钟频率12MHz,T1为工作方式1,2毫秒定时中断,其部分初始化程序如下,请指出错误,并改正之。MOV TMOD,#01HMOV TH1,#0F8HMOV TL1,#30HMOV IP,#8MOV IE,#88H T1方式字段 T0方式字段TMOD寄存器格式GATEC/TM1M0GATEC/TM1M0IP寄存器格式PSPT1PX1PT0PX0IE寄存器格式EAESET1EX1ET0EX028.下列程序要完成16位无符号数相加,两数分别存于30H,31H和40H,41H(低位在前)并把和存于30H,31H中(设和无进位输出)。请指出错误,并改正之。MOV A,30HADD A,40HMOV 30H,AMOV A,31HADD A,41HMOV 31H,A29.下列延时子程序,具有保护现场的指令(此处欲保护A及PSW两个特殊功能寄存器)请指出错误,并改正之。DLY0:PUSH ACC PUSH PSW MOV R1,#32HDLY1:NOP DJNZ R1,DLY1 POP ACC POP PSW RET三、填空题(本大题共13小题,每小题2分,共26分)30. .87H是用8位二进制原码表示的十六进制数,其相应的十进制数是_。31.假设2个一字节的十六进制数9FH,81H相加的和仍然为8位二进制数,那么相加后其进位标志为_(1或0),溢出标志为_(1或0)。32.8031单片机外接ROM时,其P0口具有传送_信号和_信号的双重功能。33.当8031单片机中IP=0EH,IE=8DH时,CPU能响应的优先权最低的中断源是_。IP寄存器格式PSPT1PX1PT0PX0IE寄存器格式EAESET1EX1ET0EX034.8031单片机中,T0初始化后让其开始计数,应将TCON中的 位置1。 定时器控制 外部中断控制TCON寄存器格式TE1TR1TF0TR0IE1IT1IE0IT035.8031.单片机内部数据RAM中的位寻址区的地址范围是 36.某8031单片机时钟频率为12MHz,现将T0设置为定时方式1,定时时间为1毫秒,其计数器中的时间常数初值应为_(写成四位十六进制数)37.已知(31H)=21H,(32H)=04H执行下列指令组后(31H)=_(32H)=_ PUSH 31H PUSH 32H POP 31H POP 32H38.如要选择2组的工作寄存器交换数据,可先执行指令_PSW(地址为DOH)的格式为CYACFORS1RS0OVP39.执行下列指令组后,(A)=_标志位(OV)=_(P)=_ MOV A,#0B4H ADD A,#00H SUBB A,#51H40.执行下列指令组后,累加器(A)=_。它与R1中内容的关系是_ MOV R1,#87H MOV A,R1 CPL A INC A SETB ACC.741.下列伪指令汇编后,存放25H的单元及LOOP的值分别是_=25H LOOP=_。 ORG 0100H TAB: DB ABC NOON:DS 03 BUF: DB 25H LOOP EQU 2100H42.8031.单片机有4个口,其中_口可以直接应用于I/O口。四、程序阅读题(本大题共2小题,每小题4分,共8分)43.阅读下列程序,说明程序的功能 MOV DPTR,#DATA1 MOV CONT,#00H LOOP:MOV A,DPTR HERE:JZ HERE INC CONT INC DPTR SJMP LOOP44.见如图,通过8031单片机的P1口接8只发光二极管,读如下程序后回答问题: ORG 0000H LJMP 0200H ORG 0200H START:MOV A,#01H LOOP:MOV P1,A LCAIL D2S;调用延时2秒子程序 RL A;A循环左移 SJMP LOOP D2S:;子程序略 RET END1.第一次调用子程序时,哪个发光二极管亮?2.第二次调用子程序时,哪个发光二极管亮?3.第八次调用子程序时,哪个发光二极管亮?4.第九次调用子程序时,哪个发光二极管亮?五、程序设计题(本大题共1小题,共6分)45.在3500H为首址的片外RAM区中,有20个补码表示的数,欲编程序,把其中正数传到20H为首址的片内RAM区中,负数不传送,请补全下列程序。MOV DPTR,#3500HMOV R2,#14HMOV R0,#20H六、应用题(本大题共1小题,共8分)46.8031外部扩展DAC0831芯片,见如图,输入寄存器为1B28H,DAC寄存器为1B29H,假定00H对应D/A输出0V,FFH对应D/A输出5V,阅读如下程序,回答问题ORG 0000HLJMP STARTORG 0200HSTART:MOV DPTR,#1B28H MOV A,#0LP1:MOVX DPTR,A INC DPTR MOVX DPTR,A ACALL D1MS;调用1ms子程序 INC A CJNE A,#0FFH,LP1 NOPLP2:MOV DPTR,#1B28H MOVX DPTR,A INC DPTR MOVX DPTR,A ACALL D1MS;调用1ms(1毫秒)子程序 DEC A CJNE A,#0,LP2 SJMP LP1 延时1ms(1毫秒)子程序略去1.该程序运行后,D/A转换输出_波形2.波形周期为_秒(忽略指令时间)全国2002年4月高等教育自学考试微型计算机原理与接口技术试题参考答案课程代码:02205第一部分 C语言程序设计一、单项选择题(本大题共4小题,每小题1分,共4分。) 1.A 2.C 3.C 4.B二、改错题(本大题共4小题,每小题2分,共8分。) 5.把else if a<c &&a<b min=a;改成else if(a<c &&a<b)min=a; 6.把case x=0:printf("x=0n");break;改成case 0:printf("x=0n");break 7.把printf("%s,%s",a,b);改成:printf("%s,%s,"ab); 8.把file *p;改成FILE *p三、填空题(本大题共4小题,每小题2分,共8分。) 9. 7 10. k=i; 11. return n; 12. P+5四、程序阅读题(本大题共2小题,每小题4分,共8分。) 13.x=2 y=3 x=5 y=8 x=13 y=21 14.f()=69五、程序设计题(共7分) 15.int fmax(x,n,k) int x,n,*k; int m=x0i; for(i=0;i<n;i+) if(m<xi)m=xi;*k=i return(m);第二部分 MCS-51单片机原理与接口技术一、单项选择题(本大题共11小题,每题1分,共11分。) 16.A 17.D 18.A 19.A 20.A 21.A 22.C 23.A 24.B 25.A 26.A二、改错题(本大题共3小题,每小题2分,共6分) 27.第一行应为MOV TMOD,#10H 28.错误:ADD A, 41H 正确:ADDC A,41H 29.错误:POP ACC 正确:POP PSW POP PSW POP ACC三、填空题(本大题共13小题,每小题2分,共26分) 30.-7 31.进位标志为1,溢出标志为1 32.数据 低8位地址 33.外中断0 34.TRO 35.20H2FH 36.0FC18H 37.(31H)=04H (32H)=21H 38.SETB PSW.4 或MOV PSW,#10H CLR PSW.3 XXX10XXX 39.(A)=63H (OV)=1 (P)=0 40.(A)=F9H (A)是(R1)的补码 41.(0106H)=25H LOOP=2100H 42.P1四、程序阅读题(本大题共2小题,每小题4分,共8分) 43.功能:统计首址为DATA1的片内RAM中的数组在出现0以前数据的个数(不包括0,且小于255)并存于CONT单元中。 片内RAM首址DATA1 统计数组长度(不包括0) 在出现0以前的数组 数组长度小于255,存于CONT单元。 44.1.L1(最上面的发光二级管)亮,即P1.0对应的二极管亮 2.L2亮 3.L8亮(最下面的二极管) 4.L1又亮五、程序设计题(本大题共1小题,共6分) 45.LOOP:MOVX A,DPTR JB ACC.7,COM MOV RO,A INC RO COM:INC DPTR DJNZ R2,LOOP HERE:SJMP HERE 要点:(1)正负数判断 (2)片外RAM和片内RAM传递指令 (3)循环程序中的循环部分,如修改计数器,检测结束条件。六、应用题(本大题共1小题,共8分) 46.1三角波; 2.0.51秒;.精品文档.自考网校 免费试听.自考名师.课件更新.报名演示.学习卡.