文档库 最新最全的文档下载
当前位置:文档库 › 计算机接口

计算机接口

6-7: 微机系统的数据线为8位,地址线为16位,CPU外部扩展EPROM,有一片27128和一片2764,如图6-36所示,请说明这两片存储器的地址范围(包括地址重叠区)。
解:
由图所示,可知27128与2764进行的是字扩展
题目分析:27128存储容量为16KB,片内地址线14根,占16位地址的A13-A0,片内地址线的变化范围可以从全“0”到全“1”,即可遍历内存的每个单元,在剩余的片外地址线中选择A15与27128的CE引脚直接连接,做线选方式的片选信号线,低电平有效,A14悬空,可选任意状态
27128的地址范围如下表:
A15 A14 27128的地址范围
0 0 0000H-3FFFH
0 1 4000H-7FFFH

同样的,2764存储容量为8K,片内地址线13根,占用A12-A0,A15经过取反后与2764的CE引脚直接相连,所以A15=1时才会选中2764,A14、A13悬空,可选任意状态
2764地址范围如下:
A15 A14 A13 2764的地址范围
1 0 0 8000H-9FFFH
1 0 1 A000H-BFFFH
1 1 0 C000H-DFFFH
1 1 1 E000H-FFFFH


6-8:某微机系统的数据线8位,地址线16位,利用74LS138同时扩展一片EPROM2764和一片SRAM6264,如图6-37所示,请分析这两片存储器的地址范围。
解:
由图所示,可知2764与6264进行的是字扩展
题目分析:2764存储容量为8KB,片内地址线13根,占16位地址的A12-A0,片内地址线的变化范围可以从全“0”到全“1”,即可遍历内存的每个单元,在剩余的片外地址线中利用A15-A13位通过74LS138译码器进行片选,当A15-A13=000时选通2764,A15-A13=101时选通6264,没有悬空位

所以6264的地址范围如下表:
A15 A14 A13 2764的地址范围
0 0 0 0000H-7FFFH

同理,6264的地址范围如下表:
A15 A14 A13 2764的地址范围
1 0 1 A000H-BFFFH



6-9:在图6-38中,说明所连接的存储器SRAM62256的地址范围。
解:
由图所示,62256的存储容量为32K,片内地址线为A14-A0,A17-A15作为译码器74LS138的选择端,译码出来的Y6作为62256的片选端CE,即当A17-A15=110时选通62256。另外,62256通过中间的74LS245作中转交换数据D7-D0,74LS245可双向传输数据。

所以62256的地址范围如下表:
A19 A18 A17 A16 A15 62256的地址范围
0 0 1 1 0 30000H-37FFFH

6-11:某微机系统的数据线16位,地址线为16位,现有4片6116,请设计该微机的存储系统,要求将这4片6116分为2组,每组2片,每组中的2片实现位扩展,然后将这2组实现字扩展,并且这个存储系统的首地址为2000H,采用74LS138译码器。

解:
题目分析:6116存储容量为2K,字长为8,地址线的A10-A0为4片6116公用,数据线D15-D0,其中2组公用该16位数据线进行字扩展,每组有2片6116,分别接数据线的高8位D15-D8和低8位D7-D0进行位扩展。74LS138译码器通过A13-A11译码作为2组芯片的片选端,A15、A14用于译码器的选

通端,即A15A14=00时,选通译码器。
题目要求这个存储系统的首地址为2000H,因此其中一组芯片的片选端接译码器的Y4端,另一组芯片的片选端接Y5,接线图如下:



存储系统的地址表如下:
A15 A14 A13 A12 A11 地址范围
组1 0 0 1 0 0 2000H-27FFH
组2 0 0 1 0 1 2800H-2FFFH
所以存储系统的地址范围为2000H-2FFFH

6-12:什么是虚拟存储器管理?在微机应用中有什么意义?
答:虚拟存储管理是采用硬件、软件相结合的方法,由系统自动分批将程序调入内存,不断地用新的程序段来覆盖内存中暂时不用的老程序段。
虚拟存储技术的主要优点有:(1)扩大了程序可访问的存储空间;(2)便于实施多任务的保护和隔离;(3)便于操作系统实现内存管理。

6-13、什么是描述符?什么是描述符表?他们之间的关系如何?
答:每一段的段基地址、段限以及存储器的保护特性等称为段描述符。每个描述符存于一个表中,称为描述符表。

