资源预览内容
第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
第9页 / 共45页
第10页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1,微型计算机原理及其应用 第九章:可编程的定时器/计数器8253,济南大学自动化与电气工程学院,2,第九章:可编程的定时器/计数器8253,定时器/计数器概述 可编程的定时器/计数器8253,3,第九章:可编程的定时器/计数器8253,定时器/计数器概述 可编程的定时器/计数器8253,4,第九章:可编程的定时器/计数器8253定时器/计数器概述,定时器/计数器概述 在微机系统或智能化仪器仪表的工作过程中,经常需要使系统处于定时工作状态,或者对外部过程进行计数。定时或计数的工作实质均体现为对脉冲信号的计数,如果计数的对象是标准的内部时钟信号,由于其周期恒定,故计数值就恒定地对应于一定的时间,这一过程即为定时,如果计数的对象是与外部过程相对应的脉冲信号(周期可以不相等),则此时即为计数。,5,第九章:可编程的定时器/计数器8253定时器/计数器概述,定时和计数的实现方法 软件法:利用一段延时子程序来实现定时操作,特点,无需太多的硬设备,控制比较方便,但在定时期间,CPU不能从事其它工作,降低了机器的利用率。 硬件法:专门设计一套电路用以实现定时与计数,特点是需要花费一定硬设备,而且当电路制成之后,定时值及计数范围不能改变。 软、硬件结合法:即设计一种专门的具有可编程特性的芯片,来控制定时和计数的操作,而这些芯片,具有中断控制能力,定时、计数到时能产生中断请求信号,因而定时期间不影响CPU的正常工作。,6,第九章:可编程的定时器/计数器8253定时器/计数器概述,可编程定时器/计数器基本工作原理 CPU可访问的寄存器:控制 寄存器、CR、OL; CPU不可访问的寄存器:CE CR:16位,存放计数初值, 可通过程序来设定。 控制逻辑:根据外部送来的 控制命令,输出相应信号。,7,第九章:可编程的定时器/计数器8253定时器/计数器概述,可编程定时器/计数器基本工作原理 CE:16位减1计数器,它的 初值便是计数初值寄存器 的内容,它只对CLK脉冲计 数。一旦计数器被启动后, 每出现一个CLK脉冲,计数 执行单元中的计数值减1, 当减为零时,通道OUT输出 指示信号,表明CE已为零。,8,第九章:可编程的定时器/计数器8253定时器/计数器概述,可编程定时器/计数器基本工作原理 OL:通常跟随计数CE的内容 而变化,当接收到CPU发来的 锁存命令时,就锁定当前的 计数值而不跟随CE变化,直 到CPU从中读取锁存值后,才 恢复到跟随CE变化的状态, 从而避免了CPU直接读CE时干 扰计数工作的可能。 控制寄存器:存放CPU送来 的控制字,用来控制计数器 /定时器的工作方式,就是控 制CLK脉冲和GATE门控信号适 当配合来产生OUT端的输出信 号的形状。,9,第九章:可编程的定时器/计数器8253定时器/计数器概述,可编程定时器/计数器基本工作原理 GATE:控制输入端,它有多 种控制作用,如允许/禁止 计数、启动/停止计数等。 CLK:脉冲信号,减1计数的 触发。 OUT:输出信号,计数/定时 完成时,用一定电平或脉冲 表示。,10,第九章:可编程的定时器/计数器8253,定时器/计数器概述 可编程的定时器/计数器8253,11,第九章:可编程的定时器/计数器82538253,可编程定时器/计数器8253 Intel8253是8086微机系统常用的定时/计数器芯片,它具有定时与计数两大功能。 每个8253芯片有3个独立的16位计数器通道; 每个计数器通道都可以按照二进制或二十进制(BCD码)计数; 每个计数器的计数速率可以高达2MHz; 每个通道有6种工作方式,可以由程序设定和改变; 所有的输入、输出电平都与TTL兼容。,12,第九章:可编程的定时器/计数器82538253,8253的内部结构,13,第九章:可编程的定时器/计数器82538253,8253的内部结构 数据总线缓冲器:从总线接收或发送数据,写入控制字,读取计数值的通道。 读写逻辑:接受来自总线的各种控制信号,产生内部控制命令。 控制字寄存器(只写):8位,存放CPU送来的控制字。 计数器(02):3个16位的定时/计数器。3套相同且相互独立的结构,每套内部有4个寄存器。 控制寄存器:8位,存放各自的控制字,初始化时写入控制字寄存器的内容。 计数初值寄存器:16位,存放计数初值,初始化时写入。 减1计数寄存器:16位减1计数器,计数初值由预置寄存器送来,每输入一个计数脉冲,减1,减到0时输出计数结束信号。 输出锁存器:当接收到CPU读命令时,锁存当前计数值不跟随计数器变化。,14,第九章:可编程的定时器/计数器82538253,8253的引脚功能,15,第九章:可编程的定时器/计数器82538253,8253的引脚功能 (1)与系统总线连接的引脚 D7D0:数据线,双 向三态,接数据总线; CS#:片选输入,有效 时选中芯片,接译码器; RD#:读出计数值,接 CB的读信号; WR#:写入命令或初值, 接CB的写信号; A1,A0:地址输入,接 AB的任两位,用于选择 内部四个端口之一。,16,第九章:可编程的定时器/计数器82538253,8253的引脚功能,17,第九章:可编程的定时器/计数器82538253,8253的引脚功能 (2)与计数通道连接的引脚的主要引线 CLKn:时钟脉冲,输入, 计数器的定时基准,用于 输入定时基准脉冲或计数 脉冲。 GATEn:门控信号,输入, 控制计数器的启停。 OUTn:计数器输出信号, 当计数器完成计数时,输出 相应信号。不同工作方式下 产生不同波形。(n = 02),18,第九章:可编程的定时器/计数器82538253,8253的引脚功能,19,第九章:可编程的定时器/计数器82538253,8253计数器的启动方式 软件启动: CPU对指定计数器编程后自动启动计数,写入计数初值后的第1个CLK脉冲的下降沿开始计数 要求GATE保持高电平(GATE为低禁止计数)。 硬件启动: CPU对指定计数器编程后并不马上开始计数,而是在门控信号GATE的上升沿触发下,才开始计数。,20,第九章:可编程的定时器/计数器82538253,8253的工作方式 方式0计数结束中断 方式1硬件可重触发的单稳态 方式2速率发生器 方式3方波发生器 方式4软件触发选通 方式5硬件触发选通,21,第九章:可编程的定时器/计数器82538253,8253的工作方式方式0 计数结束中断:典型的事件计数用法。软件启动,不自动重复计数。装入初值后OUT端变低电平,计数结束OUT输出高电平。(可作为中断请求信号),22,第九章:可编程的定时器/计数器82538253,8253的工作方式方式0 计数过程由软件启动,可以用写入计数初值的时刻来控制启动计数器的时刻。 GATE起开放/禁止计数作用,计数过程中,应保持高电平。 每写入一次初值计数一个周期,然后停止计数。 OUT端输出是一个约(N+1)TCLK宽度的单个负脉冲。OUT变为高电平时,可作为中断请求信号。 计数过程中可随时修改初值重新开始计数。,23,第九章:可编程的定时器/计数器82538253,8253的工作方式方式1 硬件可触发单稳态方式:硬件启动,不自动重复计数。装入初值后OUT端变高电平,计数开始OUT端变为低电平,计数结束后又变高。,24,第九章:可编程的定时器/计数器82538253,8253的工作方式方式1 门控信号GATE端的上跳变触发计数,可重复触发。 OUT输出可看作单稳态负脉冲,若下一次GATE上升沿提前到达,则OUT端负脉冲拉宽为两次计数过程之和。 计数过程中写入新初值不影响本次计数。 可通过改变计数初值来产生不同输出宽度的负脉冲。,25,第九章:可编程的定时器/计数器82538253,8253的工作方式方式2 速率发生器: OUT产生周期性定时信号。软、硬件启动,自动重复计数。装入初值后OUT端变高电平,计数到最后一个CLK时OUT输出负脉冲,并连续重复此过程。,26,第九章:可编程的定时器/计数器82538253,8253的工作方式方式2 GATE为计数的控制信号:GATE变低计数停止,再变高时的下一个CLK下降沿,从初值开始重新计数。 每个计数周期结束时(减到1时),OUT端输出一个TCLK宽度的负脉冲。OUT端输出信号频率是CLK频率的1/N,因此又叫N分频方式。 计数过程自动重复进行。 计数过程中修改初值不影响本轮计数过程。 改变计数初值,即可获得不同频率的OUT输出脉冲,这就是频率发生器名称的由来。,27,第九章:可编程的定时器/计数器82538253,8253的工作方式方式3 方波发生器:OUT输出方波。软、硬件启动,自动重复计数。装入初值后OUT端变高电平,然后OUT连续输出对称方波: 前 N/2或(N+1)/2 个CLK,OUT为高, 后N/2或(N-1)/2 个CLK, OUT为低。,28,第九章:可编程的定时器/计数器82538253,8253的工作方式方式3 OUT输出方波,前半周期为高,后半周期为低。 计数过程中修改初值不影响本半轮计数过程。 其余的与方式2 类似。,29,第九章:可编程的定时器/计数器82538253,8253的工作方式方式4 软件触发选通:软件启动,不自动重复计数。装入初值后输出端变高电平,计数结束输出一个CLK宽度的负脉冲。,30,第九章:可编程的定时器/计数器82538253,8253的工作方式方式4 计数过程中,GATE端应保持高电平。(GATE为低禁止计数)。 每写入一次初值,计数一个周期,然后停止计数。 每个计数周期结束时(减到0时),OUT端输出一个TCLK宽度的负脉冲。 计数过程中修改初值不影响本轮计数过程。 方式4与方式0的区别: 方式0:OUT负脉冲宽度为N+1个CLK周期; 方式4:OUT的输出需N+1个CLK周期后变低,负脉冲宽度 为1个CLK周期。,31,第九章:可编程的定时器/计数器82538253,8253的工作方式方式5 硬件触发选通:硬件启动,不自动重复计数。OUT端波形和方式4一样。,32,第九章:可编程的定时器/计数器82538253,8253的工作方式方式5 写入初值时,GATE端应保持低电平。 GATE每出现一次正跳变,计数一个周期,然后停止计数。 每个计数周期结束时(减到0时),OUT端输出一个TCLK宽度的负脉冲。 计数过程中修改初值不影响本轮计数过程。 方式5与方式1的区别: 方式1:OUT负脉冲宽度为N个CLK周期; 方式5:OUT的输出需N个CLK周期后变低,负脉冲宽度为1个CLK周期。,33,第九章:可编程的定时器/计数器82538253,8253的工作方式,34,第九章:可编程的定时器/计数器82538253,选通信号GATE的功能,35,第九章:可编程的定时器/计数器82538253,8253的初始化 方式控制字:用于确定各计数器的工作方式。每个计数器都必须初始化一次。,36,第九章:可编程的定时器/计数器82538253,8253的初始化 写入方式控制字:按方式控制字格式编制控制字,写入8253控制口(地址值最大的)。3个计数器使用同一个控制口,3个控制字写入后存放在各自的控制寄存器中。 写入计数初值:按控制字中D5、D4的规定写入计数初值。控制字中D0位的值决定计数初值的进制。,37,第九章:可编程的定时器/计数器82538253,8253的初始化,写入顺序: 可按计数器分别写入控制字和初值。 也可先写所有计数器控制字,再写入它们的初值。,38,第九章:可编程的定时器/计数器82538253,8253的初始化,置计数初值: MOV DX,388H;CNT0 MOV AX,2000;CR0 OUT DX,AL
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号