微机原理题库 下载本文

[键入文字]

LOOP: SJMP $

[键入文字] [键入文字] ;等待中断,虚拟主程序

ORG 000BH ;T0中断服务程序入口 AJMP BRT0 ;转中断服务程序

BRT0: ?? ;中断服务程序

3.选用T1方式0产生500微秒定时,在P1.1输出周期为1毫秒的方波,晶体振荡器频率为6MHz。

解答:定时器的初值:

X?213?500?10?6/2?10?6?8192?250?7942?1111100000110B?1F06H

MOV TMOD,#00H ;置T1为方式0

选用T1,则TH1初值为1FH,TL1的初值为06H。在设置TMOD各位时,一般GATE取0。相关程序如下:

MOV TH1,#1FH ;置T1初值高8位 MOV TL1,#06H ;置T1初值低8位 SETB EA ;CPU中断开放 SETB ET1 ;T1中断允许 SETB TR1 ;启动T1

;等待中断,虚拟主程序

ORG 001BH ;T1中断服务程序入口 AJMP BRT1 ;转中断服务程序 MOV TL1,#06H ;重装T1初值 CPL P1.1 ;输出方波 RETI

LOOP: SJMP $

BRT1: MOV TH1,#1FH

36

[键入文字] [键入文字] [键入文字]

第7 章 第9章

一.填空题

1. 设计输入输出接口电路时,输入接口电路的关键器件是 ;输出接口电路的关键器件是 。 解答:缓冲器 锁存器

2.8255A有3种工作方式,其中 仅限于A口使用。 解答:双向传输方式。

3. 设8255A中C端口的内容为88H,将7DH写入8255A控制字寄存器后,则C端口的内容变为 H。

解答: 80H

4.设8255A中C端口的内容为88H,将7DH写入8255A控制字寄存器后,则C端口的内容变为 H。

解答: 80H

5. 串行异步通信,没有数据传送时,发送方应发送 信号;串行同步通信,没有数据传送时,发送方应发送 信号。

6. 在串行通信中, A点与B点之间可以同时两个方向传送数据的通信方式称为 。

解答;全双工串行通信。

7. DAC0832有3种工作方式,分别为 、 、 。 解答:直通方式、单缓冲方式、双缓冲方式

8. 读取ADC0809转换结果的方式有: 、 、 。 解答:程序查询方式、中断方式、CPU等待方式

二.选择题

1. 在I/O设备的接口电路中,常用器件( C )解决与数据总线的隔离问题。 A、译码器 B、触发器 C、三态缓冲器 D、锁存器

2. I/O接口电路通常具有( C )三个端口。 A、数据输入、数据输出、命令端口 C、数据端口、命令端口、状态端口

3. 8255A的PA口工作于方式2,PB口工作于方式0时,其PC口、可 D 。 A.用作一个8位I/O端口 C.部分作联络线

4.8255A芯片的PA口工作在方式2,PB口工作在方式1时,其PC端口_C_____。 A、用于两个4位I/O端口 B、部分引脚做联络,部分引脚做I/O引线 C、全部引脚均做联络信号 D、做8位I/O端口,引脚都为I/O引线

B.用作一个4位I/O端口 D.全部作联络线

B、数据输入、数据输出、状态端口 D、数据端口、控制端口、命令端口

解答: 空闲 同步

37

[键入文字]

[键入文字] [键入文字]

5. 8255A中既可以作数据输入、输出端口,又可提供控制信息、状态信号的端口是( C ) A、B口 B、A口 C、C口 D、以上三个端口均可以

6. 个系统通过其8255A并行接口与打印机连接,初始化时CPU将它的A口或B口设置成方式1输出,此时8255A与打印机的握手信号为( C )

(A)IBF STB (B)RDY STB (C)OBF ACK (D)INTR ACK

7. 8255A芯片的PA口工作在方式2,PB口工作在方式1时,其PC端口__B____。

A、用于两个4位I/O端口 B、部分引脚做联络,部分引脚做I/O引线 C、全部引脚均做联络信号 D、做8位I/O端口,引脚都为I/O引线

8. 8251A以异步通信方式工作,设波特率因子为16,字符长度为8位,奇校验,停止位为2位,每秒钟可传输200个字符,则它的传输速率和收发时钟信号频率分别为__C(bps,KHz)。 A、200,200 B、2200,38.4 C、2400,38.4 D、200,38.4

