第八章 计数器定时器

合集下载

第八章 8253定时计数器(例程)

第八章 8253定时计数器(例程)
➢ 正常情况下,即GATE=1,对计数器置入时常数N后, 要经过N+1个时钟周期才能使OUT输出高电平;
➢ 在计数过程中,如GATE变为低电平,这时只是暂停计数 ,等待GATE信号变为高电平后,计数器继续“减1”计数
例题,向8253的A1A=0 11B的地址写入0011 0000B,则表示 计数器0设置成方式0,并且采用16位时常数,假设时常数为 1500,则计数器0的初始化程序段如下:
通过计数通道的端口地址可以访问通道中的CR、OL,当对通 道进行写操作时,实际上表示将计数初值(即时常数)写入CR; 当对通道进行读操作时,表示将从OL中读取计数值。
8253的控制字
定时/计数器8253一共有6种工作方式,由控制字 寄存器的内容来设定。方式控制字如下所示:
D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RL1 RL0 M2 M1 M0 BCD
电源(+5V) 地
连接去向 CPU
译码电路 CPU CPU CPU 外部
外部 外部
/ /
8253的原理结构及工作原理
每个计数通道主要包含四个部件: 计数寄存器CR(Conut Register, 16位)、 计数工作单元CE(Counting Element, 16位)、 输出锁存器OL(Output Latch, 16位)、 控制字寄存器(Control Word Register, 8位)。
计数过程中写入新的时常数,它只能在下一次分频脉冲后起作用
方式2的特点:
➢在置方式2的控制字后,OUT端变为高电平;
➢在置入时常数后,下一个CLK脉冲期间,将时常数从CR读 入CE,并开始“减1”计数;
➢当CE计数到01时,在OUT端输出一个负脉冲,并重新读入 时常数进行计数;

微型计算机原理及接口技术第8章8253

微型计算机原理及接口技术第8章8253

计数器/定时器的内部结构
8253内部包含三个完全一样的计数器/定时器通道, 每个通道的工作是完全独立的
每个通道包含:
① 一个8位控制字寄存器:由编程设定该通道的工作方式、读 写格式和数制
② 一个16位计数初值寄存器:由程序设定初始计数值,可分 成高8位和低8位两个部分,可作8位寄存器使用
③ 一个计数器执行部件(实际的计数器):实际上是一个16 位减法计数器,它的起始值是初始寄存器的值,由程序设 定。可分成高8位和低8位两个部分
优点:电路结构简单,价格便宜,通过 改变电阻或电容值,可以在一定的定时 范围内改变定时时间
缺点:电路在硬件已连接好的情况下, 定时时间和范围就不能由程序来控制和 改变,而且定时精度也不高
555定时器外部引脚和内部结构
可编程硬件定时
定时原理:利用可编程定时器/计数器芯 片附加硬件电路实现定时
输出信号的波形由工作方式决定,同时还要受 到GATE引脚上的门控信号控制,它决定是否 允许计数
计数器/定时器的定时功能
当加到CLK引脚上的脉冲为精确的时钟脉 冲,可实现定时的功能。
定时时间决定于计数脉冲的频率和计数 器的初值。
定时时间=时钟脉冲周期×预置的计数初值
计数器/定时器的计数功能
方式1:可编程单稳态输出方式
写入控制字后OUT初始状态:高电平 门控信号GATE的作用:①高电平或低电平均不起作用;
②只有在GATE发生由低到高的正跳变,输出OUT由高
到低跳变,并开始计数;③在计数过程中,若GATE产 生负跳变,不影响计数;④在计数器回0之前,GATE 又产生由低到高的正跳变,8253又将初始值装入,重 新开始计数,使生成脉冲加宽。 计数过程中OUT状态:保持低电平 计数结束OUT状态:发生由低到高的正跳变。 计数器回0后,是否重新计数:否 应用:用于定时

第八章 计数器定时器及其应用(1)

第八章 计数器定时器及其应用(1)

3) 数据缓冲器
数据缓冲器是三态、双向8位缓冲器。它用于8253 和系统数据总线的连接。CPU通过数据缓冲器将控制 命令字和计数值写入8253计数器,或者从8253计数器 中读取当前的计数值。
4) 读/写逻辑
读/写逻辑的任务是接收来自CPU的控制信号,完成 对8253内部操作的控制。这些控制信号包括读信号RD、 写信号WR、片选信号CS以及用于片内寄存器寻址的地 址信号A0和A1。当片选信号有效,即CS=0时,读写逻 辑才能工作。该控制逻辑根据读/写命令及送来的地址 信息,决定三个计数器和控制寄存器中的哪一个工作, 并控制内部总线上数据传送的方向。
第八章 计数器/定时器及其应用
实现定时的方法有三种:软件定时、不可编程的硬 件定时和可编程的硬件定时。
软件定时是通过让机器执行一段没有具体操作目的 的程序来实现的。由于CPU执行每条指令都需要一个 确定的时间,因此,只要选择适当的指令和安排适当 的循环次数就很容易实现软件定时,但软件定时占用 CPU资源,降低了CPU的利用率;不可编程的硬件定 时尽管定时电路并不很复杂,但这种定时电路在硬件 连接好以后,定时值和定时范围不能由程序来控制和 改变,使用不灵活;
可编程定时器/计数器是为方便计算机系统的设计 和应用而研制的,定时值及其范围可以很容易地由软 件来控制和改变,能够满足各种不同的定时和计数要 求,因此得到了广泛的应用。
计数器/定时器其实是一种计数器,常用加1计数 或减1计数来实现对脉冲信号的计数。当它作为计数器 时对外部的脉冲进行计数。当它作为定时器时对某固 定的脉冲(常用系统内的脉冲)进行计数,所计数的数与 该频率脉冲的周期的乘积即为所定的时间,即t=n(n为 计数)×Tc (Tc为计数器计数脉冲的周期)。
2、8253的内部结构

