可编程定时器计数器8253及其应用.docx
《可编程定时器计数器8253及其应用.docx》由会员分享,可在线阅读,更多相关《可编程定时器计数器8253及其应用.docx(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第八章 可编程定时器/计数器 8253 及其应用第八章 可编程定时器/计数器 8253 及其应用【回顾】 可编程芯片的概念,端口的概念。【本讲重点】 定时与计数的基本概念及其意义,定时/计数器芯片 Intel8253 的性能概述,内、外部结构及其与 CPU 的连接。8.1 定时与计数1定时与计数在微机系统或智能化仪器仪表的工作过程中,经常需要使系统处于定时工作状态,或者对外部过程进行计数。定时或计数的工作实质均体现为对脉冲信号的计数,如果计数的对象是标准的内部时钟信号,由于其周期恒定,故计数值就恒定地对应于一定的时间,这一过程即为定时,如果计数的对象是与外部过程相对应的脉冲信号(周期可以不相
2、等),则此时即为计数。2定时与计数的实现方法(1) 硬件法专门设计一套电路用以实现定时与计数,特点是需要花费一定硬设备,而且当电路制成之后,定时值及计数范围不能改变。(2) 软件法利用一段延时子程序来实现定时操作,特点,无需太多的硬设备,控制比较方便,但在定时期间,CPU 不能从事其它工作,降低了机器的利用率。(3) 软、硬件结合法即设计一种专门的具有可编程特性的芯片,来控制定时和计数的操作,而这些芯片,具有中断控制能力,定时、计数到时能产生中断请求信号,因而定时期间不影响 CPU 的正常工作。8.2 定时/计数器芯片 Intel8253第 1 页, 共 19 页1 第八章 可编程定时器/计数
3、器 8253 及其应用Intel8253 是 8086 微机系统常用的定时/计数器芯片,它具有定时与计数两大功能。一、8253 的一般性能概述1每个 8253 芯片有 3 个独立的 16 位计数器通道;2每个计数器通道都可以按照二进制或二十进制(BCD 码)计数;3每个计数器的计数速率可以高达 2MHz;4每个通道有 6 种工作方式,可以由程序设定和改变;5所有的输入、输出电平都与 TTL 兼容。二、8253 内部结构8253 的内部结构如图 8-1 所示,它主要包括以下几个主要部分:图 8-1 8253 的内部结构1数据总线缓冲器实现 8253 与 CPU 数据总线连接的 8 位双向三态缓冲
4、器,用以传送 CPU 向 8253 的控制信息、数据信息以及 CPU 从 8253 读取的状态信息,包括某时刻的实时计数值。2读/写控制逻辑控制 8253 的片选及对内部相关寄存器的读/写操作,它接收 CPU 发来的地址信号以实现片选、内部通道选择以及对读/写操作进行控制。第 2 页, 共 19 页2 第八章 可编程定时器/计数器 8253 及其应用3控制字寄存器在 8253 的初始化编程时,由 CPU 写入控制字,以决定通道的工作方式,此寄存器只能写入,不能读出。4计数通道 0#、1#、2#:这是三个独立的,结构相同的计数器/定时器通道,每一个通道包含一个 16 位的计数寄存器,用以存放计数
5、初始值,一个 16 位的减法计数器和一个 16 位的锁存器,锁存器在计数器工作的过程中,跟随计数值的变化,在接收到 CPU 发来的读计数值命令时,用以锁存计数值,供 CPU 读取,读取完毕之后,输出锁存器又跟随减 1 计数器变化。三、8253 的外部引脚8253 芯片是具有 24 个引脚的双列直插式集成电路芯片,其引脚分布如图 82 所示。8253 芯片的 24 个引脚分为两组,一组面向 CPU,另一组面向外部设备,各个引脚及其所传送信号的情况,介绍如下:双向、三态数据线引脚,与系统的数据线连接,传送控制、数据及状态信息。1D D072 RD :来自于 CPU 的读控制信号输入引脚,低电平有效
6、。3WR :来自于 CPU 的写控制信号输入引脚,低电平有效。4CS :芯片选择信号输入引脚,低电平有效。图 8-2 8253 的引脚、A :地址信号输入引脚,用以选择 8253 芯片的通道及控制字寄存器。5A1A 、 A 的状001第 3 页, 共 19 页3 第八章 可编程定时器/计数器 8253 及其应用态与 8253 端口地址的对应关系如下表所示。A1 A0000通道1通道2通道控制端口011101及 GND:+5V 电源及接地引脚6VCC7CLKi:i=0,1,2,第 i 个通道的计数脉冲输入引脚,8253 规定,加在 CLK 引脚的输入时钟信号的频率不得高于 2.6MHZ,即时钟周
7、期不能小于 380ns。:i=0,1,2,第 i 个通道的门控信号输入引脚,门控信号的作用与通道的工作方式有8GATEi关。9OUTi:i=0,1,2,第 i 个通道的定时/计数到信号输出引脚,输出信号的形式由通道的工作方式确定,此输出信号可用于触发其它电路工作,或作为向 CPU 发出的中断请求信号。四、8253 的控制字8253 有一个 8 位的控制字寄存器,其格式如下:图 8-3 8253 的控制字其中:第 4 页, 共 19 页4 第八章 可编程定时器/计数器 8253 及其应用D0:数制选择控制。为 1 时,表明采用 BCD 码进行定时/计数;否则,采用二进制进行定时/计数。:工作方式
8、选择控制。000,0;001,1;X10,2;X11,3;100,4;101,5;D D13、D :读写格式。00,计数锁存命令;01,读/写高 8 位命令;10,读/写低 8 位命令;11,D54先读/写低 8 位,再读写高 8 位命令。、D :通道选择控制。00 0 通道;01,1 通道;10,2 通道;11,非法D7618253 的初始化编程要使用 8253,必须首先进行初始化编程,初始化编程包括设置通道控制字和送通道计数初值两个方面,控制字写入 8253 的控制字寄存器,而初始值则写入相应通道的计数寄存器中。初始化编程包括如下步骤:(1) 写入通道控制字,规定通道的工作方式(2) 写入
9、计数值,若规定只写低 8 位,则高 8 位自动置 0,若规定只写高 8 位,则低 8 位自动置 0。若为 16 位计数值则分两次写入,先写低 8 位,后写高 8 位。D :用于0确定计数数制,0,二进制;1,BCD 码【例 1】 设 8253 的端口地址为:04H0AH,要使计数器 1 工作在方式 0,仅用 8 位二进制计数,计数值为 128,进行初始化编程。控制字为:01010000B=50H初始化程序:MOV AL,50HOUT 0AH,ALMOV AL,80HOUT 06H,AL第 5 页, 共 19 页5 第八章 可编程定时器/计数器 8253 及其应用【例 2】 设 8253 的端口
10、地址为:F8HFEH,若用通道 0 工作在方式 1,按二十进制计数,计数值为 5080H,进行初始化编程。控制字为:00110011B=33H初始化程序:MOV AL,33HOUT 0FEH,ALMOV AL,80HOUT 0F8H,ALMOV AL,50HOUT 0F8H,AL【例 3】 设 8253 的端口地址为:04H0AH,若用通道 2 工作在方式 2,按二进制计数,计数值为 02F0H,进行初始化编程。控制字为:10110100B=0B4H初始化程序:MOV AL,0B4HOUT 0AH,ALMOV AL,0F0HOUT 08H,ALMOV AL,02HOUT 08H,AL2读取 8
11、253 通道中的计数值8253 可用控制命令来读取相应通道的计数值,由于计数值是 16 位的,而读取的瞬时值,要分两次读取,所以在读取计数值之前,要用锁存命令,将相应通道的计数值锁存在锁存第 6 页, 共 19 页6 第八章 可编程定时器/计数器 8253 及其应用器中,然后分两次读入,先读低字节,后读高字节。当控制字中,D 、D4=00 时,控制字的作用是将相应通道的计数值锁存的命令,锁存5计数值在读取完成之后,自动解锁。如要读通道 1 的 16 位计数器,编程如下:地址 F8HFEH。MOV AL,40H;OUT 0FEH,AL ;锁存计数值IN AL,0FAHMOV CL,AL;低八位I
12、N AL,0FAH;MOV CH,AL;高八位五、8253 在系统中的典型连接8253 在系统中的连接如图 8-4 所示。图 8-4 Intel8253 在系统中的连接六、8253 的工作方式8253 共有 6 种工作方式,各方式下的工作状态是不同的,输出的波形也不同,其中比较灵活的是门控信号的作用。由此组成了 8253 丰富的工作方式、波形,下面我们逐个介绍:第 7 页, 共 19 页7 第八章 可编程定时器/计数器 8253 及其应用1几条基本原则(1) 控制字写入计数器时,所有的控制逻辑电路立即复位,输出端 OUT 进入初始状态。初始状态对不同的模式来说不一定相同。(2) 计数初始值写入
13、之后,要经过一个时钟周期上升沿和一个下降沿,计数执行部件才可以开始进行计数操作,因为第一个下降沿将计数寄存器的内容送减 1 计数器。(3) 通常,在每个时钟脉冲 CLK 的上升沿,采样门控信号 GATE。不同的工作方式下,门控信号的触发方式是有具体规定的,即或者是电平触发,或者是边沿触发,在有的模式中,两种触发方式都是允许的。其中 0、2、3、4 是电平触发方式,1、2、3、5 是上升沿触发。(4) 在时钟脉冲的下降沿,计数器作减 1 计数,0 是计数器所能容纳的最大初始值。二进制相当于 2 ,用 BCD 码计数时,相当于 104162方式 0计数结束产生中断方式 0 的波形如图 8-5 所示
14、,当控制字写入控制字寄存器后,输出 OUT 就变低,当计数值写入计数器后开始计数,在整个计数过程中,OUT 保持为低,当计数到 0 后,OUT 变高;GATE的高低电平控制计数过程是否进行。图 8-5 方式 0 波形从波形图中不难看出,工作方式 0 有如下特点: 计数器只计一遍,当计数到 0 时,不重新开始计数保持为高,直到输入一新的计数值,OUT 才变低,开始新的计数; 计数值是在写计数值命令后经过一个输入脉冲,才装入计数器的,下一个脉冲开始计数,第 8 页, 共 19 页8 第八章 可编程定时器/计数器 8253 及其应用因此,如果设置计数器初值为 N,则输出 OUT 在 N1 个脉冲后才
15、能变高; 在计数过程中,可由 GATE信号控制暂停。当 GATE0 时,暂停计数;当 GATE1 时,继续计数; 在计数过程中可以改变计数值,且这种改变是立即有效的,分成两种情况:若是8 位计数,则写入新值后的下一个脉冲按新值计数;若是 16 位计数,则在写入第一个字节后,停止计数,写入第二个字节后的下一个脉冲按新值计数。3方式 1可编程的硬件触发单拍脉冲方式 1 的波形如图 8-6 所示,CPU 向 8253 写入控制字后 OUT 变高,并保持,写入计数值后并不立即计数,只有当外界 GATE 信号启动后(一个正脉冲)的下一个脉冲才开始计数,OUT 变低,计数到 0 后,OUT 才变高,此时再
16、来一个 GATE正脉冲,计数器又开始重新计数,输出 OUT 再次变低,因此输出为一单拍负脉冲。图 8-6 方式 1 波形从波形图不难看出:方式 1 有下列特点: 输出 OUT 的宽度为计数初值的单脉冲; 输出受门控信号 GATE的控制,分三种情况: 计数到 0 后,再来 GATE脉冲,则重新开始计数,OUT 变低; 在计数过程中来 GATE脉冲,则从下一 CLK 脉冲开始重新计数,OUT 保持为低; 改变计数值后,只有当 GATE脉冲启动后,才按新值计数,否则原计数过程不受影第 9 页, 共 19 页9 第八章 可编程定时器/计数器 8253 及其应用响,仍继续进行,即新值的改变是从下一个 G
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 定时器 计数器 8253 及其 应用
限制150内