第七章 可编程计数器定时器8253-8254及其应用.

合集下载

可编程计数器定时器8253及其应用

可编程计数器定时器8253及其应用

一、8253的内部结构和引脚信号
• 注意: • 8088为CPU连接,地址总线高位参与译码;低位用于 各芯片内部端口寻址。 • 若8253的端口基地址为40H • 通道0地址40H • 通道1地址41H • 通道2地址42H • 控制字寄存器端口地址43H
一、8253的内部结构和引脚信号
可以被CPU 访问
8-1 可编程计数器/定时器的工作原理
• 控制寄存器可以用来控制工作模式。 • 计数器/定时器的工作模式就是指时钟脉冲和门脉冲怎样配合来产 生输出。 • 归纳起来,计数器/定时器可以有下面几种工作模式: • (1)门脉冲控制时钟输入。当门脉冲来到时,时钟有效;门脉冲结 束时,时钟无效。 • (2)用门脉冲来重新启动计数。 • (3)用门脉冲停止计数。即原来在不停地计数,当门脉冲到来时, 计数停止,并使输出端OUT进入高电平。 • (4)单一计数。这种情况下和门脉冲没有关系,只要门脉冲端为有 效电平就行了。计数器进行计数时不断输出信号,计数到达“0” 时,输出停止。 • (5)循环计数。每当计数值到达“0”时,给出一个输出信号,然后 又从初始值寄存器获得计数初值,开始新的计数过程。
微型计算机原理与接口技术
第八章
可编程计数器/定时器8253及其应用
• 8-1 可编程计数器/定时器的工作原理 • 8-2 8253的工作原理 • 8-3 8253的应用举例
8-1 可编程计数器/定时器的工作原理
• 计算机系统中经常要用到定时信号,如动态存储器的 刷新定时、系统日历时钟的计时以及喇叭的声源等都 是用定时信号来产生的。 • 一般,定时信号可以用软件和硬件两种方法获得。 • 软件方法:根据所需的时间常数设计一个延迟子程序 优点:节省硬件;缺点:执行延迟程序期间,CPU一 直被占用,降低CPU效率。 • 硬件方法:使用计数器/定时器。主要思想根据需要定 时时间,用指令对计数器/定时器设置定时常数,启动 计数器/定时器,计到确定值时,自动产生一个定时输 出。 优点:计数时不占用CPU的时间;利用其产生中断信 号,可建立多作业环境。

第七章定时_计数器8253

第七章定时_计数器8253

4
3
2
1
3
2
1
GATE=1 4 0 3 2
本章首页
7.2 定时/计数器8253-5/8254-2(续) 定时/计数器8253-5/82544)3方式——周期性方波输出 方式——周期性方波输出 ——
与方式2一样具有自动重新装载计 自动重新装载计 数初值的功能,与方式2的区别仅 数初值 触发方式: 触发 触发方式:写入初值后,WR= 在于输出波形不同 输出波形: 输出波形:输出占空比为1:1或近似1:1的方波。初值为偶数时,前半周为高电 平,后半周为低电平;初值为奇数时,前一半加1的计数过程中为高电平 GATE作用 作用: ,停止,= ,重新开始 GATE作用:=1,允许;=0,禁止;= 计数过程中写入新初值: 计数过程中写入新初值:计数器回零,输出完整的方波后,再开始新过程
A1A0 选中通道 0 0 0 1 1 0 1 1 T0 T1 T2 T3
A0~A1:端口选择线,接收CPU的低位地址,用于8253被选中时,选择内部端口 GATE0~GATE2:T0~T2的门控信号,对计数过程进行控制,具体作用视方式而定 CLK0~CLK2:T0~T2的脉冲输入,允许计数时,8253的Ti对CLKi输入的脉冲进行减 1计数 OUT0~OUT2:T0~T2的输出信号,Ti减为0,OUTi输出有效,输出波形视方式而定
16位计数初值寄存器 装入/读出初值 LSB MSB 通道的内部结构
本章首页
7.2 定时/计数器8253-5/8254-2(续) 定时/计数器8253-5/8254读写控制逻辑: 读写控制逻辑:接收CPU的地址、读/写信号,选中一个端口并确定传送方向
2. 计数初值 操作 WR RD A1 A0 PC机 实验台 逆 减 0 1 0 0 加载T0(向T0写入初值) 40H 304H 8253/8254是逆计数器(减1 0 1 0 1 加载T1(向T1写入初值) 41H 305H 计数器),减1计数器减为0 时输出有效 0 1 1 0 加载T2(向T2写入初值) 42H 306H

微机原理实验 可编程定时器计数器82548253实验

