当前位置:文档之家› 中科大微机原理作业

中科大微机原理作业

微型计算机原理与接口技术习题解答 第七章 1、CPU与外设交换数据时,为什么要通过I/O接口进行?I/O接口电路有哪些主要功能? 答:⑴ CPU与外设交换数据时,存在工作速度不匹配、信号电平不匹配、信号格式不匹配、时序不匹配等问题,因此要通过I/O接口进行。 ⑵ I/O接口电路有哪些主要功能是:①设置数据缓冲以解决两者速度差异所带来的不协调问题;②设置信号电平转换电路;③设置信息转换逻辑以满足对各自格式的要求;④设置时序控制电路来同步CPU和外设的工作;⑤提供译码电路;⑥部分接口电路还具有输入输出控制、读/写控制机终端控制等逻辑。

3、什么叫I/O端口?一般的接口电路中可以设置哪些端口?计算机对I/O端口编址时采用哪两种方法?在8086/8088CPU中一般采用哪种编址方式? 答:⑴ CPU与外设通信时,传送的信息主要包括数据信息、状态信息和控制信息。在接口电路总,这些信息分别进入不同的寄存器,通常将这些寄存器和它们的控制逻辑称为I/O端口。 ⑵ 接口电路中可以设置数据端口、状态端口、命令端口。 ⑶ 计算机对I/O端口编址时采用存储器映象寻址方式或者I/O单独编址方式。 ⑷ 在8086/8088 CPU中一般采用I/O寻址方式。

4、CPU与外设间传送数据主要由哪几种方式? 答:程序控制方式、中断方式和DMA方式。

7、某一个微机系统总,有8块I/O接口芯片,每个芯片占有8个端口地址,若起始地址为9000H,8块芯片的地址连续分布,用74LS138作译码器,试画出端口译码电路,并说明每块芯片的端口地址范围。 答:1#芯片~8#芯片的端口地址范围分别是:9000H~9007H;9008H~900FH;9010H~9017H;9018H~901FH;9020H~9027H;9028H~902FH;9030H~9037H;9038H~903FH; 端口译码电路如下: G1G2AG2BCBAY0Y1Y2Y3Y4Y5Y6Y7

74LS138A15A12

A14A13

M/IO

A2A1A0

1#芯片的片选端2#芯片的片选端3#芯片的片选端4#芯片的片选端5#芯片的片选端

7#芯片的片选端6#芯片的片选端

8#芯片的片选端