6-15、什么是段式、页式、段页式管理机制?请简述段页式结构的寻址过程?
答:
虚拟存储器的管理调度方式分:分页式、段式、段页式3种。
(1)页式调度是将逻辑和物理地址空间都分成固定大小的页。
优点:页内零头小,页表对编程者来说是透明的,地址变换快,调入操作简单;
缺点:各页不是程序的独立模块,不便于实现程序和数据的保护。

(2)段式调度是按程序的逻辑结构划分地址空间,段的长度是随意的,并且允许伸长。
优点:消除了内存零头,易于实现存储保护,便于程序动态装配;
缺点:调入操作复杂。

(3)段页式调度:把物理空间分成页,程序按模块分段,每个段再分成与物理空间页同样小的页面。
段页式调度综合了段式和页式的优点。
缺点:增加了硬件成本,软件也较复杂。

段页式结构的寻址过程:
虚拟地址通过分段管理机制转换成线性地址,然后得到的线性地址通过分页管理机制转换成物理地址。分页管理机制是可选的,如果没有采用分页管理机制,那么得到的线性地址就是物理地址。
其中80286虚拟地址指针格式如下:

其高16位是一个段选择符,段选择符的高13位是某段选择符在描述符表中的偏移地址,左移3位后与段基址相加,便可得到描述符在描述符表中的物理地址了。低16位仍表示某段内的偏移,当找到描述符在描述符表中的位置后,就相当于找到了某段的基地址,然后该段基地址再与低16位的偏移量结合,便可得到相应的物理地址了。
(当TI=0时,表示访问全局描述符,TI=1时,表示访问局部描述符,共可以寻址16K个描述符,而每个描述符又可以定义长度为64KB的逻

辑段,所以,80286的最大虚拟空间为16K×64K=1GB 。RPL表示访问某段时所请求的特权层的级别)

80286虚拟地址转换为线性地址的过程如下:


(1)首先,从实地址方式转入保护方式之前由操作系统用装载指令对GDTR进行初始化设置,或从主板上的ROM中复制。GDT的基地址和段限由全局描述符表寄存器GDTR(40位)提供
(2)然后局部描述符表寄存器LDTR的高16位(段选择寄存器)提供被访问任务的LDT在GDT中的偏移地址(LDTR的段选择器中的TI位必定为0,以指向GDT)。
(3)通过GDTR提供的基地址和LDTR提供的偏移地址,便可找到LDT描述符在GDT表中的地址,把该LDT描述符装入LDT-Cache(LDT-Cache中的基地址字段确定LDT的基地址,LDT-Cache的段限字段确定LDT的段限)

(4)LDT-Cache提供了所要找的LDT的基地址(即上图中所说的LDTR基址寄存器)
(5)然后根据CPU提供的32位虚地址指针,由其段选择字的高13位左移3位后,与基地址相加,便可得到段描述符在LDT中的位置
(6)找到该段描述符后,该描述符自动装入到对应的Cache,其中包括了段的基地址
(7)然后把该段基地址与虚拟地址指针的低16位偏移量相加,便可得到要访问单元的线性地址。

至此,通过虚拟地址得到了相应的线性地址,上面所说的是不采用分页机制的情况,那么该线性地址就等于物理地址。

如果采用了分页机制,线性地址转换为物理地址的过程如下:(下面说所的是针对80386段页式结构的寻址过程,在段式管理方面和80286基本上是一致的,只是80386的虚拟地址指针为48位,所得到的线性地址是32位的,而80286的虚拟地址指针为32位,所得到的线性地址是24位的。另外80386的页式结构采用了两级的页表结构)


(1)通过分段管理机制,得到了32位的线性地址
(2)该线性地址的高10位用作选取页目录条目的变址,通过与页目录基地址相加后,便可得到相应的页目录描述符在页目录描述符表中的位置,并将该页目录描述符的信息装入到CR3寄存器中
(3)CR3寄存器提供了页表的基地址,该基地址与线性地址的中间10位相加后,便可得到相应的页描述符
(4)然后通过该页描述符便可得到被访问页的基地址,该基地址与线性地址的低12位相加后,便可得到存储数的物理地址。