微机原理实验 可编程定时器计数器82548253实验
具体连线如图2所示:
图2 8253/8254定时器/计数器实验连线图
六、实验源程序清单
CODE SEGMENT
ASSUME CS:CODE
ORG 100H
START:MOV AL, 00010110B;控制字00-计数器0,01-低8位,011-方式3,0-二进制
OUT 03H,AL;将控制字写入控制寄存器
实验报告(45)
总分
指导教师签字:
年月日
备注:
注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
图1可编程定时器/计数器8253/8254原理图
(2).计数器都有6种工作方式:
方式0—计数过程结束时中断;
方式1—可编程的单拍脉冲;
方式2—频率发生器;
方式3—方波发生器;
方式4—软件触发;
方式5—硬件触发。
(3)6种工作方式主要有5点不同:
一是启动计数器的触发方式和时刻不同;二是计数过程中门控信号GATE对计数操作的影响不同;三是OUT输出的波形不同;四是在计数过程中重新写入计数初值对计数过程的影响不同;五是计数过程结束,减法计数器是否恢复计数初值并自动重复计数过程的不同。
九、实验总结
硬件实验相对来说趣味性大了很多,同时也使得程序没那么复杂不过存在的问题突出表现于受到硬件实验条件的制约,硬件上的小问题就有可能导致不能出显预想的结果这也就使得在硬件连接上要很小心。
十、思考题
1.若8254模块选通线CS连到MCU主模块的地址A12,则应如何修改程序?
答:改变了存储芯片的地址范围所以将程序对应的地址范围改过即可。接A12对应地址范围是6800~6FFFH;接A14对应地址范围是3800~3FFFH。

8253、8254的基本原理及应用

8253、8254的基本原理及应用
WR GATE OUT
初始高电平
N=3
写入计数值 不计数 GATE触发 开始计啥 GATE再次触发 再计数
3 2 1 0 计数值
3 2 1 0
计数值多次有效
方式2: 方式 :频率发生器
• 为自动装入计数常数的计数器。计数期间OUT 为1,计数到0后输出1个周期的0,并重新装入 计数值开始计数。
• 计数过程中若GATE又出现0-1的脉冲,则重新装入原 始计数值,重新开始计数。 • 若计数中改变计数值,则要下次才会以新数计数。
PC机系统板上的8253
IOR IOW 74LS138 A1 A0 D0 ~ D7 + 5V 8255 PB0 0 RD 0 WR 0 CS A1 A0 OUT0 8259A的IR0,系统计时 每隔55ms产生一次中断。 OUT1 8237的DRQ0,作DMA请求
D0 ~ D7 GATE0 GATE1 GATE2 OUT2 CLK0 CLK1 CLK2
&
8255 PB1
低通
1.19318MHz
8253
在PC机上编写音乐程序
• 硬件连接:8254输入均接1.193180MHz,Gate2接 8255PB0,输出OUT2与8255PB1相与后送喇叭。 • 8255/8253的端口基础地址分别为60/40 • 频率的计算:A4为440Hz,高一个半音,相差 12 2 倍。 如B的频率为440*2^(1/6)=493.9 • 定时常数为输入频率/输出频率,即1193180/发音频率 • 发声编程步骤:
O O 读/写
控制逻辑 O 控制 寄存器
计数器 1
CLK1 GATE1 OUT1
计数器 2
CLK2 GATE2 OUT2

微机原理与接口技术_第7章8253

微机原理与接口技术_第7章8253
15
§7-1 8253的工作原理 ——8253的内部结构和引脚信号
然后,开始递减计数。即每输入一个时钟脉冲,计数
器的值减1,当计数器的值减为0时,便从OUT引脚输出 一个信号。输出信号的波形主要由工作方式决定,同 时还受到从外部加到GATE引脚上的门控信号控制,它 决定是否允许计数。 当用8253作外部事件计数器时,在CLK脚上所加的计 数脉冲是由外部事件产生的,这些脉冲的间隔可以是 不相等的。 如果要用它作定时器,则CLK引脚上应输入精确的时 钟脉冲。这时,8253所能实现的定时时间,决定于计 数脉冲的频率和计数器的初值,即 定时时间=时钟脉冲周期tc×预臵的计数初值n
16
§7-1 8253的工作原理 ——8253的内部结构和引脚信号 ③引脚 8253的3个计数器都各有3个引脚,它们是:
CLK0~CLK2:计数器0~2的输入时钟脉冲从这里输
入。频率不能大于2MHz。
OUT0~OUT2:计数器0~2的输出端。
GATE0~GATE2:计数器0~2的门控脉冲输入端。
4
第七章 可编程计数器/定时器8253及其应用 ——概述 2. 不可编程的硬件定时 555芯片是一种常用的不可编程器件,加上外接电阻和电 容就能构成定时电路。这种定时电路结构简单,价格 便宜,通过改变电阻或电容值,可以在一定的定时范 围内改变定时时间。但这种电路在硬件已连接好的情 况下,定时时间和范围就不能由程序来控制和改变, 而且定时精度也不高。 3. 可编程的硬件定时 ①可编程定时器/计数器电路利用硬件电路和中断 方法控制定时,定时时间和范围完全由软件来确 定和改变,并由微处理器的时钟信号提供时间基 准,这种时钟信号由晶体振荡器产生,故计时精
12
§7-1 8253的工作原理 ——8253的内部结构和引脚信号 8253输入信号组合的功能表

