嵌入式系统概论单片机基础单片机之定时计数器课件

上传人:m**** 文档编号:573850311 上传时间:2024-08-15 格式:PPT 页数:46 大小:629KB
返回 下载 相关 举报
嵌入式系统概论单片机基础单片机之定时计数器课件_第1页
第1页 / 共46页
嵌入式系统概论单片机基础单片机之定时计数器课件_第2页
第2页 / 共46页
嵌入式系统概论单片机基础单片机之定时计数器课件_第3页
第3页 / 共46页
嵌入式系统概论单片机基础单片机之定时计数器课件_第4页
第4页 / 共46页
嵌入式系统概论单片机基础单片机之定时计数器课件_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《嵌入式系统概论单片机基础单片机之定时计数器课件》由会员分享,可在线阅读,更多相关《嵌入式系统概论单片机基础单片机之定时计数器课件(46页珍藏版)》请在金锄头文库上搜索。

1、 嵌入式系统概论单片机基础 嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器定时定时/ /计数器计数器 n n教学目的:了解教学目的:了解教学目的:了解教学目的:了解80C5180C5180C5180C51系列单片机内部定时器系列单片机内部定时器系列单片机内部定时器系列单片机内部定时器/ / / /计数计数计数计数器的结构与工作原理;能够采用查询方式对定时器器的结构与工作原理;能够采用查询方式对定时器器的结构与工作原理;能够采用查询方式对定时器器的结构与工作原理;能够采用查询方式对定时器/ / / /计数器的计数器的计数器的计数器的4 4 4 4种工作

2、模式编程、应用。种工作模式编程、应用。种工作模式编程、应用。种工作模式编程、应用。 n n教学重点:教学重点:教学重点:教学重点:n n1. 1. 1. 1. 定时定时定时定时/ / / /计数器的工作原理;计数器的工作原理;计数器的工作原理;计数器的工作原理;n n2. 2. 2. 2. 定时器方式定时器方式定时器方式定时器方式1 1 1 1、2 2 2 2的编程、应用。的编程、应用。的编程、应用。的编程、应用。n n教学难点:教学难点:教学难点:教学难点:n n1.1.1.1.工作方式寄存器和定时工作方式寄存器和定时工作方式寄存器和定时工作方式寄存器和定时/ / / /计数器控制寄存器的设

3、置计数器控制寄存器的设置计数器控制寄存器的设置计数器控制寄存器的设置n n2.2.2.2.定时定时定时定时/ / / /计数器初值的设置计数器初值的设置计数器初值的设置计数器初值的设置嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器80C5180C51定时器定时器/ /计数器及其应用计数器及其应用n n在单片机应用和控制系统中,经常需要对某个控制在单片机应用和控制系统中,经常需要对某个控制在单片机应用和控制系统中,经常需要对某个控制在单片机应用和控制系统中,经常需要对某个控制对象定时进行控制。这种定时一般可采用两种方法。对象定时进行控制。这种定时一般可

4、采用两种方法。对象定时进行控制。这种定时一般可采用两种方法。对象定时进行控制。这种定时一般可采用两种方法。一是利用延时程序来实现,但这样会降低一是利用延时程序来实现,但这样会降低一是利用延时程序来实现,但这样会降低一是利用延时程序来实现,但这样会降低CPUCPUCPUCPU的工作的工作的工作的工作效率;另外一种方法就是通过一个可编程的实时时效率;另外一种方法就是通过一个可编程的实时时效率;另外一种方法就是通过一个可编程的实时时效率;另外一种方法就是通过一个可编程的实时时钟或可编程的时钟接口芯片来实现。这种方法可以钟或可编程的时钟接口芯片来实现。这种方法可以钟或可编程的时钟接口芯片来实现。这种方

5、法可以钟或可编程的时钟接口芯片来实现。这种方法可以使使使使CPUCPUCPUCPU与时钟并行工作,并且不会影响与时钟并行工作,并且不会影响与时钟并行工作,并且不会影响与时钟并行工作,并且不会影响CPUCPUCPUCPU的效率。的效率。的效率。的效率。除定时外,还有一些是对某种事件的计数结果来进除定时外,还有一些是对某种事件的计数结果来进除定时外,还有一些是对某种事件的计数结果来进除定时外,还有一些是对某种事件的计数结果来进行控制的,因此,单片机内部均设有可编程的定时行控制的,因此,单片机内部均设有可编程的定时行控制的,因此,单片机内部均设有可编程的定时行控制的,因此,单片机内部均设有可编程的定

6、时器器器器/ / / /计数器。计数器。计数器。计数器。n n80C5180C5180C5180C51单片机内有两个单片机内有两个单片机内有两个单片机内有两个16161616位定时位定时位定时位定时/ / / /计数器,即定时器计数器,即定时器计数器,即定时器计数器,即定时器T0T0T0T0和定时器和定时器和定时器和定时器T1,T1,T1,T1,它们都具有定时和事件计数的功能,它们都具有定时和事件计数的功能,它们都具有定时和事件计数的功能,它们都具有定时和事件计数的功能,可用于定时控制延时,对外部事件计数和检测等场可用于定时控制延时,对外部事件计数和检测等场可用于定时控制延时,对外部事件计数和

7、检测等场可用于定时控制延时,对外部事件计数和检测等场合。合。合。合。嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器6.1 单片机的定时器/计数器的工作原理 80C5180C51定时定时/ /计数器基本概念计数器基本概念n n在在在在实实实实时时时时测测测测量量量量控控控控制制制制应应应应用用用用系系系系统统统统中中中中,常常常常需需需需要要要要定定定定时时时时控控控控制制制制及及及及对对对对外外外外界界界界事事事事件件件件进进进进行行行行计数。计数。计数。计数。n n定定定定时时时时:定定定定时时时时是是是是对对对对周周周周期期期期固固固固定定定定、

8、已已已已知知知知的脉冲计数的脉冲计数的脉冲计数的脉冲计数。n n计计计计数数数数:其其其其实实实实质质质质就就就就是是是是对对对对外外外外部部部部输输输输入入入入的的的的周期不固定的脉冲计数。周期不固定的脉冲计数。周期不固定的脉冲计数。周期不固定的脉冲计数。n n8051805180518051单单单单片片片片机机机机中中中中的的的的定定定定时时时时器器器器和和和和计计计计数数数数器器器器是是是是一一一一个个个个部部部部件件件件,只只只只不不不不过过过过计计计计数数数数器器器器记记记记录录录录的的的的是是是是外外外外界界界界发发发发生生生生的的的的事事事事件件件件,而而而而定定定定时时时时器器

