2019/11/22 微机技术与仪器系统设计 5.4计数定时接口 ·Intel8253 第五章 数字量输入输出 LLLLUEEAILLEEAIEX所 定时器和计数器 定时功能的实现方法 利用处理器执行一个延时序复实现 ,常又春 电,感拉制度时时周 可编短的硬件定时 长件硬件相帖合、用可端准定时显芯 。时要由电中的计电的盏道过记 录高精度高脉冲信号的个数,输出准项的时 时花 间间属 预定时,使形成二个出香,用来南CPU提出中听 清求。 1
2019/11/22 1 微机技术与仪器系统设计 第五章 数字量输入输出 1 5.4 计数定时接口 • Intel 8253 • 计数电路如果记录外设提供的具有一定随机性 的脉冲信号时,它主要反映脉冲的个数(进而 获知外设的某种状态),常又称为计数器; • 定时器由数字电路中的计数电路构成,通过记 录高精度晶振脉冲信号的个数,输出准确的时 间间隔。 定时器和计数器 • 软件延时——利用微处理器执行一个延时程序段实现 • 不可编程的硬件定时——采用分频器、单稳电路或简易定时 电路控制定时时间 • 可编程的硬件定时——软件硬件相结合、用可编程定时器芯 片构成定时电路.软件设定工作方式、定时值和定时范围。 计数器开始工作后,CPU可以去做别的工作,等计数器计到 预定时间,便自动形成一个输出信号,用来向CPU提出中断 请求。 定时功能的实现方法 1 2 3 4
2019/11/22 计数定时接口的基本概念 可编程计数/定时接口Intel8253 D,-D。双向三立客兼慎,CPU用输入、轴 出◆对8253进行写操作的惠那是8 ·计数容量 C(+5V 位福总镇传进: CLK-CLK:计蚕轴入,要求加在CLK引雨 ·计数频率 的时钟散冲氯率不大于2M位。 GATE。-GATE2:门控轴入,当GATE引南为 ·计数过短(定时过雅) 时,裤止计最工作:只有GATE引南为 D1 高时,才允许计数每工作 ·输出信号 OUT。-OUTz1计最量0-2的输出,其输出 教形取决于工作方式 GND 12 RD、WR和CS:分则为该、写和片遗售号, 均为电平有微 P 6 8253的内部结构和功能 8253的端口选择 C图R品WRA,A。将寿器选拆及其禄作 01 000 对计数器0夏计教初值 01 001对计器1置计教初值 01010对计款馨2量计数潮值 01011 对控制寄青器硬置控制字 00 1 00 从计数器0读出计数值 00 01 从计数得1读出计数值 00110从计教际2读出计敏值 00111无操作(0D,三态) 1 ×兼止(0"D,三态》 01 无操作(0D。三态】 2
2019/11/22 2 • 计数容量 • 计数频率 • 计数过程(定时过程) • 输出信号 计数定时接口的基本概念 D7~D0 :双向三态数据线,CPU用输入、输 出指令对8253进行读/写操作的信息都经8 位数据总线传送。 CLK0~CLK2 :计数输入,要求加在CLK引脚 的时钟脉冲频率不大于2MHz。 GATE0~GATE2 :门控输入,当GATE引脚为 低时,禁止计数器工作;只有GATE引脚为 高时,才允许计数器工作 OUT0~OUT2 :计数器0~2的输出,其输出 波形取决于工作方式 A1 、A0 :寻址3个计数器和控制寄存器(三 个计数器的控制寄存器共用一个端口地址) RD、WR和CS:分别为读、写和片选信号, 均为低电平有效 可编程计数/定时接口Intel 8253 •0 •1 •2 8253的内部结构和功能 8253的端口选择 A1 A0 寄存器选择及其操作 0 1 0 0 0 对计数器0置计数初值 0 1 0 0 1 对计数器1置计数初值 0 1 0 1 0 对计数器2置计数初值 0 1 0 1 1 对控制寄存器设置控制字 0 0 1 0 0 从计数器0读出计数值 0 0 1 0 1 从计数器1读出计数值 0 0 1 1 0 从计数器2读出计数值 0 0 1 1 1 无操作(D7 ~D0三态) 1 禁止(D7 ~D0三态) 0 1 1 无操作(D7 ~D0三态) •CS •RD •WR 5 6 7 8
2019/11/22 8253的编程-拉制字寄存器 D.Da DD D;D:D:Do SC:SCa RL1RL。M:M:Mo BCD BCD码计数 BCD=1时,采用BCD码计数,写入计数攀的初值用 0: 二进制计数 BCD 表示,初值范为000 99 中0000 (o0:选通道0 「0001方式0 表示量大值10000,即10.如预制初值n=1200H时, 01:选通道1 001:方式1 表示一个十进制数1200。 10:迭通道2 x10 :无效 BCD=0时,采用BCD码计数,可入计敢器的初值用 二进制敷表示,初值范为0 FFH,其中0000 表示最大值65536,即216。如预制初值n=1200H时, 00:计数器锁存 表示一个十进制数4608。 01:只读丙计数器低字节 10:只读/写计数器高字节 山:先读店计最器低字节。 后读写计最器高字节 启动计数器的触发方式 方式0:计数结束中断 1,秋件触发方式:认TE信号为高电平,在写入计数和 mmimiii 值后的下一个K脉冲的下降洛到来时,计敦前值从 计教和值青存器送到减1计数器中,启动计数。 饭420 L如5452小0 GATE 2.硬件触发方式:写入计数和值后,计数器并不开始 OUT 计数。而是在©队T正信号上升沿到来后的第一个CLUK下 INTR 降沿到来时,才将计数和值从计数和佳寄存器送到 方式0的工作转点: 减1计数器中,启动计数, 计最舞草后。不能真时核真计最女业,C结出增限特高电平. 益李球路。棒营 3
2019/11/22 3 D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RL1 RL0 M2 M1 M0 BCD :无效 :选通道 :选通道 :选通道 11 10 2 01 1 00 0 后读 写计数器高字节 :先读 写计数器低字节, :只读 写计数器高字节 :只读 写计数器低字节 :计数器锁存 / 11 / 10 / 01 / 00 101 5 100 4 11 3 10 2 001 1 000 0 :方式 :方式 :方式 :方式 :方式 :方式 :二进制计数 : 码计数 0 1 BCD 8253的编程-控制字寄存器 •BCD=1时,采用BCD码计数,写入计数器的初值用 BCD码表示,初值范围为0000~9999H,其中0000 表示最大值10000,即104。如预制初值n=1200H时, 表示一个十进制数1200。 •BCD=0时,采用BCD码计数,写入计数器的初值用 二进制数表示,初值范围为0000~FFFFH,其中0000 表示最大值65536,即216。如预制初值n=1200H时, 表示一个十进制数4608。 1. 软件触发方式:GATE信号为高电平,在写入计数初 值后的下一个CLK脉冲的下降沿到来时,计数初值从 计数初值寄存器送到减1计数器中,启动计数。 2. 硬件触发方式:写入计数初值后,计数器并不开始 计数。而是在GATE信号上升沿到来后的第一个CLK下 降沿到来时,才将计数初值从计数初值寄存器送到 减1计数器中,启动计数。 启动计数器的触发方式 方式0: 计数结束中断 •4 •3 •2 •1 •0 •n •CLK •OUT •GATE WR •(n=4) •INTR •方式0的工作特点: 计数到零后,不能自动恢复计数初值,OUT输出端保持高电平。 计数过程中,如果GATE=0,则暂停计数,直到GATE变高后再接着计数。 在计数过程中可改变计数值。若是8位计数,写入新的计数值后,计数器按新值开始计数; 若是16位计数,写入第一个字节后,计数器停止计数,在写入第二个字节后,按新的初值计数。 •(m=5) •5 •4 •3 •2 •1 •0 •INTR •A •B 9 10 11 12
2019/11/22 方式1:可重复触发的单脉冲 方式2:频率发生器(n分频器) n 4s84w50 巧20 4可2 GATE GATE 43210 3210 OUT 方式1的工作静点 女片生爱程装只它(oA正 积受经伦在-+开 计共南业直由不.风有杯次发后, 不用重复置最。计微播衡等连编工作,着出OUT是轴入CLK的和(初童)分瓶。 支种清等辞景oUT立厚为高在cAe Cv 热整然一秋干怀续不件 13 14 方式3:方波发生器 管方式4:软件触发的选通信号发生器 cwΠ annnnannnnnmn 42,子0 -OUT 43210 GATE L GATE 4 德a,尚计数物度为时,每十CLK肆神使计嫌值减之,计测时,一 OUT 43210厂 停点, 只计散一次 GATE1,允许计藏:GATE0,燕止计蒙, 入初恤并开物什量。 15 16 4
2019/11/22 4 方式1: 可重复触发的单脉冲 •4 •3 •2 •1 •0 •CLK •OUT •GATE WR •(n=4) •(m=5) •5 •4 •3 •2 •5 •4 •3 •2 •1 •0 •单脉冲宽 度 •单脉冲宽 度 •方式1的工作特点: 可重复触发。计数到零后,不用再次送计数值,只要给它触发脉冲(GATE正跳 变),即可产生一个同样宽度的单稳脉冲。 计数过程中,若装入新的计数初值,则当前输出不受影响。只有再次触发后, 计数才开始按新值输出脉冲宽度。 计数过程中,外部的GATE触发沿提前到来,则下一个CLK脉冲下降沿,计数器 开始重新计数,这将使输出单稳脉冲比原先设定的计数值加宽了。 方式2:频率发生器(n分频器) •方式2的工作特点: 计数器写入控制字和计数初值后,如GATE一直处于高电平,那么,在下一个脉冲开 始计数器计数。计数到1时OUT变低,到0时变高同时开始重复计数。 不用重复置数。计数器能够连续工作,输出OUT是输入CLK的n(初值)分频。 计数过程可由GATE信号控制。GATE变低将使计数暂停且OUT立即为高;在GATE 变高后的下一个CLK下降沿计数器重新从初值开始计数。 计数过程中可改变初值。如果GATE一直处于高电平,则重装计数初值不影响现行计 数过程;下一个过程,才按新值计数。 •CLK WR •OUT •GATE •4 •3 •2 •1 •0 • n=4 •n=3 •3 •2 •1 •4 •3 •3 •2 •1 •1 •4 •0 •0 •4 •3 •2 •0 •重复周期 方式3: 方波发生器 •4 •4 •CLK WR •OUT •GATE •4 •2 •0 •4 •2 • n=4 •n=5 •4 •4 •2 •5 •2 •0 •0 •0 •4 •5 •4 •2 •0 •重复周期 •2 •0 •重复周期 •5 •4 • 特点:当计数初值n为偶数时,每个CLK脉冲使计数值减2,当计到零时,一 方面使输出改变状态,另一方面,又重新装入计数值、开始新的计数。当n 为奇数时,且OUT为高时,第一个脉冲使计数减1,然后依次减2;当OUT为 低时,先使计数减3,然后依次减2。 GATE=1,允许计数;GATE=0,禁止计数。如果在输出为低期间, GATE=0,输出将立即变高,停止计数;当GATE变高后,计数器将重新装 入初值并开始计数。 方式4: 软件触发的选通信号发生器 •CLK WR •OUT WR •GATE •OUT •n=4 •n=4 •4 •3 •2 •1 •0 •4 •3 •2 •1 •0 •4 • 特点: 只计数一次 GATE=1,允许计数;GATE=0,禁止计数。 在计数过程中改变计数初值,则按新计数值重新开始计数。如果是二字节数, 则在写入第一个字节时停止计数;写入第二个字节后,按新的计数初值开始 计数。 13 14 15 16
2019/11/22 了穷式境件触发的选通信号发生器 8253工作方式特点: ak厂 方式0,在每入控制字后,输出即变低,计数结束后,轴出墙 -GATE 由低变高,常用该输出信号作为中断源。 -OUT) 43240 方式,用来产生指定竟度单脉冲。 GATE一 方式2,用来产生序列负脉神,每个负脉冲的宽度与CLK脉冲的 4421 周期相同。 OUT(n-4) 方式3,用来产生连续的方波。方式2和方式3都实现对时钟脉冲 进行n分颗。 厕亮皮的负T歌神,然后着出变高,作止计藏。至下次GTE旅种的 敏发才前计最, 方式4和方式5的波形湘同,都在计数器回0后,从OUT端输出单 个负脉冲,其宽度等于一个时钟周期。 嘉费安超摄味下-十L*T 17 8253的连接 8253应用举例 253 D:-D D-D A 1.初始化 2.读取8253的计数值 ATE DACK 3.应用举例 25 GATE CLK CLK 19 20 5
2019/11/22 5 方式5:硬件触发的选通信号发生器 •CLK •GATE •GATE •OUT(n=4) •OUT(n=4) •4 •3 •2 •1 •0 •4 •3 •4 •3 •2 •1 •0 写入控制字后,输出为高。写入计数初值后并不立即开始计数,而是 由GATE信号的脉冲上升沿触发启动。当计数到零后时,输出一个CLK 周期宽度的负脉冲,然后输出变高,停止计数。直至下次GATE脉冲的 触发才能计数。 在计数过程中,外部的GATE触发沿提前到来,则下一个CLK脉冲下 降沿,计数器开始重新计数。 8253工作方式特点: 方式0,在写入控制字后,输出端即变低,计数结束后,输出端 由低变高,常用该输出信号作为中断源。 方式1,用来产生指定宽度单脉冲。 方式2,用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲的 周期相同。 方式3,用来产生连续的方波。方式2和方式3都实现对时钟脉冲 进行n分频。 方式4和方式5的波形相同,都在计数器回0后,从OUT端输出单 个负脉冲,其宽度等于一个时钟周期。 8253的连接 1. 初始化 2. 读取8253的计数值 3. 应用举例 8253 应用举例 17 18 19 20