1632位微机原理、语言及接口技术第十一章课后习题要点分析.doc

1632位微机原理、语言及接口技术第十一章课后习题要点分析.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
习题11.4 习题11.6 连接只改PA→PB,其余不变 只要把涉及输出到端口A的代码改为输出到端口B即可。 PC7做选通信号,为输出,即C端高部分为输出 PC2为Busy,为输入,即C端低部分为输入 C端整个定为方式0 B端输出,方式0 A端任意,这里为方式0输出 假设8255A端口A、B、C和控制端口地址分别为FFF8H、FFFAH、FFFCH和FFFEH。 ;8255A的初始化 mov dx,0fffeh ;控制端口地址:FFFEH mov al ;方式控制字:1H out dx,al ;B端口方式0输出,C端口上输出、下输入 mov al ;端口C的复位置位控制字,使PC7=1 out dx,al ;使PC7=1子程序查询 printc proc push ax push dx prn: mov dx,0fffch ;读取端口C in al,dx ;查询打印机状态 and al,04h PC2=BUSY=0? jnz prn ;PC2=1,打印机忙,则循环等待 打印子程序:输出 mov dx,0fffAh ;PC2=0,打印机不忙,则输出数据 mov al,ah out dx,al ;将打印数据从端口输出 打印子程序:打印 mov dx,0fffeh ;从PC7送出控制低脉冲 mov al ;置STROBE*=0 out dx,al nop ;产生一定宽度的低电平 nop mov al ;置PC7=1 out dx,al ;最终,STROBE*产生低脉冲信号 打印子程序:返回 pop dx pop ax ret printc endp 习题11.7 方式1输出下: 端口A的ACK*即PC6,OBF*即PC7,INTR即PC3 对应端口B的ACK*即PC2,OBF*即PC1,INTR即PC0 数据端口变换为PB mov dx,0fffeh mov al,84h out dx,al mov al,04h ;使INTEB(PC2)为0,禁止中断 out dx,al …… mov cx,counter ;打印字节数送CX mov bx,offset buffer ;取字符串首地址 call prints ;调用打印子程序 prints proc push ax ;保护寄存器 push dx print1: mov al,[bx] ;取一个数据 mov dx,0fffah out dx,al ;从端口B输出 mov dx,0fffch print2: in al,dx test al,02h ;检测(PC1)为1否? jz print2 inc bx loop print1 pop dx pop ax ret prints endp 习题11.8 L0~L3对应PC4~PC7,L亮否可以通过给PC4~PC7置位复位实现,即C端口的高部分为输出; 根据K0~K3(PC0~PC3),确定L0~L3(对应PC4~PC7)亮否,所以C端低部分为输入; 又C端的8位都被正常使用,所以A端口和B端口均为方式是0 ;写入方式字 mov al,100×00×1b ;=81h mov dx,控制口地址 ;0fffeh out dx,al ;加入下一段更好,使L0~L3全亮 mov al,0fh mov dx,端口C地址 ;0fffch out dx,al ;PC4~PC7为高,经反向驱动为0,与阳极间形成通路,LED亮 ;控制程序段 mov dx,端口C地址 ;0fffch in al,dx ;读入PC0~PC3 mov cl,4 shl al,cl ;左移4位,PC0~PC3→PC4~PC7 out dx,al ;控制PC4~PC7。 因为有反向驱动,PC0为0,对应PC4为0,二极管左右均为高,不发光,符合题目要求。 习题11.10 当按下或释放一个键时,往往会出现按键在闭合位置和断开位置之间跳几下才稳定到闭合状态的现象就是机械按键的抖动 方法解决 硬件:消抖电路 软件:程序延时,以避开抖动的时间 习题11.11 重键指两个或多个键同时闭合 简单情况:不予识别,认为是错误的按键 通常情况:只承认先识别出来的键 连锁法:直到所有键都释放后,读入下一个键 巡回法:等被识别的键释放以后,就可以对其他闭合键作识别,而不必等待全部键释放 正常的组合键:都识别出来 习题11.12 最初设置行线端口

文档评论(0)

挑战不可能 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档