9、器器则则则则是是是是由由由由单单单单片片片片机机机机内内内内部部部部提提提提供供供供一一一一个个个个稳稳稳稳定定定定的的的的计计计计数数数数源源源源进进进进行行行行定定定定时时时时的的的的。这这这这个个个个计计计计数数数数源源源源是是是是由由由由单单单单片片片片机机机机的的的的晶晶晶晶振振振振经经经经过过过过12121212分分分分频频频频后后后后获获获获得得得得的的的的一一一一个个个个脉脉脉脉冲冲冲冲源源源源。所所所所以以以以定定定定时时时时器计数脉冲的时间与晶振有关。器计数脉冲的时间与晶振有关。器计数脉冲的时间与晶振有关。器计数脉冲的时间与晶振有关。 TN个方波个方波脉冲间隔不等下降沿计数

10、脉冲间隔不等下降沿计数嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器.3.1.3.1定时计数器的结构定时计数器的结构 计数计数 定时计数器的实质是加计数器(位),定时计数器的实质是加计数器(位),其原理类似于古代用来计时的水钟:其原理类似于古代用来计时的水钟:假设计满一小时需要假设计满一小时需要100,000,000滴,这称为水钟的计数容量滴,这称为水钟的计数容量16位定时位定时/计数器的计数容量是计数器的计数容量是65536单片机是对脉冲个数计数,计数器每单片机是对脉冲个数计数,计数器每接收到一个脉冲,计数值加接收到一个脉冲,计数值加1,当接收满当

11、接收满65535个脉冲后,再个脉冲后,再来一个脉冲,计数值清来一个脉冲,计数值清0表明表明这一轮计数结束,同时将标这一轮计数结束,同时将标志位志位TF0或或TF1置置1。80C5180C51定时定时/ /计数器基本原理计数器基本原理嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器 定时定时 单片机内部的计数器用作定时器时,是对标准的标准的时钟时钟进行了计数,每来一个时钟脉冲,计数器加1,只要保证计数脉冲的间隔相等,则计数值就代表了时间的流逝。计计数器如何能作数器如何能作数器如何能作数器如何能作为为定定定定时时器使用呢?器使用呢?器使用呢?器使用呢?单片

12、机中的定时器和计数器其实是一个器件:单片机中的定时器和计数器其实是一个器件:计数器:计数器:是对外部发生的事件进行计数,定时器:定时器:是对单片机内部的标准时钟脉冲单片机内部的标准时钟脉冲进行计数。嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器6.1 单片机的定时器/计数器的工作原理 80C5180C51定时定时/ /计数器的结构计数器的结构n n80C5180C5180C5180C51单单单单片片片片机机机机内内内内部部部部有有有有两两两两个个个个16161616位位位位的的的的可可可可编编编编程程程程定定定定时时时时计计计计数数数数器器器器 T0

13、T0T0T0、T1 T1 T1 T1 。可可可可编编编编程程程程是是是是指指指指其其其其功功功功能能能能如工作方式、定时时间、量程、启动方式等均可由指令来确定和改变。如工作方式、定时时间、量程、启动方式等均可由指令来确定和改变。如工作方式、定时时间、量程、启动方式等均可由指令来确定和改变。如工作方式、定时时间、量程、启动方式等均可由指令来确定和改变。n n80C5180C5180C5180C51单单单单片片片片机机机机有有有有6 6 6 6个个个个8 8 8 8位位位位寄寄寄寄存存存存器器器器用用用用于于于于T0T0T0T0、T1T1T1T1的的的的控控控控制制制制与与与与管管管管理理理理 ,

14、其其其其访访访访问问问问地地地地址址址址依依依依次次次次为为为为8AH8AH8AH8AH8DH8DH8DH8DH,每每每每个个个个寄寄寄寄存存存存器器器器均均均均可可可可单单单单独独独独访访访访问问问问。 16161616位位位位的的的的T0T0T0T0、T1T1T1T1寄寄寄寄存存存存器器器器是是是是用用用用于于于于存存存存放放放放定定定定时时时时或或或或计计计计数数数数初初初初值值值值与与与与当当当当前前前前值值值值的的的的,两两两两个个个个特特特特殊殊殊殊功功功功能能能能寄寄寄寄存存存存器器器器 TCONTCONTCONTCON和和和和TMOD TMOD TMOD TMOD 是是是是用用

15、用用于于于于管管管管理理理理与与与与控控控控制制制制定定定定时时时时计计计计数数数数器器器器工工工工作的。作的。作的。作的。嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器n n80C5180C51的的1616位定时计数器实质上是一个加位定时计数器实质上是一个加1 1计计数器,其控制电路受软件控制、切换。通过软数器,其控制电路受软件控制、切换。通过软件可以设置为件可以设置为4 4种工作方式,每种方式都可以种工作方式,每种方式都可以用作定时或者计数。不同的工作方式,计数器用作定时或者计数。不同的工作方式,计数器长度分别为:长度分别为:1616位、位、13

16、13位和位和8 8位。位。K1K2可预置初值计数器可预置初值计数器中断中断请求请求功能功能选择选择启动启动控制控制内部时钟脉冲内部时钟脉冲(定时)(定时)外部输入脉冲外部输入脉冲(计数)(计数)溢出信号溢出信号计数脉冲计数脉冲计数初值计数初值80C5180C51定时定时/ /计数器的原理计数器的原理嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器n n当当当当80C5180C5180C5180C51的的的的16161616位位位位选择定时选择定时选择定时选择定时/ / / /计数器作为计数器作为计数器作为计数器作为定时器定时器定时器定时器工作时工作时工

17、作时工作时: : : :计数器的计数器的计数器的计数器的加加加加1 1 1 1信号由振荡器信号由振荡器信号由振荡器信号由振荡器12121212分频信号产生。经过一个机器周期,计数分频信号产生。经过一个机器周期,计数分频信号产生。经过一个机器周期,计数分频信号产生。经过一个机器周期,计数器增器增器增器增1 1 1 1,直至计满溢出为止。对于标准频率,直至计满溢出为止。对于标准频率,直至计满溢出为止。对于标准频率,直至计满溢出为止。对于标准频率12MHz12MHz12MHz12MHz的的的的80C5180C5180C5180C51,T=1T=1T=1T=1ssss。若需要改变定时时间。若需要改变定

18、时时间。若需要改变定时时间。若需要改变定时时间, , , ,可改变定时器的初值或选择定可改变定时器的初值或选择定可改变定时器的初值或选择定可改变定时器的初值或选择定时器的长度时器的长度时器的长度时器的长度(8(8(8(8位、位、位、位、13131313位、位、位、位、16161616位)。位)。位)。位)。K1K2可预置初值计数器可预置初值计数器中断中断请求请求功能功能选择选择启动启动控制控制内部时钟脉冲内部时钟脉冲(定时)(定时)外部输入脉冲外部输入脉冲(计数)(计数)溢出信号溢出信号计数脉冲计数脉冲计数初值计数初值80C5180C51定时定时/ /计数器的原理计数器的原理 T特点:波形间隔