6-16、如果存储起始地址为1800H,末地址为1FFFH,求该存储器的容量?
答:1FFFH-1800H=7FFH,可以看出该存储器的可寻址范围为000 0000 0000~111 1111 1111,即存储器的地址线一共11位,所以存储器的容量为211 = 2K字节


6-17:某8088系统用2764ROM芯片和6264RAM芯片构成16KB的内存。其中,RAM的地址范围为FC000H-FDFFFH,ROM的地址范围为FE000H-FFF

FFH.试利用74LS138译码,画出存储器与CPU的连接图,并标出总线信号的名称。.
解:
由题意可知,2764存储容量为8K,6264存储容量为8K,公用地址线A12-A0、数据线D7-D0进行字扩展构成16KB的内存,片内地址线的变化范围可以从全“0”到全“1”,即可遍历内存的每个单元,但控制线的片选端CE分开,利用地址线的A15、A14、A13和74LS138译码器译码,由于题目要求RAM的地址范围为FC000H-FDFFFH,ROM的地址范围为FE000H-FFFFFH,所以Y6、Y7分别与6264、2764的片选端相连,即当A15A14A13=110时,选通6264,当A15A14A13=111时,选通2764。
8088系统的地址线有20位,A19-A16为悬空位,本来可任意设置,但由于题目要求的地址范围固定,因此A19-A16只能取全1。

地址表如下:
A19 A18 A17 A16 A15 A14 A13 地址范围
2764 1 1 1 1 1 1 0 FC000H-FDFFFH
6264 1 1 1 1 1 1 1 FE000H-FFFFFH

存储器与CPU的连接图如下:




7-1、I/O接口的信号有哪几种?各有什么特点?
答:接口信号通常有以下四种:
1、 开关量:只有2种状态,用一位二进制数(0或1)表示开或关。
2、 数字量:二进制形式的数据或是已经过编码的二进制形式的数据。
3、 脉冲量:脉冲信号是以脉冲形式表示的一种信号。关注的是信号发生的跳变情况。
4、 模拟量:用模拟电压或模拟电流幅值大小表示的物理量。

7-2、什么是接口?接口的主要功能是什么?
答:接口是CPU与外设之间进行数据传输的桥梁。接口的主要功能:
1、 信号形式转换
2、 电平转换和放大
3、 锁存器缓冲
4、 I/O定向
5、 并行及串行I/O转换

7-3、什么是端口?端口和存储单元有什么区别?
答:端口指输入/输出接口中的寄存器。
区别:I/O单元地址使用的是绝对地址,而内存单元需要使用段地址和偏移地址来寻址。

7-4、I/O端口编址有几种方式?他们各有什么特点?
答、I/O端口有两种编址方式:
统一编址方式是将I/O端口与内存单元统一起来进行编号。该方式优点是不需要专门的I/O指令,对I/O端口操作的指令类型多;缺点是端口要占用部分存储器的地址空间,不容易区分是访问存储器还是外部设备。
独立编址的端口单独构成I/O地址空间,不占用存储器地址。优点是地址空间独立,控制电路和地址译码电路简单,采用专用的I/O指令,使得端口操作的指令在形式上与存储器操作指令有明显区别,程序容易阅读;缺点是指令类别少,一般只能进行传送操作。
7-5、I/O接口的控制方式有几种?简述各个方式的特点?
答:CPU和外设之间的数据传送方式通常有四种:程序传送方式、中断传送方式、DMA传送方式和I/O处理机方式。
1、程序控制方式:在程序控制下进

行信息传送,分为有条件传送方式和无条件传送方式。无条件传送方式主要用于对简单外设进行操作,或者外设的定时是固定的或已知的场合。
条件传送方式主要用于不能保证输入设备总是准备好了数据或者输出设备已经处在可以接收数据的状态。
2、中断控制方式:中断传送方式下,当外设要求交换数据时,向CPU发中断请求,CPU在执行完当前指令后,即可中断当前任务的执行,并根据中断源转入相应的中断处理服务程序,实现对请求中断外设的管理。中断控制方式主要用于需要提高CPU利用率和进行实时数据处理的情况。
3、直接存储器存取方式(DMA方式):DMA方式是在存储器与外设间开辟一条高速数据通道,使外设与内存之间直接交换数据,不需要CPU的干预。DMA控制方式主要用于快速完成大批的数据交换任务。
4、输入/输出处理器方式:(1)拥有自己的指令系统,可以独立执行自己的程序。
(2)支持DMA传送。