可编程定时器、计数器8253

可编程定时器、计数器8253

通道 (计数器)
工作方式
方式选择控制字
计数初值
0
0(计数结束 中断方式)
ModCr0= 00 01, 000 0B
(=10H)
n0=100
1
3(方波发生 器)
ModCr1= 001 11, 011 0B
(=76H)
n1 =
TOUT1 TCLK1
=
fCLK1 fOUT1
=
2.5 *106 1000
= 2500
4、8253的工作方式
8253提供6种工作方式,遵循以下基本原则: (1)控制字写入计数器8253的控制字寄存器,所有的
控制逻辑电路复位,输出端进入初始状态; (2)初始计数值写入后,经过一个CLK脉冲后,才在
输入脉冲的CLK的下降沿,计数器作减1计数。
定时与计数 本质上是一回事:
不管是定时,还是计数,计数器都是对C3——方波发生器
例: 设8253的端口地址是80H~83H。欲使计数器1输出频率为1KHz 的方波, 从CLK1端输入2.5MHz的时钟脉冲. 试编写初始化程序.
8253使用前,需初始化: 先写入工作方式控制字,再写入计数初值: 方式控制字规定某个通道的工作方式。将控制字写入控制寄存器端口.
2
0(计数结束 中断方式)
ModCr2= 010 11, 000 1B
(=B1H)
n2
=
TOUT2 TCLK 2
=
1 TCLK 2
= fCLK2
= 1000
由图9-23(a), n1 * TCLK1 = TOUT1
其它内容自学
附图:8253的工作方式控制字
控制字——规定某个计数器/通道的工作方式。

8253定时计数器应用实验

8253定时计数器应用实验
复位开关来中断。 (3)修改 8253 的 0#时常,在运行程序,观察显示的快慢程度。
3.电子发声实验(3) 系统的 OPCLK(1.1625MHz)作为音乐节拍,有表格查出每个音符对应的时常送给
计数器 2(工作在方式3:方波频率发生器),以确定音调,驱动扬声器产生音乐,
实验接线图
+5V
如下:
系 统 OPCLK 总 线 1.1625MHz
GATE2
8253
CLK2
OUT2
SPK SPK UNIT
图 7-6 实验(3)接线图 实验程序如下: STACK SEGMENT STACK
DW 64 DUP(?) STACK ENDS DATA SEGMENT TABLE DB 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 26H, 2DH, 2DH, 26H, 2DH, 33H
图 7-5 实验(2)线路
Байду номын сангаас
实验流程图及程序如下:
STACK SEGMENT STACK DW 64 DUP(?)
STACK ENDS CODE SEGMENT
ASSUME CS:CODE START: PUSH DS
MOV AX,0000H MOV DS,AX MOV AX,OFFSET IRQ0 ADD AX,2000H MOV SI,0020H MOV [SI],AX MOV AX,0000H MOV SI,0022H MOV [SI],AX POP DS MOV AL,0FCH OUT 21H,AL MOV AL,15H OUT 43H,AL MOV AL,0FFH OUT 40H,AL MOV DL,30H A1: STI JMP A1
A1: MOV DL,25H MUL DL PUSH AX MOV AL,0B7H OUT 43H,AL POP AX OUT 42H,AL MOV AL,AH OUT 42H,AL INC BX MOV AH,00H MOV AL,[BX] TEST AL,0FFH JZ A3 MOV CX,77FFH

第7章可编程计数器8253

第7章可编程计数器8253

方式0 计数结束中断
① ② ④ 4 ⑤ ⑥
WR CLK GATE
方式0
4 3 2 1
0
OUT
④ ② ① ⑥ ⑤ 计 数 设 设 计 计 值 定 定 数 数 送 计 工 结 过 入 数 作 束 程 计 初 方 数 值 式 器
8253方式0的GATE作用时序
8253方式0 计数期间写入新的计数值的时序
8253工作方式2—比率发生器