《计数器定时器 》课件

《计数器定时器 》课件

汽车电子领域
随着汽车电子化程度的提高,计 数器定时器的应用也将得到拓展 。在汽车发动机控制、安全气囊 系统、车载娱乐系统等领域,都 需要使用到计数器定时器。
THANKS
感谢观看
计数器定时器的安装与连接
确定计数器定时器的 型号和规格,根据设 备手册进行安装。
确保设备接地良好, 避免电磁干扰和设备 损坏。
按照设备接口规范正 确连接电源线、信号 线和控制线等。
计数器定时器的参数设置
根据实际需求,设置计数器定时 器的计数范围、计时时间等参数

根据设备控制面板或软件界面, 进行参数调整和配置。

通用型计数器定时器通常具有计 时、计数的功能,可以通过设定 时间间隔或计数值来达到控制的
目的。
专用型计数器定时器
专用型计数器定时器是针对特 定应用而设计的计时设备,具 有更加专业和精细的功能。
它能够满足特定行业或领域的 需求,如工业控制、医疗设备 、交通信号等。
专用型计数器定时器通常具有 高精度、高稳定性的特点,能 够提供更加可靠的计时和计数 服务。
计数器定时器的市场前景
工业自动化领域
随着工业自动化程度的不断提高 ,计数器定时器的市场需求将持 续增长。特别是在智能制造、机 器人技术和过程控制等领域,对 高精度、高性能的计数器定时器 的需求将进一步扩大。
智能家居领域
智能家居市场的快速发展将带动 计数器定时器的应用。家庭安全 监控、智能照明、智能家电等领 域都需要使用计数器定时器来实 现精准的控制和管理。
计数器定时器的保养建议
定期维护
建议每年进行一次全面维护,包括清洁、检查和调整计数器定时 器。
更换磨损部件
如果发现任何部件磨损严重,应及时更换,以保持计数器定时器的 性能。

《定时计数器》课件

《定时计数器》课件

定时计数器的使用步骤
开启定时计数器
在设置好所需参数后,用户可 以启动定时计数器开始计时。
实时监控
在计时过程中,用户可以通过 显示界面实时查看当前计数值 和计时状态。
停止计时
当达到设定时间或需要停止计 时时,用户可以按下停止按钮 ,计时器将停止工作。
重置
若需重新计时,用户可以将计 数值重置为初始状态,并重新
信号。
触发器
触发器是定时计数器的 重要组成部分,用于控 制计数器的开始和停止

计数器
计数器用于记录输入信 号的个数,可以是二进
制或十进制。
输出信号
定时计数器的输出信号 可以是控制信号、状态
信号或脉冲信号。
定时计数器的工作流程
01
02
03
04
启动
当输入信号满足一定条件时, 触发器被触发,计数器开始计
定时计数器的基本原理是利用触发器的翻转时刻来记录时间间隔的起始和结束时刻 。
当输入信号的上升沿或下降沿到来时,触发器翻转,记录下当前时刻,从而计算出 时间间隔。
定时计数器的精度取决于触发器的翻转时刻的准确性,因此需要采用高精度的触发 器。
02
定时计数器的分类
机械式定时计数器
机械式定时计数器是最早的定时计数 器类型,它利用机械原理来实现计时 和计数功能。
现不必要的时间误差。
05
定时计数器的维护与 保养
定时计数器的清洁保养
清洁外壳表面
使用干燥的软布擦拭计数器的外 壳表面,以去除灰尘和污垢。
清洁内部组件
定期打开计数器外壳,使用吸尘器 或干燥的软布清洁内部电路板和元 件。
清洁触点
定期检查并清洁计数器的触点,以 确保良好的接触性能。

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

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

第八章可编程定时器/计数器8253及其应用【回顾】可编程芯片的概念,端口的概念。

【本讲重点】定时与计数的基本概念及其意义,定时/计数器芯片Intel8253的性能概述,内、外部结构及其与CPU的连接。

8.1 定时与计数1.定时与计数在微机系统或智能化仪器仪表的工作过程中,经常需要使系统处于定时工作状态,或者对外部过程进行计数。