19、相等,时间确定特点:波形间隔相等,时间确定N个方波个方波嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器n n当当当当80C5180C5180C5180C51的的的的16161616位位位位定时定时定时定时/ / / /计数器作为计数器作为计数器作为计数器作为计数器计数器计数器计数器工作方式时工作方式时工作方式时工作方式时: : : :通过引脚通过引脚通过引脚通过引脚T0(P3.4)T0(P3.4)T0(P3.4)T0(P3.4)、T1(P3.5)T1(P3.5)T1(P3.5)T1(P3.5)对外部信号计数。外部脉冲的下降沿触发计数,计数器在每个机器

20、对外部信号计数。外部脉冲的下降沿触发计数,计数器在每个机器对外部信号计数。外部脉冲的下降沿触发计数,计数器在每个机器对外部信号计数。外部脉冲的下降沿触发计数,计数器在每个机器周期的周期的周期的周期的S5P2S5P2S5P2S5P2期间对引脚电平采样,如果一个机器周期采样值为期间对引脚电平采样,如果一个机器周期采样值为期间对引脚电平采样,如果一个机器周期采样值为期间对引脚电平采样,如果一个机器周期采样值为1 1 1 1,下一个机,下一个机,下一个机,下一个机器周期采样值为器周期采样值为器周期采样值为器周期采样值为0 0 0 0,则计数器加,则计数器加,则计数器加,则计数器加1.1.1.1.检测一

21、个由检测一个由检测一个由检测一个由1 1 1 1至至至至0 0 0 0的跳变需要两个机器周期。的跳变需要两个机器周期。的跳变需要两个机器周期。的跳变需要两个机器周期。对于频率对于频率对于频率对于频率12MHz12MHz12MHz12MHz的的的的80C5180C5180C5180C51,T=2T=2T=2T=2ssss。计数器的最高计数频率为计数器的最高计数频率为计数器的最高计数频率为计数器的最高计数频率为0.5MHz0.5MHz0.5MHz0.5MHz。K1K2可预置初值计数器可预置初值计数器中断中断请求请求功能功能选择选择启动启动控制控制内部时钟脉冲内部时钟脉冲(定时)(定时)外部输入脉冲

22、外部输入脉冲(计数)(计数)溢出信号溢出信号计数脉冲计数脉冲计数初值计数初值80C5180C51定时定时/ /计数器的原理计数器的原理一个机器周期一个机器周期P1 P2P1 P2嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器80C5180C51定时定时/ /计数器的控制方法计数器的控制方法n n80C5180C5180C5180C51的定时计数器是一个可编程部件,在定时计数器工的定时计数器是一个可编程部件,在定时计数器工的定时计数器是一个可编程部件,在定时计数器工的定时计数器是一个可编程部件,在定时计数器工作之前,作之前,作之前,作之前,CPUCPU

23、CPUCPU须将一些命令(控制字)写入定时计数器的特须将一些命令(控制字)写入定时计数器的特须将一些命令(控制字)写入定时计数器的特须将一些命令(控制字)写入定时计数器的特殊功能寄存器中殊功能寄存器中殊功能寄存器中殊功能寄存器中。这个过程称作。这个过程称作。这个过程称作。这个过程称作“定时计数器的初始化定时计数器的初始化定时计数器的初始化定时计数器的初始化”。在初始化过程中,须将工作方式控制字写入工作方式寄存器在初始化过程中,须将工作方式控制字写入工作方式寄存器在初始化过程中,须将工作方式控制字写入工作方式寄存器在初始化过程中,须将工作方式控制字写入工作方式寄存器(TMOD)TMOD)TMOD

24、)TMOD),工作状态控制字写入控制寄存器,工作状态控制字写入控制寄存器,工作状态控制字写入控制寄存器,工作状态控制字写入控制寄存器(TCON)(TCON)(TCON)(TCON),赋予定时,赋予定时,赋予定时,赋予定时计数器初值。计数器初值。计数器初值。计数器初值。n n控制与管理定时控制与管理定时控制与管理定时控制与管理定时/ / / /计数器计数器计数器计数器T0T0T0T0和和和和T1T1T1T1工作的特殊功能寄存器有工作的特殊功能寄存器有工作的特殊功能寄存器有工作的特殊功能寄存器有2 2 2 2个,个,个,个,工作方式寄存器工作方式寄存器工作方式寄存器工作方式寄存器TMOD(89H)

25、TMOD(89H)TMOD(89H)TMOD(89H)和定时和定时和定时和定时/ / / /计数器控制寄存器计数器控制寄存器计数器控制寄存器计数器控制寄存器TCON(88H)TCON(88H)TCON(88H)TCON(88H)。嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器工作方式寄存器工作方式寄存器TMOD(89H)TMOD(89H)n n工作方式寄存器工作方式寄存器工作方式寄存器工作方式寄存器TMODTMODTMODTMOD用于控制用于控制用于控制用于控制T0T0T0T0、T1T1T1T1的工作方式和的工作方式和的工作方式和的工作方式和4 4

26、4 4种工作模式。其中低种工作模式。其中低种工作模式。其中低种工作模式。其中低4 4 4 4位用于控制位用于控制位用于控制位用于控制T0T0T0T0,高,高,高,高4 4 4 4位用于控制位用于控制位用于控制位用于控制T1T1T1T1。其格式如下:。其格式如下:。其格式如下:。其格式如下: M0M0M1M1C/TC/TGATEGATEM0M0M1M1C/TC/TGATEGATED0D0D1D1D2D2D3D3D4D4D5D5D6D6D7D7定时器T1定时器T0n nGATE GATE :门控位:门控位n nC/T C/T :计数:计数/ /定时选择定时选择n nM1 M0 M1 M0 :工作方

27、式选择:工作方式选择嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器工作方式寄存器工作方式寄存器TMOD(89H)TMOD(89H)M0M0M1M1C/TC/TGATE0GATE0M0M0M1M1C/TC/TGATE1GATE1D0D0D1D1D2D2D3D3D4D4D5D5D6D6D7D7nGATE=0GATE=0,只要,只要( (定时定时/ /计数器控制寄存器计数器控制寄存器TCON)TCON)中中TR0(TR1)TR0(TR1)置置1 1,即可启动定时器,即可启动定时器T0(T1) T0(T1) 开始工作。开始工作。n当当GATE=1GATE=1

28、时,除需要将时,除需要将( (定时定时/ /计数器控制寄存器中)计数器控制寄存器中) TR0(TR1) TR0(TR1) 置置1 1外,还需要使外,还需要使INT0(INT1)INT0(INT1)为高电平,才能启动相应的定时器开始工作。为高电平,才能启动相应的定时器开始工作。nC/T=0C/T=0,选择定时器工作方式,对机器周期脉冲计数定时。,选择定时器工作方式,对机器周期脉冲计数定时。nC/T=1C/T=1,选择计数器工作方式,对,选择计数器工作方式,对T0(T1)T0(T1)引脚输入的负脉冲下降沿计数。引脚输入的负脉冲下降沿计数。nM1M1、M0M0位:位:T0(T1)T0(T1)工作方式

