可编程并口8525A.pptVIP

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
可编程并口8255A 8255A是一种典型的通用选通并行接口芯片。 其内部有三个独立的8位数据口,即A口、B口、C口。 有三种工作方式 ?方式0--基本输入/输出方式 ?方式1--选通输入/输出方式 ?方式2--双向传送方式 8255A外部引脚 8255A内部结构图 8255A内部结构 ? 主要由数据总线缓冲器、读写控制逻辑、A、B、C三个双向I/O端口及有关控制电路组成。 数据总线缓冲器 三态双向8位缓冲,用于收发数据总线上的数据 读/写控制逻辑 包括RD、WR、CS、A0、A1。控制总线的开放、关闭和数据的传送方向。 8255A的编程控制字 8255A共有两个控制字:①方式选择控制字;②对端口C按位置位/复位控制字。 这两个控制字共用一个地址号。即当地址线A1A0都为1时就是访问控制字寄存器的片内地址。而用控制字的D7位来区分是方式设定控制字,还是对C端口的按位置位/复位命令。当D7位为1,是方式控制字;若D7位为0,是对端口C按位置位/复位的命令。 8255A方式选择控制字 例1:要把A口指定为1方式,输入,C口上半部定为输出;B口指定为0方式,输出,C口下半部定为输入,则工作方式命令代码是或B1H。 若将此命令代码写到8255A的命令寄存器,即实现了对8255A工作方式及端口功能的指定,或者说完成了对8255A的初始化。初始化的程序段为: MOV DX,303H ;8255A命令口地址 MOV AL,OB1H ;初始化命令 OUT DX,AL ;送到命令口 8255A C口置位/复位控制字 端口C的每一位都可以通过向控制寄存器写入置位/复位控制字,而使它每一位置位(输输出为1)或复位(即输出为0)。 端口C的任意一位,都可以用一条输出指令访问控制寄存器,使其置位或复位。按位置位/复位指令只影响指定位,而不改变其它位的状态。 例2:若要把C口的PC2引脚置成高电平输出,则命令字应该或05H。 将该命令的代码写入8255A的命令寄存器,就会使得从PC口的PC2引脚输出高电平,其程序段为: MOV DX,303H ;8255A命令口地址 MOV AL,05H ;使PC2=l的命令字 OUT DX, AL ;送到命令口 如果要使引脚PC2输出低电位,则程序段为: MOV DX,303H;8255A命令口地址。 MOV AL,04H;使PC2=0的命令 OUT DX,AL ;送到命令口 利用C口的按位控制特性还可以产生正、负脉冲或方波输出,对外设进行控制。 例3:利用8255的PC7产生负脉冲,作打印机接口电路的数据选通信号,其程序段为: MOV DX,303H ;8255A命令口 MOV AL ;置PC7=0 OUT DX, AL NOP ;维持低电平 NOP MOV AL ;置PC7=1 OUT DX,AL 例4:利用8255A的PC6,产生方波,经滤波和功放后,送到喇叭,使产生不同频率的声音,其程序段为: OUTSPK PROC MOV DX,303H ;8255A命令口 MOV AL置PC6=l OUT DX, AL CALL DELAY1 ;PC6输出高电乎维持的时间 MOV AL ;置PC6=0 OUT DX, AL ; CALL DELAY1 ;PC6输出低电平维持的时间 若改变DELAY1的延时时间,即可改变喇叭发声的频率。 例:对B口的PB1和PB0同时置位复位(产生方波) mov dx, 301h ;Port B 端口地址为301h lp:in al, dx or al, 03h out dx, al ;PB1PB0=11 call delay and al, 0fch out dx, al ;PB1PB0=00 call delay jmp lp 关于两个命令的讨论 ①方式命令是对8255A的3个端口的工作方式及功能进行指定,即进行初始化,初始工作要在使用8255A之前做。也就是说,凡是用到8255A,就一定要先初始化 ②按位置位/复位命令只是对PC口的输出进行控制,使用它并不破

文档评论(0)

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

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

1亿VIP精品文档

相关文档