2011年西安电子科技大学考研复试-微机原理与接口技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理与接口技术
一:单项选择题(每题1分,共10分)
1.微型计算机中主要包括有()。

A) 微处理器、存储器和I/O接口 B)微处理器、运算器和存储器
C)控制器、运算器和寄存器组 D)微处理器、运算器和寄存器
2. DMA控制器8237有四种工作方式,其中,传输率较高的一种是:()A)单字节传送方式 B)块传送方式 C)请求传送方式 D)级联方式
3. 在下列伪指令中定义字节变量的是( )。

A)DB B)DW C)DD D)DT
4.指令()的源操作数的寻址方式为直接寻址。

A)MOV [2000H],AL B)IN AL,DX
C)XOR AL,[2000H] D)MOV AX,2000H
5.设异步传输时的波特率为4800bps,若每个字符对应一位起始位,七位有效数据位,一位偶校验位,一位停止位,则每秒钟传输的最大字符数是:()
A)4800 B)2400 C)480 D)240
6.8086在响应外部HOLD请求后,( )。

A)转入特殊中断服务程序 B)进入等待周期
C)只接收外部数据 D)所有三态引脚处于高阻,CPU放弃对总线控制权。

7.在8253的6种工作方式中,能够自动重复工作的两种方式是( )。

A)方式1,方式2 B)方式2,方式3
C)方式2,方式4 D)方式3,方式5
8.现行数据段位于存储器BOOOOH到BOFFFH字节单元,则段寄存器DS的内容及该段长度(字节数)分别为:()
A)BOOOH,1000H B)O0OOH,OFFFH
C)BOOOH,OFFFH D)BOOOH,OOFFH
9. 在8237控制下进行“写传送”时,8237需先后向I/0接口和存储器
的控制信号是:( )
A)IOR,MEMW B)IOR,MEMR C)IOW,MEMW D)IOR,IOW 10.8086在最小模式下,分时使用AD0-AD15,所以必须外接地址锁存器,当总线上为地址信息时,通过()将地址送入地址锁存器。

A)DEN B)ALE C)BHE D)DT/ R
二.填空(每题2分,共30分)
1.二进制数11101001,若为无符号数,其十进制数值是();
若为补码表示的有符号数,其十进制数值是()。

2. 若AX=6531H,BX=42DAH,则SUB AX,BX指令执行后:
AX=(), SF,ZF,CF,OF=( ,,, )。

3. CPU访问存储器时,在地址总线上送出的地址称为()地址。

4. 指令MOV AX,[BX+SI+6]源操作数的寻址方式( ) 。

5. 8086/8088CPU可访问两个独立的地址空间,一个为I/O地址空间,
其大小为( )字节;另一个为(),其大小为()。

6.可屏蔽中断从CPU的()引脚进入,只有当中断允许标志IF
为()时,该中断才能得到响应。

7.根据下面的指令和伪指令序列,AX寄存器的内容()。

TAB DB 1,2,3,4,5,6
ENTRY EQU 3
MOV BX,OFFSET TAB
ADD BX,ENTRY
MOV AX,WORD PTR [BX]
8. 对于下面两个数据段,偏移地址为10H和11H的两个字节中的数据是一
样的吗?为什么?
DTSEG SEGMENT | DTSEG SEGMENT
ORG 10H | ORG 10H
DATA1 DB 72H | DATA1 DW 7204H
DB 04H | DTSEG ENDS
DTSEG ENDS |
()。

9. 中断类型号为1的中断矢量存储在地址()至()处,共()个单元。

10.CPU与外设之间进行数据传送的方式有四种,它们是:
()、()、()、 ( )。

11.8086CPU从内部功能上可分为()和( ) 两个独立的功能部件。

12.将下列文件类型填入空格:
(1) .obj (2) .exe (3) .crf (4) .asm (5) .lst (6) .map
编辑程序输出的文件有();
汇编程序输出的文件有();
连接程序输出的文件有()。

13.设计输入/输出接口时,应遵守的基本原则是:输入
();输出()。

14.若要求由8253计数器0的OUT0输出端输出方波,则应设置其工作于方式(),设CLK0的频率为lMHZ,欲获得可能的最低频率,应向初值寄存器写入的初值为()。

15. 8086按最小模式工作时,控制数据流方向的信号有:
( ),( ),( ),( ),( )。

三.改错题(标出题中错误的地方,并填写出正确内容。

共10分)
1.使BUF单元的内容高二位都为“0”,低六位不动。