29、选择位工作方式选择位M1 M0 M1 M0 工作方式工作方式 功能描述功能描述 0 00 0方式方式0 0 1313位计数器位计数器 0 10 1方式方式1 1 1616位计数器位计数器1 01 0方式方式2 2自动再装入自动再装入8 8位计数器位计数器1 11 1方式方式3 3 定定 时时 器器 0:0:分分 成成 两两 个个 8 8位位 计计 数数 器器定定 时时 器器 1: 1: 停止计数停止计数 嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器定时定时/ /计数控制寄存器计数控制寄存器TCON(88H)TCON(88H)n控制寄存器控制寄存器T

30、CONTCON:TCONTCON的作用是的作用是控制定时器的启控制定时器的启/ /停停, ,标志定时器的溢出和标志定时器的溢出和中断情况。中断情况。TCONTCON在在SFRSFR的字节地址为的字节地址为88H88H,可位寻址。,可位寻址。位地址位地址位地址位地址8FH8FH8FH8FH8EH8EH8EH8EH8DH8DH8DH8DH8CH8CH8CH8CH8BH8BH8BH8BH8AH8AH8AH8AH89H89H89H89H88H88H88H88H位符号位符号位符号位符号TF1TF1TF1TF1TR1TR1TR1TR1TF0TF0TF0TF0TR0TR0TR0TR0IE1IE1IE1IE1

31、IT1IT1IT1IT1IE0IE0IE0IE0IT0IT0IT0IT0nD7(D5) TF1(0)D7(D5) TF1(0)定时器定时器1(0)1(0)溢出标志。溢出标志。n当定时器溢出时由硬件使当定时器溢出时由硬件使TF1TF1(0 0)置)置1 1,申请中断。,申请中断。进入中断服务程序后,由硬件自动清进入中断服务程序后,由硬件自动清0 0,查询方式下,查询方式下用软件清用软件清0 0。nD6(D4) TR1(0)D6(D4) TR1(0)定时器定时器1(0)1(0)运行控制位。运行控制位。 nTR1(0)= 0 TR1(0)= 0 关闭定时器关闭定时器 ; TR1(0)= 1 ; TR

32、1(0)= 1 启动定时器启动定时器n当系统复位时,当系统复位时,TCONTCON的所有位均清的所有位均清0 0。嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器定时定时/ /计数器的控制关系计数器的控制关系嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器定时定时/ /计数器的功能计数器的功能定时功能定时功能-计计数输入信号是内部数输入信号是内部时钟脉冲,计数频时钟脉冲,计数频率是振荡频率的率是振荡频率的1/12。计数功能计数功能-计数计数脉冲来自相应的外脉冲来自相应的外部输入引脚,部输入引脚,T0为为P3.4

33、,T1为为P3.5。定时定时/计数器的计数器的核心部件是二核心部件是二进制加进制加1计数器计数器(TH0、TL0)或或(TH1、TL1) 。嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器定时器定时器T1定时器定时器T0TH1TL1(8DH)(8BH)0077TH0TL0(8CH)(8AH)007789C51CPUTCON(88H)TMOD(89H)工作工作模式模式工作模式工作模式启动启动T0(P3.4)T1(P3.5)溢出溢出溢出溢出INT0P3.2INT1P3.3中断中断定时定时/ /计数器的结构计数器的结构嵌入式系统概论嵌入式系统概论- -单片机

34、基础单片机之定时计数单片机基础单片机之定时计数器器定时定时/计数器结构计数器结构80C51单片机内有2个独立的16位的可编程定时/计数器T0和T1。它们的结构相似。还有1个工作方式寄存器TMOD和1个控制寄存器TCON。下面是T0的结构如图所示:(现在是定时状态,且GATE=0是否开始定时取决于控制寄存器的TR0控制。)振荡器12C/T=0C/T=1+加加1计数器计数器TF0合合/断断T0TR0GATE0INT0嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器工作方式寄存器工作方式寄存器TMOD(89H)振荡器12C/T=0C/T=1+加加1计数器计数

35、器TF0合合/断断T0TR0GATE0INT0C CT T: 用来确定用来确定T0 (T1)T0 (T1)是工作在计数方式还是工作在定时方式。是工作在计数方式还是工作在定时方式。C CT = 0T = 0为定时方式。为定时方式。C CT = 1T = 1为计数方式。即对外部引脚的外部输入脉冲计数,外部引脚为计数方式。即对外部引脚的外部输入脉冲计数,外部引脚T0(1)T0(1)上输入的每一个脉冲上输入的每一个脉冲的负跳变使计数值加的负跳变使计数值加1 1,M1M1和和M0M0: 两位用来确定两位用来确定T0(T1)T0(T1)的具体工作模式。的具体工作模式。M1M1、M0M0的四种组合刚好与四种

36、工作模式对应,的四种组合刚好与四种工作模式对应,分别是方式分别是方式0 0、方式、方式1 1、方式、方式2 2、方式、方式3 3。GATE0(1) GATE0(1) :门控标志位。当:门控标志位。当 GATE0(1)=0, GATE0(1)=0, 且且TR0 (1)=1TR0 (1)=1时时, ,启动启动T0(1)T0(1)开始工作开始工作; ; 当当GATE0(1)=1GATE0(1)=1时,定时计数器的启动除了受时,定时计数器的启动除了受TR0 (1) TR0 (1) 控制外,还受控制外,还受INT0INT0引脚的控制。此时当引脚的控制。此时当TR0(1)=1TR0(1)=1且且INT0I

37、NT0引引脚上出现高电平时才能启动定时计数器。脚上出现高电平时才能启动定时计数器。TMODM0M0M1M1C/TC/TGATE0GATE0M0M0M1M1C/TC/TGATE1GATE1D0D0D1D1D2D2D3D3D4D4D5D5D6D6D7D7嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器定时定时/计数控制寄存器计数控制寄存器TCON(88H)振荡器12C/T=0C/T=1+加加1计数器计数器TF0合合/断断T0TR0GATE0INT0TCONTF0(1): T0(1)溢出中断标志位。当溢出中断标志位。当T0(1)计数溢出时,计数溢出时,TF0

38、(1)=1。在允许中断的情况下,。在允许中断的情况下,CPU响应响应T0(1)中断,转向中断,转向T0(1)中断服务程序,此时由硬件自动将中断服务程序,此时由硬件自动将TF0(1)清清0。该标志位。该标志位可由软件查询,也可用软件清可由软件查询,也可用软件清0或置或置1。TR0(1):为:为T0(1)启动控制位。当启动控制位。当TR0(1)=1时,启动时,启动T0(1);TR0(1)=0时,关闭时,关闭T0(1)。该位由软件进行设置。该位由软件进行设置。位地址位地址位地址位地址8FH8FH8FH8FH8EH8EH8EH8EH8DH8DH8DH8DH8CH8CH8CH8CH8BH8BH8BH8B

