1、微型计算机原理与接口技术自考题-8 及答案解析(总分:93.00,做题时间:90 分钟)一、单项选择题(总题数:16,分数:16.00)1.在 PC机上的 DRAM刷新,每( )完成一行刷新。A0.2s B1sC15s D1/18.2 秒(分数:1.00)A.B.C.D.2.当 8086/8088访问 100H端口时,采用( )端口寻址方式。A直接 B寄存器间接C立即 D相对(分数:1.00)A.B.C.D.3.下列字符数组长度为 5的是( ) Achar a10=h,a,b,c,d; Bchar b=h,a,b,e,d,/0; Cchar c=h,a,b,c,d; Dchar d6=h,a,
2、b,c,/0(分数:1.00)A.B.C.D.4.对于 8031单片机,其内部 RAM( ) A只能位寻址 B既可位寻址又可字节寻址 C只能字节寻址 D少部分只能位寻址(分数:1.00)A.B.C.D.5.下面程序段执行的结果是( ) char*p=“abcde“;p+=3;printf(“%d“,p); Acde Bde Cbcde Dc(分数:1.00)A.B.C.D.6.没(AL)=-100,执行“ADD AL,-100”指令后,对标志位有何影响( )A(OF)=1,(CF)=0 B(OF)=1,(CF)=1C(OF)=0,(CF)=0 D(OF)=0,(CF)=1(分数:1.00)A.
3、B.C.D.7.8051系列单片机具有并行 I/O口的数量及每个口的倍数分别是( )A2 个,8 位 B3 个,16 位 C4 个,4 位 D4 个,8 位(分数:1.00)A.B.C.D.8.如果需要计数一定值以后,OUT 由原来的低电平变为高电平,则 8253应工作于( )A方式 0计数结束中断方式 B方式 2速率发生器方式C方式 3方波方式 D方式 4软件触发选通方式(分数:1.00)A.B.C.D.9.在存储器译码电路中,对应于多个存储地址可以选中同一个存储字的片选控制方法有( )A全译码法和部分译码法 B全译码法和线选法C部分译码法和线选法 D全译码法、部分译码法和线选法(分数:1.
4、00)A.B.C.D.10.下面不属于中断功能的是( ) A增加 CPU处理能力 B实现实时处理 C故障的紧急处理 D人机联系(分数:1.00)A.B.C.D.11.8253-5某个通道处于工作方式 2(速率发生器),若计数初值为 4,输入时钟频率为 1MHz,则 OUT输出的每个周期信号中,高电平和低电平分别为( )A1s 和 3s B3s 和 1sC2s 和 2s D1s 和 1s(分数:1.00)A.B.C.D.12.以下属于单片机集成块型号的是( ) A386DX B8097JF C8086 D80486DX(分数:1.00)A.B.C.D.13.8086处理器的一个典型总线周期需要(
5、 )个 T状态。A1 B2C3 D4(分数:1.00)A.B.C.D.14.无条件程序传送( )A用于“外没的定时”是固定的,且是已知的场合B需用查询程序查询外设的状态C其外设的控制逻辑要向 CPU发出中断清求D其外设的控制逻辑要挪用 CPU的总线周期(分数:1.00)A.B.C.D.15.无符号数 10110011 B所对应的十六进制数是( )A33H BA3H CB3H DC3H(分数:1.00)A.B.C.D.16.8255A接口芯片的控制信号中,8255A 与外设之间有一对联络信号,当工作于方式 1的输出接口时,联络信号是( )(分数:1.00)A.B.C.D.二、填空题(总题数:4,
6、分数:8.00)17.下面程序的功能是输出 1至 100之间每位数的乘积大于每位数的和的数。请填空。 main() intn,k=1,s=0,m; for(n=1;n=100;n+) k=1;s=0;m=n; while(m) k*=m%10;S+ =m%10; _; if(kS)printf(“%d“,n); (分数:2.00)填空项 1:_18.以下程序是计算 10名学生 1门课成绩的平均分。请填空。 #includestdio.h float average(float array10) int i;float aver,sum=array0; for(i=1;i10;i+)sum+=_
7、; aver=sum/10; return(aver); main() float score10,aver; int i; printf(“/n input 10 scores:“); for(i=0;i10;i+)scanf(“%f“,scorei); aver=average(score); printf(“/n average score is%5.2f/n“,aver); (分数:2.00)填空项 1:_19.inta,b;则表达式(a=2,b=5,a+,b+,a+b)的值是 1。(分数:2.00)填空项 1:_20.表达式 5/3的值是 1。(分数:2.00)填空项 1:_三、改错
8、题(总题数:4,分数:8.00)21.以下程序是给数组 a所有元素赋值。 main() int a10,i; for(i=1;i10;i+) scanf(“%d“,ai); 错误:_ 改正:_(分数:2.00)填空项 1:_22.本程序对 进行计算,直至 (分数:2.00)填空项 1:_23.#include“stdio.h“ main() char a10,*pa; scanf(“%s“,pa); printf(“%s/n“,pa); 错误:_ 改正:_(分数:2.00)填空项 1:_24.运行以下程序的结果是 321。 main() int x; x=3; do printf(“%d“,x
9、-); while(!x); 错误:_ 改正:_(分数:2.00)填空项 1:_四、程序阅读题(总题数:4,分数:16.00)25.#includestdio.h main() int c; while(c=getchar()!=/n) switch(c-2) case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+2);break; printf(“/n“); 程序运行时,输入 2743CR,则运行结果是:_(分数:4.00)填空项 1:_26.#include
10、“stdio.h“ void main() int x=7,y=90,z10=0,11,22,33,44,55,66,77,88,99; iht *p1=&x,*p2=z,*p3=&z5; printf(“%d%d%d%d/n“,*p1,*p2,*p3,*(p3+1); +p2;p3+; printf(“%d%d%d/n“,*p1,*p2,*p3); p2=z+7;p3=Z+8; printf(“%d%d%d/n“,*p1,*p2,*p3); printf(“%d/n“,*(p1=p2-5); 答:_(分数:4.00)填空项 1:_27.main() int n1,n2; scanf(“%d“
11、,&n2); while(n2 !=0) n1=n2%10; n2=n2/10; printf(“%d“,n1); 程序运行时从键盘上输入 1298回车,则输出结果是:_(分数:4.00)填空项 1:_28.#include stdiohmain() ( int a6=1,2,3,4,5,6,i; float aver=0,t=0; for(i=0;i6;i+) t=t+ai;aver=1.0*t/6: printf(“%4.1f/n“.aver); for(i=0;i6;i+) if(aiaver) printf(“%d/n“,ai); 程序运行结果为:(分数:4.00)填空项 1:_五、程
12、序设计题(总题数:1,分数:8.00)29.每个苹果 0.8元,第一天买两个苹果,第二天开始,每天买前一天的两倍,直到买的苹果个数达到不超过 100的最大值。编写程序,求每天平均花多少钱?(分数:8.00)_六、填空题-单片机原理与接口技术(总题数:8,分数:16.00)30.如要选择第 2组的工作寄存器交换数据,可先执行指令_。 PSW(地址为 DOH)的格为CY AC FO RS1 RS0 OV - P(分数:2.00)填空项 1:_31.执行下列程序后,(42H)=_,(55H)=_。 MOV SP,#40H MOV 42H,#85H MOV 55H,#37H PUSH 42H PUSH
13、 55H POP 42H POP 55H(分数:2.00)填空项 1:_32.8255A属于可编程的_I/0 接口芯片,8255A 的 A通道有_种工作方式。(分数:2.00)填空项 1:_33.8031单片机时钟频率 12MHz,如将 T1设定为方式 2,定时时间 100S,则 TH1应为 1。(分数:2.00)填空项 1:_34.执行下列指令组后,程序计数器 PC的内容为_H。 2301H ANL A, #00H 2303H JZ rel; rel 为 30H 2305H (分数:2.00)填空项 1:_35.片内 RAM的位寻址区的地址范围为 1H 2H。(分数:2.00)填空项 1:_
14、填空项 1:_36.MCS-51单片机把 1、 2、并行口、串行口和定时器/计数器等集成在一个芯片上。(分数:2.00)填空项 1:_填空项 1:_37.片内 RAM可进行位寻址的空间位地址范围是 1。(分数:2.00)填空项 1:_七、改错题-单片机原理与接口技术(总题数:2,分数:4.00)38.下面子程序是从串行接口接受一个字符。 START:MOV TMOD,20H ;定时器 T1工作于模式 2 MOV TH1,#0E8H ;设置波特率为 1200b/s MOV TL1,#0E8H SETB TR1 ;启动 T1 MOV SCON,#50H ;串行接口工作于方式 1,允许接收 L1:
15、JNB R1,L1 ;等待接收数据,未接收到数据,继续等待 CLR R1 ;接收到数据,清 R1 MOV A,SBUF ;接收到数据送 A RET 错误:_ 改正:_(分数:2.00)填空项 1:_39.某 8031单片机时钟频率 12MHz,T1 为工作方式 1,2 毫秒定时中断,其部分初始化程序如下,请指出错误,并改正之。 MOV TMOD,#01H MOV TH1,#0F8H MOV TL1,#30H MOV IP,#8 MOV IE,#88H * 错误:_ 改正:_(分数:2.00)填空项 1:_八、程序阅读题-单片机原理与接口技术(总题数:2,分数:8.00)40.下面程序是从_单元
16、开始,连续存放 10个无符号数,从中找出最大值送入_单元。 ORG 0020H MOV R0,#40H MOV B,R0 MOV R7,#09H INC R0 L00P:MOV A,B CLR C SUBB A,R0 JNC NEXT MOV B,R0 NEXT:INC R0 DJNZ R7,LOOP MOV 30H,B SJMP $ END(分数:4.00)填空项 1:_41.设单片机的晶振频率为 fosc=6MHz,使用 T1工作于工作方式 0,下面程序用查询的方式在_端输出周期为_的连续等宽方波。 MOV TMOD,#00H MOV TH1,#0FCH MOV TL1,#03H MOV
17、IE,#00H SETB TR1 LOOP: JBC TF1,LOOP1 AJMP LOOP1 LOOP1: MOV TH1,#0FCH MOV TL1,#03H CPL P1.0 CLR TF1 SJMP LOOP(分数:4.00)填空项 1:_九、程序设计题-单片机原理与接口技术(总题数:1,分数:8.00)42.编写两个 4字节无符号数相减的程序。被减数存放在片内 RAM 30H开始的数据区,减数存放在 40H开始的数据区(均为低位在前),差值存回 30H开始的存储单元,试补全下列程序。MOV R0,#30H MOV R1,#40H MOV R3,#04H SJMP $(分数:8.00)
18、_十、十、应用题(总题数:1,分数:1.00)43.交通灯控制实验电路如图所示,875l 单片机时钟频率 6MHz,P1.5P1.0 经电阻接六个发光二极管,其中红 1、黄 1、绿 1,为南北向指示灯;红 2、黄 2、绿 2,为东西向指示灯。以下程序用定时器 TD产生0.1秒中断为计时标准,按以下四种状态,交替循环。(1)红 1、绿 2,亮 20秒;(2)红 1、黄 1、黄 2,亮1秒;(3)绿 1、红 2亮 15秒;(4)黄 1、红 2、黄 2亮 1秒。试填满程序中的缺少部分。 ORG 0000H AJMP START ORG ;定时器 T0入口地址 MOV TL0,#0B0H MOV TH
19、0,#3CH DJNZ 30H, MOV A,R7 INC A ANL A,# H MOV R7,A ADD A,#T0_5-1D_1MOVC T0_1: MOV P1,A MOV 30H,#10 ;第 2和第 4种状态的计数次数 CJNE R7,#0,T0_2 MOV 30H,# ;第 1种状态的计数次数 SJMP T0_3 T0_2: CJNE R7,#2,TD_3 MOV 30H,# ;第 3种状态的计数次数 T0_3: RETI T0_5: DB 0DEH, H,0F3H,0E5H ;每种状态的显示代码(没用到的引脚输出应为“1”) START: MOV TMOD,#01H MOV T
20、L0,#0BOH MOV TH0,#3CH MOV 30H,#200 MOV R7,#0 MOV IE,#82H SETB MOV P1,#0DEH LOOP: SJMP LOOP _; _; _; _; _; _; _;_。 附:有关特殊功能寄存器各位内容: 中断允许控制寄存器(IE) 中断优先级寄存器(IP) 定时器控制寄存器(TCON)定时器方式寄存器(TMOD) (分数:1.00)填空项 1:_微型计算机原理与接口技术自考题-8 答案解析(总分:93.00,做题时间:90 分钟)一、单项选择题(总题数:16,分数:16.00)1.在 PC机上的 DRAM刷新,每( )完成一行刷新。A0
21、.2s B1sC15s D1/18.2 秒(分数:1.00)A.B.C. D.解析:解析 本题考查的知识点为 DRAM的刷新。要点透析 PC/XT 机上的 DRAM芯片要求 2ms内刷新一遍,每行为 512单元,需刷新 128次,两次刷新的时间间隔为 2ms/128=15s。2.当 8086/8088访问 100H端口时,采用( )端口寻址方式。A直接 B寄存器间接C立即 D相对(分数:1.00)A.B. C.D.解析:3.下列字符数组长度为 5的是( ) Achar a10=h,a,b,c,d; Bchar b=h,a,b,e,d,/0; Cchar c=h,a,b,c,d; Dchar d
22、6=h,a,b,c,/0(分数:1.00)A.B.C. D.解析:解析 注意是字符数组的长度,不是字符串的长度。4.对于 8031单片机,其内部 RAM( ) A只能位寻址 B既可位寻址又可字节寻址 C只能字节寻址 D少部分只能位寻址(分数:1.00)A.B.C.D. 解析:5.下面程序段执行的结果是( ) char*p=“abcde“;p+=3;printf(“%d“,p); Acde Bde Cbcde Dc(分数:1.00)A.B. C.D.解析:解析 从字母 d开始输出。6.没(AL)=-100,执行“ADD AL,-100”指令后,对标志位有何影响( )A(OF)=1,(CF)=0
23、B(OF)=1,(CF)=1C(OF)=0,(CF)=0 D(OF)=0,(CF)=1(分数:1.00)A.B. C.D.解析:7.8051系列单片机具有并行 I/O口的数量及每个口的倍数分别是( )A2 个,8 位 B3 个,16 位 C4 个,4 位 D4 个,8 位(分数:1.00)A.B.C.D. 解析:8.如果需要计数一定值以后,OUT 由原来的低电平变为高电平,则 8253应工作于( )A方式 0计数结束中断方式 B方式 2速率发生器方式C方式 3方波方式 D方式 4软件触发选通方式(分数:1.00)A. B.C.D.解析:解析 8253 的工作方式 O是典型的事件计数方法,当计数
24、执行单元 CE为零时,OUT 端变为高电平,方式 0又称为计数结束中断方式。9.在存储器译码电路中,对应于多个存储地址可以选中同一个存储字的片选控制方法有( )A全译码法和部分译码法 B全译码法和线选法C部分译码法和线选法 D全译码法、部分译码法和线选法(分数:1.00)A.B.C. D.解析:解析 在部分译码电路和线选电路中,存储芯片的一个存储字有多个地址对应,也就是多个存储地址可以选中同一个存储字,而全译码电路中任意单元都有唯一的确定的地址。10.下面不属于中断功能的是( ) A增加 CPU处理能力 B实现实时处理 C故障的紧急处理 D人机联系(分数:1.00)A. B.C.D.解析:解析
25、 中断功能不能改变 CPU的处理能力。11.8253-5某个通道处于工作方式 2(速率发生器),若计数初值为 4,输入时钟频率为 1MHz,则 OUT输出的每个周期信号中,高电平和低电平分别为( )A1s 和 3s B3s 和 1sC2s 和 2s D1s 和 1s(分数:1.00)A.B. C.D.解析:12.以下属于单片机集成块型号的是( ) A386DX B8097JF C8086 D80486DX(分数:1.00)A.B. C.D.解析:13.8086处理器的一个典型总线周期需要( )个 T状态。A1 B2C3 D4(分数:1.00)A.B.C.D. 解析:解析 本题考查的知识点为 8
26、086 CPU的总线周期。要点透析 8086 CPU 的总线周期至少由 4个时钟周期组成,分别为 T1、T 2、T 3和 T4表示,T 又称为状态(state)。14.无条件程序传送( )A用于“外没的定时”是固定的,且是已知的场合B需用查询程序查询外设的状态C其外设的控制逻辑要向 CPU发出中断清求D其外设的控制逻辑要挪用 CPU的总线周期(分数:1.00)A. B.C.D.解析:解析 本题考查的知识点为程序控制传送方式的无条件传送。要点透析 无条件程序传送,又称“同步传送方式”,主要用于外设的定时是固定的且是已知的场合,外设必须在微处理器限定的指令时间内准备就绪,并完成数据的接收或发送。1
27、5.无符号数 10110011 B所对应的十六进制数是( )A33H BA3H CB3H DC3H(分数:1.00)A.B.C. D.解析:16.8255A接口芯片的控制信号中,8255A 与外设之间有一对联络信号,当工作于方式 1的输出接口时,联络信号是( )(分数:1.00)A.B. C.D.解析:解析 8255A 接口芯片工作于方式 1的输出接口时,联络信号的作用是:(1) :输出缓冲器满信号,低电平有效。由 8255A输出,当其有效时,表示 CPU已经将数据输出到指定的端口,通知外设可以将数据取走。(2) :响应信号,低电平有效。由外设送来,有效时表示 8255A数据已经外设所接收。(
28、3)INTR:中断请求信号,高电平有效。当外设接收了由 CPU送给 8255A的数据后,8255A 就用 INTR端向CPU发出中断请求,请求 CPU再输出后面的数据。INTR 是在 INTE-1的条件下,当 和 INTR都为高电平时,才能被置成高电平。由二、填空题(总题数:4,分数:8.00)17.下面程序的功能是输出 1至 100之间每位数的乘积大于每位数的和的数。请填空。 main() intn,k=1,s=0,m; for(n=1;n=100;n+) k=1;s=0;m=n; while(m) k*=m%10;S+ =m%10; _; if(kS)printf(“%d“,n); (分数
29、:2.00)填空项 1:_ (正确答案:m/=10)解析:解析 这里取出每位数的表达式。18.以下程序是计算 10名学生 1门课成绩的平均分。请填空。 #includestdio.h float average(float array10) int i;float aver,sum=array0; for(i=1;i10;i+)sum+=_; aver=sum/10; return(aver); main() float score10,aver; int i; printf(“/n input 10 scores:“); for(i=0;i10;i+)scanf(“%f“,scorei);
30、aver=average(score); printf(“/n average score is%5.2f/n“,aver); (分数:2.00)填空项 1:_ (正确答案:arrayi)解析:解析 完成计算平均值表达式。19.inta,b;则表达式(a=2,b=5,a+,b+,a+b)的值是 1。(分数:2.00)填空项 1:_ (正确答案:9)解析:解析 逗号表达式的结果是最后一个表达式的结果,因此 a+b=3+6。20.表达式 5/3的值是 1。(分数:2.00)填空项 1:_ (正确答案:1)解析:三、改错题(总题数:4,分数:8.00)21.以下程序是给数组 a所有元素赋值。 mai
31、n() int a10,i; for(i=1;i10;i+) scanf(“%d“,ai); 错误:_ 改正:_(分数:2.00)填空项 1:_ (正确答案:错误:for(i=1;i10;i+) 改正:将其修改为 for(i=0;i10;i+))解析:解析 循环初始条件不对。22.本程序对 进行计算,直至 (分数:2.00)填空项 1:_ (正确答案:错误:int i=0,num; 改正:int i=0;float num;或者 float i=0,num;)解析:23.#include“stdio.h“ main() char a10,*pa; scanf(“%s“,pa); printf(
32、“%s/n“,pa); 错误:_ 改正:_(分数:2.00)填空项 1:_ (正确答案:错误:scanf(“%s“,pa); 改正:char a10,*pa=a;或修改后面两句:scanf(“%s“,a);printf(“%s“,a);)解析:24.运行以下程序的结果是 321。 main() int x; x=3; do printf(“%d“,x-); while(!x); 错误:_ 改正:_(分数:2.00)填空项 1:_ (正确答案:错误:while(!x) 改正:将其修改为 while(x!=0))解析:解析 while 循环条件逻辑错误。四、程序阅读题(总题数:4,分数:16.00
33、)25.#includestdio.h main() int c; while(c=getchar()!=/n) switch(c-2) case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+2);break; printf(“/n“); 程序运行时,输入 2743CR,则运行结果是:_(分数:4.00)填空项 1:_ (正确答案:66877)解析:解析 输入 2743是字符,2 对应输出 66,7 没有输出,4 对应输出 8,3 对应输出 77,所以输出668
34、77。26.#include“stdio.h“ void main() int x=7,y=90,z10=0,11,22,33,44,55,66,77,88,99; iht *p1=&x,*p2=z,*p3=&z5; printf(“%d%d%d%d/n“,*p1,*p2,*p3,*(p3+1); +p2;p3+; printf(“%d%d%d/n“,*p1,*p2,*p3); p2=z+7;p3=Z+8; printf(“%d%d%d/n“,*p1,*p2,*p3); printf(“%d/n“,*(p1=p2-5); 答:_(分数:4.00)填空项 1:_ (正确答案:705566 711
35、66 77788 22)解析:27.main() int n1,n2; scanf(“%d“,&n2); while(n2 !=0) n1=n2%10; n2=n2/10; printf(“%d“,n1); 程序运行时从键盘上输入 1298回车,则输出结果是:_(分数:4.00)填空项 1:_ (正确答案:8921)解析:解析 n1=n2%10=8,n2=n2/10=129,输出 8,依次类推。28.#include stdiohmain() ( int a6=1,2,3,4,5,6,i; float aver=0,t=0; for(i=0;i6;i+) t=t+ai;aver=1.0*t/6
36、: printf(“%4.1f/n“.aver); for(i=0;i6;i+) if(aiaver) printf(“%d/n“,ai); 程序运行结果为:(分数:4.00)填空项 1:_ (正确答案:3.5 4 5 6)解析:五、程序设计题(总题数:1,分数:8.00)29.每个苹果 0.8元,第一天买两个苹果,第二天开始,每天买前一天的两倍,直到买的苹果个数达到不超过 100的最大值。编写程序,求每天平均花多少钱?(分数:8.00)_正确答案:(#ineludestdio.h main() intday=0,buy=2; float sum=0.0,ave; dosum+=0.8*buy
37、; day+;buy*=2; while(buy=100); ave=sum/day; printf(“%f“,ave); )解析:六、填空题-单片机原理与接口技术(总题数:8,分数:16.00)30.如要选择第 2组的工作寄存器交换数据,可先执行指令_。 PSW(地址为 DOH)的格为CY AC FO RS1 RS0 OV - P(分数:2.00)填空项 1:_ (正确答案:SETB PSW.4)解析:解析 将 RS1置 1。31.执行下列程序后,(42H)=_,(55H)=_。 MOV SP,#40H MOV 42H,#85H MOV 55H,#37H PUSH 42H PUSH 55H
38、POP 42H POP 55H(分数:2.00)填空项 1:_ (正确答案:37H 85H)解析:解析 注意先进后出。32.8255A属于可编程的_I/0 接口芯片,8255A 的 A通道有_种工作方式。(分数:2.00)填空项 1:_ (正确答案:并行 3)解析:33.8031单片机时钟频率 12MHz,如将 T1设定为方式 2,定时时间 100S,则 TH1应为 1。(分数:2.00)填空项 1:_ (正确答案:156 或 9CH)解析:34.执行下列指令组后,程序计数器 PC的内容为_H。 2301H ANL A, #00H 2303H JZ rel; rel 为 30H 2305H (
39、分数:2.00)填空项 1:_ (正确答案:2335)解析:35.片内 RAM的位寻址区的地址范围为 1H 2H。(分数:2.00)填空项 1:_ (正确答案:20)填空项 1:_ (正确答案:2F)解析:36.MCS-51单片机把 1、 2、并行口、串行口和定时器/计数器等集成在一个芯片上。(分数:2.00)填空项 1:_ (正确答案:CPU)填空项 1:_ (正确答案:存贮器)解析:37.片内 RAM可进行位寻址的空间位地址范围是 1。(分数:2.00)填空项 1:_ (正确答案:00H7FH)解析:七、改错题-单片机原理与接口技术(总题数:2,分数:4.00)38.下面子程序是从串行接口
40、接受一个字符。 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 错误:_ 改正:_(分数:2.00)填空项 1:_ (正确答案:错误:MOV TMOD,20H 改正:MOV TMOD,#20H)解析:解析 20H 是地址39.某 8031单
41、片机时钟频率 12MHz,T1 为工作方式 1,2 毫秒定时中断,其部分初始化程序如下,请指出错误,并改正之。 MOV TMOD,#01H MOV TH1,#0F8H MOV TL1,#30H MOV IP,#8 MOV IE,#88H * 错误:_ 改正:_(分数:2.00)填空项 1:_ (正确答案:错误:MOV TMOD,#01H 改正:MOV TMOD,#10H)解析:解析 T1 方式,高四位为 1,低四位为 0。方式错误。八、程序阅读题-单片机原理与接口技术(总题数:2,分数:8.00)40.下面程序是从_单元开始,连续存放 10个无符号数,从中找出最大值送入_单元。 ORG 002
42、0H MOV R0,#40H MOV B,R0 MOV R7,#09H INC R0 L00P:MOV A,B CLR C SUBB A,R0 JNC NEXT MOV B,R0 NEXT:INC R0 DJNZ R7,LOOP MOV 30H,B SJMP $ END(分数:4.00)填空项 1:_ (正确答案:40H 30H)解析:解析 关键语句是 SUBB A,R041.设单片机的晶振频率为 fosc=6MHz,使用 T1工作于工作方式 0,下面程序用查询的方式在_端输出周期为_的连续等宽方波。 MOV TMOD,#00H MOV TH1,#0FCH MOV TL1,#03H MOV I
43、E,#00H SETB TR1 LOOP: JBC TF1,LOOP1 AJMP LOOP1 LOOP1: MOV TH1,#0FCH MOV TL1,#03H CPL P1.0 CLR TF1 SJMP LOOP(分数:4.00)填空项 1:_ (正确答案:P1.0 250s)解析:解析 前三句设定时 T1方式 0,输入初值。第四关中断,第五句设置 T1溢出标志兼标志位。第六句测试溢出标志。八、九句重新设置 T1定时初值。最后是在 P1.0输出方波。 周期计算:TH1=FCH=11111100B,TL1=03H=00011B。 213-1111110000011B=8192-8067=125.125*2s=500s九、程序设计题-单片机原理与接口技术(总题数:1,分数:8.00)42.编写两个 4字节无符号数相减的程序。被减数存放在片内 RAM 30H开始的数据区,减数存放在 40H开始的数据区(均为低位在前),差值存回 3