定时或计数的工作实质均体现为对脉冲信号的计数,如果计数的对象是标准的内部时钟信号,由于其周期恒定,故计数值就恒定地对应于一定的时间,这一过程即为定时,如果计数的对象是与外部过程相对应的脉冲信号(周期可以不相等),则此时即为计数。

2.定时与计数的实现方法(1) 硬件法专门设计一套电路用以实现定时与计数,特点是需要花费一定硬设备,而且当电路制成之后,定时值及计数范围不能改变。

(2) 软件法利用一段延时子程序来实现定时操作,特点,无需太多的硬设备,控制比较方便,但在定时期间,CPU不能从事其它工作,降低了机器的利用率。

(3) 软、硬件结合法即设计一种专门的具有可编程特性的芯片,来控制定时和计数的操作,而这些芯片,具有中断控制能力,定时、计数到时能产生中断请求信号,因而定时期间不影响CPU的正常工作。

8.2 定时/计数器芯片Intel8253Intel8253是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位双向三态缓冲器,用以传送CPU向8253的控制信息、数据信息以及CPU从8253读取的状态信息,包括某时刻的实时计数值。

微机原理-8253

微机原理-8253

8253工作方式特点: 8253工作方式特点: 工作方式特点
方式0 在写入控制字后,输出端即变低,计数结束后, 方式0,在写入控制字后,输出端即变低,计数结束后,输 出端由低变高,常用该输出信号作为中断源。 出端由低变高,常用该输出信号作为中断源。 方式1 用来产生单脉冲。 方式1,用来产生单脉冲。 方式2 用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲 方式2,用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲 CLK 的周期相同。 的周期相同。 方式3 用来产生连续的方波。方式2和方式3 方式3,用来产生连续的方波。方式2和方式3都实现对时钟 脉冲进行n分频。 脉冲进行n分频。 方式4和方式5 波形相同,都在计数器回0 方式4和方式5的波形相同,都在计数器回0后,从OUT端输出 OUT端输出 一个负脉冲,其宽度等于一个时钟周期。 一个负脉冲,其宽度等于一个时钟周期。 方式0 方式0、1和4,计数初值装进计数器后,仅一次有效。方式2,3 计数初值装进计数器后,仅一次有效。方式2 在减1计数到0值后,8253会自动将计数值重装进计数器 会自动将计数值重装进计数器。 和5,在减1计数到0值后,8253会自动将计数值重装进计数器。
可编程定时器/计数器8253
8253可编程定时器 计数器的主要性能: 可编程定时器/计数器的主要性能 可编程定时器 计数器的主要性能: 个独立的16位计数器 有3个独立的 位计数器 个独立的 工作方式可编程控制 计数脉冲频率0~2MHz 计数脉冲频率 可以按二进制或BCD码计数 可以按二进制或BCD码计数 使用单一+5V电源 电源 使用单一
方式2:频率发生器(n分频器)
CLK
WR
GATE OUT
n=4
4
3 2
1 0 4 3

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

第八章 可编程计数器定时器8253及其应用
WR
LSB=4 CR=4
CLK GATE
OUT CRCE 4 CRCE 2 4 CRCE 2 4 CRCE 2 4 CRCE 2 4
8253方式3 计数初值为奇数时的波形 CW=16H WR LSB=5
CR=5
CLK GATE OUT
CRCE
5 4
CRCE 2 5 2
CRCE 5 4
CRCE 4 3
8253方式0
两种特殊情况:
中途改变计数初值
CW=10H WR CR=3 CLK GATE OUT CR=3 LSB=3
LSB=3
CRCE 3 2
CRCE 1 3 2
1
0
8253方式1
2、方式1——可编程单稳态输出方式
时序图
CW=12H WR
LSB=3 CR=3
CLK GATE
OUT
CRCE
CRCE 3 2
1
0
8253方式1
工作过程
① 写入控制字,OUT立即变为高,并保持不变。 ② 写计数初值N,只有当GATE形成一个上升沿时,才在
下一个时钟脉冲的下降沿,将n装入实际计数器,同 时OUT由高变为低,开始减1计数(再来一个脉冲)。
③ 计数期间,OUT一直为低;当计数结束(计数值为0)
8253综述
Intel 8253是一种可编程的计数器/定时器芯片。 8253内部具有3个独立的16位计数器通道,通过对
它进行编程,每个计数器通道均有6种工作方式,并 且都可以按2进制或10进制2种格式进行计数,最高 计数频率能达到2MHz。 8253还可用作可编程方波频 率产生器、分频器、程控单脉冲发生器等。
教材第八章内容
第八章 可编程计数器/定时器8253及应用

51单片机定时器的使用和详细讲解__特别是定时器2

51单片机定时器的使用和详细讲解__特别是定时器2


1)禁止递增/递减计数模式 若DCEN = 0,则递增/递减计数选择被禁止,此时定 时器只能递增计数。工作原理如图 8-10 所示。
通用16定时 器寄存器
预分频 使能位
重载值 寄存器 27号引 脚 使能/禁止引入外 部信号控制T2
中断标 志位
图8-10 T2禁止递增/递减计数模式