7-6、什么叫DMA传送方式?DMA控制器8237A的主要功能是什么?
答:DMA方式是在存储器与外设间开辟一条高速数据通道,使外设的数据不经过CPU直接送入内存储器,或者,从内存储器不经过CPU直接送往外部设备。
8237A的主要功能:
1、 8237A中有4个独立的DMA通道,但需要一片8位地址锁存器配合使用
2、 每一个通道的DMA请求都可以分别被允许和禁止
3、 每一个通道的DMA请求有不同的优先权,优先权可以固定的,也可以是旋转的
4、 每一个通道一次传输数据最大长度可达64KB.可以在存储器与外设间进行数据方式以及级联方式。在存储器的两个区域之间进行传递
5、 8237A的数据的传递有4种工作方式:单字节传送方式,数据块传送方式,请求传送方式以及级联方式。在每一种工作方式下,8237A都能接受外设的请求信号DREQ,并向CPU发出DMA请求信号HRQ。当接收到CPU的响应信号HLDA后就可以接管总线进行DMA传送,并向外设发出响应信号——D ACK
6、 有一个结束处理的输入信号——EOP,允许外界用此输入端来结束DMA传送或重新初始化
7、 8237A可以级联,任意扩展通道数

7-7、某8086系统中使用8237A完成从存储器到外设端口的数据传送任务,若已知通道0的地址寄存器,终点计数器,方式寄存器端口地址分别为EEE0H、EEE1H和EEE8H,要求通过通道0将寄存器中偏移地址为1000H—10FFH的内容传送到显示器输出,请编初始化写程序。

解:
;清高/低触发器(清0后,先写低地址,然后高/低触发器自动变1,再写高地址)
MOV DX , 0EEECH
OUT DX , AL
;写通道0的基地址寄存器,先写低地址,再写高地址
MOV DX , 0EEE0H
MOV AX , 1000H
OUT DX , AL
MOV AL , AH
OUT DX . AL
;

写通道0的基字节计数器,先写低地址,再写高地址
MOV DX , 0EEE1H
MOV AX , 00FFH
OUT DX , AL
MOV AL , AH
OUT DX , AL
;写工作方式字,块方式传送,地址增值,禁止自动初始化,读传递,通道0
MOV DX , 0EEEBH
MOV AL , 88H
OUT DX , AL
;写单通道屏蔽寄存器,开放指定DMA通道0的屏蔽位
MOV DX , 0EEEAH
MOV AL , 00H
OUT DX , AL
;写控制寄存器,DACK有效为低,DREQ有效为低,滞后写,固定优先权,允许8237A工作,正常定时,禁止存储器到存储器
MOV DX , 0EEE8H
MOV AL , 40H
OUT DX , AL

7-8、某8086系统中使用8237A完成从存储器的数据传送,已知源数据块首地址的偏移地址值为1000H,目标数据块首地址的偏移地址为1050H,数据块长度为100B。请编写初始化程序,并画出硬件连接图。

解:
题目分析:
(1)寄存器的端口地址:高4位地址A7~A4经译码后,选通片选端CS,这里假设地址的高4位A7~A4为1001时选通CS,即DMA的16个端口地址从90H开始。

(2)题目要求的是数据传送是从存储器到存储器,源数据块的首地址的偏移地址为1000H,目标数据块首地址的偏移地址为1050H,这里利用DMA的通道0作为源数据块的输出端,通道1作为目的地址的输入端,而且通道1的基字节计数器存放要传送的字节数。最后通过软件DMA请求通道0进行数据的传送。

