华科控制系考研复试资料_第1页
华科控制系考研复试资料_第2页
华科控制系考研复试资料_第3页
华科控制系考研复试资料_第4页
华科控制系考研复试资料_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

1 第九章可编程并行接口8255A及其应用 2 可编程并行接口芯片8255 并行接口 可编程 不改变硬件的连接 而通过程序设置数据的传输方向 接口线的连接和传输控制方向等 3 并行接口芯片8255 与CPU连接的引脚数据引脚 D7 D0复位输入 RESET片选信号 端口选择的地址信号 A1和A0读信号 写信号 4 8255引脚 与外设连接的引脚PA7 PA0 端口A输入 输出PB7 PB0 端口B输入 输出A B口的8位同时动作PC7 PC0 端口C输入 输出C口分为两组 各4位 同时动作联络信号 固定状态信号 反映芯片内部状态按位控制 按位操作 5 8255的内部结构 6 每个端口8位 通过编程设定其为输入口或输出口可用来和外设传送信息 1 数据端口A B C 7 有3种工作方式 方式0 方式1 方式2 对外8根引脚PA7 PA0 端口A 8 有2种工作方式 方式0 方式1对外8根引脚PB7 PB0 端口B 9 当端口A在方式1或方式2 端口B在方式1时 端口C的某些位用于传送联络信号 如查询传送的应答信号 中断传送的中断申请信号等 C口未被用作联络信号的其它位可工作在方式0 端口C 10 8位端口 无对外引脚控制端口的内容决定A B C口的工作状态 输入或输出 和工作方式 方式0 1 2 2 控制端口 11 3 数据总线缓冲器 引脚D0 D7 由1个8位双向三态缓冲器构成8255内各端口通过数据缓冲器与系统总线相连 CPU与端口A B C间传送的数据 以及CPU写入控制端口中的控制字均通过数据缓冲器传送 12 4 读写控制电路 控制数据总线缓冲器的状态 数据总线缓冲器有3种状态 输入 输出 高阻态 13 5 片内译码电路 引脚A1 A0 选择被操作的端口 14 当CS有效时 A1和A0的组合选择8255A的数据寄存器和控制寄存器 A1A0 00A口数据寄存器A1A0 01B口数据寄存器A1A0 10C口数据寄存器A1A0 11控制寄存器 3 端口地址与读写操作 15 A1A0RDWRCS00010从A口读取数据01010从B口读取数据10010从C口读取数据00100向A口写入数据01100向B口写入数据10100向C口写入数据11100向控制端口写入命令 1总线悬浮11010非法条件 110总线悬浮 8255A占用4个I O地址 即端口A B C和控制字寄存器 控制字寄存器用于控制字的写入 进而决定8255A的工作方式 控制寄存器用A B两组控制电路表示 控制字寄存器只能写入不能读出 A B C端口均可读又可写 16 1 8255的工作方式控制字 17 例 A端口方式1输入 B端口方式1输出 PC6 PC7作输入 给出方式控制字 BCH A7H A端口方式1输出 B端口方式1输入 PC4 PC5作输出 给出方式控制字 18 例 8255与系统连线如图 片选译码地址为FFF0 FFF3h1 确定各端口地址 2 编程设置8255 A口方式0输入 PC7 PC4输出B口方式0输出 PC3 PC0输入 19 最后得出结论 A口地址为FFF0HB口地址为FFF1HC口地址为FFF2HD口地址为FFF3H 由8255编程结构知 结合8255与系统总线的连线 解 20 所以 方式控制字为10010001B 即91H 要求设置 A口方式0输入 PC7 PC4输出B口方式0输出 PC3 PC0输入 2 确定方式控制字 21 MOVDX 0FFF3H 控制口地址MOVAL 91H 方式控制字OUTDX AL 初始化程序 22 2 C端口置 复位控制字 23 通过控制口置PC2为0 置PC4为1解 MOVDX 0F3H 置DX为控制口地址MOVAL 00000100B 置PC2为0OUTDX ALMOVAL 00001001B 置PC4为1OUTDX AL 例 24 例 设8255的A端口工作于方式1输入 B端口工作于方式0输出 置PC4 H 8255的操作地址为60H 63H MOVAL 0B0H 1011000XOUT63H AL 写方式控制字MOVAL 09H 0XXX01001OUT63H AL 写置 复位控制字 C口置 复位控制字 工作方式控制字 25 例 利用置位 复位字由PC5产生宽度可调的方波 LOOP1 MOVAL 00001010BOUT43H ALCALLDELAY1MOVAL 00001011BOUT43H ALCALLDELAY2JMPLOOP1 26 3 读入状态字 当8255A由程序设定在方式1和方式2时 C口根据不同的情况 产生或接受 联络 信号 读取C口的可以检测到这些信号的状态 方式1状态字 方式2状态字 27 三种工作方式方式0 基本输入 输出方式方式1 选通输入 输出方式方式2 双向数据传送方式各端口能采用的工作方式A口可工作在三种方式下B口可工作在方式0和方式1下C口可工作在方式0下当A口 B口工作于方式1或A口工作于方式2时 C口为两个端口提供联络信号 8255A的工作方式 28 工作方式0 8255相当于三个独立的8位简单接口 各端口既可设置为输入口 也可设置为输出口 但不能同时实现输入及输出 C端口即可以是一个8位的简单接口 也可以分为两个独立的4位端口 设置为输出口时有锁存能力 设置为输入口时无锁存能力 29 30 方式0的应用 用于连接简单外设 适用于 无条件输入输出方式 查询输入输出方式 把A B口作为8位数据的输入或输出口 C口的高 低4位分别定义为A B口的控制位和状态位 31 A口地址 8020HB口地址 8022HC口地址 8024H控制口地址 8026H 例8255A的A口和B口工作在方式0 A口为输入口 接有四个开关 B口为输出口 接有一个七段发光二极管 硬件连接电路如下图 试编写一个程序要求七段发光二极管显示开关所拨通的数字 32 APORTEQU8020HBPORTEQU8022HCONTREQU8026HDATASEGMENTTAB1DB3FH 06H 5BH 4FHDB DATAENDSCODESEGMENTASSUMECS CODE DS DATASTART MOVAX DATAMOVDS AXMOVAL 90H 定义工作方式MOVDX CONTROUTDX ALADDR1 MOVDX APORT 取开关值 INAL DXANDAL 0FH 屏蔽高4位MOVBX OFFSETTAB1 取代码表首值XLAT 找到字符代码MOVDX BPORT 输出显示OUTDX ALMOVCX 0400HADDR2 DECCX 显示延时JNZADDR2JMPADDR1CODE ENDSENDSTART 33 工作方式1 利用一组选通控制信号控制A端口和B端口的数据输入输出 A B口作输入或输出口 C口的部分位固定用作A B口的选通控制信号 A口 B口在作为输入和输出时的选通信号不同 输入 输出 34 方式1的应用 主要用于中断控制方式下的输入输出 C口除部分位用作选通信号外 其余位可工作在方式0下 作为输入或输出线 特别是A B均为方式1时仅使用C口的6条线 余下二条线可作为单独的输入输出线 用程序指定其数据传送方向 35 方式1输入 INTR 中断请求STB 选通信号 外设提供的输入信号 有效时 表示输入设备已送数据到达端口的输入缓冲器中 IBF 回答信号 STB 0时 自动IBF 1 表示输入缓冲器 满 禁止外设将下一个数据输入 端口数据取走后 IBF自动为0 常作为查询信号 PC4 1 A口允许中断 PC2 1 B口允许中断 36 查询式输入 数据端口 状态端口 STB 37 38 方式1下C口联络信号说明 39 例 如端口B为输入端口 用查询方式从B口输入数据 设8255A的端口为40H 43HINPUT INAL 42HTESTAL 00000010B 检查IBFB PC1 JZINPUTINAL 41H 40 方式1输出 INTR 中断请求OBF 输出缓冲器满 有效时 表示CPU已将数据送到端口的输出缓冲器等待输出 常作为查询信号 为1时 才能作输出操作 ACK 回答信号 ACK 0时 自动OBF 1 表示输出缓冲器空 输出端口可接收新的数据 PC6 1 A口允许中断 PC2 1 B口允许中断 41 查询式输出 42 43 例 如端口A为输出端口 用查询方式从输出数据到输出缓冲器 OUTPUT INAL 42HTESTAL 10000000B 检查OBFA PC7 JEOUTPUT 零标志有效MOVAL DA1OUT40H AL 44 例在某一8086系统中接有一个u80微型打印机 8255A作为输出接口 工作在选通方式 试编写一程序将缓冲区BUFF内的400H个字节的ASCII码送到打印机打印 其硬件接口电路如下图 译码器输出 0FFF8 0FFFF 45 源程序APORTEQU0FFF8HCPORTEQU0FFFCHCONTREQU0FFFEHDATASEGMENTBUFFDB400HDUP DATAENDSCODESEGMENTASSUMECS CODE DS DATASTART MOVAX DATAMOVDS AXMOVCX 400H 字节长度MOVAL 0A8H 8255A控制字MOVDX CONTROUTDX ALMOVDI OFFSETBUFF ABC1 MOVAL DI ASCII码输出MOVDX APORTOUTDX ALMOVDX CPORTABC2 INAL DX 查 OBFA信号ANDAL 80H OBFA变高 JZABC2 否 再查ABC3 INAL DX 查BUSY信号ANDAL 10H BUSY变低JNZABC3 否 再查INCDI 是 传送下一数LOOPABC1HLTCODE ENDSENDSTART 46 工作方式2 双向方式 既是输入口 又是输出口 利用C口的5条线提供传输联络信号 类似于A口方式1下输入和输出的组合 只有A口可工作在方式2下 INTE1为PC bit6 INTE2为PC bit4 47 方式2的应用 可用于中断控制输入输出方式 当A口工作于方式2时 B口可工作于方式1 此时C口的剩余位都用作B口选通控制线 B口也可工作于方式0 此时C口的剩余位也只能用作方式0下的输入输出线 48 49 应用举例利用8255A组成键盘扫描接口 在微型计算机中 键盘是最常用的一种输入设备 键盘有两种类型 全编码键盘和非编码键盘 全编码键盘 能自动提供对应于被按键的ASCII码 并能同时产生一个选通脉冲通知微处理器 据有处理抖动和多键串键的保护电路非编码键盘 这种键盘只简单提供键盘的行列矩阵 而按键的识别和键值的确定 输入等工作全部由软件完成 PC机系列键盘具有编码键盘的大部分特征 内部使用的单片机能够自动识别键的按下与释放 但是只向主机提供键的行列位置 扫描码 而按键的识别和键值的确定等工作靠软件完成 所以一般认为它属于非编码键盘 50 矩阵式键盘是指键开关按行列排列 形成二维矩阵的结构 如8 8 4 4等 图所示为i j键盘矩阵 第 0 行 第 1 行 第 2 行 第 i 1 行 第 0 列 第 1 列 第 2 列 第 i 1 列 确定键盘上是否有键按下 若有键按下 确定按键的位置 51 第一步 将所有的行线置0 读列线的值 若此时列线上的值全为1 说明无键按下 第二步 若有某位为0 则说明对应这一列上有键按下 这时改变行扫描码 使行线逐行为0 依次扫描 当读到某一列线的值为0时 就可根据此时的行扫描码和列线的值唯一地确定按键的位置 同时也就确定了该键的扫描码 行扫描法 第 0 行 第 1 行 第 2 行 第 i 1 行 PB j 1 PA 0 PB 1 PB 0 PA 1 PA 2 PA i 1 B 口 A 口 8255A 5V 第 0 列 第 1 列 第 2 列 第 i 1 列 键码识别方法 行扫描法 行反转法及行列扫描法等 52 PORTAEQU0FFF8HPORTBEQU0FFFAHPORTCEQU0FFFCHCONTREQU0FFFEH MOVDX CONTRMOVAL 10000011B 控制字OUTDX ALWAIT MOVDX PORTAMOVAL 0FFH 选通各行OUTDX ALMOVDX PORTBINAL DX 检查各行CMPAL 0FFH 有键压下码JEWAIT 否 等待MOVBL 0 置键号初值MOVBH 1 逐行扫描MOVCX 8 设置行计数FNDROW MOVAL BHMOVDX PORTAOUTDX AL ROLBH 1 选通下一行MOVDX PORTBINAL DX 取列值CMPAL 0FFH 有键压下码 JNZFNDCOL 有 找键值ADDBL 8 无 选下行增加行号LOOPFNDROW 循环扫描8行JMPDONE 转无键压下处理FNDCOL RORAL 1 处理被按键列值JNCRIGHT 找到该列的键号INCBL BL中键号加1JMPFNDCOLRIGHT MOVAL BL 键号送AL DONE 转显示程序等待按键 53 第 0 列 第 1 列 第 2 列 第 i 1 列 第一步 设置A口输出 B口输入 向A口写入全0 然后读B口 若B口读入全1 说明没有键按下 B口某一位读入为0 则说明该列有键按下 第二步 设置A口输入 B口输出 将上一步由B口读入的数据再由B口输出 这时读A口 若某一位为0 其余全为1 则说明按下的键在该行 于是就确定了行号和列号 达到了键码识别的目的 行反转法 54 键码识别中必须考虑的问题 1 抖动消除在按键闭合 断开过程中 由于机械触点的弹性作用 在闭合及断开瞬间均有抖动过程 其电压信号波形如图所示 抖动时间的长短与开关的机械特性有关 一般为5 10ms 通常消除抖动的措施有硬 软两种 硬件方法可用硬件电路来实现 如用RC滤波电路去抖动 软件方法可用延时的方法 即检测到有键按下时 执行一个延时程序 一般为12ms 后再确认该键电平是否仍保持闭合状态电平 如保持则确认为真正键按下状态 从而消除了抖动影响 55 2 重键处理重键是指两个或两个以上的按键同时按下 或者一个按键按下后还未弹开 另一个按键已按下的情况 处理的办法有两种 第一种是不停地扫描键盘 当有

温馨提示

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

评论

0/150

提交评论