若EXEN2 = 0,置位TR2 定时器开始递增计数, 计数至最大值FFFFH 后溢出并置位TF2,同 时将寄存器RC2 中的16 位重载值重新装入定 时器寄存器。 重载值由软件预先设置。新一轮计数循环开始, 定时器同上一轮计数循环一样,从重载值开始 递增计数。
程序清单如下(中断服务程序片段):
{
TF1=0;
TH1=0x15; TL1=0xA0; //重填初值
If (count!=0)
count--; else {count=10;P1_0=!P1_0;} }
8.4 定时器T2 8.4.1 概述 定时器2 是一个16 位通用计数器,其具有 两种操作模式:16 位自动重载模式和16 位 捕获模式。 如果预分频功能被禁止,定时器2工作时, 16 位通用加法计数器以12分频的周期脉冲 计数,每个周期16位通用加法计数器加1或 减1。


8.4.2 定时器T2控制寄存器
1.模式寄存器T2MOD 寄存器T2MOD 用来选择定时器2 的工作模式。其 组成如图8-8所示。
启动边沿 选择位
捕获模式/重载模式 的边沿选择位
预分频使能位
外部启动 使能位
计数器 递增/递 减使能位
图8-8 T2MOD各位功能
2.控制寄存器T2CON 寄存器T2CON 控制定时器2 的工作模式,其各位功 能如图8-9所示。

第八章 STM32定时器

第八章 STM32定时器
/*对C端口初始化,即0,1,2,3管脚输出0*/
GPIO_ResetBits(GPIOC,GPIO_Pin_0); GPIO_ResetBits(GPIOC,GPIO_Pin_1); GPIO_ResetBits(GPIOC,GPIO_Pin_2); GPIO_ResetBits(GPIOC,GPIO_Pin_3); }
TIM_Perscaler:用户设定的预分频系数, 其值范围从0~65535,为1999
8.7 TIM2应用实例概述
void Timer_Configuration(void) { /*定义TIM结构体变量*/ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_DeInit(TIM2); TIM_TimeBaseStructure.TIM_Period=35999; TIM_TimeBaseStructure.TIM_Prescaler=1999; TIM_TimeBaseStructure.TIM_ClockDivision =TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode =TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure); TIM_ClearFlag(TIM2,TIM_FLAG_Update); TIM_Cmd(TIM2,ENABLE);
8.7 TIM2应用实例概述
4.定时器的初始化
定时时间T的计算公式: T=(TIM_Period+1)*(TIM_Prescaler+1)/TIMxCLK =(35999+1)*(1999+1)/72MHz=1s

第8章 如何使用定时器计数器

第8章 如何使用定时器计数器

方法二:与方法一相比,方法二的效率将 大大提高,但是要利用“中断”了。给 TimerA设定一个初始计数值,让它在这个 初始值的基础上开始计数,在9830个计数信 号之后刚好发生溢出,进入中断,
在中断服务程序中处理LED灯的点亮或熄 灭工作。由于TimerA的最大计数值是65535, 所以这个初始计数值就应该是(65536-9830), 即55706(想一想为什么要用65536减,而不 是65535?)。把55076(相当于16进制的 0xD724)赋给P_TimerA_Data,就完成了初 始计数值的设定。(这回应该清楚前一节 提到的0.43秒定时中,0x0032和0xC8F6是怎 么来的了吧?)
定时器应用示例程序流程图
C语言编写程序如下
#define P_TimerA_Data (unsigned int *)0x700A #define P_TimerA_Ctrl (unsigned int *)0x700B
#define P_IOA_Data (unsigned int *)0x7000 #define P_IOA_Dir (unsigned int *)0x7002 #define P_IOA_Attrib (unsigned int *)0x7003
8.1 什么是定时器/计数器
“定时器”是单片机系统中最基本、最常用 的部件之一。什么是定时器呢?举一个简 单的例子:假如我们下午4点要参加一个重 要的会议,那么为了准时到场,我们要每 过一段时间看看表,确定是不是该出发了。 实际上还有更好的解决办法,就是设定一 个闹钟,到时候提醒我们去开会,这样我 们就可以专心做别的事情,省去了不断看 表的麻烦。在单片机中,“定时器”就是 充当了这个闹钟的角色。
else //如果LED的状态是点亮的 { *P_IOA_Data = 0x0000; //熄灭LED LED_Flag = 0; //改变状态标志 }

第八章__定时器计数器8253

第八章__定时器计数器8253