程序如下:
;清高/低触发器(清0后,先写低地址,然后高/低触发器自动变1,再写高地址)
OUT 9CH , AL
;写通道0的基地址寄存器,先写低地址,再写高地址
MOV AX , 1000H
OUT 90H , AL
MOV AL , AH
OUT 90H , AL
;写通道1的基地址寄存器,先写低地址,再写高地址
MOV AX , 1050H
OUT 92H , AL
MOV AL , AH
OUT 92H , AL
;写通道1的基字节计数器,先写低地址,再写高地址,由题意可知传送的数据块长度为100B,转化为16进制并且减1后为63H
MOV AX , 0063H
OUT 93H , AL
MOV AL , AH
OUT 93H , AL
;写工作方式字,块方式传送,地址增值,允许自动初始化,写传递,通道1
MOV AL , 10010101B
OUT 9BH , AL
;写屏蔽寄存器,开放指定DMA通道0和通道1的屏蔽位
MOV AL , 00001100B
OUT 9EH , AL
;写控制寄存器,DACK有效为低,DREQ有效为低,滞后写,固定优先权,允许8237A工作,禁止通道0地址保持,允许存储器到存储器
MOV AL , 01000001B
OUT 98H , AL
;写请求寄存器,通过软件DMA请求通道0进行数据的传送
MOV AL , 00000100B
OUT 99H , AL

硬件连线图如下:(下面的图应该把外设改为存储器,图是书上的图)



8-3:什么叫中断嵌套?中断嵌套的原则是什么?
答:
CPU在处理级别较低的中断过程中,出现了级别较高的中断请求。CPU停止执行低级别中断的处理程序而去优先处理高级别中断,等高级别中断处理完毕后,再接着执行

低级别的未处理完的中断处理程序,这种中断处理方式称为多重(级)中断或中断嵌套。
中断嵌套的原则:高级别的中断可以嵌套低级别中断,低级别中断不能嵌套高级别中断,同级别中断不能互相嵌套。对于可屏蔽中断,由于CPU在响应中断时已将IF清零,所以一定要在中断处理程序中加入开中断指令,才有可能进行中断嵌套。

8-6:什么叫矢量中断?什么是中断矢量表?中断矢量表的内容是什么?
答:
中断矢量就是中断服务程序的入口地址。
8086的中断系统能够处理256个不同的中断,每一个中断安排一个编号,范围为0~255,称为中断类型。每种中断类型对应的中断服务程序的入口地址称为中断矢量(或中断向量)。把系统中所有的中断矢量按中断类型从小到大的顺序放到存储器的特定区域,该区域称为中断矢量表。每个中断矢量在中断矢量表中占用4字节,CPU响应中断后通过将中断类型×4得到中断矢量在中断矢量表中的首地址。

8-8:8086/8088共有多少矢量号?每一个矢量号中断入口地址占用矢量表的几个字节空间?它们的内容是什么?中断矢量表定位于内存何处?
答:
8086/8088共有256个中断矢量号,每个中断矢量入口地址占用4个字节空间,内容是中断服务程序入口的偏移地址和段地址,中断矢量表位于存储器的最低地址区(0000H~003FFH)

8-9:请叙述中断矢量号(中断类型)、中断矢量表和中断服务程序的入口地址三者的关系。
答:
每个中断矢量号与一个中断服务程序相对应,中断服务程序的入口地址存放在内存的中断矢量表内。中断矢量表是中断矢量号与它相应的中断服务程序入口地址之间的转换表。



8-11:若中断号N=13H,计算此中断服务程序的入口地址在矢量表中的地址。
答:4CH-4FH


8-12:若当前CPU正在对某一外部中断请求IRQm服务,而外部又有两个中断请求信号IRQn和IRQi同时有效,试说明IRQi的请求马上得到响应的条件是什么(0<=(m,n,i)<=7)?
答:
IRQi的请求马上得到响应的条件是IRQi的中断屏蔽位为0,相应的中断请求位为1,而且中断服务优先级要高于IRQm和IRQn



8-13:微机从00020开始的一段内存地址及其内容对应如下所列十六进制数;
地址(H):20,21,22,23,24,25,26,27,28,29,2A,2B
内容(H):3C,00,86,0E,45,00,88,0E,26,00,8E,0E
外部可屏蔽中断|IRQi的中断|矢量号0AH,问:
1、 外部可屏蔽中断IRQ2的中断矢量地址是多少?
2、 IRQ2中断服务程序入口地址是多少(用物理地址回答)?
答:
(1)28H-2BH
(2)IRQ2的中断服务程序入口地址为0E8E0 + 0026H = 0E906H

8-14:8086CPU每一次中断响应发出两个响应信号—

