5380c51的定时计数器 实现定时功能,比较方便的办法是利用单 片机内部的定时计数器。也可以采用下面三 种方法: 软件定时:软件定时不占用硬件资源,但占用了 cPU时间,降低了CPU的利用率。 采用时基电路定时:例如采用55电路,外接必要 的元器件(电阻和电容),即可构成硬件定时电路。 但在硬件连接好以后,n定时值与定时范围不能由软 件进行控制和修改,即不可编程。 采用可编程芯片定时:这种定时芯片的定时值及 定时范围很容易用软件来确定和修改,此种芯片定 时功能强,使用灵活。在单片机的定时计数器不够 用时,可以考虑进行扩展
5.3 80C51的定时/计数器 实现定时功能,比较方便的办法是利用单 片机内部的定时/计数器。也可以采用下面三 种方法: ❖软件定时:软件定时不占用硬件资源,但占用了 CPU时间,降低了CPU的利用率。 ❖采用时基电路定时:例如采用555电路,外接必要 的元器件(电阻和电容),即可构成硬件定时电路。 但在硬件连接好以后,定时值与定时范围不能由软 件进行控制和修改,即不可编程。 ❖采用可编程芯片定时:这种定时芯片的定时值及 定时范围很容易用软件来确定和修改,此种芯片定 时功能强,使用灵活。在单片机的定时/计数器不够 用时,可以考虑进行扩展
5.3.1定时/计数器的结构和工作原理 定时/计数器的结构 定时/计数器的实质是加1计数器(16位),由高8位和低8 位两个寄存器组成。TMoD是定时计数器的工作方式寄存 器,确定工作方式和功能;TCON是控制寄存器,控制T0、 T1的启动和停止及设置溢出标志。 T1引脚 T0引脚 机器周 期脉冲 TLI THO TLO 内部总线 TCON|孟 司口 三TMOD 外部中断相关位 T1方式T0方式
5.3.1 定时/计数器的结构和工作原理 一、定时/计数器的结构 定时/计数器的实质是加1计数器(16位),由高8位和低8 位两个寄存器组成。TMOD是定时/计数器的工作方式寄存 器,确定工作方式和功能;TCON是控制寄存器,控制T0、 T1的启动和停止及设置溢出标志。 GATE C/T M1 M0 GATE C/T M1 M0 TH1 TL1 TH0 TL0 T1方式 T0方式 T1引脚 T0引脚 机器周 期脉冲 内部总线 TMOD TCON 外部中断相关位 TF1 TR1 TF0 TR0
二、定时/计数器的工作原理 加1计数器输入的计数脉冲有两个来源,一个是由 系统的时钟振荡器输出脉冲经12分频后送来;一个 是T0或T1引脚输入的外部脉冲源。每来一个脉冲 计数器加1,当加到计数器为全1时,再输入一个脉 冲就使计数器回零,且计数器的溢出使TcON中 TF0或TF1置1,向cPU发出中断请求(定时计数 器中断允许时)。如果定时计数器工作于定时模 式,则表示定时时间已到;如果工作于计数模式, 则表示计数值已满。 可见,由溢出时计数器的值减去计数初值才是加 1计数器的计数值
二、定时/计数器的工作原理 加1计数器输入的计数脉冲有两个来源,一个是由 系统的时钟振荡器输出脉冲经12分频后送来;一个 是T0或T1引脚输入的外部脉冲源。每来一个脉冲 计数器加1,当加到计数器为全1时,再输入一个脉 冲就使计数器回零,且计数器的溢出使TCON中 TF0或TF1置1,向CPU发出中断请求(定时/计数 器中断允许时)。如果定时/计数器工作于定时模 式,则表示定时时间已到;如果工作于计数模式, 则表示计数值已满。 可见,由溢出时计数器的值减去计数初值才是加 1计数器的计数值
设置为定时器模式时,加1计数器是对内部机器周期 计数(1个机器周期等于12个振荡周期,即计数频率 为晶振频率的112)。计数值N乘以机器周期Tcy就 是定时时间t。 冷设置为计数器模式时,外部事件计数脉冲由T0或T1 引脚输入到计数器。在每个机器周期的S5P2期间采 样T0、T1引脚电平。当某周期采样到一高电平输入, 而下一周期又采样到一低电平时,则计数器加1,更 新的计数值在下一个机器周期的S3P1期间装入计数 器。由于检测一个从1到0的下降沿需要2个机器周期, 因此要求被采样的电平至少要维持一个机器周期。当 晶振频率为12MHz时,最高计数频率不超过12MHz, 即计数脉冲的周期要大于2ps
❖设置为定时器模式时,加1计数器是对内部机器周期 计数(1个机器周期等于12个振荡周期,即计数频率 为晶振频率的1/12)。计数值N乘以机器周期Tcy就 是定时时间t 。 ❖设置为计数器模式时,外部事件计数脉冲由T0或T1 引脚输入到计数器。在每个机器周期的S5P2期间采 样T0、T1引脚电平。当某周期采样到一高电平输入, 而下一周期又采样到一低电平时,则计数器加1,更 新的计数值在下一个机器周期的S3P1期间装入计数 器。由于检测一个从1到0的下降沿需要2个机器周期, 因此要求被采样的电平至少要维持一个机器周期。当 晶振频率为12MHz时,最高计数频率不超过1/2MHz, 即计数脉冲的周期要大于2 s
532定时/计数器的控制 80c51单片机定时计数器的工作由两个特殊功 能寄存器控制。TMoD用于设置其工作方式; TcON用于控制其启动和中断申请。 、工作方式寄存器TMoD 工作方式寄存器TMOD用于设置定时计数器的 工作方式,低四位用于T0,高四位用于T1。其格式 如下: 位。7 字节地址:89H1GATE| CIT MI. MO GATE C/ MO-I TMOD
5.3.2 定时/计数器的控制 80C51单片机定时/计数器的工作由两个特殊功 能寄存器控制。TMOD用于设置其工作方式; TCON用于控制其启动和中断申请。 一、工作方式寄存器TMOD 工作方式寄存器TMOD用于设置定时/计数器的 工作方式,低四位用于T0,高四位用于T1。其格式 如下:
GATE:门控位。GATE=0时,只要用软件使TcON中的 TR0或TR1为1,就可以启动定时计数器工作;GATA=1时 要用软件使TR0或TR1为1,同时外部中断引脚或也为高电 平时,才能启动定时/计数器工作。即此时定时器的启动条 件,加上了或引脚为高电平这一条件。 :定时/计数模式选择位。==0为定时模式;=1 另数模式。 C/T C/T MM0:工作方式设置位。定时/计数器有四种工作方式, 由M1M0进行设置。 定时/计数器工作方式设置表 MO工作方式 明 004 方式013位定时数器 「04方式116位定时汁计数器 104 方式28位自动重装定时/数器 匚1:方式3m分成两个浊立的8位症时什数器,n此方式停止计数 以K
GATE:门控位。GATE=0时,只要用软件使TCON中的 TR0或TR1为1,就可以启动定时/计数器工作;GATA=1时, 要用软件使TR0或TR1为1,同时外部中断引脚或也为高电 平时,才能启动定时/计数器工作。即此时定时器的启动条 件,加上了或引脚为高电平这一条件。 :定时/计数模式选择位。 =0为定时模式; =1 为计数模式。 M1M0:工作方式设置位。定时/计数器有四种工作方式, 由M1M0进行设置。 C/T C/T C/T
二、控制寄存器TcON TcON的低4位用于控制外部中断已在前面介绍。TCON的高4位用于 控制定时计数器的启动和中断申请。其格式如下: 位 65 字节地址:8H-|TF1| TR1 TF0TRo。。 TONA TF1(TcON7):T1溢出中断请求标志位。T1计数溢出时由硬件自 动置TF1为1。cPU响应中断后TF1由硬件自动清0。T工作时,cPU 可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可 以用软件置1或清0,同硬件置1或清0的效果一样。 TR1(TCON6):T1运行控制位。TR1置1时,T1开始工作;TR1置 0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/ 计数器的启动与停止。 TF0(TCON5):T0溢出中断请求标志位,其功能与TF1类同。 TR0(TCON4):T0运行控制位,其功能与TR1类同
二、控制寄存器TCON TCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于 控制定时/计数器的启动和中断申请。其格式如下: ❖TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自 动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU 可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可 以用软件置1或清0,同硬件置1或清0的效果一样。 ❖TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作;TR1置 0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/ 计数器的启动与停止。 ❖TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。 ❖TR0(TCON.4):T0运行控制位,其功能与TR1类同
533定时计数器的工作方式 方式0 方式0为13位计数,由TL0的低5位(高3位未用)和TH0 的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时, 置位TcON中的TF0标志,向cPU发出中断请求。 TCON TMOD TF1 D7 T0引脚 申请 0M0D0 中断 TRI 溢出 TFO THO LOK C/T TRO 8位5位 & 机器周期 GATE C/T INTO引脚 GATE D7
5.3.3 定时/计数器的工作方式 一、方式0 方式0为13位计数,由TL0的低5位(高3位未用)和TH0 的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时, 置位TCON中的TF0标志,向CPU发出中断请求。 TF1 TR1 TF0 TR0 GATE C/T M1 M0 GATE C/T M1 M0 1 & ≥1 1 0 T0引脚 INT0引脚 0 0 机器周期 TH0 TL0 8位 5位 溢出 TCON TMOD D0 D7 D7 申请 D0 中断 1
定时器模式时有:N=tTcy 计数初值计算的公式为:X=213N 定时器的初值还可以采用计数个数直接取补法获得 计数模式时,计数脉冲是T0引脚上的外部脉冲。 门控位GATE具有特殊的作用。当GATE=0时,经反相后使 或门输出为1,此时仅由TR0控制与门的开启,与门输出1 时,控制开关接通,计数开始;当GATE=1时,由外中断引 脚信号控制或门的输出,此时控制与门的开启由外中断引 脚信号和TR0共同控制。当TR0=时,外中断引脚信号引脚 的高电平启动计数,外中断引脚信号引脚的低电平停止计 数。这种方式常用来测量外中断引脚上正脉冲的宽度
定时器模式时有:N=t/ Tcy 计数初值计算的公式为: 定时器的初值还可以采用计数个数直接取补法获得。 计数模式时,计数脉冲是T0引脚上的外部脉冲。 13 X=2 -N 门控位GATE具有特殊的作用。当GATE=0时,经反相后使 或门输出为1,此时仅由TR0控制与门的开启,与门输出1 时,控制开关接通,计数开始;当GATE=1时,由外中断引 脚信号控制或门的输出,此时控制与门的开启由外中断引 脚信号和TR0共同控制。当TR0=1时,外中断引脚信号引脚 的高电平启动计数,外中断引脚信号引脚的低电平停止计 数。这种方式常用来测量外中断引脚上正脉冲的宽度
二、方式1 方式1的计数位数是16位,由TL0作为低8位、TH0 作为高8位,组成了16位加1计数器。 TCON TMOD F1D7 T0引脚 申请 TRI 中断 溢出 TFO THO TLO TRO 8位8位 机器周期 GATE MO MI C/T INTO引脚 GATE D7 计数个数与计数初值的关系为:X=216N
16 X=2 -N 二、方式1 方式1的计数位数是16位,由TL0作为低8位、TH0 作为高8位,组成了16位加1计数器 。 TF1 TR1 TF0 TR0 GATE C/T M1 M0 GATE C/T M1 M0 1 & ≥1 1 0 T0引脚 INT0引脚 1 0 机器周期 TH0 TL0 8位 8位 溢出 TCON TMOD D0 D7 D7 申请 D0 中断 计数个数与计数初值的关系为: