李伯成《微机原理》习题 第六章
6.2 若8253芯片可利用8088的外设接口地址为 0D0D0H~0D0DFH,试画出电路,若加
到8253上的时钟信号为2MH:
(1) 若利用计数器0,1,2 分别产生周期为10微秒的对称方波以及0.1秒和10秒产生
一个负脉冲,试说明8253应如何连接并编写初始化在内的程序;
(2) 若希望利用8088程序通过接口控制GATE,从CPU使GATE有效开始,20微秒后
在计数器0 的OUT 端产生一个正脉冲,试设计完成此要求的硬件和软件。
根据题意 三个计数器都应该工作在方波发生器方式3,计数器0的输出信号周期为10微秒,因为时钟信号周期我0.5微秒,所以计数器0的计数值为20。用OUT0作为计数器1的时钟,计数器1的分频系数为1/10-4, 而假如又用OUT1作为计数器2的时钟,则计数器2的分频系数应为100。所以有以下初始化程序段:
计数器0 : 00 01 011 1 = 37H
计数器0 单字节 方式3 十进制
计数器1 01 11 011 1 =57H
计数器1 双字节 方式3 十进制
计数器2 10 01 011 1 =97H
计数器2 单字节 方式3 十进制
MOV DX,0D0D3H;控制端口地址
MOV AL,37H
OUT DX,AL
MOV DX,0D0D0H;计数器0端口地址
MOV AL,20
OUT DX,AL
MOV DX,0D0D3H
MOV AL,57H
OUT DX,AL
MOV DX,0D0D1H;计数器1端口地址
MOV AL,00
OUT DX,AL
MOV AL,100
OUT DX,AL
MOV DX,0D0D3H;
MOV AL,97H
OUT DX,AL
MOV DX,0D0D2H
MOV AL,100
OUT DX,AL
6.3 规定8255并行接口地址为FFE0~FFE3H,试将其连接到8088系统总线上。
(1)、若希望8255的三个端口的24根线均为输出,且输出幅度和频率为任意的方波,试编程序;
(2)、若A/D变换器的引线及工作时序如图示,试将此A/D转换器与8255相连接,
并编写包括初始化程序在内的、变换一次数据并将数据存放在DATA中的程序;
(3)、某外设框图如图示,当BUSY 为低电平时表示可以接受数据,试利用8255编写包括初始化在内的输出程序,将BUFFER区的100个数据输出。
解:根据题目所给的接口地址,其电路连接如下:
(1)、根据8255
方式0 输出,故为1 00 0 0 0 0 0B= 80H
所以有如下的初始化: MOV DX,FFE3H; MOV AL,80H; OUT DX,AL; 用8255后续问题无解。
0:位操作00 方式0 1:方式选择01 方式1
方式2
(2)、