微机原理与接口技术习题集2.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编写8255A的A口和B口都工作在方程式1,采用中断方式输入数据的程序 【参考答案】 P83例77 设8255A的口地址为:40H~43H,C口的PC6 、PC 7为输入,因A口、B口工作在方式1,故工作方式控制字为,其中D 0可为0或1,这里选为0。A口允许中断,PC4置1,控制字为09H。B口允许中断,PC2置“1”,控制字为05H。故初始化程序段如下: MOV AL, ;写入工作方程式控制字 OUT 43H, AL MOV AL, 09H OUT 43H, AL ;PC4置“1”,A口允许中断 MOV AL, 05H OUT 43H, AL ;PC2置“1”,B口允许中断 8255A的方式0的应用实例 【参考答案】P83例78 设8255A的A口和B口工作在方式0,A口为输入端口,接有4个开关;B口为输出端口,接有一个七段发光二极管,其硬件连接电路如图46所示。试编一程序要求七段发光二极管显示开关所拨通的数字。 本例中8255A的端口地址由两部分电路组成:由CPU地址线A15~A3通过74LS138译码器产生片选信号;CPU的地址线A2、A1分别组成4个端口地址,而CPU的A0与译码器输出端通过逻辑组合,保证8255A的四个端口地址为偶地址,这样8位的8255A与16位的8086CPU可以通过数据总线D7~D0传送8位信息,具体端口地址分配为:A口地址为8020H,B口地址为8022H,C口地址为8024H,控制口地址为8026H。 从图可知,七段发光二极管为共阳极LED器件,要让a段亮点,要求从PB0段输出高电平“1”; 要让b段熄灭,要求从PB1段输出低电平“0”,其余各段依次类推。8255A的A口接有开关,4位开关的组合可为0~FH。为此,我们可将在LED上显示0~FH的各字符代码列表见表2。 表2 显示字符代码表 显示字符 1 2 3 4 5 6 7 8 9 A B C D E F 0 七段代码(H) 06 5B 4F 66 6D 7D 07 7F 6F 77 7C 39 5E 79 31 3F 程序如下: APORT EQU 8020H BPORT EQU 8022H CONTR EQU 8026H DATA SEGMENT TAB1 DB 3FH, 06H, 5BH, 4FH. … DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV AL, 90H ;设定8255A工作方式 MOV DX, CONTR OUT DX, AL ADDR1: MOV DX, APORT ;取开关值 IN AL, DX AND AL, 0FH ;屏蔽高4位 MOV BX, OFFSET TAB1 ;取代码表首址 XLAT ;找到字符代码 MOV DX, BPORT ;输出显示 OUT DX, AL MOV CX, 0400H ;显示延时 ADDR2: DEC CX JNZ ADDR2 JMP ADDR1 CODE ENDS END START 编写8255A用于LED显示器接口程序 【参考答案】P85 例79 8086CPU通过8255A同开关K与7段LED显示器的接口如图47所示。开关设置的二进制信息由8255A的B口输入,经程序转换为对应的七段LED的段选码(字形码)后,通过A口输出。由七段LED显示二进制状态值,试编写其控制程序。 设8255A得端口地址为: 端口A:0FFF8H 端口B:0FFFAH 端口C:0FFFCH 控制口:0FFFEH 为增加8255A的负载能力,所以A口经驱动器同七段LED显示器相连。由图47可见,8255A的地址线A1、A0分别同地址锁存器输出的A2、A1相连,故每个端口可有二个端口地址,如A口为0FFF8H和0FFF9H,可认为未参加译码的地址线A0为0的地址,所以通常使用0FFF8H地址。 假设B口用输入,则8255A工作方式控制字为82H。 程序如下: ORG 2000H ;从2000H开始存放数据 MOV AL, 82H ;只工作方式控制字 MOV DX,0FFFEH OUT DX, AL RDPORTB: MOV DL, 0FAH ;读入B口信息 IN AL, DX AND AL, 0FH ;屏蔽AL高四位,B口读入的信息只低四位有效 MOV BX,OFFFSET SSEGCODE ;地址指针BX指向段选码表首地址 XLAT ;[BX+AL]→AL MOV DL, 0F8H ;段选码→A口,由七段LED显示器显示 OUT DX, AL MOV AX, 56CH ;延时

文档评论(0)

beifanglei + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档