(5分)
ST: MOV SI,OFFSET BUF
MOV AL,[SI]
ADD AL,0C0H
MOV [SI],AL
MOV AH,4CH
INT 21H
改正:()
2.在BUF开始的101个单元中,关键字存放在BUF单元,查找关键字。

并送存BUF+1单元中。

(5分)
MOV SI,OFFSET BUF
MOV AL,[SI]
MOV BL,64H
INC SI
N1:CMP AL,[SI]
JNC N2
INC SI
LOOP N1
N2:MOV AL,[SI]
MOV SI,OFFSET BUF
INC SI
MOV [SI],AL
RET
改正:()
()
四.阅读程序,回答有关问题(每小题5分,共15分)
要求:必须加相关注释,否则不得分。

1.MOV CX,l00
MOV SI,OFFFH
NEXT: INC SI
CMP BYTE PTR[SI],'A'
LOOPNZ NEXT
RET
该程序段的功能是()。

2.程序执行后,回答下列问题
MOV AX,0
MOV CX,11
L1:ADD AX,CX
DEC CX
JNZ L1
RET
问:AX=(),CF=()。

3. LEA SI, OLDS
LEA DI, NEWS
MOV CX, 5
CLD
REPZ CMPSB
JNZ NEW_LESS
.
.
.
该程序段的功能是()。

五、程序填空(填入适当指令或指令的一部分,完成指定功能。

5分)
设有100个字节数据(无符号数),存放在数据段中EA=2000H的存储区内。

以下程序应能从该数据区中找出最大的一个数并存入同一数据段EA=21OOH的单元中,请完成该程序(在括号内填入适当的语句)。

MAX: MOV BX,()
M0V AL,[BX]
M0V CX,()
LOOP1: INC BX
CMP AL,[BX]
()
MOV AL,[BX]
LOOP2: DEC CX
JNZ ()
M0V (),AL
六.设计题(每题6分,共30分)
1.在BUF开始有一个字节型数组,共有1000个元素。

编写一个程序
将负数传送到BUF1开始的单元。

2. 电路如图,分别写出2片8255A的端口地址。

3.画出无握手联络线、端口地址为PORT的8位并行输入接口电路,用汇编语言编写一段程序,从外设输入一个数据送到寄存器。

4.电路如图,编写程序实现下列功能:
K0、K1、K2全部闭合时,红灯亮;K0、K1、K2全部打开时,绿灯亮;其他情况黄灯亮。

附:8255A的控制字:
5.下图为DAC0832 8位D/A转换器与系统的连接图。

(1)根据图(b)说明DAC0832的工作方式。

(2)编写一个程序,使输出为可控制斜率的锯齿波。

(提示:利用软件延时程序实现斜率控制。

DAC0832的端口地址自定)
《微型计算机原理及接口技术》试题
一. 单项选择题
1. 8086CPU芯片的外部引线中,数据线的条数为○
①6条②8条③16条④20条
2. 8088CPU上READY信号为下面哪种信号有效?○
①上升边②下降边③高电平④低电平
3. 8088CPU中的CS寄存器是一个多少位的寄存器?○
①8位②16位③24位④32位
4. 当8086CPU 读写内存的一个规则(对准)字(16位)时,BHE和A0
的状态必须是○
①00 ②01 ③10 ④11
5. 当8086CPU读I/O接口时,信号M/IO和DT/R的状态必须是○
①00 ②01 ③10 ④11
6. 在8088CPU中, 用于寄存器间接寻址输入输出指令的寄存器是○
①AX ②BX ③CX ④DX
7. ISA总线是一种多少位的内(系统)总线?○
①8位②16位③32位④64位
8. 属于只读存贮器的芯片是○
①SRAM ②DRAM ③EPROM ④SDRAM
9. 需要定时刷新的存贮器是○
①SRAM ②DRAM ③EPROM ④EEPROM
10. 内存从A4000H到CBFFFH,共有○
①124K ②160K ③180K ④224K
11. 擦除EPROM是用○
①+5V电压②+15V电压③+21V电压④紫外光照射
12. 采用查询方式来实现输入输出是因为它○
①速度最快
②CPU可以不介入
③实现起来比较容易
④在对多个事件查询工作时,能对突发事件做出实时响应
13. 实现DMA传送,需要○
①CPU通过执行指令来完成②CPU利用中断方式来完成
③CPU利用查询方式来完成④不需要CPU参与即可完成
14 下面哪种说法不正确○
①内存地址也可做为接口地址使用
②内存地址不可做为接口地址使用
③接口地址不可做为内存地址使用
④接口地址也可做为外存地址使用
15. 8255工作在方式0时,下面哪种说法正确○
①A、B、C三个口输入均有锁存能力
②只有A口输入有锁存能力
③只有C口输入有锁存能力
④A、B、C三个口输入均无锁存能力
二. 多项选择
1 . 在构成8 0 88最大模式下构成系统总线时,可用到下列哪些芯片?
①74LS373 ②8288 ③74LS245 ④74LS138 ⑤8289
2 . 8086CPU一个总线周期可以读(或写)的字节数为○
①1个②2个③3个④4个⑤6个
3. 当8255的A口工作在方式2,B口工作在方式0时,其C口可用作
①全部用作联络信号②5条用作联络信号③4条用作联络信号
④3条用作I/O ⑤8条用作I/O
4. 当8086CPU最大模式下读内存时,下列哪些信号的状态是正确的?○
①MEMR=0 ②MEMW=0 ③IOW=1 ④IOR=0 ⑤DT/R=0
三. 判断题
1. 8086CPU的复位启动地址为0FFFFH。


