s7-1定时器工作原理资料课件

上传人:风*** 文档编号:240638545 上传时间:2024-04-26 格式:PPT 页数:31 大小:12.50MB
返回 下载 相关 举报
s7-1定时器工作原理资料课件_第1页
第1页 / 共31页
s7-1定时器工作原理资料课件_第2页
第2页 / 共31页
s7-1定时器工作原理资料课件_第3页
第3页 / 共31页
点击查看更多>>
资源描述
定时定时/计数器计数器(Timer/Counter)定时计数的概念-一个定时/计数的形象实例假假如如有有一一个个水水容容器器1000滴水刚好装满滴水刚好装满初始时已经装入初始时已经装入500滴水滴水问:还需滴入多少滴水才能将其问:还需滴入多少滴水才能将其 装满?装满?答:还需滴入答:还需滴入500滴水才能将其滴水才能将其 装满,装满,501滴溢出。滴溢出。答:还需答:还需500秒时间才能将其装秒时间才能将其装满,满,501秒溢出。秒溢出。问:如果每秒滴入问:如果每秒滴入1滴水,还需多滴水,还需多 长时间才能将其装满?长时间才能将其装满?这就是这就是“计数计数”这就是这就是“定时定时”这就是这就是“计数初值计数初值”目目 录录1基本原理基本原理 2相关寄存器相关寄存器 3定时器定时器/计数器模式计数器模式 触发器触发器1 触发器触发器2 触发器触发器n 触发器触发器n+1 定时器/计数器的原理时钟源时钟源 在在数字电路数字电路中,学习了触发器构成计数器的原理,定时中,学习了触发器构成计数器的原理,定时/计数器实质是计数器实质是由一系列时钟源驱动的由一系列时钟源驱动的触发器触发器构成。构成。Fclk/21 Fclk/22 Fclk/2n Fclk 第第n级触发器输出时钟频率是级触发器输出时钟频率是第第1级触发器输入时钟的级触发器输入时钟的 1/2n 1111111111111111可以使用软件查询其状态,可以使用软件查询其状态,可以设置当其由可以设置当其由0变为变为1时触发中断时触发中断016位定时器位定时器/计数器计数器 溢出标志溢出标志 1再来一个时再来一个时钟脉冲钟脉冲 当定时器的值当定时器的值为为0 xFFFF时时 标志位标志位置位置位 定时器定时器清清0 0000000000000000定时器/计数器应用定时器定时器/计数器可以用于定时、计数和波特率发生器。计数器可以用于定时、计数和波特率发生器。定时器(模式)可用于测量事件之定时器(模式)可用于测量事件之间的时间间隔,如脉冲宽度。间的时间间隔,如脉冲宽度。123计数器(模式)可用于测定某个事计数器(模式)可用于测定某个事件发生的次数,如脉冲个数。件发生的次数,如脉冲个数。定时器(模式)还可以给串行端口定时器(模式)还可以给串行端口提供波特率时钟信号。提供波特率时钟信号。?UART?个正脉冲 51单片机的定时器/计数器标准标准8051 16位定时器位定时器/计数器计数器0 16位定时器位定时器/计数器计数器1 P89V51RB2 16位定时器位定时器/计数器计数器0 16位定时器位定时器/计数器计数器1 16位定时器位定时器/计数器计数器2 看门狗定时器看门狗定时器 标准的标准的80C51有有2个个16位定时器位定时器/计数器计数器0和和1,P89V51RB2在此之上增加了在此之上增加了16位定时器位定时器/计数器计数器2,以及看门狗定时器。,以及看门狗定时器。本小节讲述本小节讲述 读者参考数据读者参考数据手册自行学习手册自行学习 与定时器与定时器/计数器计数器0相相同,不讲述同,不讲述 定时器与计数器标准标准80C51 外部外部T0/T1功能功能引脚的时钟源引脚的时钟源 定时器定时器/计数器计数器 内部内部时钟源时钟源 计数周期未知,计数周期未知,甚至不具有周期性甚至不具有周期性 计数周期固定为计数周期固定为一个机器周期一个机器周期 当选择外部引脚时钟源,称作计数器当选择外部引脚时钟源,称作计数器 当选择内部时钟源(默认)时,称作定时器当选择内部时钟源(默认)时,称作定时器 计数器功能注意事项在实现在实现“计数器计数器”功能时,计数器在每个机器周期对外部管脚采样一次,功能时,计数器在每个机器周期对外部管脚采样一次,现假设计数器现假设计数器0对下降沿计数。对下降沿计数。1个机器周期个机器周期 机器时钟机器时钟 T0外部引脚外部引脚 情况情况1:正常检测:正常检测 情况情况2:漏检:漏检 T0外部引脚外部引脚 T1时检测到高电平时检测到高电平 计数管脚的计数高计数管脚的计数高/低脉冲宽度必须低脉冲宽度必须至少至少保持一个机器周期保持一个机器周期,否则就有可能漏检。,否则就有可能漏检。!T2T0T1T3T4判断为无下降沿,判断为无下降沿,即漏检即漏检 T2时检测到低电平时检测到低电平 判断为下降沿判断为下降沿 T2时检测到高电平时检测到高电平 T1时检测到高电平时检测到高电平 以上寄存器均为SFR中单元结构结构结构结构2 2个个个个1616位位位位T/CT/C分别由分别由分别由分别由8 8位计数器位计数器位计数器位计数器TH0TH0、TL0TL0、TH1TH1、TL1TL1组成组成组成组成加加加加“1 1 1 1”计计计计数器数器数器数器控制寄存器控制寄存器控制寄存器控制寄存器TCONTCON:控制控制控制控制T0T0、T1T1的启停、中断等的启停、中断等的启停、中断等的启停、中断等方式寄存器方式寄存器方式寄存器方式寄存器TMODTMOD:控制控制控制控制T0T0T0T0、T1T1T1T1 的工作方式的工作方式的工作方式的工作方式T0T0T1 T1 AT89C52定时/计数器结构1 1个个个个1616位位位位T/CT/C分别由分别由分别由分别由8 8位计数器位计数器位计数器位计数器TH2TH2、TL2TL2 组成组成组成组成加加加加/减减减减/“1 1 1 1”计数器计数器计数器计数器T2CONT2CON、T2MODT2MODT2MODT2MOD :控制:控制:控制:控制T2T2的启停、中断及的启停、中断及的启停、中断及的启停、中断及工作方式工作方式工作方式工作方式等等等等功能选择12 TL0、TH0 串行口串行口时钟时钟 TF0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TCON(88H)T1模式模式2 中断中断 OSC T0 INT00 1 C/T=0 TMOD(89H)T1 T0 GATE M1 M0 GATE M1 M0 C/T C/T P3.4 P3.2C/T=1时,对外部引脚输入脉冲计数,用做计数器时,对外部引脚输入脉冲计数,用做计数器 C/T=0时(时(默认默认),对内部时钟计数,用做定时器),对内部时钟计数,用做定时器 G3 G2 G1 1 0 C/T:功能选择位。:功能选择位。计数器启停控制01 0 1 1 GATE=0时,时,GATE=1时,时,12 TL0、TH0 串行口串行口时钟时钟 TF0 TF1TF0IE1IT1IE0IT0TR1TR0TCON(88H)T1模式模式2 中断中断 OSC T0 INT0 0 1 1 C/T=0 TMOD(89H)T1 T0 M1 M0 M1 M0 C/T C/T GATE GATE P3.4 P3.2 G3 G2 G1 0 GATE:门控位;:门控位;TRx :启停控制位。:启停控制位。G2输出为输出为1,INT0引脚不控制计数器的启停,由引脚不控制计数器的启停,由TR0单独控制单独控制 G2输出为输出为INT0状态,状态,INT0引脚和引脚和TR0共同控制计数器的启停共同控制计数器的启停 INT0 举例:测量脉冲宽度此时模型可简化为:此时模型可简化为:12MHz 1 0 1 12 TL0、TH0 串行口串行口时钟时钟 TF0 TF1 TF0 IE1 IT1 IE0 IT0 TR1 TR0 TCON(88H)T1模式模式2 中断中断 OSC T0 INT0 0 1 1 C/T=0 TMOD(89H)T1 T0 M1 M0 M1 M0 C/T C/T GATE GATE P3.4 P3.2 G3 G2 G1 0 INT0 TR0=1,GATE=1,T0设置为模式设置为模式1,即,即16位定时器模式,位定时器模式,TL0/TH0=0 x0000,且外部晶振且外部晶振12MHz,当当C/T=0,G1输出为输出为INT0状态,状态,INT0单独控制计数器启停。单独控制计数器启停。INT0 举例:测量脉冲宽度TL0、TH0 0 1 时钟源时钟源1MHz P3.2 INT0 开始计数开始计数 停止计数停止计数 16位的寄存器值位的寄存器值(以(以us为单位)为单位)脉冲脉冲 宽度宽度 时钟周期时钟周期1us 模式控制M0和和M1决定决定T0/1的模式,共的模式,共4种种:为模式为模式0、1和和2时:仅仅是时:仅仅是THx和和TLx组合方式不同;组合方式不同;为模式为模式3时时 :T0/1在结构上有所不同。在结构上有所不同。12 TL0、TH0 串行口串行口时钟时钟 TF0 TF1 TF0 IE1 IT1 IE0 IT0 TR1 TR0 TCON(88H)T1模式模式2 中断中断 OSC T0 INT0 0 1 1 C/T=0 TMOD(89H)T1 T0 C/T C/T GATE GATE M1 M0 M1 M0 P3.4 P3.2 G3 G2 G1 0 溢出标志 TFx是计数器溢出标志,同时也是中断请求标志;是计数器溢出标志,同时也是中断请求标志;在进入中断时由硬件清除,也可用软件清除。在进入中断时由硬件清除,也可用软件清除。12 TL0、TH0 串行口串行口时钟时钟 TF0 IE1 IT1 IE0 IT0 TR1 TR0 TF1 TF0 TCON(88H)T1模式模式2中断中断 OSC T0 INT00 1 1 C/T=0 TMOD(89H)T1 T0 C/T C/T GATE GATE M1 M0 M1 M0 P3.4 P3.2G3 G2 G1 0 目目 录录1基本原理基本原理 2相关寄存器相关寄存器 3定时器定时器/计数器模式计数器模式 模式寄存器TMOD功能说明Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 位号位号 位名位名 GATE M1 M0 GATE M1 M0 T1 T0 设置设置INT0是否参与是否参与T0的启停的启停0:禁止:禁止 1:使能:使能 选择选择T0的功能的功能0:定时器功能:定时器功能 1:计数器功能:计数器功能 T0模式选择模式选择高、低位高、低位 00:模式:模式001:模式:模式110:模式:模式211:模式:模式3 功能与低功能与低4位相同,但用于设置位相同,但用于设置T1 地址:地址:89H(不能被(不能被8整除,也即不能被位寻址),复位值:整除,也即不能被位寻址),复位值:0 x00 模式寄存器TMOD设置举例现需要设置现需要设置T0具有以下功能:具有以下功能:选择模式选择模式1 选择定时器功能选择定时器功能 INT0引脚不参与启停控制引脚不参与启停控制 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 位号位号 位名位名 GATE M1 M0 GATE M1 M0 1 0 0 1 MOV 0 x89,#05H 或或 MOV TMOD,#05H 0 x05 设置的汇编指令是:设置的汇编指令是:如何设置如何设置TMOD?控制寄存器TCON功能说明Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 位号位号 位名位名 TF1 TF0 TR0 IE1 TR1 IE0 IT0 IT1 T1 外部中断外部中断 T0 定时器定时器/计数器计数器0运行启停位运行启停位0:T0停止停止 1:T0启动启动 定时器定时器/计数器计数器0溢出标志。溢出标志。计数溢出时由硬件置位,计数溢出时由硬件置位,中断响应时由硬件清零中断响应时由硬件清零0:T0未溢出未溢出 1:T0溢出溢出 与与TR0原理相同原理相同 与与TF0原理相同原理相同 TCON的复位值:的复位值:0 x00,地址:,地址:88H(可被(可被8整除,可以进行按位寻址)整除,可以进行按位寻址)设置举例:设置举例:SETB TR0 或或 SETB 0 x8C ;启动启动T0计数计数 CLR TR0 或或 CLR 0 x8C ;停止停止T0计数计数 TLx和THx(x=0或1)THx(高(高8位)和位)和TLx(低(低8位):位):描述描述 复位值复位值名称名称 地址地址定时器定时器/计数器计数器0低低8位位 00H TL0 8AH 定时器定时器/计数器计数器1低低8位位 00H TL1 8BH 定时器定时器/计数器计数器0高高8位位 00H TH0 8CH 定时器定时器/计数器计数器1高高8位位 00H TH1 8DH 按照按照M1和和M0的值组成加法定时的值组成加法定时/计数器;计数器;对时钟源脉冲进行计数,在时钟源的下降沿时计数器加对时钟源脉冲进行计数,在时钟源的下降沿时计数器加1;计满时,在下一个脉冲下降沿清零,并产生溢出,计满时,在下一个脉冲下降沿清零,并产生溢出,TFx置位。置位。目目 录录1基本原理基本原理 2相关寄存器相关寄存器 3定时器定时器/计数器模式计数器模式 定时/计数器模式0当当M1M0=00时,定时时,定时/计数器工作于模式计数器工作于模式0,使用,使用TLx的低的低5位和位和THx构成构成13位的加法计数器。位的加法计数器。13位加法计数器,最大计数值为:位加法计数器,最大计数值为:0 x1FFF,当计数到达,当计数到达0 x1FFF时,在下一个时,在下一个脉冲下降沿时刻清零,并置位脉冲下降沿时刻清零,并置位TFx。THx TLx b0 b7 b8 b15 b4 12 中断中断 OSC Tx INTx 0 1 C/T=0 GATE TRx TFx TLx低低5位位 THx 定时器设置举例假设:假设:定时器设置为模式定时器设置为模式0 禁止禁止INT0引脚控制引脚控制 外部晶振频率外部晶振频率11.0592MHz 12 外部晶振外部晶振11.0592MH TRx 计数器计数值计数器计数值 计数器初值计数器初值 THx TLx b0 b15 0 0 01 1 0 0 0 1 1 10 1 1 0 0问:问:要定时要定时1ms(1000us),如),如 何设置何设置TL0和和TH0的初值?的初值?b0 b12 922=213 -922 =8192 -922 =7270 =1C66H =1000us (12 /11.0592)us 先按位先按位“与与”清除低清除低4位位 TMOD&=0 xF0 再按位再按位“或或”修改低修改低4位位 TMOD|=0 x01 x x 0 1 0 0 0 1TMOD 直接赋值直接赋值 TMOD=0 x01 0 0 0 0 0 0 0 1TMOD 写寄存器注意事项假设:假设:T1正在工作中,处于模式正在工作中,处于模式1,现在需要设置,现在需要设置T0为模式为模式1 x x 0 1 x x x xTMOD初始状态初始状态 T1的模式控制位被的模式控制位被无意修改无意修改 T1的模式控制位的模式控制位不会被修改不会被修改 定时/计数器模式1当当M1M0=01时,定时时,定时/计数器工作于模式计数器工作于模式1,使用,使用TLx和和THx构成构成16位的加法计数器。位的加法计数器。16位加法计数器,最大计数值为:位加法计数器,最大计数值为:0 xFFFF,当计数到达,当计数到达0 xFFFF时,在下一个脉冲时,在下一个脉冲下降沿时刻清零,并置位下降沿时刻清零,并置位TFx。THxTLxb0b7b8b1512 中断中断 OSC TxINTx0 1 C/T=0 GATETRxTFx TLx THx 修正定时器溢出不同步由于中断响应时间会因不同的情况在由于中断响应时间会因不同的情况在38个机器周期内变化,导致相邻两个机器周期内变化,导致相邻两次定时器溢出中断不同步。次定时器溢出中断不同步。定时器溢出,定时器溢出,申请中断申请中断中断响应时间,中断响应时间,38个机器周期个机器周期中断处理中断处理时间时间TLx清清0停止定时器停止定时器TLx从清从清0后到停止定时器时的计数值,记为后到停止定时器时的计数值,记为N为了获得更高的定时精度,将为了获得更高的定时精度,将N叠加到计数初始值上。叠加到计数初始值上。修正重载值假设假设T0工作在模式工作在模式1,fosc =12 MHz,循环定时器周期为,循环定时器周期为1ms,则计数初始值,则计数初始值机器周期机器周期 CLR EA ;CLR EA ;禁止禁止CPUCPU中断中断 CLR TR0 ;CLR TR0 ;停止停止T0T0计数计数 1 MOV A,0 x1F ;1 MOV A,0 x1F ;将指令运行补偿后的初值低位送到将指令运行补偿后的初值低位送到A A 1 ADD A,TL0 ;1 ADD A,TL0 ;低位初值响应误差补偿低位初值响应误差补偿 1 MOV TL0,A 1 MOV TL0,A 1 MOV A,0 xFC ;1 MOV A,0 xFC ;将指令运行补偿后的初值高位送到将指令运行补偿后的初值高位送到A A 1 ADDC A,TH0 ;1 ADDC A,TH0 ;计数初值高位计算计数初值高位计算 1 MOV TH0,A ;1 MOV TH0,A ;装入计数初值高位装入计数初值高位 1 SETB TR0 ;1 SETB TR0 ;重新启动计数重新启动计数m=216 -12106 110-3 /12=64536=0 xFC18 假设假设T0的的ISR是:是:重载初始值时,还需要加上从重载初始值时,还需要加上从“CLR TR0”“SETB TR0”之间的之间的7个机器周期个机器周期0 xFC18 7 0 xFC1F 定时/计数器模式2当当M1M0=10时,定时时,定时/计数器工作于模式计数器工作于模式2,使用,使用TLx和和THx构成构成8位位的自动重装载加法计数器的自动重装载加法计数器。12中断中断OSCTxINTx01C/T=0GATETRxTFxTLxTHx串行口串行口TCLK或或RCLKT1串行口串行口TCLK或或RCLKTHxTLxb0b7TLx溢出时,溢出时,THx的值将自动装载的值将自动装载到到TLx中,中,THx的值需要软件预设的值需要软件预设定时/计数器模式3当当M1M0=11时,定时时,定时/计数器工作于模式计数器工作于模式3,使用,使用TLx和和THx拆成拆成两个两个独立的独立的8位加法计数器位加法计数器。TH0TL0b0b712 中断中断OSCTxINTx01C/T=0GATETR0TF0TL0TH0中断中断TF1TR1TH0使用了使用了 T1的启停控制位的启停控制位TR1 T1溢出标志位溢出标志位TF1 CPU时钟时钟因此,只能作为因此,只能作为定时器定时器TL0沿用了沿用了T0的的全部模式和控制位全部模式和控制位软件延时精确度分析运行其他程序运行其他程序占用的时间占用的时间运行其他程序运行其他程序占用的时间占用的时间delay100us(n)的时间的时间软件延时软件延时时间精确度较低时间精确度较低如果发生中断,则延时过程中多出了中断如果发生中断,则延时过程中多出了中断的处理时间,的处理时间,延时时间精确度得不到保证延时时间精确度得不到保证在时间精度要求较高的场合在时间精度要求较高的场合中,需要使用定时器延时中,需要使用定时器延时软件扩展定时器80C51有两个有两个8/16位定时位定时/计数器,假设采用计数器,假设采用11.0592MHz的晶振,并设置定时器模的晶振,并设置定时器模式为式为16位定时器模式,那么位定时器模式,那么通过软件模拟成为通过软件模拟成为更多位数的定时器更多位数的定时器最长延时最长延时=(65536 (11 059 200 12)s 88.89 ms多数情况下多数情况下不能满足要求不能满足要求如何加大如何加大延时时间延时时间答案答案定时器定时器0/1软件变量软件变量定时器每溢出一次,定时器每溢出一次,软件变量值增加软件变量值增加1
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!