《单片机原理及应用》教学课件 第5章 定时器/计数器及应用.pptVIP

  • 18
  • 0
  • 约2.12千字
  • 约 18页
  • 2021-06-26 发布于湖北
  • 举报

《单片机原理及应用》教学课件 第5章 定时器/计数器及应用.ppt

单片机原理及应用技术;第5章 定时器/计数器及应用;5.1 定时器/计数器结构和工作原理 5.1.1 定时器/计数器结构 8051单片机包含两个16位的定时/计数器,分别为定时/计数器0(T0),定时/计数器1(T1),其结构如图5-1所示。;5.1.2 定时器/计数器的工作原理 在图5-1中我们看到,定时/计数器有两个输入脉冲,一个是内部机器周期脉冲,一个是T0或T1引脚输入的外部脉冲。 工作在定时器模式时,是对内部机器周期脉冲进行计数,定时时间为机器周期脉冲的时间乘以机器周期数;工作在计数器模式时,是对引脚T0()或T1()上输入的外部脉冲计数,当检测到引脚上的信号由高电平跳变到低电平时,计数器加1。 无论处在定时模式或者计数模式,其本质只是一个加1计数器,每输入一个脉冲,计数器加1。当计数器全部为1后,若还有脉冲输入,此时计数器将产生溢出(计数器中的值为0),向CPU发出中断请求(内部中断)。 ;5.2 定时器/计数器相关寄存器 与第四章的中断控制寄存器功能相似,模式控制寄存器TMOD和控制寄存器TCON用来控制实现定时/计数器的多种功能。 5.2.1 模式控制寄存器TMOD 模式控制寄存器TMOD的位名称以及功能如表5-1所示,高四位控制T1,低四位控制T0。需要注意的是TMOD不能进行位寻址。 5.2.2 控制寄存器TCON 控制寄存器TCON如表5-3所示,TCON的低四位在项目四中已经进行了讲述,这里只对高四位进行解释。 ;表5-2 定时/计数器的四种工作方式;表5-3 TCON的结构、位名称、位地址以及功能;5.3 定时器/计数器的四种工作方式及应用 在前面的学习中,我们已经知道通过设置TMOD的M1、M0两位,可以选择定时/计数器的四种工作方式。 5.3.1 工作方式0及应用 当M1M0=00时,T0采用方式0工作,如图5-2所示,此时T0是一个由TL0的低5位和TH0的8位构成的13位计数器(注:TL0的高3位未用)。 ;图5-2 定时/计数器T0工作方式0的原理图; 【例5-1】利用T0方式0定时由输出频率为500Hz的方波信号,晶振为12MHz。 分析如下: 已知信号的频率为500Hz,则周期为2ms,由于输出的是方波信号,定时时间为半个周期,即1000us。 则 定时初值=213-t/T机器=8192-1000/1=7192 TH0= 7192/32=0xe0 TL0= 7192%32=0x18 c语言的源程序如下: ;5.3.2 工作方式1及应用 当M1M0=01时,T0采用方式1工作,如图5-3所示,此时T0是TL0和TH0构成16位的定时/计数器,最大计数值为216=65536,其他特性和方式0相似。 ; 【例5-2】利用定时器0产生10Hz的方波,由口输出,设晶振频率为12MHz。 分析如下: 频率为10Hz的方波,周期为100ms,定时时间为50ms,12MHz晶振的机器周期为1us。 T0初值=216-t/T机器=65536-50000/1=55536=0x3cb0 则TH0=0x3c,TL0=0xb0 C语言的源程序如下: ;5.3.3 工作方式2及应用 当M1M0=10时,T0采用方式2工作,如图5-4所示,此时T0是一个8位自动重装定时/计数器,低8位TL0用作计数(最大计数值为28=256),高8位TH0用于保存计数初值。若TL0计数已满发生溢出,TF0置“1”的同时,TH0中的初值将自动装入TL0。 ;5.3.4 工作方式3及应用 当M1M0=11时,T0采用方式3工作,如图5-6所示,在这种工作方式下,T0被拆成两个独立的定时/计数器来用。其中,TL0使用T0原有的资源,可以作为8位定时/计数器;TH0使用T1的TR1和TF1,只能对内部脉冲计数,作为定时器使用。? ;5.4 定时器/计数器综合应用实例 【例5-5】编写定时器T0产生1秒的定时程序,通过口输出高、低电平均为1s的方波(假设单片机采用12MHz的晶振)。 分析如下: 12MHz的晶振,机器周期为1us,各种工作方式直接定时的最大定时时间分别为: 方式0:213= 方式1:216=65536us= 方式2

文档评论(0)

1亿VIP精品文档

相关文档