3.
引脚及其功能
• 数据线D7~D0:双向、三态。用于将8253/8254芯片与 系统数据总线相连,在芯片与CPU之间传送数据、命令 、状态信息。 • A1A0:片内端口选择线,输入。这两根线一般接到系 统地址总线的A1、A0 上。当-CS=0时8253/8254芯片被 选中,这两位地址线用来选择片内四个端口地址(三个 计数器的端口和一个控制字寄存端口),以便进行读写。 (当A1A0=00、01、10时,分别选计0、计1、计2) • 当A1A0=11时选中片内的控制寄存器,将命令字写入其 中。该控制寄存器只写,不可读。 • CLK:计数器时钟(计数脉冲)输入端。三个独立的 计数器,各自有一个独立的输入时钟脉冲信号CLK0、 CLK1、CLK2,每输入一个时钟脉冲信号CLK,计数器 中同步递减计数器CE的当前计数值便减1,进行计数或 定时控制。
2.
方式1(可编程单脉冲发生器)
• 在该方式中,写入方式命令字和装入计数初 值到计数寄存器后,计数器输出端OUT为高 电平。在GATE输入端出现一个上升沿后,计 数器使输出端OUT降为低电平,开始计数; 当计数值减到0,输出端恢复为高电平,完成 一个单脉冲输出过程。 显然输出端负脉冲的宽度与计数值的大小有 关,设预置计数值为N,计数时钟周期为TCLK, 那么输出负脉冲宽度就是N×TCLK。所以这是 一个可编程控制的单稳态发生器,如下图所 示。
(1) 控制字写入计数器时,所有的控制逻辑电路立即复位, 输出端OUT进入初始状态。该初始状态与工作方式有关, 设置成方式0时,OUT的初始状态为低电平,设置成其他工 作方式,OUT的初始状态为高电平。 (2) 初始值写入初值计数器CR以后,要经过一个时钟脉冲的 上升沿和下降沿,将初值送入计数执行单元,计数执行单 元从下一个时钟开始进行计数。 (3) 通常,在时钟脉冲CLK的上升沿对门控信号GATE进行采 样,各计数器的门控信号的触发方式与工作方式有关。在 方式0、方式4中,门控信号为电平触发;方式1、方式5中, 门控信号为上升沿触发;方式2、方式3中,即可用电平触 发,也可用上升沿触发。 (4) 在时钟脉冲的下降沿计数器进行计数。0是计数器所能 容纳的最大初值,因为用二进制计数时,16位计数器,0 相当于216,用BCD码计数时,0相当于104。

定时器和计数器PPT课件

定时器和计数器PPT课件
算定时器复位,当前值才变为0。
①1ms积算定时器(T246~T249)共4点,是对1ms时钟脉冲进行累积计数的,定时的时间范围为
0.001~32.767s。
②100ms积算定时器(T250~T255)共6点,是对100ms时钟脉冲进行累积计数的定时的时间范围
为0.1~3 276.7s。
知识清单
以下举例说明积算定时器的工作原理。如图8-3-2所示,当X0接通时,T253当前值计数器开
ON时C0复位。X11是计数输入,每当X11接通一次计数器当前值增加1(注意X10断开,计数器不
会复位)。当计数器计数当前值为设定值10时,计数器C0的输出触点动作,Y0被接通。此后既
使输入X11再接通,计数器的当前值也保持不变。当复位输入X10接通时,执行RST复位指令,计
数器复位,输出触点也复位,Y0被断开。
276.7s。
②10ms通用定时器(T200~T245)共46点。 767,所以其定时范围为0.01~327.67s。
知识清单
下面举例说明通用定时器的工作原理。如图8-3-1所示,当输入X0接通时,定时器T200从0
开始对10ms时钟脉冲进行累积计数,当计数值与设定值K123相等时,定时器的常开接通Y0,经
知识清单
(1)通用定时器
通用定时器的特点是不具备断电的保持功能,即当输入电路断开或停电时定时器复位。通
用定时器有100ms和10ms通用定时器两种。
①100ms通用定时器(T0~T199)共200点,其中T192~T199为子程序和中断服务程序专用
定时器。这类定时器是对100ms时钟累积计数,设定值为1~32 767,所以其定时范围为0.1~3
两个0.1s定时器T14和T15串级使用。当T14开始定时后,经1 800s延时,T14的常开触点闭合,

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

第八章 可编程计数器定时器8253及其应用
6
习题 CH8 8253
答(续上题): 计数器1工作在方式2,即分频器的方式.输出波形的频 率f=fclk/N=2MHZ/3000=666.7HZ,其周期为1.5ms,输出负 脉冲的宽度等于CLK的周期为0.5s. 方式3,即方波发生器的方式.输出频率 f=2MHZ/1000=2000Hz的对称方波. 三个OUT的输出波形如下:
3kHz +5V
产品计数脉冲
+5V
装箱脉冲
1
习题 CH8 8253
1.写出相关定时/计数器的工作方式,并简述理由. 答:T0的工作方式为1,因为方式1需要外触发才能计数,并且 在计数过程中OUT端输出低电平(2分) T1的工作方式为0, 因为方式0下计数器计数结束后,输出一个上升沿.(2分) 2.计算相关定时/计数器的计数初值. 答:计数器0的初值等于2秒钟计数的个数,即6000.(1分) 计数器1的初值等于19.(1分)
5
习题 CH8 8253
设8253的计数器0,工作在方式1,计数初值为2050H; 计数器1,工作在方式2,计数初值为3000;计数器2,工 作在方式3,计数初值为1000.如果三个计数器的GATE都 接高电平,三个计数器的CLK都接2MHz时钟信号,试画出 OUT0,OUT1,OUT2的输出波形. 答:计数器0工作在方式1,即可编程单稳态方式.这种方 式下, GATE必须有个上升沿,计数器才能启动.而GATE 接了高电平,当方式控制字写入后OUT0变高,计数器无 法启动,所以OUT0一直为高电平.
2
习题 CH8 8253
3.编写8253的初始化程序片断(8253占用地址90H~93H). 答:
MOV AL,00110011B ;通道0,方式1,BCD OUT 93H,AL MOV AL,00H OUT 90H,AL MOV AL,60H OUT 90H,AL OUT 93H,AL MOV AL,19 OUT 91H,AL (1分)

