(精品)单片机定时器.ppt
第6章 定时器/计数器 教学目的 了解定时器了解定时器了解定时器了解定时器/计数器的结构与工作原理。计数器的结构与工作原理。计数器的结构与工作原理。计数器的结构与工作原理。掌握定时器掌握定时器掌握定时器掌握定时器/计数器的四种工作方式的特点及应用。计数器的四种工作方式的特点及应用。计数器的四种工作方式的特点及应用。计数器的四种工作方式的特点及应用。用定时器用定时器用定时器用定时器/计数器设计一个可产生一定频率方波的信号源。计数器设计一个可产生一定频率方波的信号源。计数器设计一个可产生一定频率方波的信号源。计数器设计一个可产生一定频率方波的信号源。用定时器用定时器用定时器用定时器/计数器设计一个脉冲宽度调制计数器设计一个脉冲宽度调制计数器设计一个脉冲宽度调制计数器设计一个脉冲宽度调制(PWM)(PWM)信号以控制直流电动机转速。信号以控制直流电动机转速。信号以控制直流电动机转速。信号以控制直流电动机转速。用定时器用定时器用定时器用定时器/计数器设计一个用于流水生产线上的产品自动计数器。计数器设计一个用于流水生产线上的产品自动计数器。计数器设计一个用于流水生产线上的产品自动计数器。计数器设计一个用于流水生产线上的产品自动计数器。用定时器用定时器用定时器用定时器/计数器设计一个测量电平脉冲宽度的程序。计数器设计一个测量电平脉冲宽度的程序。计数器设计一个测量电平脉冲宽度的程序。计数器设计一个测量电平脉冲宽度的程序。用定时器用定时器用定时器用定时器/计数器设计一个电子音乐程序。计数器设计一个电子音乐程序。计数器设计一个电子音乐程序。计数器设计一个电子音乐程序。学习重点和难点学习重点和难点 定时器定时器定时器定时器/计数器的初始化。计数器的初始化。计数器的初始化。计数器的初始化。定时器定时器定时器定时器/计数器与中断的综合应用。计数器与中断的综合应用。计数器与中断的综合应用。计数器与中断的综合应用。第5章 定时器/计数器5.1 定时器/计数器的结构与原理 5.2 定时器/计数器的控制 5.3 定时器/计数器的四种工作方式及应用 本章小结习题 5.1 定时器/计数器的 结构与原理 5.1.1 定时器/计数器的结构 5.1.2 定时器/计数器的原理 5.1.3 定时器/计数器的功能 5.1.1 定时器/计数器的结构80518051单片机内部设有两个单片机内部设有两个单片机内部设有两个单片机内部设有两个1616位可编程定时器位可编程定时器位可编程定时器位可编程定时器/计数器,简计数器,简计数器,简计数器,简称为定时器称为定时器称为定时器称为定时器0(0(T0T0)和定时器和定时器和定时器和定时器1(1(T1T1)。1616位的定时器位的定时器位的定时器位的定时器/计数器分别由两个计数器分别由两个计数器分别由两个计数器分别由两个8 8位寄存器组成,即:位寄存器组成,即:位寄存器组成,即:位寄存器组成,即:T0T0由由由由TH0TH0和和和和TL0TL0构成,构成,构成,构成,T1T1由由由由TH1TH1和和和和TL1TL1构成。每个寄存器均构成。每个寄存器均构成。每个寄存器均构成。每个寄存器均可单独访问,这些寄存器是用于存放定时初值或计数初值可单独访问,这些寄存器是用于存放定时初值或计数初值可单独访问,这些寄存器是用于存放定时初值或计数初值可单独访问,这些寄存器是用于存放定时初值或计数初值的。的。的。的。有一个有一个有一个有一个8 8位的定时器方式寄存器位的定时器方式寄存器位的定时器方式寄存器位的定时器方式寄存器TMODTMOD和一个和一个和一个和一个8 8位的定时器位的定时器位的定时器位的定时器控制寄存器控制寄存器控制寄存器控制寄存器TCONTCON。这些寄存器之间是通过内部总线和控制。这些寄存器之间是通过内部总线和控制。这些寄存器之间是通过内部总线和控制。这些寄存器之间是通过内部总线和控制逻辑电路连接起来的,定时器逻辑电路连接起来的,定时器逻辑电路连接起来的,定时器逻辑电路连接起来的,定时器/计数器的工作方式、定时时计数器的工作方式、定时时计数器的工作方式、定时时计数器的工作方式、定时时间和启停控制通过由指令来确定这些寄存器的状态来实现。间和启停控制通过由指令来确定这些寄存器的状态来实现。间和启停控制通过由指令来确定这些寄存器的状态来实现。间和启停控制通过由指令来确定这些寄存器的状态来实现。TMODTMOD主要用于设定主要用于设定主要用于设定主要用于设定定时器的工作方式定时器的工作方式定时器的工作方式定时器的工作方式,TCONTCON主要用于控主要用于控主要用于控主要用于控制制制制定时器的启动与停止定时器的启动与停止定时器的启动与停止定时器的启动与停止,并保存,并保存,并保存,并保存T0T0、T1T1的的的的溢出和中断标志溢出和中断标志溢出和中断标志溢出和中断标志。5.1.1 定时器/计数器的结构 定时器定时器定时器定时器/计数器结构框图计数器结构框图计数器结构框图计数器结构框图 5.1.2 定时器/计数器的原理 1616位的定时器位的定时器位的定时器位的定时器/计数器实质上是一个加计数器实质上是一个加计数器实质上是一个加计数器实质上是一个加l l计数器,可实现计数器,可实现计数器,可实现计数器,可实现定定定定时时时时和和和和计数计数计数计数两种功能,其功能由软件控制和切换。定时器属硬两种功能,其功能由软件控制和切换。定时器属硬两种功能,其功能由软件控制和切换。定时器属硬两种功能,其功能由软件控制和切换。定时器属硬件定时和计数,是单片机中效率高而且工作灵活的部件。件定时和计数,是单片机中效率高而且工作灵活的部件。件定时和计数,是单片机中效率高而且工作灵活的部件。件定时和计数,是单片机中效率高而且工作灵活的部件。在定时器在定时器在定时器在定时器/计数器开始工作之前,计数器开始工作之前,计数器开始工作之前,计数器开始工作之前,CPUCPU必须将一些命令必须将一些命令必须将一些命令必须将一些命令(称称称称为控制字为控制字为控制字为控制字)写入定时器写入定时器写入定时器写入定时器/计数器。将控制字写入定时器计数器。将控制字写入定时器计数器。将控制字写入定时器计数器。将控制字写入定时器/计数计数计数计数器的过程叫器的过程叫器的过程叫器的过程叫定时器定时器定时器定时器/计数器的初始化计数器的初始化计数器的初始化计数器的初始化。在初始化程序中,要将在初始化程序中,要将在初始化程序中,要将在初始化程序中,要将工作方式控制字工作方式控制字工作方式控制字工作方式控制字写入定时器方式寄存写入定时器方式寄存写入定时器方式寄存写入定时器方式寄存器器器器(TMOD)(TMOD),工作状态控制字工作状态控制字工作状态控制字工作状态控制字(或相关位或相关位或相关位或相关位)写入定时器控制寄存写入定时器控制寄存写入定时器控制寄存写入定时器控制寄存器器器器(TCON)(TCON),赋,赋,赋,赋定时定时定时定时/计数初值计数初值计数初值计数初值给给给给TH0(TH1)TH0(TH1)和和和和TL0(TL1)TL0(TL1)。5.1.2 定时器/计数器的原理定时器定时器定时器定时器/计数器的定时功能。计数器的定时功能。计数器的定时功能。计数器的定时功能。l l计数器的加计数器的加计数器的加计数器的加1 1信号由振荡器的信号由振荡器的信号由振荡器的信号由振荡器的1212分频信号产生,即分频信号产生,即分频信号产生,即分频信号产生,即每过一每过一每过一每过一个机器周期,计数器加个机器周期,计数器加个机器周期,计数器加个机器周期,计数器加1 1,直至计满溢出。,直至计满溢出。,直至计满溢出。,直至计满溢出。l l定时器的定时时间与系统的时钟频率有关。因一个机器周定时器的定时时间与系统的时钟频率有关。因一个机器周定时器的定时时间与系统的时钟频率有关。因一个机器周定时器的定时时间与系统的时钟频率有关。因一个机器周期等于期等于期等于期等于1212个时钟周期,所以个时钟周期,所以个时钟周期,所以个时钟周期,所以计数频率应为系统时钟频率的计数频率应为系统时钟频率的计数频率应为系统时钟频率的计数频率应为系统时钟频率的十二分之一十二分之一十二分之一十二分之一。如果晶振频率为。如果晶振频率为。如果晶振频率为。如果晶振频率为12MHz12MHz,则机器周期为,则机器周期为,则机器周期为,则机器周期为1 1 s s。通过改变定时器的定时初值,并适当选择定时器的。通过改变定时器的定时初值,并适当选择定时器的。通过改变定时器的定时初值,并适当选择定时器的。通过改变定时器的定时初值,并适当选择定时器的长度长度长度长度(8(8位、位、位、位、1313位或位或位或位或1616位位位位),可以调整定时时间。,可以调整定时时间。,可以调整定时时间。,可以调整定时时间。5.1.2 定时器/计数器的原理定时器定时器定时器定时器/计数器的计数功能。计数器的计数功能。计数器的计数功能。计数器的计数功能。l l通过外部计数输入引脚通过外部计数输入引脚通过外部计数输入引脚通过外部计数输入引脚T0(P3.4)T0(P3.4)和和和和T1(P3.5)T1(P3.5)对外部信号对外部信号对外部信号对外部信号计数,外部脉冲的下降沿将触发计数。计数器在每个机器计数,外部脉冲的下降沿将触发计数。计数器在每个机器计数,外部脉冲的下降沿将触发计数。计数器在每个机器计数,外部脉冲的下降沿将触发计数。计数器在每个机器周期的周期的周期的周期的S5P2S5P2期间采样引脚输入电平,若一个机器周期期间采样引脚输入电平,若一个机器周期期间采样引脚输入电平,若一个机器周期期间采样引脚输入电平,若一个机器周期S5P2S5P2期间采样值为期间采样值为期间采样值为期间采样值为1 1,下一个机器周期,下一个机器周期,下一个机器周期,下一个机器周期S5P2S5P2期间采样值期间采样值期间采样值期间采样值为为为为0 0,则计数器加,则计数器加,则计数器加,则计数器加1 1,再下一个机器周期,再下一个机器周期,再下一个机器周期,再下一个机器周期S3P1S3P1期间,新的期间,新的期间,新的期间,新的计数值装入计数器。计数值装入计数器。计数值装入计数器。计数值装入计数器。l l因检测一个由因检测一个由因检测一个由因检测一个由1 1至至至至0 0的跳变需要两个机器周期,故的跳变需要两个机器周期,故的跳变需要两个机器周期,故的跳变需要两个机器周期,故外部信号外部信号外部信号外部信号的最高计数频率为时钟频率的二十四分之一的最高计数频率为时钟频率的二十四分之一的最高计数频率为时钟频率的二十四分之一的最高计数频率为时钟频率的二十四分之一。如果晶振频。如果晶振频。如果晶振频。如果晶振频率为率为率为率为12MHz12MHz,则最高计数频率为,则最高计数频率为,则最高计数频率为,则最高计数频率为0.5MHz0.5MHz。虽然对外部输。虽然对外部输。虽然对外部输。虽然对外部输入信号的占空比无特殊要求,但为了确保给定电平在变化入信号的占空比无特殊要求,但为了确保给定电平在变化入信号的占空比无特殊要求,但为了确保给定电平在变化入信号的占空比无特殊要求,但为了确保给定电平在变化前至少被采样一次,前至少被采样一次,前至少被采样一次,前至少被采样一次,外部计数脉冲的高电平与低电平保持外部计数脉冲的高电平与低电平保持外部计数脉冲的高电平与低电平保持外部计数脉冲的高电平与低电平保持时间均需在一个机器周期以上时间均需在一个机器周期以上时间均需在一个机器周期以上时间均需在一个机器周期以上。5.1.3 5.1.3 定时器定时器/计数器的功能计数器的功能 定时器定时器定时器定时器/计数器具有定时和计数两种功能,应用范围如下。计数器具有定时和计数两种功能,应用范围如下。计数器具有定时和计数两种功能,应用范围如下。计数器具有定时和计数两种功能,应用范围如下。1.1.定时与延时控制方面定时与延时控制方面定时与延时控制方面定时与延时控制方面 可产生定时中断信号,以设计出各种不同频率的信号源;产可产生定时中断信号,以设计出各种不同频率的信号源;产可产生定时中断信号,以设计出各种不同频率的信号源;产可产生定时中断信号,以设计出各种不同频率的信号源;产生定时扫描信号,对键盘进行扫描以获得控制信号,对显示生定时扫描信号,对键盘进行扫描以获得控制信号,对显示生定时扫描信号,对键盘进行扫描以获得控制信号,对显示生定时扫描信号,对键盘进行扫描以获得控制信号,对显示器进行扫描以不间断地显示数据。器进行扫描以不间断地显示数据。器进行扫描以不间断地显示数据。器进行扫描以不间断地显示数据。2.2.测量外部脉冲方面测量外部脉冲方面测量外部脉冲方面测量外部脉冲方面 对外部脉冲信号进行计数可测量脉冲信号的宽度、周期,也对外部脉冲信号进行计数可测量脉冲信号的宽度、周期,也对外部脉冲信号进行计数可测量脉冲信号的宽度、周期,也对外部脉冲信号进行计数可测量脉冲信号的宽度、周期,也可实现自动计数。可实现自动计数。可实现自动计数。可实现自动计数。3.3.监控系统工作方面监控系统工作方面监控系统工作方面监控系统工作方面 对系统进行定时扫描,当系统工作异常时,使系统自动复位,对系统进行定时扫描,当系统工作异常时,使系统自动复位,对系统进行定时扫描,当系统工作异常时,使系统自动复位,对系统进行定时扫描,当系统工作异常时,使系统自动复位,重新启动以恢复正常工作。重新启动以恢复正常工作。重新启动以恢复正常工作。重新启动以恢复正常工作。5.2 定时器/计数器的控制 5.2.1 定时器方式寄存器TMOD 5.2.2 定时器控制寄存器TCON5.2.1 定时器方式寄存器TMOD 定时器方式寄存器定时器方式寄存器定时器方式寄存器定时器方式寄存器TMODTMOD的作用是设置的作用是设置的作用是设置的作用是设置T0T0、T1T1的工作方式。的工作方式。的工作方式。的工作方式。TMODTMOD的格式:的格式:的格式:的格式:各位的功能说明:各位的功能说明:各位的功能说明:各位的功能说明:(1)(1)GATEGATE:门控位门控位门控位门控位。GATE=0GATE=0:软件启动定时器软件启动定时器软件启动定时器软件启动定时器,即用指令使,即用指令使,即用指令使,即用指令使TCONTCON中的中的中的中的TR1(TR0)TR1(TR0)置置置置1 1即可启动定时器即可启动定时器即可启动定时器即可启动定时器1(1(定时器定时器定时器定时器0)0)。GATE=1GATE=1:软件和硬件共同启动定时器软件和硬件共同启动定时器软件和硬件共同启动定时器软件和硬件共同启动定时器,即用指令使,即用指令使,即用指令使,即用指令使TCONTCON中的中的中的中的TR1(TR0)TR1(TR0)置置置置1 1时,只有外部中断时,只有外部中断时,只有外部中断时,只有外部中断INT0(INT1)INT0(INT1)引脚输入高电平时才能启动定时器引脚输入高电平时才能启动定时器引脚输入高电平时才能启动定时器引脚输入高电平时才能启动定时器1(1(定时器定时器定时器定时器0)0)。5.2.1 定时器方式寄存器TMOD(2)(2)C/TC/T:功能选择位功能选择位功能选择位功能选择位。C/T=0C/T=0时,以定时器方式工作。时,以定时器方式工作。时,以定时器方式工作。时,以定时器方式工作。C/T=1C/T=1时,以计数器方式工作。时,以计数器方式工作。时,以计数器方式工作。时,以计数器方式工作。(3)(3)M1M1、M0M0:方式选择位方式选择位方式选择位方式选择位。定时器工作方式选择位定义定时器工作方式选择位定义定时器工作方式选择位定义定时器工作方式选择位定义 M1 M0M1 M0工作方式工作方式工作方式工作方式功能描述功能描述功能描述功能描述0 00 0方式方式方式方式0 01313位位位位计计计计数器数器数器数器0 10 1方式方式方式方式1 11616位位位位计计计计数器数器数器数器1 01 0方式方式方式方式2 2自自自自动动动动重装初重装初重装初重装初值值值值8 8位位位位计计计计数器数器数器数器1 11 1方式方式方式方式3 3定定定定时时时时器器器器0 0:分:分:分:分为为为为两个独立的两个独立的两个独立的两个独立的8 8位位位位计计计计数器数器数器数器定定定定时时时时器器器器1 1:无中断的:无中断的:无中断的:无中断的计计计计数器数器数器数器5.2.2 定时器控制寄存器TCON 定时器控制寄存器定时器控制寄存器定时器控制寄存器定时器控制寄存器TCONTCON的作用是控制定时器的启动与停的作用是控制定时器的启动与停的作用是控制定时器的启动与停的作用是控制定时器的启动与停止,并保存止,并保存止,并保存止,并保存T0T0、T1T1的溢出和中断标志。的溢出和中断标志。的溢出和中断标志。的溢出和中断标志。TCONTCON的格式的格式的格式的格式:各位的功能说明:各位的功能说明:各位的功能说明:各位的功能说明:(1)(1)TF1TF1(TCON.7)(TCON.7):定时器定时器定时器定时器1 1溢出标志位溢出标志位溢出标志位溢出标志位。当定时器。当定时器。当定时器。当定时器1 1计满溢计满溢计满溢计满溢出时,由硬件自动使出时,由硬件自动使出时,由硬件自动使出时,由硬件自动使TF1TF1置置置置1 1,并申请中断。对该标志位有,并申请中断。对该标志位有,并申请中断。对该标志位有,并申请中断。对该标志位有两种处理方法,一种是以中断方式工作,即两种处理方法,一种是以中断方式工作,即两种处理方法,一种是以中断方式工作,即两种处理方法,一种是以中断方式工作,即TF1TF1置置置置1 1并申请并申请并申请并申请中断,响应中断后,执行中断服务程序,并由硬件自动使中断,响应中断后,执行中断服务程序,并由硬件自动使中断,响应中断后,执行中断服务程序,并由硬件自动使中断,响应中断后,执行中断服务程序,并由硬件自动使TF1TF1清清清清0 0;另一种以查询方式工作,即通过查询该位是否为;另一种以查询方式工作,即通过查询该位是否为;另一种以查询方式工作,即通过查询该位是否为;另一种以查询方式工作,即通过查询该位是否为1 1来判断是否溢出,来判断是否溢出,来判断是否溢出,来判断是否溢出,TF1TF1置置置置1 1后必须用软件使后必须用软件使后必须用软件使后必须用软件使TF1TF1清清清清0 0。5.2.2 定时器控制寄存器TCON 各位的功能说明:各位的功能说明:各位的功能说明:各位的功能说明:(2)(2)TR1TR1(TCON.6)(TCON.6):定时器定时器定时器定时器1 1启停控制位启停控制位启停控制位启停控制位。GATE=0GATE=0时,用软件使时,用软件使时,用软件使时,用软件使TR1TR1置置置置1 1即启动定时器即启动定时器即启动定时器即启动定时器1 1,若用软件,若用软件,若用软件,若用软件使使使使TR1TR1清清清清0 0则停止定时器则停止定时器则停止定时器则停止定时器1 1。GATE=1GATE=1时,用软件使时,用软件使时,用软件使时,用软件使TR1TR1置置置置1 1的同时外部中断的同时外部中断的同时外部中断的同时外部中断INT1INT1的引的引的引的引脚输入高电平才能启动定时器脚输入高电平才能启动定时器脚输入高电平才能启动定时器脚输入高电平才能启动定时器1 1。(3)(3)TF0TF0(TCON.5)(TCON.5):定时器定时器定时器定时器0 0溢出标志位溢出标志位溢出标志位溢出标志位。其功能同。其功能同。其功能同。其功能同TF1TF1。(4)(4)TR0TR0(TCON.4)(TCON.4):定时器定时器定时器定时器0 0启停控制位启停控制位启停控制位启停控制位。其功能同。其功能同。其功能同。其功能同TR1TR1。(5)(5)IE1IE1(TCON.3)(TCON.3):外部中断外部中断外部中断外部中断1 1请求标志位请求标志位请求标志位请求标志位。(6)(6)IT1 IT1(TCON.2)(TCON.2):外部中断外部中断外部中断外部中断1 1触发方式选择位触发方式选择位触发方式选择位触发方式选择位。(7)(7)IE0IE0(TCON.1)(TCON.1):外部中断外部中断外部中断外部中断0 0请求标志位请求标志位请求标志位请求标志位。(8)(8)IT0IT0(TCON.0)(TCON.0):外部中断外部中断外部中断外部中断0 0触发方式选择位触发方式选择位触发方式选择位触发方式选择位。5.3 定时器/计数器的四种 工作方式及应用 5.3.1 定时器/计数器的初始化 5.3.2 方式0及应用实例 5.3.3 方式1及应用实例 5.3.4 方式2及应用实例 5.3.5 方式3 5.3.1 定时器/计数器的初始化1.1.定时器定时器定时器定时器/计数器的初始化步骤计数器的初始化步骤计数器的初始化步骤计数器的初始化步骤 定时器定时器定时器定时器/计数器是一种可编程部件,在使用定时器计数器是一种可编程部件,在使用定时器计数器是一种可编程部件,在使用定时器计数器是一种可编程部件,在使用定时器/计数器计数器计数器计数器前,一般都要对其进行初始化,以确定其以特定的功能工前,一般都要对其进行初始化,以确定其以特定的功能工前,一般都要对其进行初始化,以确定其以特定的功能工前,一般都要对其进行初始化,以确定其以特定的功能工作。初始化的步骤如下。作。初始化的步骤如下。作。初始化的步骤如下。作。初始化的步骤如下。(1)(1)确定定时器确定定时器确定定时器确定定时器/计数器的工作方式,确定方式控制字,并写入计数器的工作方式,确定方式控制字,并写入计数器的工作方式,确定方式控制字,并写入计数器的工作方式,确定方式控制字,并写入TMODTMOD。(2)(2)预置定时初值或计数初值,根据定时时间或计数次数,计预置定时初值或计数初值,根据定时时间或计数次数,计预置定时初值或计数初值,根据定时时间或计数次数,计预置定时初值或计数初值,根据定时时间或计数次数,计算定时初值或计数初值,并写入算定时初值或计数初值,并写入算定时初值或计数初值,并写入算定时初值或计数初值,并写入TH0TH0、TL0TL0或或或或TH1TH1、TL1TL1。(3)(3)根据需要开放定时器根据需要开放定时器根据需要开放定时器根据需要开放定时器/计数器的中断,给计数器的中断,给计数器的中断,给计数器的中断,给IEIE中的相关位赋值。中的相关位赋值。中的相关位赋值。中的相关位赋值。(4)(4)启动定时器启动定时器启动定时器启动定时器/计数器,给计数器,给计数器,给计数器,给TCONTCON中的中的中的中的TR1TR1或或或或TR0TR0置置置置1 1。5.3.1 定时器/计数器的初始化2.2.定时初值或计数初值的计算方法定时初值或计数初值的计算方法定时初值或计数初值的计算方法定时初值或计数初值的计算方法 不同工作方式的定时初值或计数初值的计算方法如下表所不同工作方式的定时初值或计数初值的计算方法如下表所不同工作方式的定时初值或计数初值的计算方法如下表所不同工作方式的定时初值或计数初值的计算方法如下表所示。示。示。示。表中表中表中表中T T 表示定时时间,表示定时时间,表示定时时间,表示定时时间,T T机机机机表示机器周期。表示机器周期。表示机器周期。表示机器周期。工作方式工作方式工作方式工作方式计计计计数位数数位数数位数数位数最大最大最大最大计计计计数数数数值值值值最大定最大定最大定最大定时时时时时时时时间间间间定定定定时时时时初初初初值计值计值计值计算公算公算公算公式式式式计计计计数初数初数初数初值计值计值计值计算公式算公式算公式算公式方式方式方式方式0 013132 21313=8192=81922 21313 T T机机机机X X=2=21313-T T/T T机机机机X X=2=21313-计数值计数值计数值计数值方式方式方式方式1 116162 21616=65536=655362 21616 T T机机机机X X=2=21616-T T/T T机机机机X X=2=21616-计数值计数值计数值计数值方式方式方式方式2 28 82 28 8=256=2562 28 8 T T机机机机X X=2=28 8-T T/T T机机机机X X=2=28 8-计数值计数值计数值计数值5.3.1 定时器/计数器的初始化【例例例例1 1】用定时器用定时器用定时器用定时器0 0方式方式方式方式0 0,定时,定时,定时,定时5ms5ms,以中断方式工作,进行,以中断方式工作,进行,以中断方式工作,进行,以中断方式工作,进行程序初始化设计,晶振频率为程序初始化设计,晶振频率为程序初始化设计,晶振频率为程序初始化设计,晶振频率为6MHz6MHz。解:用定时器解:用定时器解:用定时器解:用定时器0 0方式方式方式方式0 0时,定时器时,定时器时,定时器时,定时器/计数器方式寄存器计数器方式寄存器计数器方式寄存器计数器方式寄存器TMODTMOD低低低低4 4位中的位中的位中的位中的M1M0M1M0应取应取应取应取0000;可设定为软件启动定时器,故;可设定为软件启动定时器,故;可设定为软件启动定时器,故;可设定为软件启动定时器,故GATEGATE取取取取0 0;因用定时功能,;因用定时功能,;因用定时功能,;因用定时功能,C/TC/T取取取取0 0;定时器方式寄存器;定时器方式寄存器;定时器方式寄存器;定时器方式寄存器TMODTMOD高高高高4 4位为无关位,一般都取位为无关位,一般都取位为无关位,一般都取位为无关位,一般都取0 0,所以,所以,所以,所以TMODTMOD应为应为应为应为00H00H。晶振频率为晶振频率为晶振频率为晶振频率为6MHz6MHz,T T机机机机=12/=12/f foscosc=12/(6=12/(6 106)=2106)=2 s s 定时初值定时初值定时初值定时初值X X=213-=213-T T/T T机机机机=213-5=213-5 103/2=8192-103/2=8192-2500=56922500=5692 =163CH=1011000111100B =163CH=1011000111100B 因因因因TL0TL0的高的高的高的高3 3位未用,对计算出的定时初值位未用,对计算出的定时初值位未用,对计算出的定时初值位未用,对计算出的定时初值X X要进行修正,要进行修正,要进行修正,要进行修正,即在低即在低即在低即在低5 5位前插入位前插入位前插入位前插入3 3个个个个0 0,修正后的定时初值,修正后的定时初值,修正后的定时初值,修正后的定时初值 X=1011000100011100B=B11CHX=1011000100011100B=B11CH5.3.1 定时器/计数器的初始化 定时器以中断方式工作,故将中断总允许位定时器以中断方式工作,故将中断总允许位定时器以中断方式工作,故将中断总允许位定时器以中断方式工作,故将中断总允许位EAEA和定时器和定时器和定时器和定时器0 0的的的的中断允许位中断允许位中断允许位中断允许位ET0ET0置置置置1 1。参考程序:参考程序:参考程序:参考程序:75 89 0075 89 00MOV TMOD,#00HMOV TMOD,#00H;置置置置定定定定时时时时器器器器0 0为为为为工作方式工作方式工作方式工作方式0 075 8C B175 8C B1MOV TH0,#0B1HMOV TH0,#0B1H;定定定定时时时时初初初初值值值值的的的的高高高高8 8位位位位75 8A 1C75 8A 1CMOV TL0,#1CHMOV TL0,#1CH;定定定定时时时时初初初初值值值值的的的的低低低低8 8位位位位D2 AFD2 AFSETB EASETB EA;开放中断开放中断开放中断开放中断总总总总允允允允许许许许位位位位D2 A9D2 A9SETB ET0SETB ET0;开放定开放定开放定开放定时时时时器器器器0 0的中断允的中断允的中断允的中断允许许许许位位位位D2 8CD2 8CSETB TR0SETB TR0;启启启启动动动动定定定定时时时时器器器器0 05.3.2 方式0及应用实例 在方式在方式在方式在方式0 0下,以定时器下,以定时器下,以定时器下,以定时器0 0为例,定时器为例,定时器为例,定时器为例,定时器/计数器是一个由计数器是一个由计数器是一个由计数器是一个由TH0TH0中的中的中的中的8 8位和位和位和位和TL0TL0中的低中的低中的低中的低5 5位组成的位组成的位组成的位组成的1313位加位加位加位加1 1计数器计数器计数器计数器(TL0(TL0中的中的中的中的高高高高3 3位不用位不用位不用位不用);若;若;若;若TL0TL0中的第中的第中的第中的第5 5位有进位,直接进到位有进位,直接进到位有进位,直接进到位有进位,直接进到TH0TH0中的中的中的中的最低位。定时器最低位。定时器最低位。定时器最低位。定时器/计数器计数器计数器计数器0 0方式方式方式方式0 0逻辑结构如下图所示。逻辑结构如下图所示。逻辑结构如下图所示。逻辑结构如下图所示。当门控位当门控位当门控位当门控位GATE=0GATE=0时,或门输出始终为时,或门输出始终为时,或门输出始终为时,或门输出始终为1 1,与门被打开,与,与门被打开,与,与门被打开,与,与门被打开,与门的输出电平始终与门的输出电平始终与门的输出电平始终与门的输出电平始终与TR0TR0的电平一致,实现的电平一致,实现的电平一致,实现的电平一致,实现由由由由TR0TR0控制定控制定控制定控制定时器时器时器时器/计数器的启动和停止计数器的启动和停止计数器的启动和停止计数器的启动和停止。若软件使。若软件使。若软件使。若软件使TR0TR0置置置置1 1,接通控制,接通控制,接通控制,接通控制开关,启动定时器开关,启动定时器开关,启动定时器开关,启动定时器0 0,1313位加位加位加位加1 1计数器在定时初值或计数初计数器在定时初值或计数初计数器在定时初值或计数初计数器在定时初值或计数初值的基础上进行加值的基础上进行加值的基础上进行加值的基础上进行加1 1计数;计数;计数;计数;溢出时,溢出时,溢出时,溢出时,1313位加位加位加位加1 1计数器为计数器为计数器为计数器为0 0,TF0TF0由硬件自动置由硬件自动置由硬件自动置由硬件自动置1 1,并申请中断,同时,并申请中断,同时,并申请中断,同时,并申请中断,同时1313位加位加位加位加1 1计数器继计数器继计数器继计数器继续从续从续从续从0 0开始计数。若软件使开始计数。若软件使开始计数。若软件使开始计数。若软件使TR0TR0清清清清0 0,关断控制开关,停止,关断控制开关,停止,关断控制开关,停止,关断控制开关,停止定时器定时器定时器定时器0 0,加,加,加,加1 1计数器停止计数。计数器停止计数。计数器停止计数。计数器停止计数。5.3.2 方式0及应用实例定时器/计数器0方式0逻辑结构 C/TC/T5.3.2 方式0及应用实例【例例例例2 2】在在在在P1.0P1.0输出周期为输出周期为输出周期为输出周期为1 ms(1 ms(频率频率频率频率1kHz)1kHz)的方波,采用定时器的方波,采用定时器的方波,采用定时器的方波,采用定时器1 1方式方式方式方式0 0设计程序,晶振频率为设计程序,晶振频率为设计程序,晶振频率为设计程序,晶振频率为12MHz12MHz。解:根据题意,只要使解:根据题意,只要使解:根据题意,只要使解:根据题意,只要使P1.0P1.0每隔每隔每隔每隔500500 s s取反一次即可得到周期取反一次即可得到周期取反一次即可得到周期取反一次即可得到周期1 1 msms的方波,因而的方波,因而的方波,因而的方波,因而T1T1的定时时间为的定时时间为的定时时间为的定时时间为500500 s s。用定时器用定时器用定时器用定时器1 1方式方式方式方式0 0时,定时器时,定时器时,定时器时,定时器/计数器方式寄存器计数器方式寄存器计数器方式寄存器计数器方式寄存器TMODTMOD高高高高4 4位中位中位中位中的的的的M1M0M1M0应取应取应取应取0000;可设定为软件启动定时器,故;可设定为软件启动定时器,故;可设定为软件启动定时器,故;可设定为软件启动定时器,故GATEGATE取取取取0 0;因;因;因;因为用定时功能,为用定时功能,为用定时功能,为用定时功能,C/TC/T取取取取0 0;定时器方式寄存器;定时器方式寄存器;定时器方式寄存器;定时器方式寄存器TMODTMOD低低低低4 4位为无位为无位为无位为无关位,一般都取关位,一般都取关位,一般都取关位,一般都取0 0,所以,所以,所以,所以TMODTMOD应为应为应为应为00H00H。晶振频率为晶振频率为晶振频率为晶振频率为12MHz12MHz,T T机机机机=12/=12/f foscosc=12/(12=12/(12 106)=1106)=1 s s 定时初值定时初值定时初值定时初值 X X=213-=213-T T/T T机机机机=213-500/1=8192-500=7692=213-500/1=8192-500=7692 =1E0CH=1111000001100B =1E0CH=1111000001100B 因因因因TL1TL1的高的高的高的高3 3位未用,对计算出的定时初值位未用,对计算出的定时初值位未用,对计算出的定时初值位未用,对计算出的定时初值X X要进行修正,即在要进行修正,即在要进行修正,即在要进行修正,即在低低低低5 5位前插入位前插入位前插入位前插入3 3个个个个0 0,修正后的定时初值,修正后的定时初值,修正后的定时初值,修正后的定时初值 X=1111000000001100B=F00CH X=1111000000001100B=F00CH 6.3.2 方式方式0及应用实例及应用实例地址地址地址地址机器机器机器机器码码码码程序程序程序程序注注注注释释释释 ORG 0000HORG 0000H0000H0000H02 00 5002 00 50 LJMP MAINLJMP MAIN ORG 0050HORG 0050H0050H0050HD2 90D2 90MAIN:SETB P1.0MAIN:SETB P1.0;置置置置P1.0P1.0初始状初始状初始状初始状态态态态0052H0052H75 89 0075 89 00 MOV TMOD,#00HMOV TMOD,#00H;置定置定置定置定时时时时器器器器1 1为为为为工作方式工作方式工作方式工作方式0 00055H0055H75 8D F175 8D F1 MOV TH1,#0F0HMOV TH1,#0F0H;置置置置500500 s s定定定定时时时时初初初初值值值值0058H0058H75 8B 0C75 8B 0C MOV TL1,#0CHMOV TL1,#0CH005BH005BHD2 8ED2 8E SETB TR1SETB TR1;启启启启动动动动定定定定时时时时器器器器1 1005DH005DH10 8F 0210 8F 02 LP1:JBC TF1,LP2LP1:JBC TF1,LP2;查询计查询计查询计查询计数溢出数溢出数溢出数溢出0060H0060H80 FB80 FB SJMP LP1SJMP LP1;未到未到未到未到500500 s s继续计继续计继续计继续计数数数数0062H0062H75 8D F175 8D F1 LP2:MOV TH1,#0F0HLP2:MOV TH1,#0F0H;重新置重新置重新置重新置500500 s s定定定定时时时时初初初初值值值值0065H0065H75 8B 0C75 8B 0C MOV TL1,#0CHMOV TL1,#0CH0068H0068HB2 90B2 90 CPL P1.0CPL P1.0;输输输输出取反出取反出取反出取反006AH006AH80 E480 E4 SJMP LP1SJMP