(1) 结果特点:产生连续的负脉冲信号,负脉冲宽度等于一 个时钟周期,脉冲周期可由软件设定,脉冲周期=计数值× 时钟周期 (2)过程特点: ①控制字写入:OUT=1 ②计数值写入:OUT=1 ③启动方式:两种。一是硬件启动:GATE上调沿启动。二 是软件启动:写入计数值启动。(此时GATE=1) ④计数期间:OUT为高电平(OUT=1),但在CE由1减到 0的计数中,OUT输出一个负脉冲,宽度为一个时钟周期。 ⑤计数为0时:OUT变为高电平(OUT=1),开始下一个 周期的计数。
8253方式1—可编程单稳态输出方式

⑦GATE作用:GATE=0或=1时,不影响计数,但出

现上跳沿则重新启动计数器,按最新计数初值开始 计数,若在计数尚未结束时,就出现了上调沿,则 重新计数。因此,使输出负脉冲的宽度延长,这种 方式常用于工业控制系统中的干扰自动复位电路 ⑧计数值有效期限: 计数值多次有效,计数初值写入 CR 后,在没有新的计数值写入 CR 之前,原计数初 值在 CR 中保持不变,以后每触发一次, CR 中保存 的这个计数初值就装入CE一次。
8253工作方式4 —软件触发选通信号



⑥计数期间写入新的计数值:立即有效。写入新计 数值后,在下一个时钟周期时,新计数值被装入CE, 开始以新的计数值计数。如果写入的计数值是 2 个 字节,那么写入第一个字节时,计数不受影响,写 入第二个字节时的下个CLK时钟脉冲使CR的新值装 入CE,并以新的计数值开始重新计数。 ⑦GATE 作用: GATE=0 时,计数停止; GATE=1 时,允许计数,此时计数器从暂停的地方开始连续 计数。GATE信号不影响OUT的状态。 ⑧计数值有效期限:计数值一次有效。只有在输入 新的计数值后,才能开始。

第7章 可编程计数器定时器8253及其应用

第7章 可编程计数器定时器8253及其应用

计数器2
GAT E2
OUT2
A1A0=10 8253的内部结构
§7.1 8253的工作原理


一.8253的结构和功能
2. 8253的内部结构和引脚功能
② 计数器0~2
3个独立的计数器,构成3个通道ch0~ch2。
计数初值 寄存器CR
计数执行 单元CE
计数值锁 存单元LR
CLK
GATE
OUT
CPU DB


一.8253的结构和功能
2. 8253的内部结构和引脚功能
③ 控制字寄存器
8位寄存器,写入控制口(A1A0=11)。
CPU DB
D0 ~ D7
数据 总线 缓冲器 内 部 总 线 控制字 寄存器
CLK0
计数器0
GAT E0
OUT0
CLK1
在8253的初始化编程中, 由CPU向8253的控制字寄存器写 入一个控制字来设置8253的工 作方式。
§7.1 8253的工作原理


三.8253的工作方式
2. 方式1 可编程单稳态输出方式
N N
OUT
TCLK
写入控制字,OUT变高,写入初值,经 过一个CLK周期,初值到达计数执行单元。 无论GATE为何电平,都不工作。在GATE上 升沿作用下,并且OUT变低,开始计数,计 数到“0”,OUT变高,停止计数。
■ 通道管脚(9个)
8253有3个计数/定时通道。 ◇ 通道0有3个引脚:CLK0、GATE0、OUT0 ◇ 通道1有3个引脚:CLK1、GATE1、OUT1 ◇ 通道2有3个引脚:CLK2、GATE2、OUT2
8253
■ 与CPU连接的管脚(13个)

可编程定时-计数器8253

可编程定时-计数器8253

接口技术
•8086/8088中断响应周期时,CPU的INTA引脚的 正确功能是—————— A.输出一个负脉冲,CPU从D7~D0读入中断类型码 B.输出两个负脉冲,在第二个负脉冲期间,CPU 从A7~A0读入中断类型码 C.输出两个负脉冲,在第二个负脉冲期间,CPU 从D7~D0读入中断类型码
D.输出一个负脉冲,CPU从A7~A0读入中断类型 码
接口技术
7.1.4 中断嵌套 当CPU执行优先级较低的中断服务程序时,允许响 应比它优先级高的中断源请求中断,而挂起正在处 理的中断。 (1)屏蔽同级和较低级中断请求。 (2)在保护现场、屏蔽同级和较低级中断完成后, 用STI指令来开中断。 (3)中断服务程序结束后,恢复现场前,用CLI指 令来关中断,然后才能恢复现场。 (4)恢复现场后,CPU应该重新开放中断,以便允 许任何其它等待着的中断请求有可能被CPU响应。
CNT2:标准定时,定时时间为1S。
8253
D7~D0