8、什么叫总线?总线分哪几类?在微型计算机中采用总线结构有什么好处? 答:⑴ 在微型计算机系统中,将用于各部件之间传送信息的公共通路称为总线。 ⑵ 总线分为:片级总线、系统总线、外部总线。 ⑶ 简化了硬件的设计、简化了系统结构、系统扩充性好、系统更新性能好、便于故障诊断和维修。 第八章 2、CPU响应中断的条件是什么?简述中断处理过程。 答:CPU响应中断的条件是:外设提出中断申请;本中断未被屏蔽;中断允许; 中断处理过程:一次完整的中断过程由中断请求、中断响应和中断处理三个阶段组成。具体而言分为:(蚕丝被http://www.agdren.com/)中断请求、CPU响应中断请求、保护现场、执行中断服务程序、恢复现场、中断返回。

4、中断服务子程序中中断指令STI放在不同位置会产生什么不同结果?中断嵌套时STI指令应如何设置? 答:STI指令允许CPU响应比当前中断优先级高的中断,为了防止在因为响应高级中断而破坏现场,保护现场和恢复现场以外的位置才能使用以允许中断嵌套,否则程序执行会出错。中断嵌套时,需要允许CPU在执行中断服务程序时响应更高级中断,因此需要在保护现场完后开中断,由于恢复现场不能被打断,因此在恢复现场前应先关中断。

7、8086/8088CPU如何获得中断类型号? 答:①对于除法出错,单步中断,不可屏蔽中断NMI,断点中断和溢出中断,CPU分别自动提供中断类型号0~4;②对于用户自己确定的软件中断INT n,类型号由n决定;③对于外部可屏蔽中断INTR,可以用可编程中断控制器8255A获得中断类型号。

8、给定SP=0100H,SS=0500H,PSW=0240H,在存储单元中已有内容为(00024)=0060H、(00026H)=1000H,在段地址为0800H及偏移地址为00A0H的单元中,有一条中断指令INT9.试问,执行INT9指令后,SS、SP、IP、PSW的内容是什么?栈顶的三个字是什么? 答:中断指令不涉及堆栈段地址操作,因而SS=0500H,压栈三次,因而SP=SP-6=00FAH、为中断向量的低字IP=0060H、INT指令影响PSW的IF和TF两位,因此PSW=0040H。堆栈栈顶的三个字分别为:(00FAH)=0240H,(00FCH)=0800H,(00FEH)=00A0H。

13、系统中有三个中断源,从8259A的IR0、IR2、IR4端引入中断,以脉冲触发。中断类型号分别为50H、52H、54H,中断入口地址为5020H、6100H、3250H,段地址为1000H。使用完全嵌套工作方式,普通EOI结束,试编写初始化程序,试编写初始化程序,使得CPU响应任何一级中断时,能正确工作。并编写一段中断服务程序,(丰胸产品http://www.2012110.com)

保证中断嵌套的实现及正确返回。 答:初始化程序: ⑴ 中断向量: MOV AX,1000H ;送入段地址 MOV DS,AX MOV AX,5020H ;送入偏移地址 MOV AL,50H ;中断类型号 MOV AH,25H INT 21H ;设置中断向量 MOV AL,52H ;52中断 MOV AH,25H INT 21H MOV AL,54H ;54中断 MOV AH,25H INT 21H ⑵初始化8259A: MOV AL,13H ;定义ICW1,单片使用,边缘触发,需要设置ICW4 OUT 20H,AL MOV AL,50 ;定义ICW2,中断类型号为50H~57H OUT 21H,AL ;不需要设置ICW3 MOV AL,01H ;定义ICW4,非特殊全嵌套方式,非缓冲方式, ;非自动EOI结束方式 OUT 21H,AL MOV AL,15H ;定义OCW1,允许IR0,IR2,IR4中断,其余屏蔽 OUT 21H,AL MOV AL,20H ;定义OCW2,普通EOI结束方式 OUT 20H,AL ⑶ 中断服务子程序: INT_SERVER: ··· ;保护现场,将程序中使用的寄存器压入堆栈 STI ;开中断 ··· ;执行任务 CLI ;关中断 ··· ;恢复现场 MOV AL,20H ;普通EOI结束方式 OUT 20H,AL IRET ;中断返回 第九章 1、8253芯片有哪几个计数通道?每个计数通道可工作于哪几种工作方式?这些操作方式的主要特点是什么? 答:8253内部具有三个独立的16位计数通道:通道0、通道1、通道2. 8253每个计数通道可工作于6中不同的工作方式: (1)方式0——计数结束中断方式(Interrupt on Terminal Count),在写入控制字后,输出端即变低,计数结束后,输出端由低变高,常用该输出信号作为中断源。其余5种方式写入控制字后,输出均变高。方式0可用来实现定时或对外部事件进行计数。 (2)方式1——可编程单稳态输出方式(Programmable One-short),用来产生单脉冲。 (3)方式2——比率发生器(Rate Generator),用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲周期相同。 (4)方式3——方波发生器(Square Wave Generator),用于产生连续的方波。方式2和方式3都实现对时钟脉冲进行n分频。 (5)方式4——软件出发选通(Software Triggered Strobe),由软件触发计数,在计数器回0后,从OUT端输出一个负脉冲,其宽度等于一个时钟周期。 (6)方式5——硬件出发选通(Hardware Triggered Strobe),由硬件触发计数,在计数器回0后,从OUT端输出一个负脉冲,其宽度等于一个时钟周期。 6种方式中,方式0、1和4,计数初值装进计数器后,仅一次有效。如果要通道在此按此方式工作,必须重新装入计数值。对于方式2、3和5,在减1计数到0值后,8253会自动将计数值重装进计数器。

3、对8253进行初始化编程分哪几步进行? 答:(1) 写入通道控制字,规定通道的工作方式; (2) 写入计数值,若规定只写低8位,则高8位自动置0,若规定只写高8位,则低8位自动置0。若为16位计数值则分两次写入,先写低8位,后写高8位。D0:用于确定计数数制:0,二进制;1,BCD码

4、设8253的通道0~2和控制端口的地址分别为300H,302H,304H和306H,定义通道0工作在方式3,CLK0=2MHz。试编写初始化程序,并画出硬件连线图。要求通道0输出1.5kHz的方波,通道1用通道0的输出作计数脉冲,输出频率为300Hz的序列负脉冲,通道2每秒钟向CPU发50次中断请求。 答:硬件连接图如下图所示: G1G2AG2BCBAY0Y1Y2Y3Y4Y5Y6Y7

74LS138

80868253

A9A8

A7A6

M/IOA5

A4A3A0

A2A1WRRDA2A1WRRD

D7~D0D7~D0

INTRINTIR08259AOUT2

GATE0GATE1GATE2

+5V

CLK02MHzOUT01.5kHz

CLK1OUT1300Hz

CLK2

初始化程序如下: ;通道0初始化程序 MOV DX,306H ;控制端口地址 MOV AL,00110111B ;通道0控制字,先读写低字节,后高字节,方式3,BCD计数 OUT DX,AL ;写入方式字 MOV DX,300H ;通道0地址 MOV AL,33 ;低字节 OUT DX,AL ;先写入低字节 MOV AL,13 ;高字节 OUT DX,AL ;后写入高字节 ;通道1初始化程序 MOV DX,306H MOV AL,01010101B;通道1方式字,只读写低字节,方式2,BCD计数 MOV DX,302 ;通道1地址 MOV AL,5 OUT DX,AL ;通道2初始化程序 MOV DX,306H MOV AL,01010001B;通道2方式字,只读写低字节,方式0,BCD计数 MOV DX,304 ;通道2地址 MOV AL,6 OUT DX,AL

相关主题