微机原理及接口技术-习题答案汇编 下载本文

学习-----好资料

认为此中断服务程序尚未结束,如果外设有新的中断申请时,8259A进行优先级比较时,可能作出错误的判断,它对中断控制的功能会不正常。 18. 8259A仅有两个端口地址,它们如何识别ICW命令和OCW命令?

参考答案:

ICW1特征是A0=0,并且控制字的D4=1。 ICW2特征是A0=1。

当ICW1中的SNGL位为0时处事于级联方式,此时需要写ICW3。 ICW4是在ICW1的IC4=1时才使用。 OCW1特征是A0=1。

OCW2特征是A0=0且D4D3=00。 OCW3特征是A0=0且D4D3=01。

19. 在两片8259A级联的中断系统中,主片的IR6接从片的中断请求输出,请写出初始化

主片、从片时,相应的ICW3的格式。 略

20. 已知8086系统采用单片8259A,中断请求信号使用电平触发方式,完全嵌套中断优

先级,数据总线无缓冲,采用自动中断结束方式,中断类型码为20H~27H,8259A的端口地址为B0H和B1H,试编程对8259A设定初始化命令字。 略

更多精品文档

学习-----好资料

第七章习题及答案

1. 8253芯片共有几种工作方式?每种方式各有什么特点?

2. 某系统中8253芯片的计数器0~2和控制端口地址分别为FFF0H~FFF3H。定义计数器0

工作在方式2,CLK0=2MHz,要求OUT0输出1kHz的脉冲;定义计数器l工作在方式CLKl输入外部计数事件,计满100个向CPU发出中断请求。试写出8253的初始化程序。

解:CNT0:控制字:00110100B,计数初值:N=FCLK/FOUT=2MHz/1KHz=2000 CNT1:控制字:01010000B,计数初值:N=100

MOV DX, 0FFF3H ;计数器0工作在方式0 MOV AL, 34H

OUT DX, AL MOV DX, 0FFF0H MOV AX, 2000

OUT DX, AL ;计数器0置初值 MOV AL,AH OUT DX,AL

MOV DX, 0FFF3H ;计数器1工作在方式3 MOV AL, 50H

OUT DX, AL MOV DX, 0FFF1H MOV AL, 100 OUT DX, AL

3. 试编写一程序,使IBM PC机系统板上的发声电路发出200Hz至900Hz频率连续变化

的报警声。

4. 定时/计数器芯片8253占用几个端口地址?各个端口分别对应什么?

解:4个端口地址,A1A0-〉计数器0,计数器1,计数器2,控制寄存器

5. 利用8253产生时钟基准信号,现有频率为2MHz的脉冲信号,要求OUT0提供毫秒级

脉冲信号(1000Hz),OUT1提供秒级脉冲信号(1Hz),OUT2输出的脉冲信号周期为60秒,完成8253初始化程序。

解:CNT0:控制字:00110100B(34H),计数初值:N= FCLK/FOUT0=2MHz/1KHz=2000 CNT1:控制字:01110100B(74H),计数初值:N= FOUT0/FOUT1=1KHz/1Hz=1000 CNT2:控制字:10010100B(94H),计数初值:N= TOUT1/Tout2=60S/1S=60

更多精品文档

学习-----好资料

+5V GATE0

D7~D0D7~D0CLK02MHz

OUT0RDIOR

GATE1 IOWWR

CLK1AA11

OUT1 A0A0

GATE2

CLK2 译码电路CS

OUT2

初始化程序

设CNT0, CNT1, CNT2,CON为计数器0,计数器1,计数器2,控制寄存器的端口地址。

MOV DX, CON

MOV AL, 34H ; 计数器0初始化

OUT DX, AL

MOV DX, CNT0

MOV AX,2000 OUT DX, AL MOV AL,AH

OUT DX, AL

MOV DX, CON

MOV AL, 74H ; 计数器1初始化

OUT DX, AL

MOV DX, CNT1

MOV AX,1000 OUT DX, AL MOV AL,AH

OUT DX, AL

MOV DX, CON

MOV AL, 94H ; 计数器1初始化

OUT DX, AL

MOV DX, CNT2

MOV AL,60 OUT DX, AL

更多精品文档

学习-----好资料

6.

7. 试分析8255A方式0、方式1和方式2的主要区别,并分别说明它们适合于什么应用

场合。 P178-182

8. 当8255A的A口工作在方式2时,其端口B适合于什么样的功能?写出此时各种不同

组合情况的控制字。

解:端口B适合方式0,方式1。 11000000B 11000001B

11000010B

11000011B 11000100B 11000110B

9. 若8255A的端口A定义为方式0,输入;端口B定义为方式1,输出;端口C的上半

部定义为方式0,输出。试编写初始化程序。(口地址为80H~83H)

解:控制字:10010100B MOV AL,94H

OUT 83H, AL 10.

11. 假设一片8255A的使用情况如下:A口为方式0输入,B口为方式0输出。此时连接

的CPU为8086,地址线的A1、A2分别接至8255A的A0、A1,而芯片的CS来自A3A4A5A6A7=00101,试完成8255A的端口地址和初始化程序。

解:端口地址:1010000XB(A0H,A1H),1010001XB(A2H,A3H),1010010XB(A4H,A5H),1010011XB(A6H,A7H)

控制字:10010000B(90H)

MOV AL,90H OUT A6H, AL

12. 用8255与8253控制8个LED发光二极管循环闪烁,如图7-37所示。已知CLK=1MHZ,

作为8253中CLK0的输入,OUT0作为8253中CLK1的输入,OUT1作为8255中PC0的输入。8253中计数器0的计数初值为10000,BCD计数,产生对称方波;计数器1为二进制计数,产生1HZ的方波。请回答下列问题:

更多精品文档

学习-----好资料

(1)8253端口地址: (2)8253的控制字;

(3)编写8253的初始化程序。

解:8253地址: 计数器0: 1111 1111 0001 0100B(FF14H)

计数器1: 1111 1111 0001 0101B(FF15H)

计数器2: 1111 1111 0001 0110B(FF16H)

控制寄存器: 1111 1111 0001 0111B(FF17H)

CNT0:控制字:00010111B,初值:0

CNT1:控制字:01010110B,(Fout0=FCLK/N=1MHz/10000=100Hz),初值:100

MOV DX, 0FF17H ;计数器0 MOV AL, 17H

OUT DX, AL MOV DX, 0FF14H MOV AL, 0

OUT DX, AL

MOV DX, 0FF17H ;计数器1 MOV AL, 56H

OUT DX, AL MOV DX, 0FF15H MOV AL, 100 OUT DX, AL

图7-37 8253和8255应用

更多精品文档