单片机语言编程定时器计数器 (2)优秀PPT.ppt
-
资源ID:50877460
资源大小:4.81MB
全文页数:101页
- 资源格式: PPT
下载积分:18金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
单片机语言编程定时器计数器 (2)优秀PPT.ppt
单片机语言编程定时器计数器第1页,本讲稿共101页第第6章章 MCS-51单片机定时器单片机定时器/计数器计数器目目 录录6.1 MCS-51定时器定时器/计数器计数器的结构及原理的结构及原理6.2 定时器定时器T0、T16.3 定时器定时器T26.4 定时器应用举例定时器应用举例第2页,本讲稿共101页 本章主要讨论本章主要讨论MCS-51单片机定时器单片机定时器/计计数器的逻辑结构和工作原理。内容主要有数器的逻辑结构和工作原理。内容主要有MCS-51单片机定时器单片机定时器T0、T1、T2的逻辑结的逻辑结构,工作方式的选择和应用。构,工作方式的选择和应用。本章为单片机的主要内容,也是第七章本章为单片机的主要内容,也是第七章串行口的学习的基础。串行口的学习的基础。第第6章章 MCS-51单片机的定时器单片机的定时器/计数器计数器第3页,本讲稿共101页6.1 MCS-51单片机定时器单片机定时器/计数器的结构计数器的结构及原理及原理主要内容主要内容6.1.1 MCS-51单片机定时器的结构单片机定时器的结构6.1.2 MCS-51单片机定时器的工作原理单片机定时器的工作原理6.1.3 定时器定时器/计数器的控制寄存器计数器的控制寄存器第4页,本讲稿共101页6.1.1 MCS-51单片机定时器的结构单片机定时器的结构 MCS-51单片机定时器单片机定时器/计数器逻辑结构图:计数器逻辑结构图:CPU中断中断溢溢出出溢溢出出溢溢出出定时器定时器 0 0定时器定时器 1 1定时器定时器 2 2TMODT2CONT2MODTCONTH0TL0TH1TL1TH2TL2RCAP2LRCAP2H模模式式模模式式T2(P1.0)T1(P3.5)T2EX(P1.1)T0(P3.4)模模式式控控制制控控制制控控制制中断中断重装重装捕获捕获第5页,本讲稿共101页6.1.1 MCS-51单片机定时器的结构单片机定时器的结构 MCS-51主要由如下构成主要由如下构成:三个三个16位的可编程定时器位的可编程定时器/计数器:定时计数器:定时器器/计数器计数器0、1和和2。每个定时器有两部分构成:每个定时器有两部分构成:THx和和TLx特殊功能寄存器特殊功能寄存器T2MOD和和T2CON,主,主要对要对T2进行控制。进行控制。特殊功能寄存器特殊功能寄存器TMOD和和TCON,主要,主要对对T0和和T1进行控制。进行控制。第6页,本讲稿共101页6.1.1 MCS-51单片机定时器的结构单片机定时器的结构 引脚引脚P3.5、P3.4、P1.0,输入计数脉冲。,输入计数脉冲。定时器定时器T0、T1和和T2是是3个中断源,可以向个中断源,可以向CPU 发出中断请求。发出中断请求。定时器定时器/计数器计数器T2增加了两个增加了两个8位的寄存器:位的寄存器:RCAP2H和和RCAP2L。特殊功能寄存器之间通过内部总线和控制特殊功能寄存器之间通过内部总线和控制逻辑电路连接起来。逻辑电路连接起来。第7页,本讲稿共101页6.1.2 MCS-51单片机定时器的工作原理单片机定时器的工作原理 定时器定时器/计数器计数器T0、T1、T2 的内部结构简图的内部结构简图如下图所示。如下图所示。C/T=0中断请求中断请求振荡器振荡器TLx(8位位)THx(8位位)Tx12分频分频TFxC/T=1控制控制TRx第8页,本讲稿共101页6.1.2 MCS-51单片机定时器单片机定时器/计数器的工作原理计数器的工作原理 从上图可以看出:从上图可以看出:定时器的实质是一个加定时器的实质是一个加1计数器计数器。C/T=0,为定时器方式。,为定时器方式。计数信号由片内振荡电路提供,振荡脉计数信号由片内振荡电路提供,振荡脉冲冲12分频送给计数器,每个机器周期计数器值分频送给计数器,每个机器周期计数器值增增1。例如例如:如果晶振频率为:如果晶振频率为12MHz,则最高计,则最高计数频率为数频率为0.5MHz第9页,本讲稿共101页6.1.2 MCS-51单片机定时器单片机定时器/计数器的工作原理计数器的工作原理 C/T=1,为计数方式,为计数方式。计数信号由计数信号由Tx引脚引脚(P3.4、P3.5和和P1.0)输输入,每输入一有效信号,相应的计数器中的入,每输入一有效信号,相应的计数器中的内容进行加内容进行加1。控制信号控制信号TRx=1时,定时器启动时,定时器启动。当定时器由全当定时器由全1加到全加到全0时计满溢出,从时计满溢出,从0开开始继续计数,始继续计数,TFx=1,向,向CPU申请中断。申请中断。第10页,本讲稿共101页6.1.3 定时器定时器/计数器的方式和控制寄存器计数器的方式和控制寄存器1、T0、T1 工作模式寄存器工作模式寄存器TMOD 功能:确定定时器的工作模式。功能:确定定时器的工作模式。其格式如图其格式如图6-3所示:所示:TMOD(89H)D7D6D5D4D3D2D1D0GATEC/T M1M0GATEC/TM1M0图6-3 定时器方式寄存器TMOD GATE外部门控制位。外部门控制位。GATE1,使用外部控制门。,使用外部控制门。TRx=1,P3.2(P3.3)=1时,启动定时器。时,启动定时器。第11页,本讲稿共101页6.1.3 定时器定时器/计数器的方式和控制寄存器计数器的方式和控制寄存器GATE0,不使用外部门控制计数器不使用外部门控制计数器 C/T定时或计数方式选择位定时或计数方式选择位。C/T0时,为定时器时,为定时器C/T1时,为计数器时,为计数器 采样过程:采样过程:CPU在每机器周期在每机器周期S5P2期间,输期间,输入信号进行采样入信号进行采样。若前一机器周期采样值为。若前一机器周期采样值为1,下,下一机器周期采样值为一机器周期采样值为0,则计数器增,则计数器增1,随后的机,随后的机器周期器周期S3P1期间,新的计数值装入计数器。期间,新的计数值装入计数器。第12页,本讲稿共101页6.1.3 定时器定时器/计数器的方式和控制寄存器计数器的方式和控制寄存器 M1、M0工作模式选择位。工作模式选择位。如下表所示如下表所示:表6-1 定时器/计数器的工作模式M1M0工作模式功 能00模式013位定时器/计数器 01模式116位定时器/计数器10模式28位自动重置定时器/计数器11模式3定时器0:TL0为8位定时器/计数器,TH0为8位定时器。定时器1:无此方式第13页,本讲稿共101页6.1.3 定时器定时器/计数器的方式和控制寄存器计数器的方式和控制寄存器2、T0、T1的控制寄存器的控制寄存器TCONTCON(88H)D7D6D5D4D3D2D1D0TF1 TR1 TF0 TR0 IE1IT1IE0IT0图6-4 定时器的控制寄存器 TF1、TF0:T1、T0的溢出标志位的溢出标志位 计数溢出,计数溢出,TFx=1。中断方式:中断方式:自动清零;自动清零;查询方式:查询方式:软件清零。软件清零。第14页,本讲稿共101页6.1.3 定时器定时器/计数器的方式和控制寄存器计数器的方式和控制寄存器TR1、TR0:T1、T0启停控制位启停控制位。置置1,启动定时器;,启动定时器;清清0,关闭定时器。,关闭定时器。IE1、IE0:外部中断:外部中断1、0请求标志位请求标志位IT1、IT0:外部中断:外部中断1、0触发方式选择位触发方式选择位注意:注意:GATE=1,TRx与与P3.2(P3.3)的配的配合。合。第15页,本讲稿共101页6.2 定时器定时器T0、T1的工作模式及应用的工作模式及应用主要内容主要内容6.2.1 模式模式0的逻辑结构及应用的逻辑结构及应用6.2.2 模式模式1的逻辑结构及应用的逻辑结构及应用6.2.3 模式模式2的逻辑结构及应用的逻辑结构及应用6.2.4 模式模式3的逻辑结构及应用的逻辑结构及应用第16页,本讲稿共101页6.2.1 模式模式0的逻辑结构及应用的逻辑结构及应用 M1M000,选择模式,选择模式0。逻辑结构如图逻辑结构如图6-5所所示。(以示。(以T0为例)为例)T0的结构:的结构:13位定时器位定时器/计数器。计数器。由由TH0的的8位、位、TL0的低的低5位构成位构成(高高3位未用位未用)工作过程:工作过程:TL0溢出后向溢出后向TH0进位,进位,TH0溢出后溢出后将将TF0置位,并向置位,并向CPU申请中断申请中断。定时时间定时时间=(213-定时初值)定时初值)机器周期机器周期 最大定时时间最大定时时间:213机器周期机器周期第17页,本讲稿共101页6.2.1 模式模式0的逻辑结构及应用的逻辑结构及应用C/T=1,计数方式,计数方式。计数脉冲由。计数脉冲由P3.4引脚输引脚输入。入。C/T=0时,定时方式时,定时方式。图图6-5 模式模式0的的逻辑结逻辑结构构图图第18页,本讲稿共101页6.2.2 模式模式1的逻辑结构及应用的逻辑结构及应用 M1M001时,选择模式时,选择模式1。逻辑结构如下逻辑结构如下页图所示。页图所示。T0的结构:的结构:16位定时器位定时器/计数器。计数器。TL0:存放计数初值的低:存放计数初值的低8位。位。TH0存放计数初值的高存放计数初值的高8位;位;定时时间定时时间=(216-定时初值定时初值)机器周期机器周期最大定时时间最大定时时间:216机器周期机器周期第19页,本讲稿共101页6.2.2 模式模式1的逻辑结构及应用的逻辑结构及应用 工作过程:工作过程:当当TL0计满时,向计满时,向TH0进进1;当;当TH0计计满时,溢出使满时,溢出使TF0=1,向,向CPU申请中断。申请中断。MCS-51单片机之所以设置几乎完全一单片机之所以设置几乎完全一 样样 的方式的方式0和方式和方式1,是出于与,是出于与 MCS-48单片机兼容的。单片机兼容的。第20页,本讲稿共101页6.2.3 模式模式2的逻辑结构及应用的逻辑结构及应用 M1 M0 10时,选择模式时,选择模式2。逻辑结构。逻辑结构如图如图6-7所示。所示。T0的结构的结构:TL0:8位的定时器位的定时器/计数器;计数器;TH0:8位预置寄存器,用于保存初值。位预置寄存器,用于保存初值。工作过程:工作过程:当当TL0计满溢出时,计满溢出时,TF0置置1,向,向CPU发出中断请求;同时引起发出中断请求;同时引起重装操作重装操作(TH0的计数初值送到的计数初值送到TL0),进行新一轮),进行新一轮计数。计数。第21页,本讲稿共101页6.2.3 模式模式2的逻辑结构及应用的逻辑结构及应用图图6-7 模式模式2的逻辑结构图的逻辑结构图振荡器振荡器12分频分频T0(P3.4)TR0TF0中断中断GATE+C/T=0C/T=1TL0(8位位)TH0(8位位)P3.2第22页,本讲稿共101页6.2.3 模式模式2的逻辑结构及应用的逻辑结构及应用 定时时间定时时间=(28-初值初值)机器周期机器周期 最大定时时间最大定时时间=28 机器周期机器周期优点:模式优点:模式2能够进行自动重装载。能够进行自动重装载。模式模式0和和1计数溢出后,计数器为全计数溢出后,计数器为全0。循环定时或。循环定时或计数时,需要重新设置初值。计数时,需要重新设置初值。说明:说明:在模式在模式2能够满足计数或定时要求时,能够满足计数或定时要求时,尽可能使用模式尽可能使用模式2。第23页,本讲稿共101页6.2.4 模式模式3的逻辑结构及应用的逻辑结构及应用1、T0模式模式3的结构特点的结构特点 M1 M0 11,选择模式,选择模式3。逻辑结构如图逻辑结构如图6-8和和6-9所示:所示:结构结构:TL0、TH0分为两个独立的分为两个独立的8位计数器位计数器 TL0:8位定时器位定时器/计数器计数器使用使用T0所有的资源和控制位所有的资源和控制位 TH0:8位定时器位定时器使用使用T1所有的资源所有的资源(中断向量、中断控制中断向量、中断控制ET1、PT1)和控制位和控制位(TR1、TF1)第24页,本讲稿共101页6.2.4 模式模式3的逻辑结构及应用的逻辑结构及应用图图6-8 模式模式3下下T0的逻辑结构图的逻辑结构图第25页,本讲稿共101页6.2.4 模式模式3的逻辑结构及应用的逻辑结构及应用2、T0模式模式3时时T1的工作模式的工作模式T1可以模式可以模式0模式模式2工作。工作。T1的结构如图的结构如图6-9所示所示由于由于TF1及中断矢量被及中断矢量被TH0占用,所以占用,所以T1仅用作波特率发生器或其它不用中断的地方。仅用作波特率发生器或其它不用中断的地方。T1作波特率发生器,其计数溢出直接送作波特率发生器,其计数溢出直接送至串行口。至串行口。设置好工作方式,串行口波特率设置好工作方式,串行口波特率发生器开始自动运行。发生器开始自动运行。TMOD中中T1的的M1M0=11,T1停止工作。停止工作。第26页,本讲稿共101页6.2.4 模式模式3的逻辑结构及应用的逻辑结构及应用图图6-9 模式模式3下,下,T1的逻辑结构图的逻辑结构图第27页,本讲稿共101页思考:思考:T0工作在模式工作在模式3,T1怎么进行方式设置?怎么进行方式设置?串行口串行口重新装入重新装入C/T=1C/T=0T1(P3.5)振荡器振荡器12分频分频TL 1(8位位)TH 1(8位位)第28页,本讲稿共101页6.2.4 模式模式3的逻辑结构及应用的逻辑结构及应用1、定时器、定时器/计数器工作模式的选择方法计数器工作模式的选择方法(1)首先计算计数值)首先计算计数值N(2)确定工作模式)确定工作模式原则是尽可能地选择模式原则是尽可能地选择模式2若若 N 256选择模式选择模式2,否则选择模式,否则选择模式1(3)如果需要增加一个定时器)如果需要增加一个定时器/计数器计数器选择模式选择模式3。第29页,本讲稿共101页6.2.4 模式模式3的逻辑结构及应用的逻辑结构及应用2、定时器、定时器/计数器初值计数器初值X的计算方法的计算方法因为因为X+N=28或或216所以所以X=28或或216-N(1)对定时器)对定时器设定时时间为设定时时间为tN=t/机器周期机器周期所以所以X=28或或216-t/机器周期机器周期(2)对计数器)对计数器X=28或或216-N第30页,本讲稿共101页6.2.4 模式模式3的逻辑结构及应用的逻辑结构及应用例例6-1 设单片机的振荡频率为设单片机的振荡频率为12MHz,用定,用定时器时器/计数器计数器0的模式的模式1编程,在编程,在P1.0引脚产生引脚产生一个周期为一个周期为1000s的方波,定时器的方波,定时器T0采用中采用中断的处理方式。断的处理方式。定时器的分析过程。定时器的分析过程。工作方式选择工作方式选择 需要产生周期信号时,选择定时方式。定需要产生周期信号时,选择定时方式。定时时间到了对输出端进行周期性的输出即可。时时间到了对输出端进行周期性的输出即可。工作模式选择工作模式选择 根据定时时间长短选择工作模式。根据定时时间长短选择工作模式。首选模式首选模式2,可以省略重装初值操作。,可以省略重装初值操作。第31页,本讲稿共101页6.2.4 模式模式3的逻辑结构及应用的逻辑结构及应用 定时时间计算:定时时间计算:周期为周期为1000s的方波要的方波要求定时器的定时时间为求定时器的定时时间为500s,每次溢出时,每次溢出时,将将P1.0引脚的输出取反,就可以在引脚的输出取反,就可以在P1.0上产上产生所需要的方波。生所需要的方波。定时初值计算:定时初值计算:振荡频率为振荡频率为12MHz,则机器周期为,则机器周期为1s。设定时初值为设定时初值为X,(65536-X)1s=500s X=65036=0FE0CH定时器的初值为:定时器的初值为:TH0=0FEH,TL0=0CH 第32页,本讲稿共101页6.2.4 模式模式3的逻辑结构及应用的逻辑结构及应用C语言程序语言程序:#include /包含特殊功能寄存器库包含特殊功能寄存器库sbitP1_0=P10;/进行位定义进行位定义void main()TMOD=0 x01;/T0做定时器,模式做定时器,模式1TL0=0 x0c;TH0=0 xfe;/设置定时器的初值设置定时器的初值ET0=1;/允许允许T0中断中断 EA=1;/允许允许CPU中断中断TR0=1;/启动定时器启动定时器while(1);/等待中断等待中断 第33页,本讲稿共101页6.2.4 模式模式3的逻辑结构及应用的逻辑结构及应用void time0_int(void)interrupt 1/中断服务程序中断服务程序TL0=0 x0c;TH0=0 xfe;/定时器重赋初值定时器重赋初值P1_0=P1_0;/P1.0取反,输出方波取反,输出方波汇编语言程序汇编语言程序:ORG0000HSJMPMAINORG000BHLJMPTIME0第34页,本讲稿共101页6.2.4 模式模式3的逻辑结构及应用的逻辑结构及应用MAIN:MOV TMOD,#01H;T0定时,模式定时,模式1MOVTL0,#0CH;置定时初值;置定时初值MOVTH0,#0FEH SETBET0;定时器;定时器T0开中断开中断SETBEA;CPU开中断开中断SETBTR0;启动定时器;启动定时器T0SJMP$;等待定时器溢出;等待定时器溢出TIME0:;中断服务程序中断服务程序MOV TL0,#0CHMOVTH0,#0FEH;重装定时初值;重装定时初值CPLP1.0 ;P1.0取反取反RETI ;中断返回;中断返回END第35页,本讲稿共101页6.2.4 模式模式 3的逻辑结构及应用的逻辑结构及应用 例例6-2 设单片机的振荡频率为设单片机的振荡频率为12MHz,用定时器用定时器/计数器计数器0编程实现从编程实现从P1.0输出周期输出周期为为500s的方波。的方波。分析:方法同例分析:方法同例6-1定时时间:定时时间:方波周期为方波周期为500s,定时,定时250s。模式选择模式选择:定时器定时器0可以选择模式可以选择模式0、1和和2。模式。模式2最大的定时时间为最大的定时时间为256s,满足,满足250s的定时的定时要求,选择模式要求,选择模式2。第36页,本讲稿共101页6.2.4 模式模式 3的逻辑结构及应用的逻辑结构及应用(1)初值计算)初值计算(256-X)1s=250s X=6;则则TH0=TL0=6(2)程序:)程序:采用中断处理方式的程序采用中断处理方式的程序:C语言程序语言程序:#include /包含特殊功能寄存器库包含特殊功能寄存器库sbit P1_0=P10;第37页,本讲稿共101页6.2.4 模式模式3的逻辑结构及应用的逻辑结构及应用voidmain()TMOD=0 x02;/选择工作模式选择工作模式TL0=0 x06;TH0=0 x06;/为定时器赋初值为定时器赋初值 ET0=1;/允许定时允许定时0中断中断 EA=1;TR0=1;/启动定时器启动定时器0while(1);/等待中断等待中断void time0_int(void)interrupt 1 P1_0=P1_0;第38页,本讲稿共101页6.2.4 模式模式3的逻辑结构及应用的逻辑结构及应用汇编语言程序汇编语言程序:ORG0000HLJMPMAIN ORG000BH;中断处理程序;中断处理程序CPLP1.0RETIORG 0030H;主程序;主程序MAIN:MOV TMOD,#02H MOV TL0,#06HMOV TH0,#06HSETB ET0;允许定时器;允许定时器0中断中断SETB EA;允许;允许CPU中断中断SETB TR0;启动定时器;启动定时器0SJMP$;等待中断;等待中断END第39页,本讲稿共101页6.2.4 模式模式3的逻辑结构及应用的逻辑结构及应用采用查询方式处理的程序:采用查询方式处理的程序:C语言程序:语言程序:#include sbitP1_0=P10;void main()TMOD=0 x02;TL0=0 x06;TH0=0 x06;TR0=1;while(1)while(!TF0);/查询计数溢出查询计数溢出TF0=0;P1_0=P1_0;第40页,本讲稿共101页6.2.4 模式模式3的逻辑结构及应用的逻辑结构及应用汇编语言程序汇编语言程序:MAIN:MOV TMOD,#02H;主程序;主程序MOVTL0,#06HMOVTH0,#06HSETBTR0LOOP:JNBTF0,$;查询计数溢出;查询计数溢出CLRTF0CPLP1.0 SJMP LOOPEND第41页,本讲稿共101页6.3 定时器定时器/计数器计数器T2主要内容主要内容6.3.1 定时器定时器T2的特殊寄存器的特殊寄存器6.3.2 定时器定时器T2的工作方式及结构的工作方式及结构第42页,本讲稿共101页6.3.1 定时器定时器/计数器计数器T2的特殊寄存器的特殊寄存器89C52中的中的T2是一个是一个16位的、具有自动位的、具有自动重装载和捕获能力的定时器重装载和捕获能力的定时器/计数器。计数器。T2的结构的结构:除:除TL2、TH2和控制寄存器和控制寄存器T2CON及及T2MOD之外,还增加了捕获寄存之外,还增加了捕获寄存器器RCAP2L(低字节)和低字节)和RCAP2H(高字节)。(高字节)。T2的计数脉冲源有两个:的计数脉冲源有两个:一个是内部机一个是内部机器周期,另一个是由器周期,另一个是由T2(P10)端输入的外)端输入的外部计数脉冲。部计数脉冲。第43页,本讲稿共101页6.3.1 定时器定时器/计数器计数器T2的特殊功能寄存器的特殊功能寄存器T2有有4种工作方式种工作方式 自动重装、捕获和波自动重装、捕获和波特率发生器、可编程时钟输出特率发生器、可编程时钟输出。增加了两个引脚增加了两个引脚:T2(P1.0),),T2EX(P1.1)。)。1、定时器、定时器/计数器计数器2的控制寄存器的控制寄存器T2CON 可位寻址和字节寻址。可位寻址和字节寻址。功能:选择功能:选择T2的工作方式和工作模式。的工作方式和工作模式。允许位寻址和字节寻址。其格式如下:允许位寻址和字节寻址。其格式如下:第44页,本讲稿共101页6.3.1 定时器定时器/计数器计数器T2的特殊功能寄存器的特殊功能寄存器TF2 :定时器定时器/计数器计数器2的溢出中断标志位的溢出中断标志位 T2溢出时置位,申请中断。软件清零。溢出时置位,申请中断。软件清零。波特率发生器方式波特率发生器方式下,下,RCLK1或或TCLK1时,定时器时,定时器溢出不对溢出不对TF2进行置位进行置位。EXF2(T2CON.6):):定时器定时器/计数器计数器2外部外部触发标志位触发标志位T2CON(C8H)D7D6D5D4D3D2D1D0TF2 EXF2 RCLK TCLK EXEN2 TR2C/T2 CP/RL2图6-10 定时器T2的控制寄存器 第45页,本讲稿共101页6.3.1 定时器定时器/计数器计数器T2的特殊功能寄存器的特殊功能寄存器 EXEN21,且,且T2EX引脚上引脚上有负跳变有负跳变将将触发捕获或重装操作,触发捕获或重装操作,EXF2=1,向,向CPU发发出中断请求出中断请求。软件复位。软件复位。RCLK:串行口接收时钟允许标志位串行口接收时钟允许标志位RCLK=1时时,T2溢出信号分频后做串行口溢出信号分频后做串行口工作在模式工作在模式1和和3的接收波特率。的接收波特率。RCLK=0时时,T1溢出信号分频信后做串行溢出信号分频信后做串行口接收波特率。口接收波特率。第46页,本讲稿共101页6.3.1 定时器定时器/计数器计数器T2的特殊功能寄存器的特殊功能寄存器TCLK:串行口发送时钟允许标志位串行口发送时钟允许标志位TCLK=1时时,T2溢出信号分频后做串行口工溢出信号分频后做串行口工做在模式做在模式1和和3的发送波特率。的发送波特率。TCLK=0时时,T1溢出信号分频后做串行口的溢出信号分频后做串行口的发送波特率。发送波特率。第47页,本讲稿共101页6.3.1 定时器定时器/计数器计数器T2的特殊功能寄存器的特殊功能寄存器 EXEN2(T2CON3):定时器定时器/计数计数器器2外部允许标志位外部允许标志位EXEN2=1,定时器,定时器/计数器计数器2没有工作在波没有工作在波特率发生器方式,如特率发生器方式,如T2EX(P1.1)引脚上)引脚上产生负跳变时,将激活产生负跳变时,将激活“捕获捕获”或或“重装重装”操作。操作。EXEN2=0,T2EX引脚上的电平变化对定引脚上的电平变化对定时器时器/计数器计数器2不起作用。不起作用。第48页,本讲稿共101页6.3.1 定时器定时器/计数器计数器T2的特殊功能寄存器的特殊功能寄存器TR2 :定时器定时器/计数器计数器2启动控制位启动控制位TR2=1,启动定时器,启动定时器/计数器计数器2。TR2=0,停止定时器,停止定时器/计数器计数器2。C/T2:T2的定时器或计数器方式选择位。的定时器或计数器方式选择位。C/T2=1,T2为计数器。为计数器。对对T2(P1.0)引脚输入脉冲进行计数(引脚输入脉冲进行计数(下下降沿触发降沿触发);当);当T2(P1.0)产生负跳变时,产生负跳变时,计数器增计数器增1。第49页,本讲稿共101页6.3.1 定时器定时器/计数器计数器T2的特殊功能寄存器的特殊功能寄存器C/T2=0,T2做定时器做定时器。每个机器周期每个机器周期T2加加1。CP/RL2 :捕获和重装载方式选择控制位捕获和重装载方式选择控制位 捕获方式:捕获方式:CP/RL2=1,EXEN2=1,T2EX(P1.1)引)引脚负跳变将触发捕获操作。脚负跳变将触发捕获操作。重装载方式:重装载方式:CP/RL2=0,EXEN2=1,T2EX引脚有负跳变引脚有负跳变或或T2计满溢出时,触发自动重装操作。计满溢出时,触发自动重装操作。第50页,本讲稿共101页6.3.1 定时器定时器/计数器计数器T2的特殊功能寄存器的特殊功能寄存器 RCLK=1或或TCLK=1时,时,定时器定时器/计数器计数器2做波做波特率发生器特率发生器。CP/RL2标志位不起作用,当标志位不起作用,当T2溢溢出出时强制时强制自动装载自动装载。2、数据寄存器、数据寄存器TH2、TL28位的数据寄存器位的数据寄存器,组成,组成16位定时器位定时器/计数器。计数器。字节寻址,地址分别为字节寻址,地址分别为CDH和和CCH。复位复位后,后,TH2=00H,TL2=00H。3、捕获寄存器、捕获寄存器RCAP2H和和RCAP2L第51页,本讲稿共101页6.3.1 定时器定时器/计数器计数器T2的特殊功能寄存器的特殊功能寄存器RCAP2H:高高8位捕获寄存器位捕获寄存器,字节地址,字节地址为为CBH。RCAP2L:低低8位捕获寄存器位捕获寄存器,字节地址,字节地址为为CAH。捕获方式捕获方式,保存当前捕获的计数值。,保存当前捕获的计数值。重装方式重装方式,保存重装初值。,保存重装初值。复位后均为复位后均为00H。第52页,本讲稿共101页6.3.1 定时器定时器/计数器计数器T2的特殊功能寄存器的特殊功能寄存器功能:功能:对定时器的加对定时器的加1减减1计数方式进行设置。计数方式进行设置。选择是否工作在可编程时钟输出方式。选择是否工作在可编程时钟输出方式。复位后为复位后为00B。T2MOD(C9H)D7D6D5D4D3D2D1D0 T2OEDCEN 图6-11 定时器T2的模式控制寄存器 4、定时器、定时器/计数器计数器2的模式控制寄存器的模式控制寄存器T2MOD第53页,本讲稿共101页6.3.1 定时器定时器/计数器计数器T2的特殊功能寄存器的特殊功能寄存器T2MOD中标志中标志:保留位,未定义,为未:保留位,未定义,为未来功能扩展用。来功能扩展用。T2OE:定时器:定时器/计数器计数器2输出启动位。输出启动位。T2OE1,工作在可编程时钟输出方式。,工作在可编程时钟输出方式。输出方波信号至输出方波信号至T2(P1.0)引脚。引脚。DCEN:定时器:定时器/计数器计数器2向上向上/向下计数控制位。向下计数控制位。当当DCENl,T2自动向下(递减)计数自动向下(递减)计数当当DCEN0,T2自动向上(递增)计数自动向上(递增)计数 第54页,本讲稿共101页6.3.2 定时器定时器/计数器计数器T2的工作方式的工作方式 定时器定时器/计数器计数器2是一个是一个16位的加位的加1计数器,计数器,具有四种工作方式具有四种工作方式。如表。如表6-2所示:所示:方式选择寄存器:方式选择寄存器:T2CON和和T2MOD。注意:无论注意:无论T2做定时器还是计数器,都具有做定时器还是计数器,都具有捕获和自动重装的功能。捕获和自动重装的功能。第55页,本讲稿共101页6.3.2 定时器定时器/计数器计数器T2的工作方式的工作方式表6-2定时器/计数器2的工作方式RCLK+TCLKCP/RL2TR2T2OE工作方式001016位自动重装方式0110捕获方式1 10波特率发生器方式0 11时钟输出方式 0 关闭T2第56页,本讲稿共101页6.3.2 定时器定时器/计数器计数器T2的工作方式的工作方式一、一、16位自动重装方式位自动重装方式CPRL20,DCEN=0时,选择时,选择自动重装自动重装方式。结构如下图所示:方式。结构如下图所示:T2计满溢出时,计满溢出时,TF2置置1,申请中断。,申请中断。打打开重装载三态缓冲器,将开重装载三态缓冲器,将RCAP2H和和RCAP2L的内容自动装载到的内容自动装载到TH2和和TL2中。中。EXEN21且且T2EX(P11)端的信号有)端的信号有负跳变时,负跳变时,EXF2置置1,申请中断,申请中断。引起重装。引起重装载操作。载操作。第57页,本讲稿共101页6.3.2 定时器定时器/计数器计数器T2的工作方式的工作方式RCAPLRCAPHTF2TL 2TH 2EXF2EXEN2T2(P1.0)T2EX(P1.1)溢出溢出T2中断请求中断请求TR2振荡器振荡器 12C/T2=0C/T2=1+第58页,本讲稿共101页6.3.2 定时器定时器/计数器计数器T2的工作方式的工作方式CP/RL20,DCEN=1时,定时器时,定时器/计数器计数器2既可以既可以增量(加增量(加1)和)和减量(减量(减减1)计数。)计数。T2EX电平控制计数方向:电平控制计数方向:当当T2EX(P1.1)引脚输入为高电平)引脚输入为高电平1时时,T2执行增量(加执行增量(加1)计数)计数。增量计数过程:增量计数过程:计满溢出时,一方面置位计满溢出时,一方面置位TF2,向主机请求中断处理;另一方面将存放,向主机请求中断处理;另一方面将存放在寄存器在寄存器RCAP2L和和RCAP2H中的中的16位计数初位计数初值自动重装值自动重装TL2和和TH2中,进行新一轮加中,进行新一轮加1计数。计数。第59页,本讲稿共101页6.3.2 定时器定时器/计数器计数器T2的工作方式的工作方式第60页,本讲稿共101页6.3.2 定时器定时器/计数器计数器T2的工作方式的工作方式T2EX(P1.1)引脚为低电平)引脚为低电平0时,定时器时,定时器/计数器计数器2执行减量(减执行减量(减1)计数。)计数。减量计数过程:减量计数过程:是用是用FFH分别初始化(预分别初始化(预置)置)TL2和和TH2,用,用0FFFFH减去计数次数减去计数次数所求得的下限初始化所求得的下限初始化RCAP2L和和RCAP2H。计数器不断减计数器不断减1,直至计数器中的值等于寄,直至计数器中的值等于寄存器存器RCAP2L和和RCAP2H中预置的值时,计中预置的值时,计满溢出。满溢出。0FFH重装重装TL2和和TH2,进行新一,进行新一轮的计数操作轮的计数操作第61页,本讲稿共101页6.3.2 定时器定时器/计数器计数器T2的工作方式的工作方式增量(加增量(加1)计数是以)计数是以65536为模。为模。对计数对计数次数求补得到计数初值,此初值初始化次数求补得到计数初值,此初值初始化TL2、TH2和和RCAP2L、RCAP2H陷阱寄存器。陷阱寄存器。在电平控制重装方式下,无论减量增量计在电平控制重装方式下,无论减量增量计数,溢出时数,溢出时TF2置置1,EXF2状态翻转,相当状态翻转,相当于于17位计数器的最高位。位计数器的最高位。第62页,本讲稿共101页6.3.2 定时器定时器/计数器计数器T2的工作方式的工作方式二、捕获方式二、捕获方式 当当CPRL2l,选择捕获方式。,选择捕获方式。存在以下两存在以下两种情况。种情况。T2结构如下图所示,有两种情况:结构如下图所示,有两种情况:EXEN=0 定时器定时器2的计数溢出,置位的计数溢出,置位TF2,申请中断。,申请中断。EXEN21 T2EX(P11)端的信号有负跳变时,触)端的信号有负跳变时,触发捕获操作。发捕获操作。将将TH2和和TL2的内容自动捕获到寄的内容自动捕获到寄存器存器RCAP2H和和RCAP2L中同时中同时EXF2置置1,申,申请中断。请中断。第63页,本讲稿共101页6.3.2 定时器定时器/计数器计数器T2的工作方式的工作方式 图图6-14 捕捕获获方式的方式的逻辑结逻辑结构构图图第64页,本讲稿共101页6.3.2 定时器定时器/计数器计数器T2的工作方式的工作方式三、波特率发生器方式三、波特率发生器方式 RCLK=1或或TCLK 1时时,选择,选择波特率发生波特率发生器方式器方式。结构如下图所示,从图可以看出:。结构如下图所示,从图可以看出:RCLK=1,T2为为接收波特率发生器。接收波特率发生器。TCLK=1,T2为为发送波特率发生器发送波特率发生器。C/T20,选用内部脉冲,选用内部脉冲。C/T21,选用外部脉冲,选用外部脉冲。T2(P1.0)输入负跳变时,计数值增)输入负跳变时,计数值增l。第65页,本讲稿共101页6.3.2 定时器定时器/计数器计数器T2的工作方式的工作方式第66页,本讲稿共101页6.3.2 定时器定时器/计数器计数器T2的工作方式的工作方式计数溢出时,触发自动装载操作。计数溢出时,触发自动装载操作。RCAP2H和和RCAP2L的内容自动装载到的内容自动装载到TH2和和TL2中。中。T2用做波特率发生器时,用做波特率发生器时,TH2的溢出不会的溢出不会将将TF2置位,不产生中断请求置位,不产生中断请求。T2EX还可以作为一个附加的外部中断源还可以作为一个附加的外部中断源。T2用做波特率发生器时,若用做波特率发生器时,若EXEN2=1,当当T2EX有负跳变时,有负跳变时,EXF2置置1,由于不发,由于不发生重装载或捕获操作,此时生重装载或捕获操作,此时T2EX引脚可外引脚可外接一中断源。接一中断源。第67页,本讲稿共101页6.3.2 定时器定时器/计数器计数器T2的工作方式的工作方式定时器定时器/计数器计数器T2作为波特率发生器使用时的作为波特率发生器使用时的编程方法如下:编程方法如下:RCAP2H=0 x30;/设置波特率设置波特率RCAP2L=0 x38;TCLK=1;/选择定时器选择定时器2的溢出脉冲的溢出脉冲作为波特率发生器作为波特率发生器 注意:在波特率发生器工作方式下,在注意:在波特率发生器工作方式下,在 T2计数过程中不能再读计数过程中不能再读/写写 TH2和和TL2的内容。的内容。第68页,本讲稿共101页6.3.2 定时器定时器/计数器计数器T2的工作方式的工作方式四、可编程时钟输出方式四、可编程时钟输出方式 T2OE=1时,时,C/T2=0时,时,T2工作于工作于时钟输时钟输出方式出方式。结构如下图所示:。结构如下图所示:工作过程:工作过程:当当T2计满溢出时,计满溢出时,T2(P1.0)引脚状态翻转,从而输出频率可调、精度很高引脚状态翻转,从而输出频率可调、精度很高的方波信号;同时使的方波信号;同时使RCAP2H和和RCAP2L寄存寄存器内容装入器内容装入TH2和和TL2寄存器中,重新计数。寄存器中,重新计数