2. 在8086CPU响应中断时,CPU内部硬件只保护CS和IP,其余的内
部寄存器应由程序员编程保护。


3. 若各中断源的优先级是一样的,则可用自动循环优先级来实现。


4. 异步串行通信在传送每一个字符时,传送出去的第一位一定是一个
低电平的启动位。


5. 8253不能产生宽度可编程的单个负脉冲。


四. 简单回答题(每小题3分,本题共15分)
1. 简要说明PCI总线的特点。

2. 试说明在8088CPU执行INT 40H指令的过程?
3. 若己知8250芯片上有3条地址线A0~A2,该8250最少需占多少个
接口地址?
4. 说明当8253的外部时钟为1MHZ时,只用该8253如何产生宽度为1
秒的负脉冲?
5. 说明什么是中断嵌套?
五.应用题
1.(8分)下图为内存芯片与系统总线的连接图,用以存放数据。

图中锁存器为输出接口,其地址为0000H,它与数据总线相连接,可将数据总线上D0~D7从其输出端Q0~Q7输出。

回答下列两个问题:
D0~
D0~
A0~
A0~A15
OE
MEMW WE
D0~D7 Q2 =1 &
A15 ≥1 Q3
A14 Q4 =1 CS
Q5 =1
CP
锁存器=1 与非门
A0 异或门
IOW 或门
A16
A17
A18
A19
⑴在读写内存芯片时,首先执行下列程序。

程序执行完后,决定存储器芯片的地址。

START:MOV DX,0000H
MOV AL,76H
OUT DX,AL
⑵若首先执行下列程序,程序执行完后,决定存储器芯片的地址。

START:MOV DX,0000H
MOV AL,0F0H
OUT DX,AL
2.(8分)下面两图均为利用锁存器74273作为输出接口的连接图,利用74273的CP端的上升沿可以锁存数据到74273的输出端。

并且假定接口地址为0000H。

⑴利用时序的概念,解释图Ⅰ和图Ⅱ哪一种连接是错误的?
⑵读下列程序,画出程序执行过程中图Ⅰ和图Ⅱ中74273的CP端的波形。

START: MOV DX,0000H
GOON: MOV AL,0F0H
OUT DX,AL
JMP GOON
D0~
(图Ⅰ)
A0
IOW 74273
D0~
(图Ⅱ)
A0
IOW 74273
3.(10分)一种通过接口芯片8255将ADC0809接到8088系统总线上的连接图如下图所示。

该电路以可编程并行接口8255作为ADC0809的接口,其初始化程序规定:
8255工作在方式0之下,A口输入,B口输出,C口的低4位输出、高
4位输入,并且使PC
0=0,PC
1
=0。

结合给出的硬件连接图,回答下面两个问题:
⑴若完成上述规定的8255的初始化程序如下,试在下划线处填上相应的数字或指指令。

INITI55: MOV DX,①;
MOV AL,②;
OUT DX,AL
③;
MOV AL,00H
OUT DX,AL
⑵一个具体的采集子程序如下,每调用一次采集子程序,可顺序对8
路模拟输入IN
0到IN
7
进行一次A/D变换,并将变换的结果存放在内存ADATA
所在段、偏移地址为ADATA的顺序8个单元中。

