




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江工业大学计算机学院 微机接口技术 1 内容回顾 中断基本概念基本术语 9个概念 中断过程 请求 判优 响应 服务 中断管理 中断源识别 优先级排队 中断嵌套 8086 8088微机中断系统中断类型 外部 NMI和INTR 内部 5种 中断向量表 中断向量值及计算方法 中断向量的设置与修改 直接写入法与系统调用法 2 8259A可编程中断控制器内部结构 外部引脚 工作方式 中断过程 级联方式 触发方式 屏蔽方式 优先级方式 嵌套方式 结束方式 连线方式 8259A编程 ICW1 ICW4 OCW1 OCW3 8259A的应用主程序 中断服务程序的设计 PC机中的中断应用IBMPC XT机 单片 IBMPC AT 双片 3 4 第六章并行接口 并行传送方式以字长 8 16 32位等 为单位进行传送 一次传送多位数据 需多根数据线 特点 传送速度快 但使用信号线多 成本高 且信号线间电容会引起串扰 不适合远距离传送 一般用于外设与微机间近距离 大量和快速的传输 串行传送方式通过一根数据线进行传送 将数据一位一位顺序传送 缺点 速度慢 但传输线少 成本低 适合于远距离传送 5 6 1并行接口基本概念 基本的并口电路三态缓冲器和锁存器 如 74LS244 74LS245 74LS373等 特点 不可编程 一旦设计好 其功能不能改变 通用性和灵活性差 可编程并行接口可编程并行接口芯片 如Intel的8255A Motorola的MC6820 Zilog公司的Z80PIO等 特点 可根据需要通过软件编程来设定其工作方式和功能 6 并口作用 锁存与缓冲 用于在CPU和外设间传输数据 7 第六章并行接口 并行传输和串行传输的概念与特点2种并口形式 基本并口和可编程并口 8255A的内部结构 8 6 2可编程并行接口8255A 数据端口端口A 内含一个8位的输入 输出锁存器 缓冲器 用作输入或输出时 其数据均可得到锁存 端口B 内含一个8位的输出锁存器 缓冲器和一个8位的输入缓冲器 输入无锁存 端口C 内含一个8位的输出锁存器 缓冲器和一个8位的输入缓冲器 输入无锁存 可作为一个独立的8位端口 也可分成两个4位端口 可用作数据输入 输出端口 也可作为控制 状态端口 联络信号 配合A B端口一起工作 具有按位置位 复位功能 9 8255A可通过软件编程来分别设定每个端口的输入 输出及其工作方式 A口有3种工作方式 方式0 基本输入 输出 方式1 选通输入 输出 方式2 双向输入 输出 B口有2种工作方式 方式0 方式1C口可设置为并口或按位置位 复位工作方式 10 A组和B组控制逻辑端口A和端口C的高4位 PC7 PC4 构成A组 由A组控制逻辑控制 端口B与端口C的低4位 PC3 PC0 构成B组 由B组控制逻辑控制 A B两组控制电路内部均有控制寄存器 用来接收CPU发来的读 写控制信号和控制字 并按控制字确定各端口的工作方式 11 数据总线缓冲器8位双向 三态缓冲器 与系统数据总线相连 用于CPU与8255A之间传送数据 命令和状态信息 读 写控制逻辑与系统控制和地址总线相连 接收CPU发来的地址信号和控制信号 转变为各种命令送到A B组控制逻辑 对端口进行相应的操作 12 13 2 8255A外部引脚 与外设一侧相连的引脚PA7 PA0 PB7 PB0 PB7 PB0 三态双向数据线 直接与外设相连 输入输出由工作方式决定 与CPU一侧相连的引脚D7 D0 双向数据线 用于CPU与8255A间传送数据 状态和控制信息 A1A0 端口地址选择信号 用于选择具体端口 A1A0 00 选择端口AA1A0 01 选择端口BA1A0 10 选择端口CA1A0 11 选择控制端口 14 CS RD WR 片选 读 写信号 均为低有效 RESET 复位信号 高有效 RESET 1时 清除所有内部寄存器的内容 屏蔽所有中断请求 将A B C三个端口均设置为方式0 输入方式 三个端口对外的信号线均为高阻态 15 端口地址分配 16 CPU通过向8255A的控制端口 A1A0 11 写控制字来设置其工作方式 8255A有2个控制字 方式选择控制字和C口置位 复位控制字 它们均写入同一个控制端口 用特征位D7区分 方式字 D7 1 用于设置各端口的工作方式 C口置位 复位 D7 0 对C口的任意一位进行置位和复位 而不影响其它位的状态 17 3 8255A编程 方式选择控制字 18 例6 1 某并行接口的A口设定为方式0 输出 B口为方式0 输入 C口高4位输出 低4位输入 试写出方式字命令 19 MOVAL 10000011BOUT63H AL 控制端口 C口置位 复位控制字 20 注意 尽管该控制字针对C口进行操作 但必须写入控制端口 而不是写入C口对应的地址 例6 2 利用8255A的PC7端产生负脉冲 作为打印机接口电路的数据选通信号 21 MOVAL 00001111B 使PC7 1OUT63H ALCALLDELAYMOVAL 00001110B 使PC7 0OUT63H ALCALLDELAYMOVAL 00001111B 使PC7 1OUT63H ALCALLDELAY 可否用DEC和INC指令实现 例6 3 已知8255A的地址范围为4A0 4A3H 利用C口置位 复位控制字 编程使其PC3端产生方波 送到喇叭 从而产生不同频率的声音 22 MOVDX 4A3H 控制端口LL MOVAL 00000111B 使PC3 1OUTDX ALMOVCX 0FFFFHL1 LOOPL1MOVAL 00000110B 使PC3 0OUTDX ALMOVCX 0FFFFHL2 LOOPL2JMPLL 循环 产生周期信号 8255A初始化编程向控制口写入方式选择控制字后即可完成初始化 然后可对A B C口进行输入 输出操作 例6 4 已知8255A的地址范围为4A0 4A3H 利用C口输出数据的方法来控制PC3端输出 使其产生方波信号 送到喇叭 从而产生不同频率的声音 23 24 MOVDX 4A3HMOVAL 10000000B 方式选择 C口输出OUTDX AL 初始化LL MOVAL 00001000B 送数至C口 使PC3 1MOVDX 4A2H 端口C的地址OUTDX ALMOVCX 0FFFFHL1 LOOPL1MOVAL 00000000B 使PC3 0OUTDX ALMOVCX 0FFFFHL2 LOOPL2JMPLL 循环 产生周期信号 总结 通过比较 6 3 和 6 4 可知 要想改变PCi端的输出 使其产生负脉冲 方波等信号 有2种方法 C口置位 复位控制字法 对应控制端口 A1A0 11 优点 仅改变PCi端的输出状态 PC口其它端不受影响 向端口C写数据法 对应C的数据端口 A1A0 10 将改变C端口所有位的状态 25 方式0 基本输入 输出A口 B口 C口的高4位和低4位均可独立地被设置为输入或输出 8255A与CPU之间没有应答联络信号 可用于无条件传送或查询方式传送 单向I O 一次初始化只能指定端口作为输入或作为输出 不能指定其同时既作为输入又作为输出 例6 5 某系统采用8255A不断检测8个开关K7 K0的通 断状态 实时在发光二极管LED7 LED0上显示其结果 开关闭合时 相应的LED亮 开关断开时 相应的LED灭 如图6 5所示 请编写程序段实现之 26 4 8255A的工作方式 27 解题分析 8255A的端口地址范围 208H 20BH 方式字 A口输入 B口输出 无需联络信号 仅需进行基本的输入 输出操作 故A B口均工作在方式0 方式字为 10010000B 90H 题意实现 开关闭合时 A口相应位输入低电平 要使其LED点亮 则B口相应位也要输出低电平 28 29 MOVDX 20BH 控制端口MOVAL 90H 方式字OUTDX AL 初始化TES MOVDX 208H A口地址INAL DX 读A口状态MOVDX 209H B口地址OUTDX AL 将A口状态送入B口显示JMPTES 循环检测 例6 6 如图电路 若要求8个发光二极管L0 L7依次点亮 请问 8255A的A端口应工作在什么方式下 给出初始化程序段 编制程序实现题目要求 30 解题分析 A端口应工作在方式0 输出 初始化程序段 题目实现 31 MOVDX 183H 控制端口MOVAL 80H 方式字 80H 8FH OUTDX AL MOVDX 180HSTART MOVAL 0FEHL1 OUTDX ALSHLAL 1 逻辑左移JNCSTARTJMPL1 例6 7 并行打印机接口设计举例CPU向打印机发送数据前先查询其状态 Busy 1表示忙 Busy 0表示闲 STB出现负脉冲时 可把数据线上的数据送入打印机 设8255A的控制端口地址为303H 32 33 MOVDX 303H 控制端口 设置工作方式MOVAL 10000001B A口输出 C高位输出 低位输入OUTDX ALMOVAL 00001101B 使PC6 1OUTDX ALL MOVDX 302HINAL DX 读PC口 查BUSY 0 ANDAL 04HJNZL PC2 1 打印机忙 等待MOVDX 300HMOVAL ChxOUTDX AL Chx中的字符送入A口MOVDX 303HMOVAL 00001100B 置PC6 0 使STB 0OUTDX ALINCAL 置PC6 1 使STB 1OUTDX AL 例6 8 用8255A组成的脉冲频率计数器如图所示 34 7493R 4位二进制计数器 R01 R02 11 复位0X 计数X0 计数 解题分析 计数值从B口输入 A口输出 C口的PC0端控制计数器的复位和计数 复位 00000001B 01H计数 00000000B 00HC口的PC7端控制计数器的启动和停止 启动 00001111B 0FH停止 00001110B 0EH8255A工作在方式0 A口输出 B口输入 C口高4位输出 低4位也为输出 方式字为 10000010B 82H 35 36 Start MOVAL 82H 方式字OUT63H AL 控制口Loop MOVAL 01H PC0 1使计数器复位OUT63H AL 控制口CALLDelay 延时DECALOUT63H AL PC0 0使计数器计数MOVAL 0FHOUT63H AL PC7 1启动脉冲输入CALLDelay 延时DECALOUT63H AL PC7 0停止脉冲输入INAL 81H 输入计数值OUT80H AL 输出显示JMPLoop 方式1 选通输入 输出 应答型 A B口为数据端口 C口的一些引脚作为A B口的联络控制信号 有固定的搭配规定和时序关系 可采用中断方式或程序查询方式传送数据 单向I O 一次初始化只能设定在一个方向上传送 37 方式1输入 38 A口的联络信号 PC4 PC5 PC3 453 B口的联络信号 PC2 PC1 PC0 210 STB 输入选通信号 有效时 可将数据从外设输入到A口或B口的锁存器中 IBF 输入缓冲器满信号 是对STB的响应 对CPU 有效时 表示8255A端口已有数据 CPU进行读取 读取后IBF自动变无效 对外设 有效时 表示CPU还未取走数据 从而通知外设不要再发送新的数据 INTE 中断允许信号 INTE 1时允许8255A在输入缓冲器满时 通过INTR向CPU发中断请求信号 PC4 1允许A口中断 PC2 1允许B口中断 该信号可通过C口置位 复位来实现对中断的控制 INTR 中断请求信号 当STB和IBF均为高且INTE 1时 INTR 1 这时CPU可从端口读取数据 读取后INTR自动清除 39 40 PC4 PC5 PC3 PA7 PA0 INTEA IBFA INTRA STBA D7 D0 数据输入选通信号 有效时将外设数据输入到并口 输入缓冲器满信号 有效时表示A口已接收到数据 中断请求信号 请求CPU读取数据 中断允许信号PC4 1允许A口发中断 方式1下A口输入时的联络信号线定义 41 例6 9 从端口A输入100次开关状态并在端口B上显示 42 解题分析 按下脉冲开关 产生STB选通信号 端口A将开关状态锁存 同时PC3端产生中断请求信号 连至8259A的IR0端 CPU响应后 获得中断类型号 执行中断服务程序 在中断服务程序中 读取端口A的状态 送到端口B进行显示 主程序判断中断次数 若达到100次 则屏蔽中断 整个程序结束 端口A 方式1输入 端口B 方式0输出 43 44 主程序设计 Start CLI 关中断MOVAL 10110000B 设置8255A的工作方式控制字OUT63H ALMOVAL 00001001H PC4置1 允许A端口中断OUT63H ALMOVAL 00011011B 设置ICW1 单片 电平触发 ICW4OUT20H ALMOVAL 08H 设置ICW2 中断类型号OUT21H ALMOVAL 00000001B 设置ICW4 EOI 普通全嵌套OUT21H AL 45 MOVAX 0 中断向量表段地址MOVDS AXMOVAX OFFSETIS8255 设置中断向量MOV 0020H AXMOVAX SEGIS8255MOV 0022H AXINAL 21H 读8259A屏蔽字ANDAL 0FEH 允许IR0中断OUT21H ALMOVBX 100 设置计数初值STIROTT CMPBX 0 监测是否达到100次JNZROTT 未达到 则等待中断 46 INAL 21H 恢复屏蔽字 禁止IR0中断ORAL 01HOUT21H ALMOVAH 4CH 返回DOS系统INT21H中断服务程序 IS8255 INAL 60H 读取端口A的开关量OUT61H AL 输出给端口B显示DECBX 计数值减1MOVAL 20H 发中断结束命令OUT20H ALIRET 中断返回 方式1输出 47 A口的联络信号 PC7 PC6 PC3 763 B口的联络信号 PC1 PC2 PC0 120 OBF 输出缓冲器满信号 当CPU把数据输出到8255A端口的输出锁存器中时 OBF有效 对外设 通知外设取走数据 对CPU CPU可通过该信号查询8255A的端口状态 OBF 0 表示数据未被外设取走 阻止CPU发新的数据 OBF 1 表示数据已被外设取走 CPU可发下一个数据 ACK 外设的应答信号 当外设从8255A取走数据时 向8255A发应答信号ACK 0 并使OBF无效 INTE 中断允许信号 INTE 1时允许8255A在输出缓冲器空时 通过INTR向CPU发中断请求信号 PC6 1允许A口中断 PC2 1允许B口中断 该信号可通过C口置位 复位来实现对中断的控制 INTR 中断请求信号 当OBF 1 ACK 0且INTE 1时 INTR 1 这时可请求CPU申请向8255A发送数据 48 49 PC6 PC7 PC3 PA7 PA0 INTEA OBFA INTRA D7 D0 外设响应信号 表示外设已将数据取走 输出缓冲器满信号 表示CPU已向8255写入数据 中断请求信号 请求CPU再次向8255A输出数据 中断允许信号 PC6 1允许A口中断 方式1下A口输出时的联络信号线定义 50 方式1的状态字状态字为查询提供状态标志位 如IBF OBF INTE和INTR等 中断方式时 8255A不能直接提供中断向量 此时CPU可通过读状态字中的INTRA和INTRB位来确定到底是A口还是B口产生了中断 状态字通过读C口获得 注意 从C口读出的状态字与C口外部引脚的状态无关 51 52 方式2 双向输入 输出只适用于A口 该方式下CPU与外设间可分时进行双向数据传送 使用数据线PA7 PA0 输入输出时数据均锁存 可采用中断方式或查询方式 各联络信号的定义 时序关系和状态字 相当于方式1中输入和输出的叠加 53 54 PC6 PC7 PC3 PA7 PA0 INTE1 OBFA INTRA ACKA PC4 PC5 IBFA STBA INTE2 D7 D0 WR RD 方式1输入 453方式1输出 763组合 45763 方式1输入 INTE PC4 INTE2方式1输出 INTE PC6 INTE1只要输入 输出中有任意一个发出请求 则INTRA 1 方式2的状态字方式2的状态字是方式1下输入和输出状态位的组合 55 56 第六章并行接口 内部结构 外部引脚 8255A编程 方式选择控制字 C口按位置位 复位控制字工作方式 方式0 方式1和方式2 IBMPC XT机仅用一片8255A 端口地址60H 63H 工作在方式0 端口A 输入 用来读取键盘扫描码 端口B 输出 用来控制键盘 RAM I O通道检测 扬声器等 端口C 输入 低4位读取系统配置开关DIP的值 高4位读取系统状态测试位 57 58 IBMPC AT机80286以上的微机 将8255A集成在芯片内部 但仍保留其端口地址60H 63H和相应功能 A口读键盘码 B口用于键 扬声器等控制 PB1 PB0 11 扬声器发声 频率由8253的T2决定 PB1 PB0 0 或 0 扬声器关闭 59 例6 10 利用定时器8253 8254的工作原理和8255A扬声器控制电路原理 编写一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 为奥运助力活动方案策划
- 北京大数据营销方案策划
- 医院单位团建活动策划方案
- 农村电影活动服务方案策划
- 新都建筑维修方案设计团队
- 药厂能源管理课件
- 季节班幼儿活动方案策划
- 老鸭粉丝汤创业计划书
- 心理咨询预算方案
- 寺庙建筑配色方案设计意图
- 公安机关人民警察执法资格(高级)考前点题卷一
- 人力资源管理SOP标准化流程手册
- 2025-2026学年人教鄂教版(2024)小学科学三年级上册(全册)教学设计(附目录P137)
- 2025-2030中国家政服务业社区化发展与本地化服务模式探讨
- 2025年翼状胬肉试题及答案
- 2025年暗挖隧道坍塌应急救援演练脚本(2篇)
- 2025年Q2起重机司机模拟考试题库(附答案)
- 道路绿化监理规划方案(3篇)
- 沥青混凝土供货方案及保障措施
- (高清版)T∕CES 243-2023 《构网型储能系统并网技术规范》
- 注册城乡规划师之城乡规划原理题库及答案(押题版)
评论
0/150
提交评论