9.第九章 可编程外围接口芯片8255A及其应用1.ppt_第1页
9.第九章 可编程外围接口芯片8255A及其应用1.ppt_第2页
9.第九章 可编程外围接口芯片8255A及其应用1.ppt_第3页
9.第九章 可编程外围接口芯片8255A及其应用1.ppt_第4页
9.第九章 可编程外围接口芯片8255A及其应用1.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章 可编程外围接口芯片8255A及其应用 微机与I O设备的接口按照数据传送方式的不同 可分为并行接口与串行接口两种 并行接口一次传送多位数据 即在CPU与I O设备之间传送信息的数据单位一般为 字节 或 字 需要使用多根数据线 如打印机接口等 在并行接口中 除了少数场合 无条件传送 之外 一般都要求在接口与外设之间设置并行数据线的同时 至少还要设置两根握手 联络 信号线 以便进行互锁异步握手方式 即查询方式 的通信 并行接口的优点是传输速率高 但由于需要多根数据线 不适合长距离数据传输 一般用于近距离传送的场合 并行接口电路有不可编程接口和可编程接口之分 可编程接口可由用户根据需要 编制相应的接口控制程序 选择接口的工作方式及功能 由于可编程接口具使用灵活 功能强的特点 在微机系统中应用广泛 9 18255A的工作原理 Intel8255A是一种通用的可编程并行I O接口芯片 又称为 可编程外设接口芯片 ProgrammablePeripheralInterfacePPI 具有多种功能的可编程并行接口电路芯片最基本的接口电路 三态缓冲器和锁存器与CPU间 与外设间的接口电路 状态寄存器和控制寄存器还有端口的译码和控制电路 中断控制电路分3个端口 共24个外设引脚共三种输入输出工作方式 一 8255A的内部结构和功能 1 外设数据端口 端口A PA0 PA7A组 支持工作方式0 1 2 常作数据端口 功能最强大端口B PB0 PB7B组 支持工作方式0 1 常作数据端口端口C PC0 PC7仅支持工作方式0A组控制高4位PC4 PC7B组控制低4位PC0 PC3可作数据 状态和控制端口分两个4位 每位可独立操作控制最灵活 最难掌握 2 8255A基本操作 二 8255A的控制字1 方式选择控制字 方式0 基本输入输出方式适用于无条件传送和查询方式的接口电路方式1 选通输入输出方式适用于查询和中断方式的接口电路方式2 双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路 标志位 00 A口方式001 A口方式11X A口方式2 1 A口输入0 A口输出 1 C口高4位输入0 C口高4位输出 0 B口方式01 B口方式1 1 B口输入0 B口输出 1 C口低4位输入0 C口低4位输出 方式选择控制格式字 2 C口置位 复位控制字 C口置位 复位控制字的功能有两个 一是用于对外设的控制 利用这一功能 可使C口某一位输出一个开关量或一个脉冲 作为外设的启动或停止信号 二是可用于设置方式1和方式2的中断允许 此时 C口置位 复位控制字不影响对应的引脚状态 只是起到设置INTE 开关8255A中断的作用 C口置位 复位控制字写入控制端口 标志位 任意值 000 选择PC0001 选择PC1 111 选择PC7 1 置位0 复位 置位 复位控制字格式 MOVAL 00001010BOUT63H ALMOVAL 00001011BOUT63H ALMOVAL 00001010BOUT63H AL PA7 PA0PB7 PB0PC7 PC5 PC0 例 方式0下 三 8255A的工作方式和C口状态字 1 方式0 简单的输入 输出方式方式0是一种简单的输入 输出方式 也称为无条件传送方式或同步传送方式 在这种方式下 A B C三个端口作为相互独立的输入 输出端口使用 不需要联络信号 C口的高4位 PC7 PC4 和低4位 PC3 PC0 即可以合成一个8位端口使用 也可以作为两个相互独立的4位口使用 方式0是单向传送 一次初始化只能设置在一个方向上传送数据 方式0一般用于无条件传送的场合 也可以用做查询式传送 INAL 60HOUT61H AL 方式0输入时序 方式0输出时序 2 方式1 选通输入 输出方式 方式1是一种选通输入 输出方式 也称为应答方式或异步方式 A口和B口都可以工作在这种方式 在这种方式下 A口和B口作为两个独立的8位I O数据通道 可连接外设 C口要有6位 分成两个3位 分别作为A口和B口的应答联络线 其余2位仍可作为方式0的输入 输出 方式1也是单向传送 1 方式1输入联络信号 STB 选通信号 低电平有效由外设提供的输入信号 当其有效时 将输入设备送来的数据锁存至8255A的输入锁存器IBF 输入缓冲器满信号 高电平有效8255A输出的联络信号 当其有效时 表示数据已锁存在输入锁存器INTR 中断请求信号 高电平有效8255A输出的信号 可用于向CPU提出中断请求 要求CPU读取外设数据 方式1输入 A端口 数据选通信号表示外设已经准备好数据 输入缓冲器满信号表示A口已经接收数据 中断请求信号请求CPU接收数据 PC4 PC5 PC3 PA7 PA0 INTEA IBFA INTRA STBA 中断允许触发器 RD 方式1输入时序 STB和IBF是外设和8255A间的一对应答联络信号 为的是可靠地输入数据 方式1中断控制 8255A的中断由中断允许触发器INTE控制置位允许中断 复位禁止中断对INTE的操作通过写入端口C的对应位实现 INTE触发器对应端口C的位是作应答联络信号的输入信号的哪一位 只要对那一位置位 复位就可以控制INTE触发器选通输入方式下端口A的INTEA对应PC4端口B的INTEB对应PC2选通输出方式下端口A的INTEA对应PC6端口B的INTEB对应PC2 2 方式1输出联络信号 OBF 输出缓冲器满信号 低有效8255A输出给外设的一个控制信号 当其有效时 表示CPU已把数据输出给指定的端口 外设可以取走ACK 响应信号 低有效外设的响应信号 指示8255A的端口数据已由外设接受INTR 中断请求信号 高有效当输出设备已接受数据后 8255A输出此信号向CPU提出中断请求 要求CPU继续提供数据 端口A的INTEA对应PC6端口B的INTEB对应PC2 方式1输出 A端口 外设响应信号表示外设已经接收到数据 输出缓冲器满信号表示CPU已经输出了数据 中断请求信号请求CPU再次输出数据 PC6 PC7 PC3 PA7 PA0 INTEA OBFA INTRA ACKA 中断允许触发器 WR 方式1输出时序 OBF和ACK是外设和8255A间的一对应答联络信号 为的是可靠地输出数据 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 ACKA PC4 PC5 IBFA RD INTE2 用PC6设置INTE1 输出 用PC4设置INTE2 输入 输入和输出中断通过或门输出INTRA信号 WR STBA 方式2双向时序 data out INTR data out data in data in PA0 PA7 D0 D7 IBF ACK 4 C口状态字 当8255A工作在方式1或方式2时 用输入指令可读取C口的状态字 以了解8255A的状态 4 端口C的状态字 ACKA ACKA STBB STBA ACKA STBA 8255A的编程 初始化编程 一个方式控制字采用控制I O地址 A1A0 11工作过程中 通过数据端口对外设数据进行读写数据读写利用端口A B和C的I O地址 A1A0依次等于00 01 10IBMPC XT机上 端口A B C和控制端口的I O地址为60H 61H 62H和63H 1 写入方式控制字 示例 要求 A端口 方式1输入C端口上半部 输出 C口下半部 输入B端口 方式0输出方式控制字 10110001B初始化的程序段 movdx 0fffeh 假设控制端口为FFFEHmoval 0b1h 方式控制字outdx al 送到控制端口 2 读写数据端口 初始化编程后 当数据端口作为输入接口时 执行输入IN指令将从输入设备得到外设数据当数据端口作为输出接口时 执行输出OUT指令将把CPU的数据送给输出设备8255A具有锁存输出数据的能力对输出方式的端口同样可以输入不是读取外设数据读取的是上次CPU给外设的数据 读写数据端口示例 利用8255A的输出锁存能力 可实现按位输出控制对输出端口B的PB7位置位的程序段 movdx 0fffah B端口假设为FFFAHinal dx 读出B端口原输出内容oral 80h 使PB7 1outdx al 输出新的内容 3 读写端口C C端口被分成两个4位端口 两个端口只能以方式0工作 可分别选择输入或输出在控制上 C端口上半部和A端口编为A组 C端口下半部和B端口编为B组当A和B端口工作在方式1或方式2时 C端口的部分或全部引脚作为联络信号使用其余引脚仍可设定工作在方式0 对端口C的数据输出有两种办法通过端口C的I O地址 向C端口直接写入字节数据 这一数据被写进C端口的输出锁存器 并从输出引脚输出 但对设置为输入的引脚无效通过控制端口 写入位控字 使C端口的某个引脚输出1或0 或置位复位内部的中断允许触发器 读取的C端口数据有两种情况未被A和B端口使用的引脚 将从定义为输入的端口读到引脚输入信息 将从定义为输出的端口读到输出锁存器中的信息被A和B端口作为联络线的引脚 将读到反映8255A状态的状态字 9 28255A的应用 作为通用的并行接口电路芯片 8255A具有广泛的应用应用在IBMPC XT微机上应用于打印机接口电路连接简易键盘驱动LED数码管 例 某一系统中 有8个开关K7 K0 要求不断检测它们的通断状态 并随时在发光二极管LEE7 LED0上显示出来 开关断开 相应的LED点亮 开关合上 LED熄灭 选用8086CPU 8255A和74LSl38译码器等芯片 判断端口地址 0F0H 0F6H确定控制字 10010000B 一 基本输入输出应用 MOVDX 0F6H 控制字寄存器MOVAL 10010000B 控制字OUTDX AL 写入控制字TEST IT MOVDX 0F0H 指向A口INAL DX 从A口读入开关状态MOVDX 0F2H 指向B口OUTDX AL B口控制LED 指示开关状态JMPTEST IT 循环检测 PA08255APA1PA2PA3 PB7PB6PB5PB48255APB3PB2PB1PB0 5V 0 1 2 3 8 6 5 7 4 9 A B C D E F 键盘接口电路 二 键盘接口 PORT AEQU0FF9H 8255A口地址端口地址PORT BEQU0FFBH 8255B口地址PORT CTLEQU0FFFH 8255控制口地址DATASEGMENT 数据段 键盘扫描码表 0l234567TABLEDB77H 7BH 7DH 7EH 0B7H 0BBH 0BDH 0BEH 89ABCDEFDB0D7H 0DBH 0DDH 0DEH 0E7H 0EBH 0EDH 0EEHDATAENDSSTACK1SEGMENTSTACK STACK DW50DUP 0 TOP STACLABELWORDSTACK1ENDSCODESEGMENT 代码段ASSUMECS CODE DS DATA SS STACK1START MOVAX STACK1MOVSS AXLEASP TOP STACKMOVAX DATAMOVDS AX 初始化8255A 方式0 A口作输出 B口和C口为输入向所有行送0MOVDX PORT CTL 指向控制口MOVAL 10001011B 控制宇OUTDX AL 写入控制字MOVDX PORT A A口MOVAL 0OUTDX AL 向A口各位输出0 读列 查看是否所有键均松开MOVDX PORT BWAIT OPEN INAL DX 键盘状态读入B口ANDAL 0FH 只查低4位 列值 CMPAL 0FH 是否都为1 各键均松开 JNEWAIT OPEN 否 继续查 各键均已松开 再查列是否有0 即是否有健压下WAIT PRES INAL DX 读B口ANDAL 0FH 只查低4位CMPAL 0FH 是否有键压下JEWAIT PRES 无 等待MOVCX 16EAH 有键压下 延时20ms 消抖动DELAY LOOPDELAY 延时20ms 再查列 看键是否仍被压着INAL DXANDAL 0FHCMPAL 0FHJEWAIT PRES 已松开 转出等待压键 键仍被压着 确定哪一个键被压下MOVAL 0FEH 先使D0 0MOVCL AL CL 11111110BNEXT ROW MOVDX PORT A A口OUTDX AL 向一行输出低电平MOVDX PORT B B口INAL DX 读入B口状态ANDAL 0FH 只截取列值CMPAL 0FH 是否均为1 JNEENCODE 否 表示有键压下 转去编码ROLCL 1 均为1 使下行输出0MOVAL CLJMPNEXT ROW 查看下行 已找到有一列为低电平 对压健的行列值编码ENCODE MOVBX 000FH 建立地址指针 先指向F健对应的地址INAL DX 从B口读入行列号NEXT TRY CMPAL TABLE BX 读入的行列值与表中查得的相等吗 JEDONE 相等 转出DECBX 不等 指向下一个 键值较小者 地址JNSNEXT TRY 若地址尚末减为负值 继续查MOVAH 1 若减为负值 置出错码01一AH中JMPEXITDONE MOVAL BL BL中存有键的16进制代码MOVAH 0 AH 0 读到有效键值EXIT HLTCODEENDSEND 0l234567TABLEDB77H 7BH 7DH 7EH 0B7H 0B

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论