A1
统 总
A0 IOR
IOW
线
A2~A15
地址 译码器
D7~D0
CLK OUT
2 2
A1 A0
CLK 1 OUT 1
RD WR
CLK 0
OUT 0 CS GATE 1
GATE 2 GATE 3
送8259的IR 2端 2.5MHz 1kHz方波 外部事件
接口技术
计数结束时,输出一个时钟周期的负脉冲;
计数中写入新初值,待GATE信号重新启动之后 才置入计数器使用。
WR
CLK
GATE OUT
CW N=4
4 32 1 0 图7.19 方式5 的波形
接口技术
例7.5 IBM PC/XT主机板上有一片8253用作计 数/定时电路,各计数器及控制寄存器所占地 址及工作情况如下:

可编程定时器计数器8254及其应用

可编程定时器计数器8254及其应用
;到此,随着CLK0引脚上的脉冲输入, 初值进入CE,开始计数。 例2 设置通道1工作在方式3,输出频率为1KHz的方波 填写方式字: 0 1 1 1 0 1 1 0
选中 先低 方式3 二进制 通道1 后高 方式控制字为 76H 计算计数初值: 设从CLK1输入的时钟脉冲的频率是2.5M,周期为0.4μs
这些字是我们使用8254的基础
*方式控制字——设置计数器工作方式
*命令字和状态字 两个命令字:计数器锁存命令字和读回命令字 *1计数器锁存命令字 功能:把当前计数工作单元CE的内容锁存到输出锁存器OL中,供CPU读出CE的 余值(如:预先设置计数初值=N,一段时间后,锁存,读剩余值n,在这 段时间内的计数值X=N-n) D7 D6 D5 0 D4 0 D3 X D2 X D1 X D0 X SC1 SC0
6.4 可编程定时/计数器8254及其应用
为什么需要定时/计数器 在自动化流水线中 在测控系统中 在智能化仪器仪表中 关于定时 计数 两项基本工作 定时
软件定时
定时 不可编程芯片定时(如555定时器)
硬件定时
可编程芯片(如8254定时器)
定时器工作原理
漏水模型
装水模型
如8254
如80C51
6.4.1 8254定时器/计数器
锁存通道0
MOV DX,20FH MOV AL,0C8H OUT DX,AL MOV DX,20CH IN AL,DX MOV BL,AL IN AL,DX MOV CL,AL IN AL,DX MOV CH,AL
C8H
锁存余值
锁存状态
先读回状态
读回余值低八位
读回余值高八位
编程方法及示例 1)初始化编程 可编程接口芯片,都有一个初始化编程问题 *8254的初始化编程有两个步骤 a. 对控制寄存器写入控制字,确定某个通道的工作方式 b. 对通道写入计数初值 设8254各个端口的地址为: 通道0:20CH 通道1:20DH 通道2:20EH 控制寄存器:20FH 例1 设置通道0工作于方式0,计数100次

第7章8253微机原理及应用

第7章8253微机原理及应用
计算计数初值: TC= 2.5MHz/ 2KHz=1250 方式字为:0011 0111B=37H (计数器0,写16位,方式3,BCD计数) 设端口地址为:80H、81H、82H、83H。 则初始化程序为:
MOV AL,37H;写入方式控制字 OUT 83H,AL MOV AL,50H;写入计数初始值低8位 OUT 80,AL MOV AL,12H ;写入计数初始值高8位 OUT 80H,AL
(3)读计数值 ①以普通对计数器端口读的方法取得当前计数值 ②锁存计数器的当前值(RL1RL0=00)
7.2.4 8253-5的应用举例 一、用8253-5监视一个生产流水线 1.硬件设计
INT 1 +5V
2.5MHz 8255PA0
OUT0 CLK0
GATE0
8253
CLK1 GATE1
OUT1
• 方式2:可变频率脉冲发生器
(MODE 2) CLOCK
WRn#
OUTPUT
n=4
n=3
4 3 2 1 0(4) 3 2 1 0(3) 2 1 0
0(3) OUTPUT
3 2 1 0(3) 2 1 0(3) 2 1 0
GATE (RESET)
方式3—方波速率发生器 方式3的输出都是周期性的,方式3在计数过程中输出
(2)计数器1用来产生动态存储器刷新操作的定 时控制,它工作于方式2,计数初值为18, OUT1端输出一个负脉冲序列,其脉冲周期约 为18 ÷1.1931816MHz=15.08(μs)。该输出将 作为动态刷新控制器8237A中通道0的DMA请 求信号DREQ0,控制DMA控制器完成每隔 15.08(μs)对系统中的动态存储芯片进行一次 刷新操作
– 选通输入(门控输入)GATE——用于启动或禁止计数器的 操作,以使计数器 和计测对象同步。