9. 251A收、发串行数据的波特率 A 。 (A)可由编程设置 (C)等于CLK输入的基准时钟频率的1/16

10. 某A/D转换系统的分辨率要求为0.01V,电压输入范围为±10V,该系统最低应选择____C___位A/D芯片?

A 8 B 10 C 12 D 14

三.问答题

1. 假定8255A的地址为0060H~0063H,A口:0060H,B口:0061H,C口:0062H,CR:0063H,试编写下列情况的初始化程序。A组设置为方式1,且端口A做为输入,PC6和PC7做为输出,B组设置为方式1,且端口B做为输入口。

解答:8255方式控制字: MOV DX, 63H MOV AX, B6H OUT DX, AX

2. 下图为8088CPU某微机打印控制系统,使用逻辑门电路实现地址译码,8255A芯片查询打印机的状态,并向打印机输出数据使其打印(打印机正在打印时BUSY信号为高电平,否则为低电平)。完成下列问题:

(B)等于CLK输入的基准时钟频率的16倍 (D)等于CLK输入的基准时钟频率

38

[键入文字] [键入文字] [键入文字]

(1)8255A芯片四个端口的地址是多少?

(2)编写完整程序,使用查询方式将存放在CONDATA开始的存储区中的100个8位二进制数据打印出来。

解答;(1)根据图示,要片选8255A,必须与非门的输出和A7~A3均为0,要保证在访问8255A的时候(这时IO/M为1)与非门的输出为0,必须A10~A6均为1,再考虑到A2、A1用来选择8255A的内部端口,所以四个端口的地址应该为1111000000B~1111000011B,即3C0H~3C3H。

(2)根据打印机系统的连接,可以设置8255A采用方式0工作,其中PB口设置为输出,PC0~PC3设置为输入,查询PC0的状态,如果为低电平0,表示打印机空闲,将存储区的数据取出一个字节传送给PB口输出到打印机打印,之后再去判断打印机是否空闲,重复以上操作100次,直到将全部数据输出打印。具体程序代码如下:

3.试编写一程序段,完成模拟通道IN5的A/D数据输入(包括8255的初始化部分,若8255A的方式控制字为98H)。

MOV

DX, 3C3H;设置控制字,方式0,PB口输出,PC口输入

MOV AL, 89H OUT DX, AL MOV MOV IN

JUDGE:

CX, 100;设置循环次数100次,打印100个字节的数据 SI, AL, DX

0;设置SI为要打印的数据区的数据指针

MOV DX, 3C2H;取PC口的数据,判断打印机是否空闲 ADD AL, 01H;取PC0位判断 CMP AL, 00H JNZ

JUDGE

MOV DX, 3C1H;取数据区的数据送到PB口去打印 OUT DX, CONDATA[SI] INC

SI

LOOP JUDGE

39

[键入文字] [键入文字] [键入文字]

解答;利用方式控制字初始化8255A,然后PC口输出数据以选中IN5通道并启动转换,查询PC7是否等于1,如果等则读取PA口的转换后的数字信号。具体代码如下:

MOV DX,38BH;初始化8255

MOV AL,98H;方式0,PA口输入,PC口低4位输出,高4位输入 OUT DX,AL

MOV DX,38AH;向PC口的低4位输出数据,使PC3=1,PC2~PC0=101B MOV AL,0DH;选中IN5通道并启动转换 OUT DX,AL

MOV DX,38AH;读取PC口高4位 IN

AL,DX

ADD AL,F0H

CMP AL,80H;判断PC7=1?如果转换结束则PC7=1,没有则等待 JNZ

WAIT

MOV DX,388H;从PA口读取转换后的值

WAIT:

4. 下图为一利用8255实现的打印机接口。

(1)完成图中所示引脚与8086系统总线的连接

(2)写出8255的初始化程序片段(设8255的PA口工作于方式0输入,PB口工作于方式1输出)。 (3)写出查议方式下输出一个字符至打印机的程序片段并加注释(假设输出字符已存在AL中)。 解答:(1)连接好后的图如下所示。

(2)8255初始化: MOV DX,P8255+3; MOV AL,10010100B; OUT DX,AL; (3) MOV DX,P8255+3; MOV BL,10001000B; OUT DX,BL; L0: MOV DX,P8255; OUT DX,AL; MOV DX,P8255+2; MOV AL,00000000B; OUT DX,AL; NOP;

40