单片机原理及应用教程(C语言版)-第6章-MCS-51单片机的定时器计数器ppt课件.ppt
《单片机原理及应用教程(C语言版)-第6章-MCS-51单片机的定时器计数器ppt课件.ppt》由会员分享,可在线阅读,更多相关《单片机原理及应用教程(C语言版)-第6章-MCS-51单片机的定时器计数器ppt课件.ppt(100页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机原理及应用教程单片机原理及应用教程 (C语言版)语言版)第第6章章 MCS-51单片机定时器单片机定时器/计数器计数器主主 编:编:周国运周国运中国水利水电出版社中国水利水电出版社第第6章章 MCS-51单片机定时器单片机定时器/计数器计数器目目 录录6.1 单片机定时器单片机定时器/计数器计数器的结构及原理的结构及原理6.2 定时器定时器/计数器计数器T0、T16.3 定时器定时器/计数器计数器T26.4 定时器定时器/计数器应用举计数器应用举例例 定时器定时器/计数器应用极其广泛。计数器应用极其广泛。本章主要讨论本章主要讨论MCS-51单片机定时器单片机定时器/计计数器数器T0、T1
2、、T2的逻辑结构、工作原理、的逻辑结构、工作原理、使用方法和应用。使用方法和应用。本章为单片机的主要内容,也是学习第本章为单片机的主要内容,也是学习第七章串行口的基础。七章串行口的基础。第第6章章 MCS-51单片机的定时器单片机的定时器/计数器计数器6.1 单片机定时器单片机定时器/计数器计数器的结构及原理的结构及原理主要内容主要内容6.1.1 单片机定时器单片机定时器/计数器的结构计数器的结构6.1.2 单片机定时器单片机定时器/计数器的工作原理计数器的工作原理6.1.1 单片机定时器单片机定时器/计数器的结构计数器的结构 MCS-51单片机定时器单片机定时器/计数器的原理结构图计数器的原
3、理结构图 CPU中断中断溢溢出出溢溢出出溢溢出出定时器定时器0 0定时器定时器1 1定时器定时器2 2TMODT2CONT2MODTCONTH0TL0TH1TL1TH2TL2RCAP2LRCAP2H模模式式模模式式T2(P1.0)T1(P3.5)T2EX(P1.1)T0(P3.4)模模式式控控制制控控制制控控制制中断中断重装重装捕获捕获6.1.1 MCS-51单片机定时器单片机定时器/计数器的结构计数器的结构 MCS-51主要由如下构成主要由如下构成: 三个三个16位的可编程定时器位的可编程定时器/计数器:定时器计数器:定时器/计数计数器器0、1和和2。 每个定时器有两部分构成:每个定时器有两
4、部分构成:THx和和TLx 特殊功能寄存器特殊功能寄存器TMOD和和TCON ,主要对,主要对T0和和T1进行控制。进行控制。 特殊功能寄存器特殊功能寄存器T2MOD和和T2CON ,主要对,主要对T2进行控制,进行控制,RCAP2H、RCAP2L为为T2服务。服务。 引脚引脚P3.4、P3.5、P1.0,为计数脉冲输入。,为计数脉冲输入。 定时器定时器T0、T1和和T2有中断功能,计数器溢出或有中断功能,计数器溢出或被触发(被触发(T2),向),向CPU 发出中断请求。发出中断请求。6.1.2 单片机定时器单片机定时器/计数器的工作原理计数器的工作原理 定时器定时器/计数器计数器T0、T1、
5、T2 的内部结构简图如下的内部结构简图如下图所示。图所示。C/ /T=0中断请求中断请求振荡器振荡器TLx(8位位)THx(8位位)Tx n分频分频TFxC/ /T=1控制控制TRx做定时器做定时器做计数器做计数器6.1.2 MCS-51单片机定时器单片机定时器/计数器的工作原理计数器的工作原理 从上图可以看出:从上图可以看出: 定时器的实质是一个加定时器的实质是一个加1计数器计数器。C/T =0 ,为定时器,为定时器计数频率:计数频率:fosc/12计数信号由片内振荡电路提供,振荡脉冲计数信号由片内振荡电路提供,振荡脉冲n分分频送给计数器,每个机器周期计数器值增频送给计数器,每个机器周期计数
6、器值增1。 C/T =1 ,为计数器,为计数器计数信号由计数信号由Tx引脚引脚(P3.4、P3.5和和P1.0)输入,输入,每输入一有效信号,相应的计数器中的内容进行加每输入一有效信号,相应的计数器中的内容进行加1计数器的最高计数频率为:计数器的最高计数频率为:fosc/24 1)每每1个输入脉冲的下降沿使计数器计个输入脉冲的下降沿使计数器计1个数个数 2)每每1个机器周期对引脚采样个机器周期对引脚采样1次,当上次,当上1个机器个机器周期采样为高、本机器周期采样为低为周期采样为高、本机器周期采样为低为1个下降沿。个下降沿。 6.1.2 MCS-51单片机定时器单片机定时器/计数器的工作原理计数
7、器的工作原理 控制信号控制信号TRx=1时,定时器启动时,定时器启动。 当定时器由全当定时器由全1加到全加到全0时计满溢出,时计满溢出,TFx=1,向向CPU申请中断;同时,定时器从申请中断;同时,定时器从0开始继续开始继续计数。计数。6.2 定时器定时器/计数器计数器T0、T1主要内容主要内容6.2.1 T0、T1的特殊功能寄存器的特殊功能寄存器6.2.2 T0、T1的工作模式的工作模式6.2.3 T0、T1的使用方法的使用方法6.2.1 T0、T1的特殊功能寄存器的特殊功能寄存器1. T0、T1 模式寄存器模式寄存器TMOD 功能:确定定时器的工作模式。功能:确定定时器的工作模式。其格式为
8、:其格式为:TMOD(89H)D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0GATE外部门控制位。外部门控制位。GATE1,使用外部控制门,且,使用外部控制门,且TRx=1 当当P3.2(P3.3)为高时启动定时器,)为高时启动定时器, P3.2(P3.3)为)为T0、T1运行外部控制引脚。运行外部控制引脚。6.2.1 T0、T1的特殊功能寄存器的特殊功能寄存器GATE0,禁止外部信号控制定时器禁止外部信号控制定时器/计数器。计数器。C/T定时或计数方式选择位定时或计数方式选择位 C/T0,为定时器;,为定时器;C/T1,为计数器,为计数器 计数采样:计数采样:C
9、PU在每机器周期的在每机器周期的S5P2期间,对期间,对计数脉冲输入引脚进行采样。计数脉冲输入引脚进行采样。若前一机器周期采样值为若前一机器周期采样值为1,下一机器周期采,下一机器周期采样值为样值为0,则计数器增,则计数器增1,即下降沿计数即下降沿计数。6.2.1 T0、T1的特殊功能寄存器的特殊功能寄存器 M1、M0工作模式选择位。工作模式选择位。表表6-1 定时器定时器/计数器的工作模式计数器的工作模式M1 M0工作模式工作模式功功 能能00模式模式013位定时位定时/计数计数 01模式模式116位定时位定时/计数计数10模式模式28位初值自动重装定时位初值自动重装定时/计数计数11模式模
10、式3定时器定时器0:TL0可可8位定时或计数位定时或计数 TH0为为8位定时器。位定时器。定时器定时器1:无此方式:无此方式6.2.1 T0、T1的特殊功能寄存器的特殊功能寄存器2. T0、T1控制寄存器控制寄存器TCONTCON(88H)D7D6D5D4D3D2D1D0TF1 TR1 TF0 TR0 IE1IT1IE0IT0TF1、TF0:T1、T0的溢出标志位的溢出标志位 计数溢出,计数溢出,TFx=1。 中断方式:中断方式:自动清零;自动清零; 查询方式:查询方式:软件清零。软件清零。6.2.1 T0、T1的特殊功能寄存器的特殊功能寄存器TR1、TR0:T1、T0启停控制位。启停控制位。
11、 置置1,启动定时器;,启动定时器; 清清0,关闭定时器。,关闭定时器。注意:注意: GATE=1 ,TRx与与P3.2(P3.3)的配合控制)的配合控制。IE1、IE0:外部中断外部中断1、0请求标志位请求标志位IT1、IT0:外部中断外部中断1、0触发方式选择位触发方式选择位6.2.2 T0、T1的工作模式的工作模式MCS-51的的T0、T1共有共有4种工作模式种工作模式,前前三种模式下两个定时器三种模式下两个定时器/计数器工作原理是相同计数器工作原理是相同的,的,只有模式只有模式3下两者才有差别。以下主要以下两者才有差别。以下主要以T0为例进行介绍,为例进行介绍,T1类似。类似。模式模式
12、0与模式与模式1 的区别仅仅是计数器的位数不同,的区别仅仅是计数器的位数不同,前者是前者是13位,后者是位,后者是16位,其它完全相同,现在一位,其它完全相同,现在一般都不使用模式般都不使用模式0,故不讲。,故不讲。 当设置当设置M1M001时,选择模式时,选择模式1,为,为16位定位定时器时器/计数器。计数器。模式模式1原理结构原理结构模式模式1原理结构由原理结构由4部分构成(下页图):部分构成(下页图):信号源信号源运行控制运行控制计数器计数器溢出标志溢出标志1模式模式16.2.2 T0、T1的工作模式的工作模式6.2.2 T0、T1的工作模式的工作模式图图6-6 T0模式模式1原理结构原
13、理结构振荡器振荡器12分频分频TL0(8位位)TH0TF0+T0(P3.4)TR0(P3.2)GATEC/T=0C/T=1中断中断(8位位)01 运行控制运行控制计数器计数器溢出中断溢出中断信号源信号源6.2.2 T0、T1的工作模式的工作模式信号源信号源C/T设为设为1,为计数器,为计数器,用用P3.4引脚脉冲引脚脉冲C/T设为设为0,为定时器,为定时器,用内部脉冲用内部脉冲运行控制运行控制GATE=1,由外部信号控制运行,由外部信号控制运行此时应该设置此时应该设置TR0=1P3.2引脚为高电平,引脚为高电平,T0运行运行GATE=0,由内部控制运行由内部控制运行TR0设置为设置为1,T0运
14、行运行6.2.2 T0、T1的工作模式的工作模式计数部件计数部件由由TL0、TH0组成,是一个组成,是一个16位的加法计数器,位的加法计数器,对送来的脉冲进行计数,计数溢出后输出由低变高,对送来的脉冲进行计数,计数溢出后输出由低变高,设置溢出标志。设置溢出标志。溢出标志:溢出标志:TF0。当计数部件溢出后对其置当计数部件溢出后对其置1,向,向CPU 请求中断。请求中断。模式模式1定时时间的计算公式如下:定时时间的计算公式如下:定时时间定时时间=计数值计数值机器周期机器周期 =(216 - 定时初值)定时初值)振荡周期振荡周期12最大定时时间(初值为最大定时时间(初值为0时)为:时)为: 216
15、 振荡周期振荡周期 12。2模式模式26.2.2 T0、T1的工作模式的工作模式M1 M0 10时,选择模式时,选择模式2,为,为8位定时器位定时器/计数器,且初值自动重装。计数器,且初值自动重装。模式模式2原理结构原理结构原理结构如下页图所示,由原理结构如下页图所示,由4部分构成:部分构成:信号源信号源运行控制运行控制计数器计数器溢出标志溢出标志在能够满足计数要求时,尽可能地选择模在能够满足计数要求时,尽可能地选择模式式2。图图6-7 T0(T1)模式)模式2原理结构原理结构8位初值自动重装位初值自动重装振荡器振荡器12分频分频T0 (P3.4)TR0TF0中中断断GATE+C/T=0C/T
16、=1TL0(8位位)TH0(8位位)P3.201 运行控制运行控制计数器计数器溢出标志溢出标志信号源信号源6.2.2 T0、T1的工作模式的工作模式M1 M0 11,选择模式,选择模式3。逻辑结构如图逻辑结构如图6-8和和6-9所示:所示: 结构结构: TL0、TH0分为两个独立的分为两个独立的8位计数器位计数器 TL0: 8位定时器位定时器/计数器计数器使用使用T0所有的资源和控制位所有的资源和控制位 TH0:8位定时器位定时器使用使用T1所有的资源所有的资源(中断向量、中断控制中断向量、中断控制ET1、PT1)和控制位和控制位(TR1、TF1)6.2.2 T0、T1的工作模式的工作模式3模
17、式模式3图图6-8 模式模式3下下T0的原理结构图的原理结构图振荡器振荡器12分频分频TR1振荡器振荡器T0(P3.4)TR0TF1GATE+C/T=0C/T=1TL0(8位)位)TH0P3.2中断中断中断中断TF012分频分频(8位)位)6.2.2 T0、T1的工作模式的工作模式T0模式模式3时时T1的工作模式的工作模式T1可以模式可以模式0模式模式2工作。工作。T1的结构如图的结构如图6-9所示所示由于由于TF1及中断矢量被及中断矢量被TH0占用,所以占用,所以T1仅用作仅用作波特率发生器或其它不用中断的地方。波特率发生器或其它不用中断的地方。T1作波特率发生器,其计数溢出直接送至串作波特
18、率发生器,其计数溢出直接送至串行口。行口。设置好工作方式,串行口波特率发生器开始设置好工作方式,串行口波特率发生器开始自动运行。自动运行。 TMOD中中T1的的M1M0=11,T1停止工作,因为停止工作,因为T1没有模式没有模式3。6.2.2 T0、T1的工作模式的工作模式图图6-9 T0模式模式3时时T1的原理结构的原理结构串行口串行口重新装入重新装入C/T=0C/T=1C/T=1C/T=0T1(P3.5)T1(P3.5)(a)T1模式模式1振荡器振荡器12分频分频振荡器振荡器12分频分频串行口串行口TH1(8位位)TL1(8位位)TL1(8位位)TH1(8位位)(b)T1模式模式26.2.
19、2 T0、T1的工作模式的工作模式6.2.3 T0、T1的使用方法的使用方法T0、T1各有两种功能(定时各有两种功能(定时/计数)、计数)、4种或种或3种工作模式,如何选择其功能和工作模式,是使用种工作模式,如何选择其功能和工作模式,是使用T0、T1编写程序需要首先解决的问题。编写程序需要首先解决的问题。1.选择定时和计数概念选择定时和计数概念如果需要对单片机外部输入的脉冲进行计量,如果需要对单片机外部输入的脉冲进行计量,则选择计数功能则选择计数功能(如统计产品数量、轮子转到周数(如统计产品数量、轮子转到周数(每周产生的脉冲数目一定)、液滴的数目等)(每周产生的脉冲数目一定)、液滴的数目等);
20、否则选择定时功能否则选择定时功能(如定时启动(如定时启动/停止机器运转、停止机器运转、定时打开定时打开/关闭阀门、产生方波、产生某种频率的声关闭阀门、产生方波、产生某种频率的声音等)。音等)。6.2.3 T0、T1的使用方法的使用方法2.选择工作模式选择工作模式(1)计算计数值)计算计数值N1)计数情况)计数情况需要计的数需要计的数N往往是给定的,如计往往是给定的,如计100个数、个数、200个数等。个数等。2)定时情况)定时情况在这种情况下往往给出的是定时的时间在这种情况下往往给出的是定时的时间t根据定时器每个机器周期计根据定时器每个机器周期计1个数的规律,则计个数的规律,则计数值数值N与定
21、时时间与定时时间t、机器周期、机器周期TMC、晶振频率、晶振频率fosc的的关系如下:关系如下:t = N TMC 、 TMC = 12/fosc N = t / TMC = t fosc /12 (公式(公式6-1)6.2.3 T0、T1的使用方法的使用方法(2)确定工作模式)确定工作模式如果如果N256,则选择模式,则选择模式1;否则选择模式;否则选择模式2,或者选择模式或者选择模式3。首选模式首选模式2。3计数初值计数初值X的计算的计算计数初值计数初值X = 最大计数值最大计数值 - - 计数值计数值N (公式公式6-2)计数初值和工作模式有关,即与计数位数有关计数初值和工作模式有关,即
22、与计数位数有关:模式模式1:16位计数,位计数,N=65536,(216)模式模式2:8位计数,位计数,N=256,(28)模式模式3:8位计数,位计数,N=256,(28)6.2.3 T0、T1的使用方法的使用方法 4什么情况下选择模式什么情况下选择模式3模式模式3是在系统既需要波特率发生器,又需要多是在系统既需要波特率发生器,又需要多个定时器个定时器/计数器,而且计数值都比较小(计数器,而且计数值都比较小(N256)的情况下使用。的情况下使用。这时定时器这时定时器/计数器计数器T1作为波特率发生器,定时作为波特率发生器,定时器器/计数器计数器T0分为两个分为两个8位定时器,或者分成的两个位
23、定时器,或者分成的两个其中一个作其中一个作8位定时器、另一个位定时器、另一个8位计数器使用。位计数器使用。6.2.3 T0、T1的使用方法的使用方法5使用使用T0、T1编程的方法步骤编程的方法步骤 计算计数值计算计数值N。 确定工作模式。确定工作模式。 计算定时或计数的初值计算定时或计数的初值X。 编写初始化程序:编写初始化程序:设置设置TMOD,设置,设置TLx和和THx,(需要时开,(需要时开T0、T1中断和总中断),设置中断和总中断),设置TRx启动运行。启动运行。 编写编写T0、T1的应用程序。的应用程序。前前3项为编写初始化程序的准备,称之为初始化项为编写初始化程序的准备,称之为初始
24、化准备。准备。6.2.3 T0、T1的使用方法的使用方法6在运行中读取在运行中读取TLx、THx的方法的方法在在T0、T1运行情况下,运行情况下,TLx和和THx中的值在中的值在变化,读的期间有可能进位,读出的数据不正确变化,读的期间有可能进位,读出的数据不正确。正确的读取方法如下:正确的读取方法如下:doxh=THx;xl=TLx;while(xh!=THx);程序中的程序中的xl、xh为已经定义过的无符号字符为已经定义过的无符号字符型变量。型变量。6.2.3 T0、T1的使用方法的使用方法 例例6-1 对对89C52单片机编程,使用定时器单片机编程,使用定时器/ /计计数器数器T0以模式以
25、模式1定时,以定时,以中断方式实现从中断方式实现从P1.0引引脚产生周期为脚产生周期为1000s的方波。设单片机的振荡频的方波。设单片机的振荡频率为率为12MHz。分析与计算分析与计算(1)方波产生原理)方波产生原理 将将T0设为定时器,设为定时器,计算出合适的初值,定计算出合适的初值,定时到了之后对时到了之后对P1.0引脚取反即可。引脚取反即可。(2)选择工作模式)选择工作模式计算计数值计算计数值NP1.06.2.3 T0、T1的使用方法的使用方法 定时时间定时时间t:周期为周期为1000s的方波要求的方波要求t =周期周期/2 = 1000/2 = 500(s)对应计数值:对应计数值:N
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 教程 语言版 MCS 51 定时器 计数器 ppt 课件
限制150内