微机原理与接口技术__计本08408100207_刘霞_基于8255a的声光报警设计内容摘要:

0 的使用场合 湖南工业大学本科课程设计(论文) 5 方式 0 的使用场合有两种,一种是同步传送,另一种是查 询式传送。 在同步传送时,发送方和接收方的动作由一个时序信号来管理,所以,双方互相知道对方的动作,不需要应答信号,也就是说, CPU 不需要查询外设的状态。 这种情况下,对接口的要求很简单,只要能传送数据就行了。 因此,在同步传输下使用 8255A 时,三个数据端口可以实现三路数据传输。 查询式传输时,需要有应答信号。 信号,在方式 0 情况下,没有规定固定的应答信号,所以,这时将端口 A 和端口 B 作为数据端口,把端口 C 的 4 个数位(高4 位或者低 4 位均可)规定为输出口,用来输出一些输出一些控制信号,而把端口 C 的另外 4 个数位规定为 输入口,用来读入外设的状态。 这样就利用端口 C 配合了端口 A 和端口 B 的输入输出操作。 二.方式 1 ( 1)方式 1 的工作特点 方式 1 也叫选通的输入输出方式。 和方式 0 相比,最重要的差别是 A 端口和B 端口用方式 1 进行输入输出传输时,要利用端口 C 提供的选通信号应答信号,而这些信号与端口 C 的数位之间有着固定的对应关系,这种关系不是程序可以改变的,除非改变工作方式。 ( 2)方式 1 输入情况下有关信号的规定和输入时序 当端口 A 工作在方式 1 并作为输入端口时,端口 C 的数位 PC4 作为选通信号输入端 STBA , PC5 作为输入缓冲区满信号输出端 IBFA, PC3 则作为中断请求信号输出端 INTRA。 当端口 B 工作在方式 1 并作为输入端口时,端口 C 的数位 PC2 作为选通信号输入端 STBB , PC1 作为输入缓冲区满信号输出端 IBFB, PC0 则作为中断请求信号输出端 INTRB。 这些数位和信号之间的对应关系是在对端口设定工作方式时自动确定的,不需要程序员干预;而且,一旦确定了某个端口工作于方式 1,程序员也就无法改变端口 C 的数位与信号之间的对应关系,除非重新设置方式选择控制字。 当 8255A 的端口 A 和端口 B 都工作在方式 1 的输入情况时,端口 C 的 PC0PC5共 6 个数位都被定义,只剩下 PC PC7这位还未用。 此时,方式选择控制字的 D3位用来定义 PC6和 PC7的数据传输方向。 当 D3 为 1 时, PC6和 PC7这 2 位作为输入来用;当 D3为 0 时, PC6和 PC7作为输出来用。 8255A 选通输入操作(方式 1)及内部结构。 • 方式 1 选通输入信号定义。 • 各定义信号功能如下: • STB 选通信号,外设通知端口接收并锁定数据; 湖南工业大学本科课程设计(论文) 6 • IBF 输入缓冲器满, 通知外设已收到数据, CPU 取走数据后,变低,外设可再发数据。 • INTR 中断请求输出 • INTE 中断允许 — PC4: A 组 /PC2: B 组置 1(允许) /0(禁止) • PC7, PC6 端口 C 引脚 7 与 6,可以作为通用的 I/O 引脚 ( 3)方式 1 输出情况下有关信号的规定和输出时序 当端口 A 工作在方式 1 并作为输出端口时,端口 C 的数位 PC7 作为输出缓冲器满信号 OBFA 输出端, PC6 作为外设接收数据后的响应信号 ACKA 输入端, PC3则作为中断请求信号 INTRA 输出端。 当端口 B 工作在方式 1 并作为输出端 口时,端口 C 的数据 PC1 作为输出缓冲器满信号 OBFB 输出端, PC2 作为外设接收数据后的响应信号 ACKB 输入端, PC0则作为中断请求信号 INTRB 输出端。 方式 1 选通输出。 方式 1 选通输出信号定义。 OBF 输出缓冲器满,表示 CPU 将数据写到相应的端口;当外设取走数据后变高,从而使 INTR 产生中断信号。 ACK 响应信号,外设收到 OBF 信号后,读端口,并发该信号,使 OBF 引脚回到逻辑 1 INTR 中断请求信号 INTE 中 断允许信号 — PC4: A 组 /PC2: B 组置 1(允许) /0(禁止) PC PC4 端口 C 位 5 与位 4 作为通用的 I/O 引脚 ( 4)方式 1 的使用场合 在方式 1 下,规定一个端口作为输入口或者输出口的同时,自动规定了有关的控制信号和状态信号,尤其是规定了相应的中断请求信号。 这样,在许多采用中断方式进行输入输出的场合,如果外部设备能为 8255A 提供选通信号或者数据接收应答信号,那么常常使 8255A 的端口工作于方式 1。 用方式 1 比用方式 0 更加方便有效。 8253 功能原理 8253 的结构和工作原理 ( 1)编程结构 8253 内部有三个计数器 .分别称为计数器 0、计数器 计数器 2。 它们的结构完全相同 ,每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相工作完全独立,每个计数器通过在三不念旧恶引脚和外部联系 .一个为时钟输入端 CLK.,一个为门控信号输入端 GATE,另一个为输出端的 OUT。 每个计数器内部湖南工业大学本科课程设计(论文) 7 有一个 8 位的控制寄存器,还有一个子 16 位的计数初值寄存器 CR、一个计数执行部件 CE 和一个输出的锁相器 OL。 ( 2) 8253 的工作原理 ○ 1 数据总线缓冲器。 这是 8253 与 CPU 数据总线连接的 8 位双向三态缓冲器。 CPU 向 8253 输入指令和某通道的计数值 ,以及读取 8253 计数器中的计数值,都是通过这 8 条总线传送的。 ○ 2 读 /写逻辑。 这是 8253 内部操作的控制部分。 8253 内部寄存器由 A0、 ARD、 WR 决定。 ○ 3 控制字寄存器。 在 8253 初始化编程时,由 CPU 写入控制字以决定计数器的工作方式。 此寄存器只能写入而不能读出。 ○ 4 计数器 0、计数器 计数器 2。 这是三个计数器 /定时器,每 一个都是由一个 16 位的可预置值的减法计数器构成。 这三个计数器的操作是完全独立的。 每个通道包含了 1 个 16 位计数寄存器 CR、 16 位的减 1 计算单元 CE、 16 位的计数输出锁存器 OL。 CPU 写入的计数值存放在 CR 中(初值),计数的情况反应在OL 中, OL 可以由 CPU 读出。 计数单元 CE 每收到一个 CLK 时针脉冲,就自动减 1,当然,减 1 操作还受到GATE 信号的控制。 在 CE 减 1 至 0 时,通过 OUT 输出一个电平或脉冲 8253 控制寄存器的格式 8253 控制寄存器的格式如下: BCD 位用来设置计数值格式 1:计数值 为 BCD 码格式 2:计数值为二进制格式 M0、 M M2 模式选择。 具体关系如下: M2 M1 M0 模式选择 0 0 0 模式 0 0 0 1 模式 1 1 0 模式 2 1 1 模式 3 1 0 0 模式 4 1 0 1 模式 5 RW1 和 RW2 是读写指示位,具体为: 0 0 :对计数器 进行锁存操作,使当前计数值在输出锁存器中锁定,以便读出。 湖南工业大学本科课程设计(论文) 8 0 1 :只读写低 8 位字节。 1 0 :只读写高 8 位字节 1 1 :先读写低 8 位字节,再读写高 8 位字节。 SC0 和 SC1 用来选择计数器,具体对应关系如下: 0 0 :计数器 0 0 1 :计数器 1 1 0 :计数器 2 1 1 :无意义 8253 的编程命令 规则如下: ( 1) 对计数器设置初始值前必须先定控制字。 ( 2) 初始值设置时,要符合控制字中的格式规定,即只写低位字节还是只写高位字节,者高低字节都写,控制字中一旦规定,具体初始设定时就要一致。 8253 的工作 模式 ○ 1 模式 0— 计完最后一个数时中断 在这种方式下,当控制字 CW( Control Word)写入控制字寄存器,则使 OUT输出端变低,此时计数器没有赋予初值,也没开始计数。 要开始计数, GATE 信号必须为高电平,并在写入计数初值 LSB 后,通道开始计数,在计数过程中 OUT 线一直维持为低,直到计数到 “0” 时。 OUT 输出变高。 注意: ( 1)方式 0 不能自动重复计数,每次需写入初值。 ( 2)在计数期间,如果 GATE 变低,则停止计数,直到 GATE 变高后,继续计数(不是重新计数)。 ( 3)如果 GATE 一直为高电平,则, 8253 在写入初值后开始计数。 ( 4)在计数。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。