39、H8AH8AH8AH8AH89H89H89H89H88H88H88H88H位符号位符号位符号位符号TF1TF1TF1TF1TR1TR1TR1TR1TF0TF0TF0TF0TR0TR0TR0TR0IE1IE1IE1IE1IT1IT1IT1IT1IE0IE0IE0IE0IT0IT0IT0IT0嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器振荡器12C/T=0C/T=1+加加1计数器计数器TF0合合/断断T0TR0GATE0INT0 80C51单片机内部有两个单片机内部有两个16位的定时位的定时/计数器计数器T0和和T1。每个定时。每个定时/计数器计数器占

40、用两个特殊功能寄存器占用两个特殊功能寄存器 (C/T=0 定时定时 C/T=1 计数计数 ) T0由由TH0和和TL0两个两个8位计数器组成,字节地址分别是位计数器组成,字节地址分别是8CH和和8AH。 T1由由TH1和和TL1两个两个8位计数器组成,字节地址分别是位计数器组成,字节地址分别是8DH和和8BH。 用于存放定时或计数的初值。当计数器工作时,其值随计数脉冲做加用于存放定时或计数的初值。当计数器工作时,其值随计数脉冲做加1变化。变化。计数寄存器计数寄存器TH0TL0嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器 由于由于T0由由TL0(低低

41、8位位)和和TH0(高高8位位)组成;组成;T1由由TH0和和TH1组成。所以组成。所以T0、T1都是都是16位计数器。但是若将它们设置成不同的工作方式,其计数长位计数器。但是若将它们设置成不同的工作方式,其计数长度度(最大值最大值)和计数方式都可变化。内部定时计数器一共有四种工作方式,和计数方式都可变化。内部定时计数器一共有四种工作方式,由由TMOD的相关位设置。的相关位设置。 定时定时/计数器的的计数器的的工作方式寄存器工作方式寄存器TMOD(89H)M1和和M0: 两位用来确定两位用来确定T0(T1)的具体工作模式。的具体工作模式。M1、M0的四种组合的四种组合刚好与四种工作模式对应。定

42、时刚好与四种工作模式对应。定时/计数器工作模式如下:计数器工作模式如下:M1 M0M1 M0模式模式说说 明明0 00 0方式方式方式方式0 01313位定位定时时/ /计计数器(数器(THTH高高8 8位加上位加上TLTL中的低中的低5 5位)位)0 10 1方式方式方式方式1 11616位定位定时时/ /计计数器数器1 01 0方式方式方式方式2 2自自动动重装初重装初值值的的8 8位定位定时时/ /计计数器数器1 11 1方式方式方式方式3 3模式模式3 3只只针对针对T0T0,T0T0分成两个独立的分成两个独立的8 8位定位定时时/ /计计数数器;器;T1T1无模式无模式3 3M0M0

43、M1M1C/TC/TGATE0GATE0M0M0M1M1C/TC/TGATE1GATE1D0D0D1D1D2D2D3D3D4D4D5D5D6D6D7D7定时器定时器T1T1定时器定时器T0T0嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器振荡器12C/T=0C/T=1+TF0合合/断断T0TR0GATE0INT0 在方式0下,定时/计数器T0和T1的方式0都是相同的。仅以T0为例。 此此时时T0T0构构成成一一个个1313位位的的计计数数器器,由由TH0TH0的的8 8位位和和TL0TL0的的低低5 5位位组组成成,TL0TL0的的高高3 3位位未未

44、用用,满满计计数数值值为为2 21313。 (C/T=0 定时定时 C/T=1 计数计数 ) T0启动后立即加1计数,当TL0的低5位计数溢出时向TH0进位,TH0计数溢出则对相应的溢出标志位TF0置位,以此作为定时器溢出中断标志。当单片机进入中断服务程序时,由内部硬件自动清除该标志。TH0D5方式方式0 D4D3D2D1D0TL0 当选择了定时或计数工作方式后,定时/计数脉冲却不一定能到达计数器输入端,只有当控制开关合上时,计数脉冲才能到达计数器输入端,开始加1计数。控制开关闭合的条件如下:GATE=0时,开关的打开、合上取决于TR0,只要TR0是1,开关就合上,计数脉冲得以畅通无阻,而如果

45、TR0等于0则开关断开,计数脉冲无法通过,因此定时/计数是否工作,只取决于TR0。GATE=1时,控制开关不仅要由TR0来控制,而且还要受到引脚的控制,只有TR0为1,且INT0引脚也是高电平,开关才合上,计数脉冲才得以通过。计数器 嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器振荡器12C/T=0C/T=1+TF0合合/断断T0TR0GATE0INT0 在方式1下,定时/计数器T0和T1的方式1都是相同的。以下仅以T0为例。 T0构构成成一一个个16位位的的计计数数器器,由由TH0的的8位位和和TL0的的8位位组组成成,满满计计数数值值为为216。

46、 (C/T=0 定时 C/T=1 计数 ) T0启动后立即加1计数,当TL0计数溢出时向TH0进位,TH0计数溢出则对相应的溢出标志位TF0置位,以此作为定时器溢出中断标志。当单片机进入中断服务程序时,由内部硬件自动清除该标志。TH0 TL0方式方式1计数器 嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器振荡器12C/T=0C/T=1+TF0合合/断断T0TR0GATE0INT0 在方式2下,定时/计数器T0和T1的方式2都是相同的。以下仅以T0为例。 TH0和和TL0被被当当作作两两个个8位位计计数数器器,计数过程中,TH0寄存8位初值并保持不变,

47、由TL0进行8位计数。当低8位计数溢出时,除了可产生中断申请外,还将TH0中保存的内容向TL0重新装人,以便于重新计数,而TH0中的初值仍然保留,以便下次再行对TL0进行重装。方式2对于连续计数比较有利。这时不需要在溢出后用软件重新装入计数初值,而是可以自动装入,但此时计数的长度将受到很大的限制,只有28=256次。TH0TL0方式方式2计数器 嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器振荡器12C/T=0C/T=1+TF0合合/断断T0TR0GATE0INT0方方式式3 3只只适适用用于于定定时时/ /计计数数器器T0T0。这种工作方式下,定定

48、时时/ /计计数数器器T0T0被被拆拆成成2 2个独立的定时个独立的定时/ /计数器来用。计数器来用。 TL0方式方式3计数器 振荡器12TF1TH0计数器 TR1合合/断断只有定时器T0设置为方式3。定时器T0在方式3下,16位计数器拆开为两个独立工作的8位计数器TL0和 TH0。若TL0来说它既可以按计数方式工作,也可以按定时方式工作,除了仅用8位寄存器TL0外,与工作方式1相同,可定时,也可计数。(3)而TH0则只能用作简单的内部定时功能,占用原定时器T1的控制位TR1、TF1,同时占用T1的中断源,其开启和关闭仅受TR1置1清0控制。 一般情况下,当定时/计数器T0处于工作方式3时,定