—I NTA各有什么作用?
答:
当8259A接收到CPU发出的第一个INTA有效的负脉冲后,将被相应的中断源置入ISR(中断服务寄存器)的对应位,即ISR的对应位置1,说明需要服务的中断子程序对应的IRQn,同时把IRR(中断请求寄存器)的对应位清0
当8259A接收到CPU发出的第二个INTA有效的负脉冲后,就将其中断类型号送入到数据总线,以找到其相应的中断服务子程序入口。

8-15:若用户要使用系统的TRQ7,其中断服务程序入口地址为2000:0100H,如何安装中断矢量(不包括保护原始量)?

MOV DX , 2000H
MOV DS,DX ;把中断服务程序段地址送往DS
MOV DX , 0100H ;把中断服务程序的偏移地址送往DX
MOV AL , 0FH ;AL存放中断向量号,这里假设IRQ0的中断向量号为08H
MOV AH , 25H ;AH存放的是功能号
INT 21H ;21H的25号功能把中断服务子程序的入口地址(段地址和偏移地址)
;送到中断向量表中的相应位置

8-20: 试按照如下要求对8259A初始化命令字:系统中有一片8259A ,中断请求信号用电平触发方式;下面要用ICW4?设置嵌套及中断结束等状态,中断矢量码为60H-67H,用特殊全嵌套方式、无缓冲,采用中断自动结束方式。8259A的端口地址为93H和94H。

解:
由题意可知,8259A的奇地址端口为93H,偶地址端口为94H,IRQ0~IRQ7的中断矢量码分别为60H~67H,即初始化字ICW2为0110 0000

程序初始化:
MOV AL , 1BH ;写ICW1,电平触发、单片、需要设置ICW4
OUT 94H , AL ;A0=0;D4=1
MOV AL , 60H ;写ICW2,中断矢量号从60H开始
OUT 93H , AL ;A0=1;
MOV AL , 13H ;写ICW4,特殊完全嵌套,无缓冲,自动结束方式
OUT 93H , AL ;A0=1
MOV AL , 0
OUT 93H , AL ;写操作控制字OCW1,允许全部中断请求





9-3解:在上图中,8253A的数据线D7~D0与8086CPU的高8位数据线D15~D8相连;8259的数据线D7~D0与8086CPU的低8位数据线D7~D0相连,8253A的端口地址码A1A0与8086CPU的A2A1相连,A0和ˉBHE作为译码输入。根据图示连接可分析8253A的4个端口地址分别为FFF9H、FFFBH、FFFDH、FFFFH;8259A的两个端口地址分别为FFFCH和FFFEH。根据系统的要求,通道0定义为工作方式2,输出频率为1kHz的方波,周期为1ms。从CLK0输入5MHz的时钟脉冲,其周期为0.2us,因此,通道1的计数初值应为5000(1ms/0.2us=5000);通道1定义为工作方式4,完成定时功能,每秒钟利用OUT1向CPU发出一次中断请求,输入时钟频率为1kHz,计数初值为1000H.
.MODEL SMALL
.STACK 100
.DATA
Add8253C0 DB FFF9H
Add8253C1 DB FFFBH
Add8253C2 DB FFFDH
Add8253CR DB FFFFH
Add8253ED DB FFFCH
Add8253OD DB FFFEH

