第5章定时计数器PPT课件
合集下载
《定时计数器》课件
![《定时计数器》课件](https://img.taocdn.com/s3/m/196ae965e3bd960590c69ec3d5bbfd0a7956d59e.png)
定时计数器的使用步骤
开启定时计数器
在设置好所需参数后,用户可 以启动定时计数器开始计时。
实时监控
在计时过程中,用户可以通过 显示界面实时查看当前计数值 和计时状态。
停止计时
当达到设定时间或需要停止计 时时,用户可以按下停止按钮 ,计时器将停止工作。
重置
若需重新计时,用户可以将计 数值重置为初始状态,并重新
信号。
触发器
触发器是定时计数器的 重要组成部分,用于控 制计数器的开始和停止
。
计数器
计数器用于记录输入信 号的个数,可以是二进
制或十进制。
输出信号
定时计数器的输出信号 可以是控制信号、状态
信号或脉冲信号。
定时计数器的工作流程
01
02
03
04
启动
当输入信号满足一定条件时, 触发器被触发,计数器开始计
定时计数器的基本原理是利用触发器的翻转时刻来记录时间间隔的起始和结束时刻 。
当输入信号的上升沿或下降沿到来时,触发器翻转,记录下当前时刻,从而计算出 时间间隔。
定时计数器的精度取决于触发器的翻转时刻的准确性,因此需要采用高精度的触发 器。
02
定时计数器的分类
机械式定时计数器
机械式定时计数器是最早的定时计数 器类型,它利用机械原理来实现计时 和计数功能。
现不必要的时间误差。
05
定时计数器的维护与 保养
定时计数器的清洁保养
清洁外壳表面
使用干燥的软布擦拭计数器的外 壳表面,以去除灰尘和污垢。
清洁内部组件
定期打开计数器外壳,使用吸尘器 或干燥的软布清洁内部电路板和元 件。
清洁触点
定期检查并清洁计数器的触点,以 确保良好的接触性能。
第五章 定时器计数器8253
![第五章 定时器计数器8253](https://img.taocdn.com/s3/m/8038c77aad02de80d4d84099.png)
1方式----低电平输出(GATE信号上升沿重新计数) 可重复触发的单稳态触发器 1方式为可编程的单稳态工作方式。(平时gate无效) 情况一: (1)写入计数初值后,计数器并不立即开始工作; (2)门控信号GATE有效,才开始工作,使输出OUT变成低电平; (3)直到计数器值减到零后,输出才变高电平。见图6.5中①。 情况二: 21组16 在计数器工作期间,当GATE又出现一个上升沿时,计数器 重新装入原计数初值并重新开始计数,见图见图6.5中②。 21组17 如果工作期间对计数器写入新的计数初值,则要等到当前的 计数值计满回零且门控信号再次出现上升沿后,才按新写入的 计数初值开始工作,见图6.5所示③。21组1 2.
CLK WR
n=6
5 4 3 2 1 0
①
OUT
② ห้องสมุดไป่ตู้ATE
OUT
5
4
4
4
4
3
2
1
0
图6.8:8253的4方式时序波形
6. 5方式------单次负脉冲输出(硬件触发)
加1,计数脉冲是频率恒定的时钟脉冲
一次计数过程是指计数器从初值开始计数到0。
一段定时是指计数器从初值开始计数到0所经
历的时间段。
定时举例:
①计算机及电子系统中需要定时信号,如系统 的日历时钟,一天24小时的计时。动态存储器 的刷新,应用系统的定时中断、定时查询与检 测等称为日时钟。
②在监测系统中,对被测点的定时取样。 ③在读键盘时,为去抖,一般延迟10ms再读。
个字节),采用二进制计数。其初始化程序段为
MOV DX,43H
;命令口 ;2号计数器的初始化命令字 ;写入命令寄存器 ;2号计数器数据口
定时计数器-PPT精品
![定时计数器-PPT精品](https://img.taocdn.com/s3/m/1bcf6ae76c85ec3a86c2c5ec.png)
★该模式是一个16位定时器/计数器。 其结构与操作几乎与模式0完全相同,唯 一的差别是:在模式1中,寄存器TH0和 TL0是以全16位参与操作,
★用于定时工作方式时,定时时间为: t=(216一T0初值) ×时钟周期×12
★用于计数工作方式时,计数长度为216= 65536(个外部脉冲)
3.模式2
感谢您的关注
1. 工作模式寄存器TMOD(89H)
TMOD用于控制T0和T1的操作模式。其各 位的定义格式如下:
TMOD
定时器T1
D7 D6 D5 D4
定时器T0
D3 D2 D1 D0
(89H) GATE C/T M1 M0 GATE C/T M1 M0
1.1 M1 M0 工作模式选择位
共有四种工作模式
M1 M0 工作方式 功能描述
程序如下:
MOV MOV MOV JB SETB JNB JB CLR
TMOD,#90H TH1, #00H TL1, #00H P3.3, $ TR1 P3.3, $
P3.3, $ TR1
;定时器T1模式1、定时 ;设定初值
; ;等待INT1变低 ;启动T1 ; 等待INT1变高 ;开始计数,等待变低 ; 停止计数
1.模式0
★模式0是选择定时器(T0或T1)高8位加低5 位的—个13位定时器/计数器。
★在这种模式下,16寄存器(TH0和TL0)只 用13位,其中TL0的高3位末用,其余位 占整个13位的低5位,TH0占高8位。
★当TL0的低5位溢出时向TH0进位而TH0 溢出时向中断标志位TF0进位(硬件置位 TF0),并申请中断。
2. 控制寄存器TCON(88H)
TCON 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H (88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
★用于定时工作方式时,定时时间为: t=(216一T0初值) ×时钟周期×12
★用于计数工作方式时,计数长度为216= 65536(个外部脉冲)
3.模式2
感谢您的关注
1. 工作模式寄存器TMOD(89H)
TMOD用于控制T0和T1的操作模式。其各 位的定义格式如下:
TMOD
定时器T1
D7 D6 D5 D4
定时器T0
D3 D2 D1 D0
(89H) GATE C/T M1 M0 GATE C/T M1 M0
1.1 M1 M0 工作模式选择位
共有四种工作模式
M1 M0 工作方式 功能描述
程序如下:
MOV MOV MOV JB SETB JNB JB CLR
TMOD,#90H TH1, #00H TL1, #00H P3.3, $ TR1 P3.3, $
P3.3, $ TR1
;定时器T1模式1、定时 ;设定初值
; ;等待INT1变低 ;启动T1 ; 等待INT1变高 ;开始计数,等待变低 ; 停止计数
1.模式0
★模式0是选择定时器(T0或T1)高8位加低5 位的—个13位定时器/计数器。
★在这种模式下,16寄存器(TH0和TL0)只 用13位,其中TL0的高3位末用,其余位 占整个13位的低5位,TH0占高8位。
★当TL0的低5位溢出时向TH0进位而TH0 溢出时向中断标志位TF0进位(硬件置位 TF0),并申请中断。
2. 控制寄存器TCON(88H)
TCON 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H (88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
第5章 定时器TIM PPT
![第5章 定时器TIM PPT](https://img.taocdn.com/s3/m/9fca3b071ed9ad51f11df25b.png)
使用一个定时器作为另一个定时器的预分频器。例如可以配置一个定时器 Timer1而作为另一个定时器Timer2的预分频器。
-8-
高级和通用定时器TIMx-- TIMx时 钟源
可以使用库函数来完成时钟源的选择,例如:
【示例5- 2】 选择时钟源 /* 选择TIM1为内部时钟源 */ void TIM_InternalClockConfig(TIM1);
原型如下:
【结构体5- 1】 TIM_TimeBaseInitTypeDef typedef struct {
/* 预分频系数,即PSC寄存器,计数范围0-0xffff */ uint16_t TIM_Prescaler; /* 计数模式选择 */ uint16_t TIM_CounterMode; /* 自动装载的计数值,即ARR寄存器,计数范围0-0xffff */ uint16_t TIM_Period; /* 时钟分割,用于数字滤波器等,计数模式中无作用 */ uint16_t TIM_ClockDivision; /* 重复次数,即RCR寄存器,取值范围0-0xff */ uint8_t TIM_RepetitionCounter; } TIM_TimeBaseInitTypeDef;
/* 计数器使能,开始工作 */ TIM_Cmd(TIM1, ENABLE); }
- 18 -
计数模式 --库函数TIM_TimeBaseInit( )
TIM_TimeBaseInitStructure为TIM_TimeBaseInitTypeDef
类型的指针(定义于文件“stm32f10x_tim.h”),其结构
计数器
计数器CNT是一个16位的寄存器,计数范围1-65535。可以向上计数、向下 计数或者向上向下双向计数。
-8-
高级和通用定时器TIMx-- TIMx时 钟源
可以使用库函数来完成时钟源的选择,例如:
【示例5- 2】 选择时钟源 /* 选择TIM1为内部时钟源 */ void TIM_InternalClockConfig(TIM1);
原型如下:
【结构体5- 1】 TIM_TimeBaseInitTypeDef typedef struct {
/* 预分频系数,即PSC寄存器,计数范围0-0xffff */ uint16_t TIM_Prescaler; /* 计数模式选择 */ uint16_t TIM_CounterMode; /* 自动装载的计数值,即ARR寄存器,计数范围0-0xffff */ uint16_t TIM_Period; /* 时钟分割,用于数字滤波器等,计数模式中无作用 */ uint16_t TIM_ClockDivision; /* 重复次数,即RCR寄存器,取值范围0-0xff */ uint8_t TIM_RepetitionCounter; } TIM_TimeBaseInitTypeDef;
/* 计数器使能,开始工作 */ TIM_Cmd(TIM1, ENABLE); }
- 18 -
计数模式 --库函数TIM_TimeBaseInit( )
TIM_TimeBaseInitStructure为TIM_TimeBaseInitTypeDef
类型的指针(定义于文件“stm32f10x_tim.h”),其结构
计数器
计数器CNT是一个16位的寄存器,计数范围1-65535。可以向上计数、向下 计数或者向上向下双向计数。
最新5-定时计数器原理及应用解析教学讲义ppt
![最新5-定时计数器原理及应用解析教学讲义ppt](https://img.taocdn.com/s3/m/f99512f20066f5335b81212e.png)
2.1定时/计数器方式寄存器TMOD
Ml M0 操作模式 功 能 筒 述
0 0 模式0 l3位计数器,TLi只用低5位。
0 1 模式1 16位计数器。
10
模式2
8位自动重装计数器。仅TLi作为计数器,而THi的 值在计数中不变。T1i溢出时,THi中的值自动装 入T1i中。
11
模式3 TO分成2个独立的8位计数器。
0 0 模式0 l3位计数器,TLi只用低5位。
01 10 11
模式1 模式2 模式3
16位计数器。
8位自动重装计数器。仅TLi作为计数器,而THi的 值在计数中不变。T1i溢出时,THi中的值自动装 入T1i中。
TO分成2个独立的8位计数器。
1.方式0
方式0构成一个13位定时/计数器。图5-3 是定时器0在方式0时的逻辑电路结构。
不同的工作方式、不同的操作模式下,最 大计数值(溢出值) ,的M值为: 模式0: M=2^13=8192 模式1: M=2^16=65536 模式2: M=2^8=256 模式3: M=2^8=256,定时器T0分成2个独 立的8位计数器,所以TH0、T10的M均为 256。
2.3 定时/计数器的初始化
fosc为机器时钟(振荡器)的振荡频率。
2.3 定时/计数器的初始化
(3) 是否使用中断 根据要求考虑是否采用中断方式,直接对
IE位赋值。 开放中断时,对应位置1; 不使用中断时,可采用程序查询方式,IE
中对应位应清0进行中断屏蔽。 。
2.3 定时/计数器的初始化
(4) 启动定时/计数器工作。
使用SETB TRi指令。
1.2定时/计数器工作原理
当设置了定时器的工作方式并启动定时器 工作后,定时器就按被设定的工作方式独立工 作,不再占用CPU的操作时间,只有在计数器 计满溢出时才可能中断CPU当前的操作 。
《定时计数器及应用》课件
![《定时计数器及应用》课件](https://img.taocdn.com/s3/m/2cbe14d350e79b89680203d8ce2f0066f4336443.png)
物联网与智能化
随着物联网和智能化技术的发展,定时计数器将更加智能化,能 够与其他设备进行更紧密的集成和协同工作。
定制化与专业化
未来定时计数器将更加定制化和专业化,针对不同领域和应用场景 ,会有更多具有特定功能的定时计数器出现。
节能环保
随着环保意识的提高,未来定时计数器将更加注重节能和环保设计 ,以降低能耗和减少对环境的影响。
专用芯片实现
使用专用的定时计数器芯片,通 过编程配置其工作模式和参数, 实现定时计数功能。
微控制器实现
利用微控制器的定时器/计数器模 块,编写相应的程序,实现定时 计数功能。
基于软件的实现方式
多线程实现
利用操作系统的多线程机制,创建定 时任务线程,通过线程调度实现定时 计数。
延时函数实现
利用编程语言提供的延时函数,如 sleep()或delay()函数,实现简单的定 时计数。
硬件与软件的结合实现方式
嵌入式系统实现
结合微控制器和软件编程,利用微控制器的硬件定时器与软 件程序协同工作,实现更为精确和灵活的定时计数。
结合硬件定时器和软件调度
利用硬件定时器触发中断,在中断服务程序中进行计数,同 时结合操作系统的软件调度,实现高精度、高可靠性的定时 计数。
04 定时计数器的优缺点
05 定时计数器的发展趋势
定时计数器的发展历程
早期阶段
定时计数器最初是为了满 足工业控制和测量需求而 设计的,主要用于简单的 计时和计数功能。
技术发展
随着电子技术和微处理器 技术的进步,定时计数器 的功能逐渐增强,精度和 可靠性得到提高。
智能化
现代定时计数器已经具备 了智能化特点,能够与其 他设备进行通信和控制, 实现更复杂的任务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
当GATE=0时, T0、T1的启动只由TR0(或TR1)控制。 当TR0(或TR1)=1,启动; TR0(或TR1)=0,停止。
当GATE=1时, T0、T1的启动由INT0 (或INT1)引脚 和TR0(或TR1)共同控制, 只有INT0 (或INT1)引脚为高电平 时, TR0 (或TR1)置“1”才能启动定时器/计数器。
定时器
定时/计数 方式控制位
♪ 计数脉冲的时间间隔相等。 定时和计数功能的设定和控制都是通过软件来设定的。
第5章 MCS - 51单片机内部定时/计数器
三、51单片机定时器/计数器的功能
2. 计数功能----对单片机的T0和T1引脚输入信号进行 计数。当外部输入信号由1至0跳变时,计数器加1。
计数脉冲输入
第5章 MCS - 51单片机内部定时/计数器
TCON
D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
用于外部中断 溢出中断标志位 计数器运行控制位
0 停止 1 启动
✓TF0、TF1分别是定时器/计数器T0、T1的溢出标志位, 当 加法计数器计满溢出时由硬件置1,向CPU申请中断,在中断响 应后自动复0。
0 1 方式1 16位计数器
1 0 方式2 自动重装初值的8位计数器
定时器0:2个8位计数器
11
方式3
定时器1:停止计数 仅适用于T0
第5章 MCS - 51单片机内部定时/计数器
C/T—计数/定时选择位
C/T=0 C/T=1
定时 器
计数 器
第5章 MCS - 51单片机内部定时/计数器
GATE: 定时器/计数器运行门控标志位
5.3 工作方式
213=8192 216=65536 28=256 28=256
✓计数赋初值
加法计数器是计满溢出时才申请中断, 所以在给计数器赋初值时, 不能直接输入所需的计数值, 而应输入的是计数器计数的最大值与这一 计数值的差值, 设最大值为M, 计数值为N, 初值为X, 则X的计算方法如 下:
第5章 MCS - 51单片机内部定时/计数器
复习:
一、P1口的内部结构
VCC
读锁存器
R
内部总线
DQ
T
写锁存器
CLK Q
P1.n P1口 引脚
读引脚
使用P1口要注意: • 当P1口作为输入时,先要向锁存器写1。
第5章 MCS - 51单片机内部定时/计数器
二、P0口的结构
读锁存器
地址/数据 VCC 控制
2.定时方式初值的计算 在定时方式下,计数器由单片机晶振频率经
硬件定时
T=0.7(R1+2R2)C
第5章 MCS - 51单片机内部定时/计数器
数量、大小、
二、51单片机定时/计数器的内部结构 地址?
相关寄存器?
第5章 MCS - 51单片机内部定时/计数器
三、51单片机定时器/计数器的功能
定时器/计数器的核心部件是二进制加1计数器(TH0、TL0 或TH1、TL1) 。 1. 定时功能----对单片机内部的机器周期(等于12个振荡周 期)进行计数。每个机器周期使计数器加1。
第5章 MCS - 51单片机内部定时/计数器
第5章 51单片机内部定时器/计数器
5.1 定时器/ 5.2 5.3 工作方式
第5章 MCS - 51单片机内部定时/计数器
5.1 定时/计数器的结构及工作原理
一、定时方法概述
1)软件定时 靠CPU执行循环空语句以进行时间延迟。
2)硬件定时 由硬件电路完成,通过改变电路中的元件参数来调 节定时时间。
R
T MUX
P2.n P2口引 脚
读引脚
使用P2口要注意: • 当P2口作为输入时,先要向锁存器写1。
第5章 MCS - 51单片机内部定时/计数器
四、P3口的内部结构
读锁存器
内部总线 写锁存器
第二输出功能 VCC
W
R
DQ
T
CLK Q
P3.n P3口 引脚
读引脚
第二输入功能
使用P3口要注意: • 当P3口作为输入时,先要向锁存器写1。
3)可编程定时器定时 通过软件编程,由定时/计数器进行计数实现定时。
第5章 MCS - 51单片机内部定时/计数器
软件定时
/* 延时函数*/ void delay ( ) {
unsigned int j; for(j=0;j<20000;j++)
; }
第5章 MCS - 51单片机内部定时/计数器
内部总线 写锁存器
DQ CLK Q
T1
T2 MUX
P0.n P0口 引脚
读引脚
使用P0口要注意: • 当P0向锁存器写1。
第5章 MCS - 51单片机内部定时/计数器
三、P2口的内部结构
读锁存器
内部总线 写锁存器
VCC 地址 控制
DQ CLK Q
计数(对外部脉冲): X=M-N
✓定时赋初值
定时(对机器周期计数): X=M-定时时间/T
而T=12÷
第5章 MCS - 51单片机内部定时/计数器
定时/计数器初值的计算
1.计数方式初值的计算 设计数器的最大计数值为M(根据不同工
作方式,M可以是213、216或28),则计数初值 X的公式为:
X=M-要求的计数值
控制T0
C/T—计数/定时选择位
GATE—门控位
TMOD不能位寻址,只能用字节指令设置定时器工作方 式,高4位定义T1,低4位定义T0。复位时,TMOD所有 位均置0。
第5章 MCS - 51单片机内部定时/计数器
M1 M0—工作方式选择位
M1 M0 模式
说明
0 0 方式0 13位计数器(TH高8位加上TL中的低5位)
✓TR1、TR0分别是定时器/计数器T1、T0的运行控制位,通过 软件置1后,定时器/计数器才开始工作,在系统复位时被清0。
✓可以用位操作指令。如启动计数器1的指令为 “TR1=1;”
第5章 MCS - 51单片机内部定时/计数器
✓最大计数值
方式0 13 位计数器 方式1 16 位计数器 方式2 8位计数器 方式3 8位计数器
计数器
♪ 计数脉冲周期不固定。 ♪ 最高计数脉冲频率为时钟频率的1/24 。
第5章 MCS - 51单片机内部定时/计数器
5.2 方式和控制寄存器
一、 定时器/计数器的工作方式寄存器TMOD
D7 D6 D5 D4 D3 D2 D1 D0 GATE C/T M1 M0 GATE C/T M1 M0
控制T1 M1 M0—工作方式选择位
当GATE=1时, T0、T1的启动由INT0 (或INT1)引脚 和TR0(或TR1)共同控制, 只有INT0 (或INT1)引脚为高电平 时, TR0 (或TR1)置“1”才能启动定时器/计数器。
定时器
定时/计数 方式控制位
♪ 计数脉冲的时间间隔相等。 定时和计数功能的设定和控制都是通过软件来设定的。
第5章 MCS - 51单片机内部定时/计数器
三、51单片机定时器/计数器的功能
2. 计数功能----对单片机的T0和T1引脚输入信号进行 计数。当外部输入信号由1至0跳变时,计数器加1。
计数脉冲输入
第5章 MCS - 51单片机内部定时/计数器
TCON
D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
用于外部中断 溢出中断标志位 计数器运行控制位
0 停止 1 启动
✓TF0、TF1分别是定时器/计数器T0、T1的溢出标志位, 当 加法计数器计满溢出时由硬件置1,向CPU申请中断,在中断响 应后自动复0。
0 1 方式1 16位计数器
1 0 方式2 自动重装初值的8位计数器
定时器0:2个8位计数器
11
方式3
定时器1:停止计数 仅适用于T0
第5章 MCS - 51单片机内部定时/计数器
C/T—计数/定时选择位
C/T=0 C/T=1
定时 器
计数 器
第5章 MCS - 51单片机内部定时/计数器
GATE: 定时器/计数器运行门控标志位
5.3 工作方式
213=8192 216=65536 28=256 28=256
✓计数赋初值
加法计数器是计满溢出时才申请中断, 所以在给计数器赋初值时, 不能直接输入所需的计数值, 而应输入的是计数器计数的最大值与这一 计数值的差值, 设最大值为M, 计数值为N, 初值为X, 则X的计算方法如 下:
第5章 MCS - 51单片机内部定时/计数器
复习:
一、P1口的内部结构
VCC
读锁存器
R
内部总线
DQ
T
写锁存器
CLK Q
P1.n P1口 引脚
读引脚
使用P1口要注意: • 当P1口作为输入时,先要向锁存器写1。
第5章 MCS - 51单片机内部定时/计数器
二、P0口的结构
读锁存器
地址/数据 VCC 控制
2.定时方式初值的计算 在定时方式下,计数器由单片机晶振频率经
硬件定时
T=0.7(R1+2R2)C
第5章 MCS - 51单片机内部定时/计数器
数量、大小、
二、51单片机定时/计数器的内部结构 地址?
相关寄存器?
第5章 MCS - 51单片机内部定时/计数器
三、51单片机定时器/计数器的功能
定时器/计数器的核心部件是二进制加1计数器(TH0、TL0 或TH1、TL1) 。 1. 定时功能----对单片机内部的机器周期(等于12个振荡周 期)进行计数。每个机器周期使计数器加1。
第5章 MCS - 51单片机内部定时/计数器
第5章 51单片机内部定时器/计数器
5.1 定时器/ 5.2 5.3 工作方式
第5章 MCS - 51单片机内部定时/计数器
5.1 定时/计数器的结构及工作原理
一、定时方法概述
1)软件定时 靠CPU执行循环空语句以进行时间延迟。
2)硬件定时 由硬件电路完成,通过改变电路中的元件参数来调 节定时时间。
R
T MUX
P2.n P2口引 脚
读引脚
使用P2口要注意: • 当P2口作为输入时,先要向锁存器写1。
第5章 MCS - 51单片机内部定时/计数器
四、P3口的内部结构
读锁存器
内部总线 写锁存器
第二输出功能 VCC
W
R
DQ
T
CLK Q
P3.n P3口 引脚
读引脚
第二输入功能
使用P3口要注意: • 当P3口作为输入时,先要向锁存器写1。
3)可编程定时器定时 通过软件编程,由定时/计数器进行计数实现定时。
第5章 MCS - 51单片机内部定时/计数器
软件定时
/* 延时函数*/ void delay ( ) {
unsigned int j; for(j=0;j<20000;j++)
; }
第5章 MCS - 51单片机内部定时/计数器
内部总线 写锁存器
DQ CLK Q
T1
T2 MUX
P0.n P0口 引脚
读引脚
使用P0口要注意: • 当P0向锁存器写1。
第5章 MCS - 51单片机内部定时/计数器
三、P2口的内部结构
读锁存器
内部总线 写锁存器
VCC 地址 控制
DQ CLK Q
计数(对外部脉冲): X=M-N
✓定时赋初值
定时(对机器周期计数): X=M-定时时间/T
而T=12÷
第5章 MCS - 51单片机内部定时/计数器
定时/计数器初值的计算
1.计数方式初值的计算 设计数器的最大计数值为M(根据不同工
作方式,M可以是213、216或28),则计数初值 X的公式为:
X=M-要求的计数值
控制T0
C/T—计数/定时选择位
GATE—门控位
TMOD不能位寻址,只能用字节指令设置定时器工作方 式,高4位定义T1,低4位定义T0。复位时,TMOD所有 位均置0。
第5章 MCS - 51单片机内部定时/计数器
M1 M0—工作方式选择位
M1 M0 模式
说明
0 0 方式0 13位计数器(TH高8位加上TL中的低5位)
✓TR1、TR0分别是定时器/计数器T1、T0的运行控制位,通过 软件置1后,定时器/计数器才开始工作,在系统复位时被清0。
✓可以用位操作指令。如启动计数器1的指令为 “TR1=1;”
第5章 MCS - 51单片机内部定时/计数器
✓最大计数值
方式0 13 位计数器 方式1 16 位计数器 方式2 8位计数器 方式3 8位计数器
计数器
♪ 计数脉冲周期不固定。 ♪ 最高计数脉冲频率为时钟频率的1/24 。
第5章 MCS - 51单片机内部定时/计数器
5.2 方式和控制寄存器
一、 定时器/计数器的工作方式寄存器TMOD
D7 D6 D5 D4 D3 D2 D1 D0 GATE C/T M1 M0 GATE C/T M1 M0
控制T1 M1 M0—工作方式选择位