49、时/计数器T1可工作为方式0、1、2,但由于此时其已没有控制通断和溢出中断的功能,T1只能作为串行口的波特率发生器使用,或不需要中断的场合。嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器定时定时/ /计数器的初始化与启动计数器的初始化与启动n在使用定时在使用定时/ /计数器前,都要对其初始化,使其按照计数器前,都要对其初始化,使其按照设定的功能工作。初始化步骤一般如下:设定的功能工作。初始化步骤一般如下:n确定工作方式确定工作方式对对TMODTMOD赋值。赋值。n预置定时或计数的初值预置定时或计数的初值可直接将初值写入可直接将初值写入TH0TH0、T

50、L0TL0或或TH1TH1、TL1TL1。n在对在对T0T0和和T1T1初始化后,即可准备启动定时初始化后,即可准备启动定时/ /计数器工计数器工作。初始化时,规定用软件启动则将作。初始化时,规定用软件启动则将TR0TR0或或TR1TR1置置1 1;若规定由外部中断引脚电平启动,必须给外引脚加启若规定由外部中断引脚电平启动,必须给外引脚加启动电平。动电平。嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器 再以水钟为例,当水不断落下,下面容器中的水不再以水钟为例,当水不断落下,下面容器中的水不断变多,最终总有一滴水使得容器完全充满。这时如果断变多,最终总

51、有一滴水使得容器完全充满。这时如果再有一滴水落下,就会发生再有一滴水落下,就会发生“溢出溢出”。与此类似,。与此类似,16位定时计数器计满位定时计数器计满65536个脉冲时,也会发生溢出。个脉冲时,也会发生溢出。 定时计数器溢出后标志位定时计数器溢出后标志位TF0(或(或TF1)由)由0变变1,由此能够引发定时中断(在中断定时方式下),这就,由此能够引发定时中断(在中断定时方式下),这就像定时的时间一到,闹钟就会响一样像定时的时间一到,闹钟就会响一样。 如果采用如果采用12的晶振,对应的脉冲周期是的晶振,对应的脉冲周期是微秒,计满微秒,计满65536个脉冲所对应的时间就是个脉冲所对应的时间就是

52、65.536ms。 3定时定时/计数值的设置计数值的设置定时定时/ /计数器初值的确定方法计数器初值的确定方法嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器现实现实生活中,如何生活中,如何生活中,如何生活中,如何满满足足足足计计数数数数值值少于少于少于少于6553665536的需要的需要的需要的需要?如牛奶包装线上如牛奶包装线上如牛奶包装线上如牛奶包装线上2424盒装盒装盒装盒装箱一次。箱一次。箱一次。箱一次。再回到水钟的例子上去:再回到水钟的例子上去: 刚才假设下面容器滴入刚才假设下面容器滴入100,000,000滴水才会滴水才会满,现在我们在开始

53、滴水之前先放入一勺水,这样问满,现在我们在开始滴水之前先放入一勺水,这样问题就解决了。题就解决了。 计数器的道理是一样的,只要用预置数的方法计数器的道理是一样的,只要用预置数的方法先在计数容器内存入一个初值先在计数容器内存入一个初值 (通常称为时间常数)(通常称为时间常数),如我们要计如我们要计100,那就存入,那就存入65436,只要再来,只要再来100个脉冲,就刚好会溢出。个脉冲,就刚好会溢出。计数器初值的设置计数器初值的设置定时定时/计数器初值的确定方法计数器初值的确定方法嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器 在主频为在主频为12MH

54、z的情况下,的情况下,80C51的每个的每个脉冲脉冲(机器周机器周期期)是是1微秒,则计满微秒,则计满65536个脉冲需个脉冲需65.536毫秒,如要定毫秒,如要定时时10毫秒则存入初值毫秒则存入初值55536,(,(10毫秒是毫秒是10000微秒,需微秒,需计数计数10000个脉冲)。可见,个脉冲)。可见, 定时器的定时时间长短与系统时钟和定时器初定时器的定时时间长短与系统时钟和定时器初值有关值有关。 说明说明 1. 当定时计数器用作计数器时,通过引脚当定时计数器用作计数器时,通过引脚P3.4(P3.5)对外部输入脉冲计数。对外部输入脉冲计数。 2 . 定时计数器定时计数器T0(T1)启动运

55、行后,会按设定的工作启动运行后,会按设定的工作方式独立进行计数,不再占用方式独立进行计数,不再占用CPU时间。当计数器时间。当计数器T0(T1)计满溢出时,计满溢出时,TF0(TF1)置置1,向,向CPU发出中断请求信号。发出中断请求信号。定时器初值的设置定时器初值的设置定时定时/计数器初值的确定方法计数器初值的确定方法嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器定时定时/ /计数器初值的确定方法计数器初值的确定方法n由于不同的工作方式下,计数器的位数不同,因而最大计数值也不同,确由于不同的工作方式下,计数器的位数不同,因而最大计数值也不同,确定定

56、时定定时/ /计数器初值的具体方法如下:计数器初值的具体方法如下:n现假设最大计数值为现假设最大计数值为M M,那么各方式下的,那么各方式下的M M值如下:值如下:n方式方式0 0:M M2 2131381928192n方式方式1 1:M M2 216166553665536n方式方式2 2:M M2 28 8256256n方式方式3 3:定时器:定时器0 0分成两个分成两个8 8位计数器,所以两个位计数器,所以两个M M均为均为256256。n因为定时因为定时/ /计数器是做计数器是做“加加1”1”计数,并在计满溢出时产生中断,因此初值计数,并在计满溢出时产生中断,因此初值X X可以这样计算

57、:可以这样计算:n X X M M 计数值计数值n标准标准80C5180C51时钟频率为时钟频率为12MHz12MHz,计数器每次加,计数器每次加1 1所需的时间为所需的时间为1 1s s,如果产生,如果产生1ms1ms的定时时间,需的定时时间,需“加加1”10001”1000次,次,10001000即计数值。如果要求在方式一下工即计数值。如果要求在方式一下工作,则初值作,则初值X X M M计数值计数值 = 64536 = C113H= 64536 = C113Hn上式表示如果初值为上式表示如果初值为6453664536,再计,再计10001000个脉冲就到了个脉冲就到了6553665536

58、,此时定时器溢,此时定时器溢出。一旦溢出,计数器中的值就会变出。一旦溢出,计数器中的值就会变0 0,正好产生,正好产生1ms1ms的定时时间。的定时时间。嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器定时器定时器T0T0(T1T1)的工作方式(方式)的工作方式(方式0 0方式方式1 1)n通过对通过对M1M1、M0M0位的设置,位的设置, T0T0可选择可选择4 4种工作方式种工作方式,T1,T1可选择可选择3 3种工作方式。本节将介绍这种工作方式。本节将介绍这4 4种工作方种工作方式的结构、特点及工作过程。式的结构、特点及工作过程。n方式方式0 0

