第一范文网 - 专业文章范例文档资料分享平台

(完整版)微机原理与接口技术(楼顺天第二版)第十章习题解答

来源:用户分享 时间:2025/6/24 6:05:14 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

10.18 答:根据题图,8255A的端口地址为38H~3EH中的偶地址。A口方式0输出,B口方式0输入,C口低半部输入,高半部输出。 程序段为:

;设置8255A的工作方式

MOV DX,03EH ;控制字口地址送DX

MOV AL,10000011B ;A口方式0,输出;B口方式0,输入; ;C口高半部输出,C口低半部输入 OUT DX,AL

MOV CX,100

;启动输入机,通过置位/复位实现一个高电平脉冲 SETSTART:

MOV DX,03EH

MOV AL,00001100B

OUT DX,AL ;复位PC6 MOV AL,00001101B

OUT DX,AL ;置位PC6 CALL DELAY ;延时 MOV AL,00001100B

OUT DX,AL ;复位PC6 ;查询C口PC1

MOV DX,03CH ;C口地址送DX CHECK:IN AL,DX

TEST AL,00000010B JZ CHECK ;输入数据

MOV DX,03AH ;B口地址送DX IN AL,DX

MOV CHARS,AL ;将输入字符存入CHARS变量中

;查询C口PC0

MOV DX,03CH ;C口地址送DX CHECK1:IN AL,DX

TEST AL,00000001B JZ CHECK1

;输出CHAR变量数据,数据送到8255A的A端口寄存器 MOV AL,CHARS ;输出数据送AL MOV DX,038H ;A口地址送DX OUT DX,AL

;向打印机发选通信号,一个低电平的脉冲,先置位PC0,再复位PC0 ;然后延时,再置位PC0 MOV DX,03EH

MOV AL,00001110B

OUT DX,AL ;复位PC7 MOV AL,00001111B

OUT DX,AL ;置位PC7 CALL DELAY ;延时 MOV AL,00001110B

OUT DX,AL ;复位PC7

LOOP SETSTART HLT

DELAY: PUSH CX

MOV CX,0FFFH DELAY1: NOP

LOOP DELAY1 POP CX RET

10.19 答:根据题图,8255A的一组端口地址为8000H~8006H,8259A的一组端口地址为8020H和8022H。8255A的B口工作在方式1,输出。中断向量为97H。 程序段为:

;设置B口的中断向量 PUSH DS MOV AX,0 MOV DS,AX MOV SI,97H SHL SI,1 SHL SI,1

MOV [SI],OFFSET INT_SERVICE ;中断服务程序偏移地址存入向量表 ADD SI,2 MOV AX,CS

MOV [SI],AX ;中断服务程序的段地址存入向量表 POP DS

;设置8255A的工作方式 MOV DX,8006H

MOV AL,10000100B ;A口方式0,输出;B口方式1,输出;C口输出 OUT DX,AL ;设置INTEA=1

MOV AL,00000101B ;PC2置位 OUT DX,AL

;8259A初始化程序段

MOV DX,8020H ;8259A的偶地址端口

MOV AL,00011011B ;电平触发、单片、要ICW4 OUT DX,AL ;写ICW1 MOV DX,8022H MOV AL,90H

OUT DX,AL ;写ICW2

MOV AL,00000011B ;一般全嵌套、非缓冲、自动中断结束 OUT DX,AL

;向8255A的B口输出一个字符 MOV BX,OFFSET DISPCHAR MOV DX,8002H MOV AL,[BX] OUT DX,AL

JMP $

;中断服务程序

INT_SERVICE: STI ;开中断 INC BX

;下面程序段检查200个字符输出完否 MOV SI,OFFSET DISPCHAR ADD SI,200 CMP BX,SI JB OUTPUT

MOV DX,8022H ;送9259A的基地址给DX MOV AL,10000000B

OUT DX,AL ;屏蔽IR7 JMP OVER OUTPUT:

MOV AL,[BX] ;获取打印数据

MOV DX,802H ;B口地址送DX OUT DX,AL OVER: IRET

10.20 答:(1)电路图如下:

(2)8255A的初始化程序 ;设置8255A的工作方式 MOV DX,0FF03H

MOV AL,10100000B ;A口方式1,输出;B口方式0,输出;C口输出 OUT DX,AL ;设置INTEA=1

MOV AL,00001101B ;PC6置位

OUT DX,AL

(3)8259A初始化程序 ;8259A初始化程序段

MOV DX,0FF0CH ;8259A的偶地址端口 MOV AL,00010011B ;边沿触发、单片、要ICW4 OUT DX,AL ;写ICW1 MOV DX,0FF0DH MOV AL,80H

OUT DX,AL ;写ICW2

MOV AL,00000011B ;一般全嵌套、非缓冲、自动中断结束

OUT DX,AL

(4);设置B口的中断向量 PUSH DS MOV AX,0 MOV DS,AX MOV SI,83H SHL SI,1 SHL SI,1

MOV [SI],OFFSET PRINT ;中断服务程序偏移地址存入向量表 ADD SI,2 MOV AX,CS

MOV [SI],AX ;中断服务程序的段地址存入向量表

POP DS

中断服务程序 ;中断服务程序

INT_SERVICE: STI ;开中断 INC BX

;下面程序段检查200个字符输出完否 MOV SI,OFFSET BUF ADD SI,100 CMP BX,SI JB OUTPUT

MOV DX,0FF0DH ;送8259A的奇地址给DX MOV AL,00001000B

OUT DX,AL ;屏蔽IR3 JMP OVER OUTPUT:

MOV AL,[BX] ;获取打印数据

MOV DX,0FF00H ;8255A的A口地址送DX OUT DX,AL OVER: IRET

(完整版)微机原理与接口技术(楼顺天第二版)第十章习题解答.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c076c12mr463sk4u09qt56trx0171wu00ew5_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top