.CODE
CLOCK PROC FAR
PUSH DS
MOV AX,0
PUSH AX
MOV AX,@DATA
MOV DS,AX
MOV DX,Add8253CR ;定义通道0工作在方式3
MOV AL,36H
OUT DX,AL
MOV DX,Add8253C0 ;给通道0送计数初值,先送低8位,后送高8位
MOV AX,5000
OUT DX,AL
MOV AL,AH
OUT DX,AL
MOV DX,Add8253CR ;定义通道1工作在方式4,二进制计数
MOV AL,78H
OUT DX,AL
MOV DX,Add8253C1 ;给通道1送计数初值,先送低8位,后送高8位
MOV AX,1000H
OUT DX,AL
MOV AL,AH
OUT DX,AL
MOV DX,Add8253ED ;对8259A初始化,ICW1设置
MOV AL,13H
OUT DX,AL
MOV DX,Add8253OD ;对8259A初始化,ICW2设置
MOV AL,50H
OUT DX,AL
MOV AL,03 ;对8259A初始化,ICW4设置
OUT DX,AL
MOV AL,0FAH ;对8259A初始化,OCW1设置
OUT DX,AL
STI
WaitInt: HLT ;CPU等中断
JMP WaitInt:
........
CLOCK ENDP
END
9-5解:定时器1定义为工作方式2,完成分频功能(假设是二分频),输出频率为40Hz的连续脉冲,则输入脉冲应为80Hz,定时器1 CLK1的输入脉冲来自于定时器0的OUT0输出,因此定时器0应输出频率为80Hz的方波,从CLK0输入4.77MHz的时钟脉冲,因此,定时器0的计数初值应为600(4.77MHz /80Hz =600);定时器1的计数初值为2(80Hz /40Hz =2).
初始化程序为:
.MODEL SMALL
.STACK 100
.DATA
Add8253C0 DB 200H
Add8253C1 DB 201H
Add8253CR DB 203H
.CODE
CLOCK PROC FAR
PUSH DS
MOV AX,0
PUSH AX
MOV AX,@DATA
MOV DS,AX
MOV DX,Add8253CR ;定义定时器0工作在方式3
MOV AL,16H
OUT DX,AL
MOV DX,Add8253C0 ;给通道0送计数初值,只送低8位
MOV AL,2
OUT DX,AL
MOV DX,Add8253CR ;定义定时器1工作在方式2
MOV AL,54H
OUT DX,AL
MOV DX,Add8253C1 ;给通道1送计数初值,先送低8位,再送高8位
MOV AX,600
OUT DX,AL
MOV AL,AH
OUT DX,AL






9-7解: 将8253A通道0设置为方式1,计数初值为3000的初始化程序为:
MOV AL,33H ;设置控制字
OUT 43H,AL ;写入控制寄存器
MOV AL, 00 ;初值低8位送通道0
OUT 40H,AL
MOV AL, 30H ;初值高8位送通道0
OUT 40H

,AL

将8253A通道1设置为方式2,计数初值为2010H的初始化程序为:
MOV AL,74H ;设置控制字
OUT 43H,AL ;写入控制寄存器
MOV AX,10H ;初值低8位送通道1
OUT 41H,AL
MOV AL,20H ;初值高8位送通道1
OUT 41H,AL

将8253A通道2设置为方式4,计数初值为4032H的初始化程序为:
MOV AL,B8H ;设置控制字
OUT 43H,AL ;写入控制寄存器
MOV AL,32H ;初值低8位送通道2
OUT 42H,AL
MOV AL,40H ;初值高8位送通道2
OUT 42H,AL

9-8解:通道2定义为工作方式2,计时器周期性地每隔10ms产生一个中断,周期为10ms。从CLK2输入2MHz的时钟脉冲,其周期为0.5us,因此,通道1的计数初值应为4E20H(10ms/0.5us=20000);
它的初始化程序为:
MOV AL,B4H ;设置控制字
OUT 43H,AL ;写入控制寄存器
MOV AL,20H ;初值低8位送通道2
OUT 42H,AL
MOV AL,4EH ;初值高8位送通道2
OUT 42H,AL



10-2解:8255A的工作方式有三种工作方式:
方式0:没有固定的用于应答式传送的联络信号线,CPU可以采用无条件传送方式与8255A交换数据。
方式1:有专用的中断请求和联络信号线,因此,方式1通常用于查询传送或中断传送方式。
方式2:PA口为双向选通输入/输出或叫双向应答式输入/输出。
8255A复位后,清除8255A中所有的控制字寄存器,并将各端口置成输入方式。
端口A工作于方式2及端口B工作于方式1的输入初始化程序为:
MOV AL,D8H
OUT 46H,AL

10-3解:8255A的端口C只能工作于方式0;C口的使用比较特殊,既可作数据口,又可作控制口,当工作方式1和方式2时,它的部分引脚被分配作专用联络信号;PC口的每一位均可以进行置位或复位。
PC4输出方波的程序:

MOV AL,80H ;设置控制字(PA口工作于方式0输出,PB口工作于方式0输出,PC口工作于方式0输出,设8255A端口地址范围为60H~63H)
OUT 63H,AL ;写入控制寄存器
aa: MOV AL,09H ;设置控制字(PC4置位为1)
OUT 63H,AL ;写入控制寄存器
call delay
MOV AL,08H ;设置控制字(PC4复位为0)
OUT 63H,AL ;写入控制寄存器
call delay
jmp aa








相关文档
相关文档 最新文档