59、和方式和方式1 1 :结构和工作原理基本相同,只:结构和工作原理基本相同,只是方式是方式0 0为为1313位计数器方式,方式位计数器方式,方式1 1为为1616位计数器位计数器方式。方式。M1 M0 M1 M0 工作方式工作方式工作方式工作方式 0 00 0方式方式方式方式0 0 0 10 1方式方式方式方式1 1 1 01 0方式方式方式方式2 21 11 1方式方式方式方式3 3 嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器定时器定时器T0T0(T1T1)的工作方式(方式)的工作方式(方式2 2)n方式方式2 2:计数常数可自动再装入的:计数常

60、数可自动再装入的8 8位计位计数器方式。数器方式。TH0TH0保持初值,当保持初值,当TL0TL0计数溢计数溢出时则置位出时则置位TF0TF0,并将,并将TH0TH0初值再次装入初值再次装入TL0TL0,继续计数,重复循环不止。,继续计数,重复循环不止。M1 M0 M1 M0 工作方式工作方式工作方式工作方式 0 00 0方式方式方式方式0 0 0 10 1方式方式方式方式1 1 1 01 0方式方式方式方式2 21 11 1方式方式方式方式3 3 嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器定时器定时器T0T0的工作方式(方式的工作方式(方式3

61、3)n方式方式3 3:只有定时器:只有定时器T0T0可以设置方式可以设置方式3 3。此时,定时器。此时,定时器T0T0被拆为被拆为两个独立的两个独立的8 8位计数器位计数器TL0TL0、TH0TH0。原。原T0T0的控制位及引脚等,均用的控制位及引脚等,均用于于TL0TL0的控制,可定时也可计数。的控制,可定时也可计数。TH0TH0只可用作简单的内部定时只可用作简单的内部定时功能,占用定时器功能,占用定时器T1T1的控制位的控制位TR1TR1、TF1TF1和中断源,其启动、关和中断源,其启动、关闭仅受闭仅受TR1TR1置置1 1和清和清0 0。嵌入式系统概论嵌入式系统概论- -单片机基础单片机

62、之定时计数单片机基础单片机之定时计数器器定时器定时器T0T0应用举例(方式一)应用举例(方式一)n例:在例:在P1.1P1.1端口输出周期为端口输出周期为2ms2ms的方波,晶振的方波,晶振foscfosc6MHz6MHz。解:。解:采用采用T0T0的定时功能,对的定时功能,对P1.1P1.1端口每隔端口每隔1ms1ms取反一次即可得到周取反一次即可得到周期为期为2ms2ms方波。方波。( (注:注: 1ms = 1000 1ms = 1000 s s )n定时器的初始化:定时器的初始化:nTMODTMOD的设定的设定 :工作方式:工作方式1 1(M1 M0=0 1) T0M1 M0=0 1)

63、 T0为定时器为定时器(C/T=0) C/T=0) 内部内部TR0TR0控制启动控制启动n计数器初值计算:计数器初值计算:定时时间定时时间= =(最大计数值(最大计数值 计数器初值)计数器初值) 机器周期机器周期 即:即:1000 1000 s =s =(6553665536计数器初值)计数器初值)12126 6 1 1 s s 。得:计数器初值得:计数器初值=65036=FE0CH=65036=FE0CH嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器定时器定时器T0T0应用举例(方式一)应用举例(方式一)n n ORG 2000HORG 2000H

64、n MOV MOV TMODTMOD,#01H#01Hn MOV MOV TL0TL0,0CH 0CH ;给;给TL0TL0置初值置初值n MOVMOVTH0TH0,0FEH 0FEH ;给;给TH0TH0置初值置初值n SETB TR0 SETB TR0 ;启动;启动T0T0nLP1LP1: JBC TF0JBC TF0,LP2 LP2 ;查询计数溢出;查询计数溢出 TF0=1TF0=1转转, ,且且TF0TF0清清0 0n AJMP LP1 AJMP LP1nLP2LP2: MOVMOVTL0TL0,0CH 0CH ;重新设置计数初值;重新设置计数初值n MOVMOVTH0TH0,0FEH

65、0FEHn CPL CPL P1.1 P1.1 ;输出取反;输出取反n AJMP LP1 AJMP LP1 ;重复循环;重复循环嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器定时器定时器T1T1应用举例应用举例(方式一)(方式一)n用单片机的用单片机的T1T1定时完成日历时钟秒、分、时的定时,定时完成日历时钟秒、分、时的定时,fosc=12MHzfosc=12MHz。n首先完成首先完成1S(1S(秒)的定时,每计满秒)的定时,每计满60S60S,分钟加,分钟加1 1;每计满;每计满60min60min,时钟的时,时钟的时加加1 1;计满;计满24h2

66、4h,时钟清,时钟清0 0,然后从,然后从0h0h开始重复上述过程。采用软件计数实现开始重复上述过程。采用软件计数实现实时时钟控制。用实时时钟控制。用T1T1定时定时50ms50ms,工作于模式,工作于模式1 1。n T=Mx12/T=Mx12/fosc=65536x12/(12x10fosc=65536x12/(12x106 6Hz)=65536Hz)=65536s=65.536mSs=65.536mSnT1T1定时定时50mS50mS(5000050000s s),),T1T1的初始值的初始值X X为为nX=M-X=M-计数值计数值=65536-50000=15536=3CB0H=6553

67、6-50000=15536=3CB0Hn设置软件计数单元:设置软件计数单元:n50H50H单元为秒计数,计满单元为秒计数,计满2020次为次为1 1秒钟;秒钟;n51H51H单元为分计数,计满单元为分计数,计满6060次为次为1 1分钟;分钟;n52H52H单元为小时计数,计满单元为小时计数,计满6060次为次为1 1小时;小时;n53H53H单元为日计数,计满单元为日计数,计满2424次为次为1 1日;然后程序不断循环。日;然后程序不断循环。嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器定时器定时器定时器定时器T1T1T1T1应用举例(方式一)应用

68、举例(方式一)应用举例(方式一)应用举例(方式一)n MOV 50H, #20H ;定时1S循环次数n MOV 51H, #60H ;定时1min循环次数n MOV 52H, #60H ;定时1h循环次数n MOV 53H, #24H ;24h循环次数n MOV TMOD,#10H ;T1定时,模式1n MOV TH1, #3CH ;赋初值n MOV TL1, #0B0Hn SETB TR1 ;启动T1nL2: JBC TF1,L1 ;查询计数溢出TF1=1,转L1该位清0n SJMP L2nL1: MOV TH1, #3CH ;赋初值n MOV TL1, #0B0Hn DJNZ 50H,L2

69、 ;未到1S继续循环n MOV 50H,#20n DJNZ 51H,L2 ;未到1min继续循环n MOV 51H,#60n DJNZ 52H,L2 ;未到1h继续循环n MOV 52H,#60n DJNZ 53H,L2 ;未到24h继续循环n MOV 53H,#24n SJEMP L2嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器定时器定时器 T0 T0 应用举例应用举例(方式二计数)(方式二计数)n n用定时器用定时器用定时器用定时器T0T0T0T0方式二计数,每计满方式二计数,每计满方式二计数,每计满方式二计数,每计满100100100100次