可编程定时器/计数器i8253

可编程定时器/计数器i8253

② 方式0在计数过程中能用门控信号暂停计数; 方式1在 计数过程中若有门控脉冲时不停止计数,而是使计数过程重 新开始。 ③ 方式0在计数过程中改变计数初值时,原计数停止, 立即按新的计数初值开始计数;方式1在计数过程中当改变计 数初值时, 现行计数不受影响,新计数初值在下次启动计数 后才起作用。 ④ 方式0在一次计数结束后,必须重新设置计数初值才能 再次计数,即计数初值只能使用一次,方式1的计数初值在一 次计数过程完成后继续有效。 (3) 方式 方式2——分频器。 分频器。 分频器 在这种方式下,CPU输出控制字后,计数器输出端为高 电平。当写入计数初值后,计数器立即对CLK端的输入脉冲 计数。
图 7- 26 8253/8254的结构框图
(1) 数据总线缓冲器。 数据总线缓冲器是8253/8254与CPU数据总线连接的8位双 向三态缓冲器。CPU用输入/输出指令对8253/8254进行读/写操 作的所有信息都是通过这8条总线传送的。这些信息包括: CPU 在 初 始 化 编 程 时 写 入 8253/8254 的 控 制 字 、 CPU 向 8253/8254某一计数器写入的计数初值、CPU从8253/8254某一 计数读取的计数值。 (2) 读/写逻辑。 读/写逻辑是8253/8254内部操作的控制部分。当片选信号 有效, 即 CS =0时,读/写逻辑才能工作。该控制逻辑根据读/ 写命令及送来的地址信息,决定三个计数器和控制字寄存器 中哪一个工作,并控制内部总线上数据传送的方向。
③ 在 计 数 过 程 中 , 可 由 门 控 信 号 GATE 控 制 暂 停 。 当 GATE=0时, 计数器暂停计数;当GATE变为1后,就接着计数。 ④ 方式0的OUT信号在计数到0时由低变高,可作为中断请 求信号。 但由于在8253/8254内部没有中断控制电路,因此在 多中断源系统中需外接中断优先权排队电路和中断向量产生电 路。

8254可编程定时计数器

8254可编程定时计数器