RMAD
PROC NEAR
PUSH BX
PUSH DX
PUSH DS
PUSH AX
PUSH SI
MOV DX,SEG ADATA
MOV DS,DX

MOV BL,00H
MOV BH,08H
GOON:MOV DX,8001H
MOV AL,BL
OUT DX,AL ;送路地址
MOV DX,8002H
MOV AL,②
OUT DX,AL
MOV AL,③
OUT DX,AL ;送ALE和START脉冲
NOP
WAIT:IN AL,DX
TEST AL,④
JZ WAIT ;等待变换结束
MOV AL,02H
OUT DX,AL ;
MOV DX,8000H
IN AL,DX ;
MOV [SI],AL
MOV DX,8002H
MOV AL,00H
OUT DX,AL
⑤;
INC ⑥;
DEC BH
JNZ GOON
POP SI
POP ⑦
POP DS
POP DX
POP BX
RET
PRMAD ENDP
试题参考答案
一. 1. ③ 2. ③ 3. ② 4. ① 5. ① 6. ④ 7. ②
8. ③ 9. ② 10. ② 11. ④ 12. ③ 13. ④ 14. ② 15. ④
二.1. ①②③ 2. ①② 3. ②③ 4. ①③⑤
三 .1. ×应为FFFF0H
2. × CPU硬件保护的是F、CS和IP三个16位的寄存器
3. √
4. √
5. ×因为利用8253的方式0或方式1, 通过编程设定计数器的计数
值,可以产生不同宽度的负脉冲。

四.
1. PCI总线的特点主要是:良好品兼容性;独立于CPU,可与CPU异
步工作;支持构成多机系统;对32位64位使用是透明的。

可提供
3.3V和5.0V两种环境下工作;支持即插即用。

2. CPU取出INT 40H指令,经指令译码获知这是一条中断指令。

并且
得到40H就是该软件央断的中断向量码。

接着就将F、CS和IP压入堆栈保护起来,并关中断。

而后,将中断向量码40H乘4得到中断向量表地址,从该地址开始的顺序两个单元的内容送IP,下两个单元的内容送CS。

这就转向了中断服务程序。

当然,在此之前,中断服务程序的入口地址早已填入中断向量表中。

3. 因为地址A0到A2三条地址线共有8种编码,故8250最多占8个接
口地址。

4. 因为计数时钟为1MHZ,而每个计数器的计数值是16位的。

因此,
一个计数器的最大计数时间只有65. 5mS左右,无法满足要求。

但8253有三个计数器,可以串联使用以解决问题。

例如,将时钟接到CLK0上,使GATE0有效(高电平)并将OUT0输出接到CLK1上做为计数器1的计数时钟,并使GATE1为高电平。

这就将计数器0和计数器1串到一起。

可使计数器0工作在方式2或方式3,使其输出连续的脉冲。

使计数器1工作在方式0。

且使两计数器的总计数值为1000×1000,可以计数器0的计数值均为1000,则OUT0的输出就是周期为1ms的对称方波或窄脉冲。

使计数器1的计数值为999,则OUT1的输出即为宽度1秒的负脉冲。

5. 当CPU正在对某一个中断源服务时,又有优先级更高的中断源提出
中断请求,则CPU应暂仃正在进行的中断服务而转向更高优先级中
断源的服务。

当更高优先级中断源服务结束后再回到原先的中断服
务程序继续服务。

这就是中断嵌套,而且可以多级嵌套。

五.
1. ⑴ 20000H~2FFFFH ⑵ 30000H~3FFFFH
2. ⑴根据8088CPU的写接口的时序,结合连接图的译码电路,可以认为图Ⅰ中锁存器CP上的波形与IOW一样。

IOW锁存数据的上升沿应出现在时序一个总线周期的T4开始之后。

同时,在写接口的总线周期里,CPU 在时钟T2之后开始送出数据到数据总线上,到时钟T4时,数据已传送到接口并已稳定。

此时,利用IOW的上升沿刚好可把稳定的数据锁存到锁存器的输出端。

但是,若采用图Ⅱ所示的电路,锁存器的锁存脉冲输入端CP上的波形刚好为图Ⅰ的反相波形,即为IOW的反相。

这样以来,CP脉冲的上升沿就出现在T2时周期里,这时,CPU刚刚开始向外送数据,数据还没有到达外设,这时进行锁存必定会出错。