70、,将次,将次,将次,将P1.0P1.0P1.0P1.0端端端端取反。取反。取反。取反。n n外部计数信号由外部计数信号由外部计数信号由外部计数信号由T0(P3.4)T0(P3.4)T0(P3.4)T0(P3.4)脚引入,每产生脚引入,每产生脚引入,每产生脚引入,每产生1 1 1 1次负跳次负跳次负跳次负跳变计数器加变计数器加变计数器加变计数器加1 1 1 1,由程序查询,由程序查询,由程序查询,由程序查询TF0TF0TF0TF0。方式二具有初值自。方式二具有初值自。方式二具有初值自。方式二具有初值自动装入功能。动装入功能。动装入功能。动装入功能。n n初值初值初值初值 X=2 X=2 X=2

71、X=28 8 8 8-100=156=9CH-100=156=9CH-100=156=9CH-100=156=9CHn nTH0=TL0=9CHTH0=TL0=9CHTH0=TL0=9CHTH0=TL0=9CH,TMOD=06HTMOD=06HTMOD=06HTMOD=06HM1 M0 M1 M0 工作方式工作方式工作方式工作方式 0 00 0方式方式方式方式0 0 0 10 1方式方式方式方式1 1 1 01 0方式方式方式方式2 21 11 1方式方式方式方式3 3 嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器定时器定时器T0(T1)T0(T1

72、)应用举例应用举例(方式二)(方式二)n n MOV TMOD ,#06H; MOV TMOD ,#06H;设置为方式二计数设置为方式二计数n n MOV TH0 ,#9CH MOV TH0 ,#9CH ;赋初值;赋初值n n MOV TL0 ,#9CH MOV TL0 ,#9CHn n SETB TR0 SETB TR0 ;启动;启动T0T0n nDEL: JBC TF0,REP ;DEL: JBC TF0,REP ;查询计数溢出查询计数溢出n n SJMP DEL SJMP DELn nREP: CPL P1.0 REP: CPL P1.0 ;输出取反;输出取反n n SJMP DEL S

73、JMP DEL嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器简易方波发生器简易方波发生器利用定时利用定时/ /计数器计数器T0T0,工,工作于方式作于方式0 0,采用查询方,采用查询方式,在式,在P1.0P1.0引脚输出频引脚输出频率为率为500Hz500Hz的方波(周期的方波(周期是是2ms2ms) ,并用示波器,并用示波器进行观察(晶振采用进行观察(晶振采用12MHz12MHz)。)。1msP1.01ms嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器背景知识背景知识 1 1方波产生原理方波产生原理 使使

74、P1.0P1.0引脚的输出状态定时翻转,则该端口能输出一引脚的输出状态定时翻转,则该端口能输出一定频率的方波。定频率的方波。 2 2方式方式0 0的时间常数初值的时间常数初值 定时定时/ /计数器工作于方式计数器工作于方式0 0状态下,定时状态下,定时/ /计数的长度是计数的长度是1313位。应用前面给出的时间常数初值的计算公式位。应用前面给出的时间常数初值的计算公式 X=8192-t(fosc/12) X=8192-t(fosc/12) 我们可以很方便地计算出时间常数初值,但在将其装我们可以很方便地计算出时间常数初值,但在将其装入定时入定时/ /计数器的计数器的THTH、TLTL寄存器时,必

75、须要注意:将计算结果寄存器时,必须要注意:将计算结果的高的高8 8位装入位装入TH0TH0、低、低5 5位装入位装入TL0TL0,这一环节是非常容易出错,这一环节是非常容易出错的。的。 简易方波发生器简易方波发生器嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器简易方波发生器简易方波发生器n n以以以以T0T0T0T0方式方式方式方式0 0 0 0产生产生产生产生500Hz500Hz500Hz500Hz的方波(周期是的方波(周期是的方波(周期是的方波(周期是2ms2ms2ms2ms)为例,需要进)为例,需要进)为例,需要进)为例,需要进行行行行1ms1

76、ms1ms1ms的定时,时间常数初值的定时,时间常数初值的定时,时间常数初值的定时,时间常数初值n nX=8192-110X=8192-110X=8192-110X=8192-110-3-3-3-3(12101210121012106 6 6 6/12/12/12/12)n n=8192-1000=8192-1000=8192-1000=8192-1000n n=7192=7192=7192=7192n n=1C18H=1C18H=1C18H=1C18Hn n=11000B=11000B=11000B=11000Bn n则(则(则(则(TL0TL0TL0TL0)=00011000B=18H=0

77、0011000B=18H=00011000B=18H=00011000B=18H,(,(,(,(TH0TH0TH0TH0)=11100000B=0E0H=11100000B=0E0H=11100000B=0E0H=11100000B=0E0Hn n定义定义定义定义TMOD=00000000BTMOD=00000000BTMOD=00000000BTMOD=00000000B嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器简易方波发生器简易方波发生器n nORG 0000HORG 0000HORG 0000HORG 0000Hn n LJMP MAIN

78、LJMP MAIN LJMP MAIN LJMP MAIN ;跳至主程序;跳至主程序;跳至主程序;跳至主程序n nMAINMAINMAINMAIN:MOV TMODMOV TMODMOV TMODMOV TMOD,#00H#00H#00H#00H ;置;置;置;置T0T0T0T0工作于方式工作于方式工作于方式工作于方式0 0 0 0n n MOV TH0 MOV TH0 MOV TH0 MOV TH0,#0E0H #0E0H #0E0H #0E0H ;装入时间常数初值;装入时间常数初值;装入时间常数初值;装入时间常数初值n n MOV TL0 MOV TL0 MOV TL0 MOV TL0,#

79、18H#18H#18H#18Hn n SETB TR0 SETB TR0 SETB TR0 SETB TR0 ;启动;启动;启动;启动T1T1T1T1n nLOOPLOOPLOOPLOOP:JNB TF0JNB TF0JNB TF0JNB TF0,LOOP LOOP LOOP LOOP ;查询等待;查询等待;查询等待;查询等待n n CLR TF0 CLR TF0 CLR TF0 CLR TF0 ;清;清;清;清TF1TF1TF1TF1n n CPL P1.0 CPL P1.0 CPL P1.0 CPL P1.0 ;P1.0P1.0P1.0P1.0取反取反取反取反n n MOV TH0,#0E

80、0H MOV TH0,#0E0H MOV TH0,#0E0H MOV TH0,#0E0H ;重新装入时间常数初值;重新装入时间常数初值;重新装入时间常数初值;重新装入时间常数初值n n MOV TL0 MOV TL0 MOV TL0 MOV TL0,#18H#18H#18H#18Hn n AJMP LOOP AJMP LOOP AJMP LOOP AJMP LOOP ;继续生成波形;继续生成波形;继续生成波形;继续生成波形n n END END END END嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器END嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器嵌入式系统概论嵌入式系统概论- -单片机基础单片机之定时计数单片机基础单片机之定时计数器器

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号