实验七可编程并行接口芯片8255A的使用1.docVIP

实验七可编程并行接口芯片8255A的使用1.doc

  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的使用1 一、实验目的 了解可编程并行接口芯片8255的内部结构、工作方式、初始化编程及应用。 实验设备 显示器、鼠标、键盘一件; QTH-2008PC 32位微机教学实验仪一套。 实验说明 1、8255A的内部结构: (1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。输入输的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。 (2)三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。C端口包含一个8位数据输出锁存器及缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。(3)A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。方式控制字的高5位决定A组工作方式,低3位决定B组的工作方式。对C口按位复位命令字可对C口的每一位实现置位或复位。A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。 (4)读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。 2、8255A的工作方式: 方式0—基本输入输出方式;方式1—选通输入输出方式;方式2—双向选通输入输出方式。、8255A的控制字:1 D6 D5 D4 D3 D2 D1 D0 特 征 位 A组方式 00=方式 01=方式1 1X=方式2 A口 0=输出 1=输入 C口高4位 0=输出 1=输入 B组方式 0=方式0 1=方式1 B口 0=输出 1=输入 C口低4位 0=输出 1=输入 图 8255A方式控制字0 D6 D5 D4 D3 D2 D1 D0 特征位 不用 位选择 000=C口0位……111=C口7位 0=复位 1=置位 图 C口按位置位/复位控制字 实验原理图 图可编程并行接口8255电路实验内容 实验:利用8255的A口、B口发光二极管。 实验步骤 实验连线 该模块的WR、RD分别连到总线接口模块的IOWR、IORD。 该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到总线接口模块的数据(D0~D7)、地址线(A0~A7)。 8255模块选通线CE连到总线接口模块的IOY0。 8255的PA0~PA7~;8255的PB0~PB7发光二极管L~L。运行程序MY_STACK SEGMENT PARA STACK DB 100 DUP(?) MY_STACK ENDS MY_DATA SEGMENT PARA DATA P8255_A DW 0180H P8255_B DW 0181H P8255_C DW 0182H P8255_MODE DW 0183H DELAY_SET EQU 3FFH ;延时常数 MY_DATA ENDs MY_CODE SEGMENT PARA CODE MY_PROC PROC FAR ASSUME CS:MY_CODE, DS:MY_DATA, SS:MY_STACK START: MOV AX,MY_DATA MOV DS,AX MOV DX,P8255_MODE ;设置8255控制字A口输入,B口输出 MOV AL,90H OUT DX,AL START1: MOV DX,P8255_A ;读取A口状态 IN AL,DX MOV DX,P8255_B ;输出 OUT DX,AL CALL DELAY CALL BREAK JMP START1 MY_PROC ENDP DELAY PROC NEAR ;延时程序 PUSHF PUSH DX PUSH CX MOV DX,DELAY_SET D1: MOV CX,100 D2: DEC CX ;-1 JNZ D2 DEC DX JNZ D1 POP CX POP DX POPF RET DELA

文档评论(0)

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

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

1亿VIP精品文档

相关文档