单片机第8章-定时器-计数器

单片机第8章-定时器-计数器
= 1,启动/停止由软件对TRx位写“1”/“0” 和在外中断 INTx引脚出现信号的高/低共同控制
微机原理
第8章 定时器/计数器
8.3.3 定时器/计数器的工作方式
方式0
13位计数。由TL0的低5位和TH0的8位组成。TH0溢出时, 置位TF0标志,向CPU发出中断请求。
振荡器
1/12
定时 器 C/T=0
T0 TR0
GATE 1
C/T=1
& ≥1
TL0 TH0 TF0
低5位 8位
13位计数器
INT0
计数脉冲输入
计数 器
微机原理
第8章 定时器/计数器
计数个数:N=t / Tcy 初值:a=213-N=8192-N
注意门控位GATE的作用:
GATE=0时,仅由TR0控制与门的开启; GATE=1时,与门开启,由INTx引脚信号和TR0共同控 制。TR0=1时, INTx引脚的高电平启动计数,低电平停 止计数。
(6)TF1—T1的溢出中断请求标志位,功能和TF0类似。 TR1、TR0 2个位与中断无关。
当MCS-51复位后,TCON被清0,则CPU关中断,所有中断请求被禁止。
微机原理
第6章 中断系统
复习
中断允许寄存器IE CPU对中断源的开放或屏蔽(中断的允许和禁止),由片 内的中断允许寄存器IE控制。字节地址为A8H,可位寻址。 格式如下:
(6)EX0:外部中断0中断允许位。 0:禁止外部中断0中断;1:允许外部中断0中断。
微机原理
8.3.2 工作方式寄存器TMOD
第8章 定时器/计数器
T1
T0
TMO
D
GATE C / T M1 M0 GATE C / T M1 M0

第八章 8253

第八章 8253

