当前位置:
文档之家› 第七章 可编程计数器定时器8253-8254及其应用.
第七章 可编程计数器定时器8253-8254及其应用.
微型计算机原理与接口技术
第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位寄存器使用。