第5章-23学时并行接口.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 利用8255与8253实现开关检测和继电器控制电路; 当开关K闭合时,使继电器通电动作;开关K断开时,继电器不动作; 系统每隔100ms检测一次开关状态,实现相应的继电器控制; 初始状态下继电器不动作。 要求:1)编写8253与8255的初始化程序; 2)编写中断服务程序; 3)连接相应的连线。 综合举例—2 * * 题目分析 使8255的A端口和B端口均工作于方式0; 8253计数器0和计数器1均工作于方式3,利用OUT0的输出作为计数器1的时钟信号,其输出频率为2KHz, OUT1输出频率为10Hz(周期100ms); OUT1作为中断信号,每100ms产生一次中断; CPU响应中断后检测开关状态,控制继电器的动作; 8253两个计数器的计数初值分别为: 计数器0:2MHz/2KHz =1000 (16位) 计数器1:2KHz/10Hz=200 (8位) * 8255的初始化 MOV DX,387H MOV AL,82H ;1 00 0 0 0 1 0 OUT DX,AL XOR AL,AL ;A口输出全0 MOV DX,384H OUT DX,AL * 8253的初始化 设置工作方式: MOV DX,38BH MOV AL,36H OUT DX,AL MOV AL,56H OUT DX,AL 36H = 00 11 011 0 CNT0 16位 方式3 置计数初值: MOV DX,388H MOV AX,1000 OUT DX,AL MOV AL,AH OUT DX,AL MOV DX,389H MOV AL,200 OUT DX,AL * 8255的控制程序(中断处理) (中断初始化程序略) 8253中断服务程序中的8255控制程序段如下: …… MOV DX,385H ;PB口地址 IN AL,DX ;读PB0状态 NOT AL ;变反 MOV DX,384H ;输出到继电器 OUT DX,AL …… * 8255A小结 并行数据传送的特性; 8255A的结构特点和引脚功能; 8255A的各工作方式,特别是0、1工作方式; 8255A的编程; 8255A与其他芯片的综合应用。 * 8255A的键盘和扬声器控制示意 8255A PB1 PB0 驱动 电路 扬声器 GATE2 CLK2 时钟信号 与门 8253的计数器2 PA7~PA0 PB7 PB6 键盘扫描码 键盘控制信号 * 方式1输出时序 INTR data data 输出端口 D0~D7 WR OBF ACK OBF*和ACK*是外设和8255A间 的一对应答联络信号, 为的是可靠地输出数据 * 方式1的输出过程 1、以端口A为例,当输出设备接收了前一次数据后,8255A通过8259A向CPU请求中断。 2、在中断服务程序中,CPU将数据写入指定的端口,WR变为有效,于是数据写入输出锁存器并出现在PA7--PA0。 3、写信号WR的上升沿使OBF变为有效,指示输出设备PA7--PA0上,已有新的数据,同时还使INTR变为无效。 4、在PA7--PA0上输出数据。 5、输出设备接收到数据后,向8255A发回ACK信号,ACK的上升沿通常表示输出设备已准备好再接收新的数据。 6、8255A在ACK出现上升沿之后使OBF变为无效,若INTE=1,则还使INTR变为有效,再次请求中断。 。 * 方式1的应用 主要用于中断控制方式下的输入输出; C口除部分位用作选通信号外,其余位可工作在方式0下,作为输入或输出线; 特别是A、B均为方式1时仅使用C口的6条线,余下二条线可作为单独的输入输出线,用程序指定其数据传送方向。 * 3、方式2 方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据; 只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同; 方式2的数据输入过程与方式1的输入方式一样; 方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF*有效时向外设输出数据,而是在外设提供响应信号ACK*时才送出数据。 * 方式2双向引脚 PC6 PC7 PC3 PA7~PA0 INTE1 OBFA INTRA AC

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档