是否自动 重装初值
低 高 高 高 高 高
否 是 是 是 否 是
15
方式3 方式 方波发生器
上升沿,从初值n 上升沿,从初值n开始计数 高电平, 高电平,允许计数 低电平,禁止计数, 低电平,禁止计数,使输出变高
方式4 方式 软件触发选通
高电平, 高电平,允许计数 低电平, 低电平,禁止计数 上升沿,从初值n 上升沿,从初值n开始计数
9
初始化程序: 初始化程序: MOV AL ,37H OUT 46H ,AL ;设置控制字 写入计数初值, MOV AL ,54H ;写入计数初值,先低后高 OUT 40H ,AL MOV AL ,23H OUT 40H ,AL 读通道0计数结果,并送入CX CX寄存器 ;读通道0计数结果,并送入CX寄存器 MOV AL ,07H ;00 00 011 1=07H OUT 46H ,AL ;设置控制字 IN AL ,40H MOV CL ,AL IN AL ,40H 将通道0计数结果→ MOV CH ,AL ;将通道0计数结果→CX
11
8253 CLK
WR 写入控制字 8253 OUT 写入计 数初值 计数结束 4 3 2 1 0
n×TCLK ×
12
方式1 方式 可编程单稳态输出 可重触发 GATE触发 触发
GATE
OUT n×TCLK ×
方式2 方式2 比率发生器
相当n分频 相当n分频
计数初值=定时时间 计数初值 定时时间/ TCLK=fCLK/ fOUT 定时时间
10
五,8253的工作方式(6种) 8253的工作方式( 的工作方式
写入控制字,同时影响OUT端电平,为起始OUT OUT端电平 OUT端电平 ① 1. 写入控制字,同时影响OUT端电平,为起始OUT端电平 ② 写入计数初值n,使WR变为低电平,在WR的上升沿时,将 写入计数初值n WR变为低电平, WR的上升沿时, 变为低电平 的上升沿时 n→计数初值 计数初值R n→计数初值R GATE有效 再在下一个CLK时钟脉冲的下降沿 有效, 下一个CLK时钟脉冲的下降沿, ③ 当GATE有效,再在下一个CLK时钟脉冲的下降沿,将n → 计数执行部件,开始减1计数( 计数执行部件,开始减1计数(计数器随着时钟脉冲的输 入而递减计数) 入而递减计数) 1.方式 方式0 1.方式0 计数结束中断方式 OUT输出端波形 OUT输出端波形 从写入计数初值到开始减1之间,有一个时钟脉冲的延迟. 从写入计数初值到开始减1之间,有一个时钟脉冲的延迟. 详见后
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

0 0 x x 1 1
0 0 1 1 0 0
0 1 0 1 0 1
方式0 方式1 方式2 方式3 方式4 方式5
BCD:计数器进制选择
0 1
16位二进制计数器 BCD码计数器
第8章 计数器/定时器
8253初始化: 对一个通道
先写入控制字 再写入时间常数(计数初值)
注: ① 写入控制字后,所有控制逻辑电路复位,
WR CLK GATE OUT 3 2 1 32 1 3 2 1 方式2时序图 CW N=3
不用重复置数。计数器能够 连续工作,输出OUT是输入CLK 的n(初值)分频。
第8章 计数器/定时器
硬件同步:由前述②知,门控信号可实现计数器的同步,称为硬件同步 软件同步:计数器写入控制字和计数初值后,如GATE一直处于高电平,
A1 A0


0 0 1 1 0 0 1
0 1 0 1 0 1 0
对计数器0设置计数初值 对计数器1设置计数初值 对计数器2设置计数初值 设置控制字 从计数器0读出计数值 从计数器1读出计数值 从计数器2读出计数值
第8章 计数器/定时器
8253与8086系统计算机连接
说明: 1.
8253
D7 ~ D0 IOR IOW A2 A1 +5V A15 A14 A13 A12 A11 A10 A9 +5V A8 A7 A6 A5 D7 ~ D0 RD WR A1 A0 CS
第8章 计数器/定时器
8.3 8253的引脚功能
1. D7~D0:数据总线,双向,三态, 直接与计算机数据总线相连。 2. CLK0~CLK2:计数时钟输入端, 下降沿使通道减1。 3. GATE0~GATE2:门控制,输入, 高电平有效或上升沿有效, 有效时允许计数器对输入时钟计数。 4. OUT0~OUT2:通道输出信号, 计数器到“0”时由此输出一信号, CS RD WR 输出波形形式取决于工作方式。 0 1 0 5. A1、A0:寻址3个通道的计数器 0 1 0 和控制寄存器(3个通道的控制寄 0 1 0 0 1 0 存器共用一个端口地址). 0 0 1 6. RD、WR和CS:8253的读、写 0 0 1 和片选信号,均为低电平有效。 0 08.3 8.4
概述
8253的内部结构 8253的引脚功能 8253的控制字
8.5
8.6
8253的工作方式
8253的应用举例
第8章 计数器/定时器

80X86系统常用接口芯片
(一)并行接口芯片 Intel 8255,有三个8位端口A,B,C Intel 8155,有三个端口,内带256字节RAM,两个定时器。 (二)串行接口芯片 Intel 8251,同步异步串行接口。 Intel 8250,异步串行接口芯片。 (三)计数定时器 Intel 8253/8254,三个通道16位定时计数器。 (四)直接存取控制器(DMAC) Intel 8237
② 若N为偶数,高低电平持续时间 相等;若为奇数,则高电平持续时间 为(N+1)/2,低电平持续时间为 (N-1)/2。 ③ GATE=1计数进行。在计数过程中 若GATE=0,计数停止且OUT为高, 计数器重新赋初值,GATE回到高时 计数重新开始。 ④ 计数期间送入新值,本周期继续进 行,下一个周期按新值计数。
4 3 2 1 4 3 2 1 方式3时序图
计数过程由软件将计数初值装入通道来触发
第8章 计数器/定时器
(5)方式4——软件触发选通 ①写入CW后OUT为高电平,输入 时间常数后,下一个CLK开始计数, 计数器为0时,输出一个周期负脉冲, 并停止操作。 ②GATE=1允许计数,GATE=0禁 止计数。 ③计数期间送入新的时间常数,则 下一个时钟按新值重新计数。
GATE0 GATE1 GATE2 OUT0 OUT1 OUT2 CLK0 CLK1 CLK2 PCLK
+5V PB0(8255) IRQ0(8259) 刷新电路 驱动器 PB1(8255) 74LS175 C Q D Q
8253的数据线D7~D0接8086的 数据总线的低8位。 2. 8253的A1和A0分别接系统的A2 和A1,使用偶地址传递信息。 3.由74LS138,74LS30和74LS04 译码选中8253。
可重复触发—— 当计数归零后,不用再次送计数值,只要给它触发脉冲,即可产生一个同 样宽度的单稳脉冲输出。
第8章 计数器/定时器 (3)方式2——分频器(频率发生器) ① 写入CW后OUT为高电平,写入 时间常数后,下一CLK开始计数,减 到1时OUT变低,经过一个CLK后 OUT变高,计数重新开始。 ② GATE=1计数进行,GATE=0计 数停止,且下一个CLK计数器重新赋 初值,GATE变为高电平,计数重新开 始。 ③ 计数期间送入新值,本周期继续 进行,下一个周期按新值计数操作。
D7 SC1 SC0 RW1 RW0 M2 M1 M0
D0 BCD
D7 1 0 0 1 0 0 0
D0 0
第8章 计数器/定时器 (2)方式1——可重复触发单稳触发器
WR CW N=3
①写入CW后OUT变为高电平, GATE CLK 上升沿触发后,OUT变为低并开始计数, GATE 归零时OUT变为高电平。
方式2、4、5的输出波形是相同的,都是宽度为一个CLK周期的负脉冲。但方式 2是连续的,方式4是由软件(设置初值)触发启动,而方式5由硬件(门控脉冲) 触发启动。 方式1、5 触发计数方式相同,但输出波形不同。方式1为输出n个CLK脉冲周期 的负脉冲(计数过程中输出为低),而方式5输出的是宽度为1个CLK脉冲周期的 负脉冲(计数过程输出为高)。 任一种方式,只有在写入计数值后才能开始计数,方式0、2、3和4都是在写入 计数值后,计数过程就开始了,而方式1和5需要外部触发启动,才开始计数。
那么,在下一个脉冲开始计数器计数。 通过写入计数初值使计数器同步,称为~。
第8章 计数器/定时器 (4)方式3——方波发生器(连续)
WR CW N=4
① 写入CW后OUT变为高电平,输 CLK 入时间常数后,下一个时钟开始计数, 计到一半时输出变为低电平,计到终 GATE 值时重新变为高电平,并开始下一次 OUT 计数过程。
上述接口芯片功能可由程序改变,称为可编程接口芯片。
第8章 计数器/定时器
8.1 计数器/定时器概述
微机应用系统的重要应用之一是如何用好定时/计数器。 即常常需要实时钟或延时或对外部事件计数。 实现定时或延时控制的常用方法: (1)软件延时:用一个不完成任何功能的程序段实现; (2)常用数字电路定时:555 (3)可编程硬件定时:8253,其定时值和定时范围可以通过 软件来确定和改变。 8253主要功能: ①以均匀分布的时间间隔中断操作系统,以便切换程序; ②向I/O设备输出精确的定时信号,信号的周期可由程序控制; ③用来作为可编程波特率发生器; ④检测外部事件发生的频率或周期; ⑤统计外部事件发生的次数,计数结果送至计算机; ⑥在定时或计数达到编程规定的值以后,向CPU申请中断。
WR CLK GATE OUT 3 2 1 0 FFFEFDFC 方式4时序图 CW N=3
(6)方式5——硬件触发选通 ① 写入CW后OUT为高电平,输入时 间常数后由GATE上升沿启动计数。计 数为0时输出一个时钟的负脉冲,并停 止操作。 ② 计数过程中,若GATE又来一个上 升沿,则下一个时钟计数器重新赋值 计数。 ③ 计数过程中写入时间常数,当前 周期不受影响,在下一个 GATE上升沿 启动新值计数。
②GATE再来一次上升沿使OUT为低, 计数器以初值重新计数。 ③计数过程中,再次给通道写入时间常 数,不影响现行操作过程,GATE再次 触发后才按新的时间常数操作。
OUT 3 2 1 0 FFFE 3 2 方式1时序图
④计数过程中,GATE触发沿提前到来, 在下一个CLK的下降沿,计数器开始重 新计数,这将使输出单稳脉冲比原先设 定的计数值加宽。
WR CLK OUT 4 3 2 1 0 FF 方式0时序图 CW N=4
⑤ 计数到零后,不能自动恢复计数 初值,OUT端保持高电平。
再次写入计数初值,才又开始计数。
第8章 计数器/定时器
例:若8253的地址为04H~07H,
要使计数器工作在方式0,仅用8 位二进制数,计数初值为128,初 始化程序为: MOV AL ,50H OUT 07H,AL MOV AL ,80H OUT 05H,AL
WR CLK GATE OUT 3 2 1 0 FFFE 3 2 1 0 方式5时序图 CW N=3
第8章 计数器/定时器
8253有6种不同的工作方式。小结如下:
方式0 —— 写入CW后,输出即变低,计数结束输出为高,常用该输出信号 作为中断源。其余5种方式写入CW后,输出均变高。 方式0可用来实现定时或对外部事件进行计数。 方式1用来产生单脉冲。 方式2用来产生序列负脉冲,每个负脉冲的宽度与CLK的周期相同。 方式3用于产生连续的方波。方式2和方式3都实现对CLK的n分频。 方式4和方式5的波形相同,都是计数器归0后的1个负脉冲,宽度为1个CLK。
第8章 计数器/定时器
8.2 8253内部结构
Intel 8253____ 三个通道 16位 可设置定时计数器, 可由软件设定6种工作方式。
第8章 计数器/定时器
①8253内部由三个独立通道组成,结 构与工作原理完全相同。 ②每个通道是16位计数器 可对外输入CLK进行二进制或十进 制( BCD)减1计数 是否计数由外引脚GATE控制。 CLK 已知频率的时钟信号 外部事件发生源 16位减法计数器
第8章 计数器/定时器
8.4 8253的控制字
D7
SC1 SC0 RW1 RW0 M2 M1 M0 D0 BCD
控制字写入控制端口,各位含义如下:
SC1
相关文档
最新文档