微型计算机原理及应用 10 并行输入输出接口芯片8255A.pptVIP

微型计算机原理及应用 10 并行输入输出接口芯片8255A.ppt

  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 一、8255A简介 有24可用于与外设相连接的I/O引脚,这24条引脚分属于A,B,C三个端口 有三种主要工作方式:方式0,方式1,方式2 二、8255A内部结构 三、引脚基本操作 四、8255A控制字 可以由CPU向8255A的控制字寄存器输出一个控制字来选择,D7位恒为1。 五、方式选择 1、方式0 (基本输入输出 ) 基本功能: (1)输出有锁存而输入无锁存 (2)8255A具有两个8位端口(端口A和B)以及两个4位的端口 ,均可作为输入输出 方式0时序: (1)输入时序: (2)输出时序: 2、方式1(选通的输入/输出方式 ) 基本功能: (1)拥有两个数据端口,每个端口都可以用作输入或者输出 (2)每个端口包含8位的数据端口和三条控制线 (3)若仅端口A工作于方式1,则余下的13位可工作于方式0。若仅端口B工作于方式1,端口A可工作于方式2或方式0 控制字与C口引脚(输入): 控制字与C口引脚(输出): 3、方式2(选通的双向I/O方式 ) 基本功能: (1)仅适用于端口A,作为双向的数据总线 (2)端口C有5条引脚用作为端口A的握手信号线和中断请求线 (3)输入和输出是锁存的 控制字与C口引脚: 六、按位置位/复位操作 控制字格式: 按位置位/复位操作特点: (1)D7必须是0 (2)D3,D2, D1为位选择 (3)最低位D0表示该操作是置位(D0=1)或复位(D0=0) 七、中断控制功能 应用环境:当8255A工作于方式1或方式2时,数据传送可在中断控制I/O方式下实现 条件:INTE(端口的中断允许触发器)必须是“1” 八、从端口C读状态 当8255A工作于方式1或方式2时,端口C的内容还反映了端口A或B以及相应外部设备的状态,称为方式1或方式2的状态字。一次正常的读端口C的操作,便可读出状态信息。显然若由程序控制的I/O进行数据传送,则必须首先查询状态字的内容,才能和有关端口进行数据交换。 九、8255A应用举例 以8255A为接口的数模/模数转换 电路图: 设计思路: (1)A口用作输出,B口用作输入 (2)利用 作为与D/A转换器的连接信号,启动D/A转换 (3)设计程序以循环的方式检测IBFB的值。如果IBFB=1,表示8255A已经将数据输入到B口的输入锁存器,CPU可以从B口取出数据存到内存 (4)循环方式检测的值,当=1时,表示输出缓冲器为空,可以将数据写入A口 参考程序: 设8255A的地址从FF00H开始,实现上述功能的程序如下: DATA SEGMENT STRING DB 100 DUP(?) ;存储采样点的值 COUNT EQU $-STRING ;采样的次数 DATA ENDS STACK SEGMENT PARA STACK ‘STACK’ DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE , DS:DATA , ES:DATA , SS:STACK START PROC FAR BEGIN: PUSH DS MOV AX , 0 PUSH AX MOV AX , DATA MOV DS , AX MOV ES , AX MOV CX , COUNT LEA DI , STRING CLI AGAIN: MOV DX , 0FF03H MOV AL , 0A6H OUT DX , 0AL ;初始化8255A MOV AL , 0DH MOV DX , 0FF03H OUT DX , AL ;置PC6=1 MOV AL , 0CH MOV DX , 0FF03H OUT DX , AL MOV DX , 0FF02H AGAIN1: IN AL , DX TEST AL , 02H JZ AGAIN1 MOV DX , 0FF01H IN AL , DX ;锁存器 MOV [DI] , AL PUSH CX MOV CX , 1000H AGAIN2: LOOP AGAIN2 ;软件延时 CHECK: MOV DX , 0FF02H IN AL , DX TEST AL , ;PC7是否为1 JZ CHECK

文档评论(0)

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

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

1亿VIP精品文档

相关文档