微机原理与接口技术周何琴课后习题答案 - 图文 下载本文

内容发布更新时间 : 2024/12/23 16:18:14星期一 下面是文章的全部内容请认真阅读。

其中:

8255A 的4个端的地址分别为:80H、81 H、82H和83 H,对应于8255A的A口、B口、C口和控制字寄存器。

8253的4个端的地址分别为:84H、85 H、86H和87 H,对应于8253的T0、T1、T2和控制字寄存器。

8259的2个端的地址分别为:88H、89 H。设8259的中断类型号为40~48 H,IRQ2的中断类型号为42H。

8253需要定时0.5s,通过T0,T1通道级联实现。0.5s/(1/ 2MHz)=1000000,设T0工作于方式2,初值为1000;T1工作于方式3,初值为1000(T1如果工作于方式0,则在中断服务子程序中需要重新写入初值,实现软件触发)。

程序如下: ;设置8259的中断向量

MOV AX,SEG IRQ2

MOV DS,AX

MOV DX, OFFSET IRQ2 MOV AL,42H MOV AH,25H INT 21H ;8259初始化

MOV AL,13H;ICW1边沿触发,单片8259,有ICW4

OUT 88H,AL

MOV AL,40H ;ICW2 中断类型号基值为40H OUT 89H,AL

MOV AL,01H ;ICW4 8088系统,普通EOI,;完全嵌套式 OUT 89H,AL MOV AL,0FDH

OUT 89H ,AL ;OCW1,设置IMR,中断屏蔽 ;8255初始化

MOV AL,90H;PA口输入,方式0;PB口输出,方式0

OUT 83H,AL

;8253初始化

;通道0初始化程序

MOV AL,00110101B ;通道0控制字,读写两字节,方式2,十进制计数 OUT 87H,AL

MOV AL, 00H

OUT 84H, AL ;写人低字节 MOV AL, 10H

OUT 84H, AL ;写人高字节

;通道1初始化程序

MOV AL,01110110B ;通道1控制字,读写两字节,方式3,十进制计数

OUT 87H,AL MOV AL, 00H

OUT 85H, AL ;写人低字节 MOV AL, 10H

OUT 85H, AL ;写人高字节 ;主程序

STI

ZX: HLT JMP ZX ;中断服务子程序 IRQ2: PUSH AX

STI

IN AL, 80H ;从A口读人开关状态 NOT AL ;A口开关状态取反

OUT 81H ,AL ;B口控制LED,指示开关状态 MOV AL,20H

OUT 88H,AL ;发中断结束普通EOI命令 POP AX IRET (2)

与(1)类似。但1s/(1/ 2MHz)=2000000,设T0工作于方式2,初值为2000;T1工作于方式3,初值为1000(T1如果工作于方式0,则在中断服务子程序中需要重新写入初值,实现软件触发)。

程序如下: ;设置8259的中断向量

XOR AX,SEG IRQ2

MOV DS,AX

MOV DX, OFFSET IRQ2 MOV AL,42H MOV AH,25H INT 21H ;8259初始化

MOV AL,13H;ICW1边沿触发,单片8259,有ICW4

OUT 88H,AL

MOV AL,40H ;ICW2 中断类型号基值为08H OUT 89H,AL

MOV AL,01H ;ICW4 8088系统,普通EOI,;完全嵌套式 OUT 89H,AL

MOV AL,0FDH

OUT 89H ,AL ;OCW1,设置IMR,中断屏蔽 ;8255初始化

MOV AL,90H;PA口输入,方式0;PB口输出,方式0

OUT 83H,AL ;8253初始化

;通道0初始化程序

MOV AL,00110101B ;通道0控制字,读写两字节,方式2,十进制计数 OUT 87H,AL

MOV AL, 00H

OUT 84H, AL ;写人低字节 MOV AL, 20H

OUT 84H, AL ;写人高字节

;通道1初始化程序

MOV AL,01010110B ;通道1控制字,读写两字节,方式3,十进制计数

OUT 87H,AL MOV AL, 00H

OUT 85H, AL ;写人低字节 MOV AL, 10H

OUT 85H, AL ;写人高字节 ;主程序

MOV AL, 0FEH ;熄灭一个灯,点亮一个灯为:01H OUT 81H, AL ;写人高字节 STI

ZX: HLT JMP ZX ;中断服务子程序 IRQ2: STI

ROL AL,1 ;熄灭灯左移,轮流熄灭

OUT 81H,AL

PUSH AX; MOV AL,20H

OUT 88H,AL ;发中断结束普通EOI命令 POP AX IRET