图ⅠCP波形
图ⅡCP波形
3.
⑴① 8003H
② 10011000B
③ MOV DX,8002H
⑵① MOV SI,OFFSET ADATA(LEA SI, ADATA)
② 01H
③ 00H
④ 10H
⑤ INC SI
⑥ BL
⑦ AX
4.
⑴ STB脉冲除了将输入设备的数据锁存到锁存器的输出端外,该脉冲还用来触发D触发器,使其输出Q为高电平,此高电平表示外设有数据准备好。

⑵ D触发器的作用是用来提供外设数据准备好的状态。

⑶程序如下:
START: MOV DX,0001H
WAIT: IN AL,DX
AND AL,80H
JNZ WAIT
MOV DX,0000H
IN AL,DX
MOV BL,AL
RET
微型计算机原理与接口技术试题
第一部分 C语言程序设计
一、单项选择题
1.已知字母A的ASCII码为十进制的65,则下面程序的输出是( )
main()
{ char ch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
A.67,D
B.B,C
C.C,D
D.不确定的值
:,则不正确的C语言表达式为( )
2.若有代数式3ae
bc
A.a/b/c*e*3
B.3*a*e/b/c
C.3*a*e/b*c
D.a*e/c/b*3
3.程序运行结果是( )
main()
{int n=0;
while(n<=2)
{n++
printf('%d',n);
}
}
A.1
B.1 2
C.1 2 3
D.1 2 3 4
4.设有以下语句:
struct st
{int n;
struct st*next;
};
struct st a[3]={5,&a[1],7,&a[2],9,'\0'},*p;
p=&a[0];
表达式(++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);
if{a>b&&a>c)max=a;
else if a<c&&a<b min=a;
else max=min=c;
printf("max=%d,min=%d\n",max,min);
}
6.main()
{ int x;
scanf("%d",&x);
switch(x)
{case x==0:printf("x=0\n");break;
default:Printf("x!=0\n");
}
}
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("%c\t",fgetc(p));
fcolse(p);
}
三、填空题(本大题共4小题,每小题2分,共8分。

)
9.若有定义:int a[3][4]={{1,2},{3,5,7},{4,6,8,10}};则初始化后,
a[1][2]得到的初值是______。

10.程序是求数组中最大元素的下标。

main( )
{int s[100],i,k;
for(i=0;i<100;i++)
scanf("%d",&s[i]);
for(i=0,k=0;i<100;i++)
if(s[i]>s[k])__________
printf("k=%d\n",k);
}
11.函数capital_num()的功能是统计一段文字的大写字母数。

