
8253的内部结构与工作方式.docx
8页精品名师归纳总结8253 的内部结构和工作方式8253 具有 3 个独立的计数通道,接受减 1 计数方式在门控信号有效时,每输入 1 个计数脉冲,通道作 1 次计数操作当计数脉冲是已知周期的时钟信号时,计数就成为定时一、8253 内部结构8253 芯片有 24 条引脚,封装在双列直插式陶瓷管壳内1. 数据总线缓冲器数据总线缓冲器与系统总线连接, 8 位双向,与 CPU 交换信息的通道这是 8253 与CPU 之间的数据接口,它由 8 位双向三态缓冲储备器构成,是 CPU 与 8253 之间交换信息的必经之路2. 读/写把握读/写把握分别连接系统的 IOR# 和 IOW# , 由 CPU 把握着拜望 8253 的内部通道接收 CPU 送入的读/写把握信号, 并完成对芯片内部各功能部件的把握功能, 因此, 它实际上是 8253 芯片内部的把握器 A1A0 :端口选择信号,由 CPU 输入 8253 内部有 3 个独立的通道和一个把握字寄存器, 它们构成 8253 芯片的 4 个端口, CPU 可对 3 个通道进行读/写操作 3 对把握字寄存器进行写操作 这 4 个端口的址由最低 2 位的址码 A1A0 来选择。
如表 9.3.1 所示可编辑资料 -- -- -- 欢迎下载精品名师归纳总结3. 通道选择(1) CS#—— 片选信号,由 CPU 输入,低电平有效,通常由端口的址的高位的址译码形成2) RD# 、 WR#—— 读/写把握命令,由 CPU 输入, 低电平有效 RD# 效时, CPU 读取由 A1A0 所选定的通道内计数器的内容 WR# 有效时, CPU 将计数值写入各个通道的计数器中, 或者是将方式把握字写入把握字寄存器中 CPU 对 8253 的读/写操作如表 9.3.2 所示4. 计数通道 0~ 2每个计数通道内含 1 个 16 位的初值寄存器、 减 1 计数器和 1 个 16 位的(输出) 锁存器8253 内部包含 3 个功能完全相同的通道,每个通道内部设有一个 16 位计数器,可进行二进制或十进制( BCD 码)计数接受二进制计数时, 最大计数值是 FFFFH, 接受 BCD 码计数时 最大计数值是 9999与此计数器相对应, 每个通道内设有一个 16 位计数值锁存器必要时可用来锁存计数值可编辑资料 -- -- -- 欢迎下载精品名师归纳总结当某通道用作计数器时, 应将要求计数的次数预置到该通道的计数器中、 被计数的大事 应以脉冲方式从 CLK 端输入, 每输入一个计数脉冲, 计数器内容减 “1,”待计数值计到 “0”。
OUT 端将有输出表示计数次数到当某个通道用作定时器时 由 CLK 输入确定频率的时钟脉冲 依据要求定时的时间长短确定所需的计数值 并预置到计数器中, 每输入一个时钟脉冲,计数器内容减 “1,” 待计数值计到 “0OUT 将有输出,表示定时时间到答应从CLK 输入的时钟频在 1~ 2MHz 范畴内因此,任一通道作计数器用或作定时器用,其内部操作完全相同, 区分仅在于前者是由计数脉冲进行减 “1”计数 而后者是内时钟脉冲进行减“ 1计”数作计数器时, 要求计数的次数可直接作为计数器的初值预置到减 “ 1计”数器中作定时器时, 计数器的初值即定时系数应依据要求定时的时间进行如下运算才能得到:定时系数=需要定时的时间/时钟脉冲周期①设置通道: 向方式把握字寄存器端口写入方式选择把握字, 用于确定要设置的通道及工作方式②计数 /定时:向通道写入计数值,启动计数操作③读取当前的计数值:向指定通道读取当前计数器值时, 8253 将计数器值存入锁存器, 从锁存器向外供应当前的计数器值,计数器就连续作计数操作④计数到:当计数器减 1 为 0 时,通过引脚 OUT i 向外输出 “到”的脉冲信号计数初值输入存放在初值寄存器中,计数开头或重装入时被复制到计数器中。
锁存器在非锁存状态, 其值随计数器的变化而变化 一旦锁存了计数器的当前值, 直到锁存器值被读取后才能解除锁存状态5. 方式选择把握字可编辑资料 -- -- -- 欢迎下载精品名师归纳总结二、8253 的通道工作方式8253 中各通道可有 6 种可供选择的工作方式, 以完成定时、计数或脉冲发生器等多种功能 8253 的各种工作方式如下:1. 方式 0:计数终止就中断工作方式 0 被称为计数终止中断方式,它的定时波形如图 9.3.4 所示当任一通道被定义为工作方式 0 时, OUT i 输出为低电平如门控信号 GATE 为高电平,当 CPU 利用输出指令向该通道写入计数值 WR# 有效时,OUT i 仍保持低电平, 然后计数器开头减 “1”计数, 直到计数值为 “0”,此刻 OUT i 将输出由低电平向高电平跳变,可用它向 CPU 发出中断请求, OUT i 端输出的高电平始终保护到下次再写入计数值为止在工作方式 0 情形下,门控信号 GATE 用来把握减 “1”计数操作是否进行当 GATE=1时,答应减 “1”计数 GATE=0 时,禁止减 “1”计数 计数值将保持 GATE 有效时的数值不变, 待 GATE 重新有效后,减 “1”计数连续进行。
明显,利用工作方式 0 既可完成计数功能, 也可完成定时功能当用作计数器时,应 将要求计数的次数预置到计数器中,将要求计数的大事以脉冲方式从 CLK i 端输入, 由它对计数器进行减 “1”计数,直到计数值为 0,此刻 OUT i 输出正跳变, 表示计数次数到当 用作定时器时, 应把依据要求定时的时间和 CLK i 的周期运算出定时系数, 预置到计数器中从 CLK i,输入的应是确定频率的时钟脉冲,由它对计数器进行减 “1”计数, 定时时间从写入计数值开头,到计数值计到 “0为”止,这时 OUT i 输出正跳变,表示定时时间到有一点需要说明,任一通道工作在方式 0 情形下, 计数器初值一次有效,经过一次计可编辑资料 -- -- -- 欢迎下载精品名师归纳总结数或定时后假如需要连续完成计数或定时功能,必需重新写入计数器的初值2. 方式 1:单脉冲发生器工作方式 1 被称作可编程单脉冲发生器,其定义波形如图 9.3.5进入这种工作方式, CPU 装入计数值 n 后 OUT i 输出高电平, 不管此时的 GATE 输入是高电平仍是低电平, 都不开头减 “1计”数,必需等到 GATE 由低电平向高电平跳变形成一个上升沿后,计数过程才会开头。
与此同时, OUT i 输出由高电平向低电平跳变,形成了输出单脉冲的前沿,待计数值计到 “0,” OUT i 输出由低电平向高电平跳变,形成输出单脉冲的后沿, 因此,由方式 l所能输出单脉冲的宽度为 CLK i 周期的 n 倍假如在减 “1”计数过程中, GATE 由高电平跳变为低电乎,这并不影响计数过程,仍继 续计数但如重新遇到 GATE 的上升沿,就从初值开头重新计数, 其成效会使输出的单脉冲加宽,如教材图 9-22〔b〕 中的第 2 个单脉冲这种工作方式下, 计数值也是一次有效, 每输入一次计数值, 只产生一个负极性单脉冲3. 方式 2:速率波发生器工作方式 2 被称作速率波发生器, 其定时波形如图 9.3.6 所示进入这种工作方式, OUT i 输出高电平,装入计数值 n 后假如 GATE 为高电平,就马上开头计数, OUT i 保持为高电平不变 待计数值减到 “1”和“0之”间, OUT i 将输出宽度为一个 CLK i 周期的负脉冲,计数值 为“0”时,自动重新装入计数初值 n,实现循环计数, OUT i 将输出确定频率的负脉冲序列, 其脉冲宽度固定为一个 CLK i 周期, 重复周期为 CLK i 周期的 n 倍。
可编辑资料 -- -- -- 欢迎下载精品名师归纳总结假如在减 “1”计数过程中, GATE 变为无效 (输入 0 电平) ,就暂停减 “1”计数, 待 GATE复原有效后,从初值 n 开头重新计数这样会转变输出脉冲的速率假如在操作过程中要求转变输出脉冲的速率, CPU 可在任何时候,重新写人新的计数值, 它不会影响正在进行的减 “1计”数过程, 而是从下一个计数操作用期开头按新的计数值转变输出脉冲的速率4. 方式 3:方波发生器工作方式 3 被称作方波发生器, 其定时波型如图 9.3.7 所示任一通道工作在方式 3, 只在计数值 n 为偶数,就可输出重复周期为 n、占空比为 1: 1 的方波进入工作方式 3, OUT i 输出低电平, 装入计数值后, OUT i 马上跳变为高电平假如当 GATE 为高电平, 就马上开头减 “1计”数, OUT i 保持为高电平,如 n 为偶数,就当计数值减到 n/2 时, OUT i 跳变为低电平,始终保持到计数值为 “0”,系统才自动重新置入计数值 n,实现循环计数 这时 OUT i 端输出的周期为 n×CLK i 周期, 占空比为 1:1 的方波序列。
如n 为奇数, 就 OUT i 端输出周期为 n×CLK i 周期,占空比为 〔〔n+1〕/2〕/〔〔n-1〕/2〕 的近似方波序列假如在操作过程中, GATE 变为无效,就暂停减 “1”计数过程,直到 GATE 再次有效,重新从初值 n 开头减 “l计”数假如要求转变输出方波的速率, 就 CPU 可在任何时候重新装入新的计数初值 n,并从可编辑资料 -- -- -- 欢迎下载精品名师归纳总结下一个计数操作周期开头转变输出方波的速率5. 方式 4:软件触发方式计数工作方式 4 被称作软件触发方式,其定时波形如图 9.3.8 所示进入工作方式 4,OUT i 输出高电平 装入计数值 n 后, 假如 GATE 为高电平,就马上开头减 “1计”数,直到计数值减到 “0为”止, OUT i 输出宽度为一个 CLK i 周期的负脉冲由软件装入的计数值只有一次有效,假如要连续操作, 必需重新置入计数初值 n假如在操作的过程中, GATE 变为无效,就停止减 “1”计数, 到 GATE 再次有效时,重新从初值开头减 “1计”数明显,利用这种工作方式可以完成定时功能,定时时间从装入计数值 n 开头,就 OUT i 输出负脉冲(表示定时时间到),其定时时间= n×CLK 周期。
这种工作方式也可完成计数功能,它要求计数的大事以脉冲的方式从 CLK i 输入,将计数次数作为计数初值装入后,由CLK i 端输入的计数脉冲进行减 “1计”数,直到计数值为 “0”,由 OUT t 端输出负脉冲(表示计 数次数到) 当然也可利用 OUT j 向 CFU。