42H, AL
AL, 61H AL, 00000011B 61H, AL ; 读61H端口“当前值” ; 使PB0=1,PB1=1,开启扬声器
TRIG: MOV LOOP CX, 0 $
图7-16 ——方式5
7. 8254的6种工作方式的比较
方 式 0 1 2 3 4 5 功 能 计数器 可重触发的单 稳态触发器 分频器 方波信号发生 器 软件触发选通 硬件触发选通 输出波形 写入初值后经N+1个时钟周期OUT变高 输出宽度为N个时钟周期的负脉冲 每隔N-1个时钟周期,输出1个时钟周期的负 脉冲 输出占空比为1/2或(N+1)/(2N)的连续 方波 写入初值后经N个时钟周期,输出1个时钟周 期的负脉冲 门控信号触发后经N个时钟周期,输出1个时 钟周期的负脉冲
方式2中,GATE信号为低电平时终止计数。GATE的上升沿 使计数器恢复初值,并从初值开始计数。
图7-13 ——方式2
4. 方式3-方波发生器
(1)计数初值为偶数
写入控制字后,输出端OUT变成高电平 写入计数初值后计数器开始进行减2计数 减到0时,输出端OUT改变输出极性,从初值开始新的计 数过程。
图7-12——方式1
3. 方式2-分频器
写入控制字后,OUT变成高电平。 写入计数初值后,计数器开始减1计数(GATE=1) 。 减到1时,输出端OUT变为低电平,维持一个CLK周 期,然后输出OUT又变成高电平,同时从初值开始新 的计数过程。 这种方式工作时,计数初值自动重装,计数器能连续 工作,输出固定频率的脉冲,因此称为分频器。
8254的状态字
D7 D6 D5 D4 D3 D2 D1 D0
OUTPUT
NULL COUNT
1=无效计数 0=计数值有效
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微型计算机原理与接口技术
第7章 可编程定时器/计数器8253及其应用
8253主要包括以下几个主要部分: 1.数据总线缓冲器 实现8253 与 CPU 数据总线连接的 8位双向三态缓冲 器,用以传送 CPU 向 8253 的控制信息、数据信息以及 CPU从8253读取的状态信息。 2.读/写控制逻辑 控制8253的片选及对内部相关寄存器的读/写操作, 它接收 CPU 发来的地址信号以实现片选、内部通道选 择以及对读 / 写操作进行控制。 CS 、 A1 、 A0 与 CPU 的 连接决定8253芯片的端口地址。。
(2)写入初值后, 计数过程中OUT的初始电平为低电平;计数 结束时, OUT的电平变为高电平,并维持到装入新的初值或重设 工作方式。 (3)门控GATE的触发方式为高电平触发。
微型计算机原理与接口技术
第7章 可编程定时器/计数器8253及其应用
7.1.3 8253的工作方式 8253共有 6种工作方式,各方式下的工作状态是不 同的,输出的波形也不同。下面我们逐个介绍:
山东工商学院 高群
微型计算机原理与接口技术
第7章 可编程定时器/计数器8253及其应用
几条基本原则: (1)控制字写入计数器时,相应通道的所有控制逻辑电路立即 复位,输出端OUT进入初始状态。初始状态对不同的模式来说 不一定相同。 (2)计数初始值写入之后,要经过一个时钟周期上升沿和一个 下降沿,计数执行部件才可以开始进行计数操作,因为第一个 下降沿将计数寄存器的内容送减1计数器。 (3)在每个时钟脉冲CLK的上升沿,采样门控信号GATE。不 同的工作方式下,门控信号的触发方式是有具体规定的(电平 触发,或者是边沿触发)。 (4)在时钟脉冲的下降沿,计数器作减1计数。0是计数器所能 容纳的最大初始值。二进制时相当于 216,用BCD码计数时,相 当于104。
山东工商学院 高群
微型计算机原理与接口技术
第7章 可编程定时器/计数器8253及其应用
2.定时的实现方法 (1) 软件法
利用一段延时子程序来实现定时操作。
特点:无需硬件支持,控制比较方便,但在定时期 间,CPU不能从事其它工作,降低了机器的利用率。 (2)硬件法 专门设计一套电路(比如555定时器)用以实现定 时与计数,特点是需要花费一定硬设备,而且当电路 制成之后,定时值及计数范围不能改变。
山东工商学院 高群
00 01 10 11
选择通道 0 选择通道 1 选择通道 2 无效
计数器锁存,供 CPU 读 只读/写计数器低字节 只读/写计数器高字节 先读/写计数器低字节,后读/写高字节
微型计算机原理与接口技术
第7章 可编程定时器/计数器8253及其应用
计数方式选择位BCD: 为 1 : BCD 码计数,进行十进制减法计数。写入 初值也用 BCD码表示,其中 0000H表示十进制数最大 值10000。例如,进行BCD码计数时,写入初值1200H, 相当于计数值为十进制的1200。 为 0 :二进制计数。写入初值为二进制数,进行 二进制减法计数。0000H表示最大值 10000H,相当于 十进制的 65536 。例如,进行二进制计数时,写入初 值1200H,相当于计数值为十进制的4608。
Vcc WR RD CS A1 A0 CLK2 OUT2 GATE2 CLK1 GATE1 OUT1
微型计算机原理与接口技术
第7章 可编程定时器/计数器8253及其应用
山东工商学院 高群
1.D7~D0: 8位,双向,三态数据线,用来与系统数 据总线相连。 2 . CS 、 WR 、 RD 、 A1 、 A0 ( 内 部 4 个 端 口 ) , A1A0=00, 选中通道0; A1A0=01, 选中通道1; A1A0=10, 选中通道2; A1A0=11, 选中控制寄存器端口。 3.CLKi:i= 0, 1, 2,第i个通道的计数脉冲输入引脚, 每输入一个时钟脉冲,计数器数值减1。 4 . GATEi : i=0 , 1 , 2 ,第 i 个通道的门控信号输入 引脚,用于控制启/停计数器计数。 5.OUTi:i= 0,1,2,第i个通道的定时/计数信号输 出引脚,输出信号的波形由通道的工作方式确定,此输 出信号可用于触发其它电路工作,或作为向CPU发出的 中断请求信号。 6. VCC、GND。
微型计算机原理与接口技术
第7章 可编程定时器/计数器8253及其应用
例1 设8253的端口地址为:40H~43H,要使计数 器 T1 工作在方式 0 ,计数初值为 80H ,二进制计数, 进行初始化编程。 控制字为:01010000B=50H 初始化程序: MOV AL,50H OUT 43H,AL ;向控制端口送命令字 ;向T1端口送计数初值
微型计算机原理与接口技术
数据 总线 缓冲器
第7章 可编程定时器/计数器8253及其应用
CLK0 GATE0 OUT0
D7~D0
计数器 0
RD WR A0 A1 CS
读/写 控制 电路
计数器 1
CLK1 GATE1 OUT1
控制字 寄存器 内部总线
计数器 2
CLK2 GATE2 OUT2
山东工商学院 高群
4.每个通道有6种工作方式, 工作方式由程序设定。
山东工商学院 高群
微型计算机原理与接口技术
第7章 可编程定时器/计数器8253及其应用
Intel 8253的外部引脚(24DIP)
D7 D6 D5 D4 D3 D2 D1 D0 CLK0 OUT0 GATE0 GND
山东工商学院 高群
1 24 2 23 3 22 4 21 5 20 6 8253 19 7 18 8 17 9 16 10 15 11 14 12 13
(4)在计数期间, GATE无效时,计数停止; GATE 再次有效时,计数器从何处开始继续计数。 (5)在计数期间若重新写入初值(在GATE有效情况 下)时,计数器从何处开始计数。
(6)8253一次定时结束,能否自动重新装入初值。
山东工商学院 高群
微型计算机原理与接口技术
第7章 可编程定时器/计数器8253及其应用
山东工商学院 高群
微型计算机原理与接口技术
第7章 可编程定时器/计数器8253及其应用
8.1.2 8253的初始化编程和门控信号的功能 1. 8253的初始化编程 要使用 8253 ,必须首先进行初始化编程,初始化 编程包括设置通道控制字和送通道计数初值两个步骤, 控制字写入8253的控制字寄存器(A1A0=11),而初始值 则 写 入 相 应 通 道 的 计 数 初 值 寄 存 器 中 (A1A0=00/01/10) 。 初始化编程包括如下步骤: (1) 写入通道控制字,规定某个通道的工作方式。 (2) 给这个通道写入计数值,若规定只写低8位,则高 8 位自动置 0 ,若规定只写高 8 位,则低 8 位自动置 0 。 若为16位计数值则分两次写入,先写低8位,后写高8 位。 定时时间 = 计数初值 * 脉冲周期 山东工商学院 高群
山东工商学院 高群
微型计算机原理与接口技术
第7章 可编程定时器/计数器8253及其应用
山东工商学院 高群
例 3 利用 8253 产生定时。设 8253 的端口地址为: 40H~ 43H ,若用通道 2 工作在方式 3 ,按二进制计数, 定时时间为20ms,设8253的CLK频率为2MHz,写出初 始化程序。 初值得计算: 计数初值=定时时间/ CLK周期 = 20ms÷(1/ 2MHz )=40000=9C2CH 初始化程序: MOV AL,0B6H OUT 43H,AL MOV AL,2CH OUT 42H,AL ;计数初值低字节2CH MOV AL,9CH OUT 42H,AL ;计数初值高字节9CH
山东工商学院 高群
微型计算机原理与接口技术
第7章 可编程定时器/计数器8253及其应用
8253的控制字
D7 SC1 D6 SC0 D5 RL1 D4 RL0 D3 M2 D2 M1 D1 M0 D0 BCD 1 BCD 码计数 0 二进制计数 000 001 X10 X11 100 101 00 01 10 11 方式 0 方式 1 方式 2 方式 3 方式 4 方式 5
MOV AL,80H
OUT 41H,AL
山东工商学院 高群
微型计算机原理与接口技术
第7章 可编程定时器/计数器8253及其应用
例2 设8253的端口地址为:40H~43H,若用通道 T0工作在方式1,按十进制计数,计数值为5080H, 进行初始化编程。 控制字为:00110011B=33H 初始化程序: MOV AL,33H OUT 43H,AL ;向控制端口送命令字 MOV AL,80H OUT 40H,AL ;向T0端口送计数初值低8位 MOV AL,50H OUT 40H,AL ;向T0端口送计数初值高8位
山东工商学院 高群
微型计算机原理与接口技术
第7章 可编程定时器/计数器8253及其应用
(3) 软、硬件结合法 即设计一种专门的具有可编程特性的芯片,来 控制定时和计数的操作,定时或计数的过程不需要 CPU的参与,而这些芯片具有中断控制能力,定时、 计数结束时能产生中断请求信号,因而定时期间不 影响CPU的正常工作。
山东工商学院 高群
微型计算机原理与接口技术
第7章 可编程定时器/计数器8253及其应用
山东工商学院 高群
微型计算机原理与接口技术
第7章 可编程定时器/计数器8253及其应用
3.计数通道0#、1#、2#: 这是三个独立的,结构相同的计数器/定时器通 道,每一个通道包含: 一个8位控制字寄存器; 一个16位的计数初值寄存器,存放计数初始值; 一个16位的减法计数器(计数器执行部件,减法 计数器); 一个16位的锁存器,锁存器在计数器工作的过程 中,跟随计数值的变化,在接收到CPU发来的读计数 值命令时,用以锁存当前计数值,供CPU读取。 这些16位的计数器、锁存器均可被分为高8位、低 8位两个部分,因此也可作为8位寄存器使用。
相关文档
最新文档