#include "stdio.h"
main()
{ char c[256];
int k;
gets(c);
k=capital_num(c);
printf("number of capital is %d\n",k);
}
int capital_num(c)
char c[];
{int n=0,i;
for(i=0;c[i]!='\0';i++)
if(c[i]>='A' &&c[i]<='Z')n++;
_____
}
12.已知int a[10],*p=a;那么数组元素a[5]的地址用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=%d\n",x,y);
}while(i<=3);
}
程序运行的结果是_____
14.main()
{ int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
prinrf("f()=%d\n",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 a[100],i,k,*p=&k,max;
for (i=0;i<100;i++)
scanf("%d",&a[i]);
max=fmax (a,100,p);
printf(“最大值为:%d,最大值的下标为:%d\n",max,k);
}
第二部分 MCS—51 单片机原理与接口技术
一、单项选择题(本大题共11小题,每小题1分,共11分)在每小题列出
的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

16.8位二进制所表示的无符号整数,其相应的十进制数范围是( )
A.0-255
B.1-256
C.1-255
D.0-256
17.字母“b”的ASCII码是( )
A.11H
B.0BH
C.B0H
D.62H
18.十进制数-1用二进制补码表示,该补码是( )
A.FFH
B.00H
C.FEH
D.81H
19.8031单片机外接ROM时,使用( )引脚来选通74LS373芯片
A.ALE
B.P SEN
C.E A
D.W R
20.如果8031单片机的一个机器周期为2微秒,则其时钟频率为( )MHz
A.6
B.8
C.12
D.16
21.8031单片机内含定时器和串行口的个数分别为( )
A.2和1
B.1和2
C.3和1
D.2和2
22.对程序存储区数据传送,应采用助记符为( )
A.MOV
B.MOVX
C.MOVC
D.PUSH
23.下列各指令中( )才属于MCS-51指令系统的位指令
A.ANLC.,/bit
B.XRL C,bit
C.ORL bit,C
D.MOV C,/bit
24.8031单片机外部中断0请求信号输入的引脚是()
A.RXD B.IN T0 C T0 D.W R
25.8031单片机的定时器1的中断程序入口地址为( )
A.001BH
B.0003H
C.000BH
D.0013H
26.8031片外可扩展数据存储器( )KB
A.64
B.32
C.8
D.4
二、改错题(本大题共3小题,每小题2分,共6分。

下面的程序或程序段
存在一个错误或不妥处,请在其下划一条线,并将改正的内容写到每
小题后的空白处。

)
27.某8031单片机时钟频率12MHz,T1为工作方式1,2毫秒定时中断,其
部分初始化程序如下,请指出错误,并改正之。

MOV TMOD,#01H
MOV TH1,#0F8H
MOV TL1,#30H
MOV IP,#8
MOV IE,#88H

T1方式字段 T0方
式字段
TMOD寄存器格式
IP寄存器格式
IE寄存器格式
28.下列程序要完成
41H(低位在前)并把和存于30H,31H中(设和无进位输出)。

请指出错误,
并改正之。

MOV A,30H
ADD A,40H
MOV 30H,A
MOV A,31H
ADD A,41H
MOV 31H,A
29.下列延时子程序,具有保护现场的指令(此处欲保护A及PSW两个特殊功能寄存器)请指出错误,并改正之。

DLY0:PUSH ACC
PUSH PSW
MOV R1,#32H
DLY1: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寄存器格式
IE寄存器格式
34.8031.单片机中,T0初始化后让其开始计数,应将TCON中的位置1。

定时器控制外部
中的位寻址区的地址范围是
36.某8031单片机时钟频率为12MHz,现将T0设置为定时方式1,定时时
间为1毫秒,其计数器中的时间常数初值应为_________(写成四位十六进制数)
37.已知(31H)=21H,(32H)=04H执行下列指令组后
(31H)=_________(32H)=_________
PUSH 31H
PUSH 32H
POP 31H
POP 32H
38.如要选择2组的工作寄存器交换数据,可先执行指令_________
PSW(地址为DOH)的格式为
39.执行下列指令组后,(A)=_________标志位(OV)=_________(P)=_________
MOV A,#0B4H
ADD A,#00H
SUBB A,#51H
40.执行下列指令组后,累加器(A)=_________。

它与R1中内容的关系是_________
MOV R1,#87H
MOV A,R1
CPL A
INC A
SETB ACC.7
41.下列伪指令汇编后,存放25H的单元及LOOP的值分别是_________=25H LOOP=_________。

ORG 0100H
TAB: DB ‘ABC’
NOON:DS 03
BUF: DB 25H
LOOP EQU 2100H
42.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 LOOP
44.见如图,通过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
END
1.第一次调用子程序时,哪个发光二极管亮?
2.第二次调用子程序时,哪个发光二极管亮?
3.第八次调用子程序时,哪个发光二极管亮?
4.第九次调用子程序时,哪个发光二极管亮?
五、程序设计题(本大题共1小题,共6分)
45.在3500H为首址的片外RAM区中,有20个补码表示的数,欲编程序,把其中正数传到20H为首址的片内RAM区中,负数不传送,请补全下列程序。

MOV DPTR,#3500H
MOV R2,#14H
MOV R0,#20H
六、应用题(本大题共1小题,共8分)
46.8031外部扩展DAC0831芯片,见如图,输入寄存器为1B28H,DAC寄存器为1B29H,假定00H对应D/A输出0V,FFH对应D/A输出5V,阅读如下程序,回答问题
ORG 0000H
LJMP START
ORG 0200H
START:MOV DPTR,#1B28H
MOV A,#0
LP1:MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
ACALL D1MS;调用1ms子程序
INC A
CJNE A,#0FFH,LP1
NOP
LP2: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.波形周期为_________秒(忽略指令时间)
微型计算机原理与接口技术试题参考答案
第一部分 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=0\n");break;改成case 0:printf("x=0\n");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=x[0]i;
for(i=0;i<n;i++)
if(m<x[i]){m=x[i];*k=i}
return(m);
}
第二部分 MCS-51单片机原理与接口技术
一、单项选择题
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.20H~2FH 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秒;
31。

相关文档
最新文档