单片机第6章-定时器计数器ppt课件.ppt
《单片机第6章-定时器计数器ppt课件.ppt》由会员分享,可在线阅读,更多相关《单片机第6章-定时器计数器ppt课件.ppt(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6章章 MCS-51单片机定时器单片机定时器/计数器计数器目目 录录6.1 MCS-51定时器定时器/计数器的结构及原理计数器的结构及原理6.2 定时器定时器T0、T16.3 定时器定时器T26.4 定时器应用举例定时器应用举例本章讨论本章讨论MCS-51单片机定时器单片机定时器/计数器的结构和工作原计数器的结构和工作原理,内容主要有理,内容主要有MCS-51单片机定时器单片机定时器T0、T1、T2的内部的内部构造,工作方式和工作模式的选择和应用。构造,工作方式和工作模式的选择和应用。本章是单片机的主要内容,也是第七章学习的前提。本章是单片机的主要内容,也是第七章学习的前提。6.1 MCS
2、-51单片机定时器单片机定时器/计数器的结计数器的结构及工作原理构及工作原理主要内容主要内容6.1.1 MCS-51单片机定时器的内部结构单片机定时器的内部结构6.1.2 MCS-51单片机定时器的工作原理单片机定时器的工作原理6.1.3 定时器定时器/计数器内部的特殊寄存器计数器内部的特殊寄存器6.1.1 MCS-51单片机定时器的内部结构单片机定时器的内部结构 89C52单片机内部的定时器单片机内部的定时器/计数器逻辑结计数器逻辑结构如下图所示:构如下图所示: 从图上可以看出,从图上可以看出,MCS-51主要有主要有8部分构成部分构成: 三个三个16位的可编程定时器位的可编程定时器/计数器
3、:定时器计数器:定时器/计数器计数器T0、T1和和T2。 每个定时器均有两部分构成:每个定时器均有两部分构成:THx和和TLx 特殊功能寄存器特殊功能寄存器T2MOD和和T2CON 主要对主要对T2进行控制。进行控制。 特殊功能寄存器特殊功能寄存器TMOD和和TCON 主要对主要对T0和和T1进行控进行控制。制。 引脚引脚P3.5、P3.4、P1.0输入计数脉冲。输入计数脉冲。 定时器定时器T0、T1和和T2是是3个中断源,可以向个中断源,可以向CPU 发出中发出中断请求。断请求。 定时器定时器/计数器计数器T2增加了两个增加了两个8位的寄存器:位的寄存器:RCAP2H和和RCAP2L。 特殊
4、功能寄存器之间通过内部总线和控制逻辑电路连特殊功能寄存器之间通过内部总线和控制逻辑电路连接起来。接起来。 定时器功能定时器功能 每个定时器都可由软件设置为定时工作方式或计数工作方式或其他灵活多样的可控功能方式。这些功能由特殊功能寄存器TMOD和TCON所控制。 定时器工作不占用CPU时间,除非定时器/计数器溢出,才能中断CPU的当前操作。 每个定时器/计数器还有四种工作模式。其中模式0-2对T0和T1是一样的,模式3对两者不同。定时工作方式定时工作方式定时器计数89C51片内振荡器输出经12分频后的脉冲,即每个机器周期使定时器(T0或T1)的数值加1直至计满溢出。当89C51采用12MHz晶振
5、时,一个机器周期为1s,计数频率为1MHz。计数工作方式计数工作方式 通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。当输入脉冲信号产生由1至0的下降沿时定时器的值加1。 CPU检测一个1至0的跳变需要两个机器周期,故最高计数频率为振荡频率的1/24。 为了确保某个电平在变化之前被采样一次,要求电平保持时间至少是一个完整的机器周期。1、T0、T1 的方式寄存器的方式寄存器TMOD 复位后,复位后,TMOD=00H,不可位寻址不可位寻址。其格式如图。其格式如图6-3所所示:示:TMOD(89H)D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0图图6-3
6、定时器方式寄存器定时器方式寄存器TMOD GATE门控位。门控位。 GATE1时,由外部中断引脚时,由外部中断引脚INT0、INT1和和TR0、TR1共同来启动定时器。共同来启动定时器。当当INT0引脚为引脚为高电平高电平时,时,TR0置位,启动定时器置位,启动定时器T0。当当INT1引脚为高电平时,引脚为高电平时,TR1置位置位,启动定时器启动定时器T1。GATE0时,仅由时,仅由TR0和和TR1置位置位来来启动定时器启动定时器T0和和T1。C/T定时或计数方式选择位定时或计数方式选择位 。C/T0时,选择时,选择定时定时功能功能 。C/T1时,选择时,选择计数计数方式。方式。通过引脚通过引
7、脚T0(P3.4)和)和T1(P3.5)、T2(P1.0)对外部信号进行计数。对外部信号进行计数。 在每个机器周期的在每个机器周期的S5P2期间,期间,CPU采样采样引脚的输入电平引脚的输入电平。若前一机器周期采样值为。若前一机器周期采样值为1,下一机器周期采样值为,下一机器周期采样值为0,则计数器增,则计数器增1,此后的机器周期此后的机器周期S3P1期间,新的计数值装入期间,新的计数值装入计数器。计数器。 M1、M0工作模式选择位。工作模式选择位。 由于有由于有M1和和M0两位,可以有四种工作方式。两位,可以有四种工作方式。T0有有4种种工作模式工作模式,T1有有3种工作模式种工作模式。选择
8、情况如表。选择情况如表6-1所示。所示。 定时器定时器/计数器计数器T1不能工作在模式不能工作在模式3。设置。设置T1的的M1M0=11,T1将停止工作。将停止工作。表表6-1 定时器定时器/计数器的工作模式计数器的工作模式M1 M0 工作模式工作模式功能介绍功能介绍00模式模式013位定时器位定时器/计数器计数器 01模式模式116位定时器位定时器/计数器计数器10模式模式28位自动重置定时器位自动重置定时器/计数器计数器11模式模式3定时器定时器0:TL0可可8位定时器位定时器/计数器,计数器,TH0为为8位定时器。位定时器。定时器定时器1:不工作。:不工作。图图6-6 TMOD各位定义及
9、具体的意义各位定义及具体的意义2、T0、T1 的控制寄存器的控制寄存器TCON 此寄存器可以位寻址和字节寻址。此寄存器可以位寻址和字节寻址。TCON(88H)D7D6D5D4D3D2D1D0TF1 TR1 TF0 TR0 IE1IT1IE0IT0图图6-3 定时器的控制寄存器定时器的控制寄存器 TR1(TCON.6)T1运行控制位。Timer Run 可通过软件置1(TR1=1)或清0(TR1=0)来启动或 关闭 T1。 在程序中用指令“SETB TR1”使TR1位置1,定时器T1便开始计数。CLR TR1 TR0(TCON.4)T0运行控制位。其功能和操作情况同TR1。GATE=0时,用时,
10、用软件软件使使TR1置置1启动定时器启动定时器1,若用软件使,若用软件使TR1清清0,则则停止定时器停止定时器1。GATE=1GATE=1时,用软件时,用软件TR1TR1置置1 1,如果检测到引脚,如果检测到引脚INT1INT1(P3.3P3.3)输入高输入高电平电平时时启动定时器启动定时器1 1。6.2 定时器定时器T0、T1主要内容主要内容6.2.1 定时器定时器T0、T1模式模式0下的结构下的结构6.2.2 定时器定时器T0、T1模式模式1下的结构下的结构6.2.3 定时器定时器T0、T1模式模式2下的结构下的结构6.2.4 定时器定时器T0、T1模式模式3下的结构下的结构6.2.1 定
11、时器定时器/计数器计数器T0、T1的模式的模式0当当TMOD中的中的M10、M00时,选定模式时,选定模式0。模式模式0时的结构如图时的结构如图6-5所示。所示。 计数寄存器由计数寄存器由13位组成位组成。TH0高八位和高八位和TL0的低的低5位构成。位构成。TL0的高的高3位未用。位未用。 图图6-5 模式模式0的逻辑结构图的逻辑结构图C/T=1,工作于计数方式,工作于计数方式。计数脉冲由。计数脉冲由P3.4引脚引脚输入。输入。C/T=0时工作于定时方式时工作于定时方式。计数脉冲为内部脉冲,。计数脉冲为内部脉冲,其周期是一个机器周期。其周期是一个机器周期。计数时,计数时,TL0的低的低5位溢
12、出后向位溢出后向TH0进位,进位,THx0溢出后将溢出后将TFx置位,并向置位,并向CPU申请中断申请中断。做定时器时,其定时时间的计算公式如下:做定时器时,其定时时间的计算公式如下:定时时间为: t=(213T0初值)振荡周期12最大定时时间最大定时时间为为:213 振荡周期12 计数初值为: T0初值= 213-t振荡频率/126.2.2 定时器定时器/计数器计数器T0、T1的模式的模式1 当当TMOD中的中的M10、M01时,选择模式时,选择模式1。模式模式1时的结构时的结构如图下图所示。如图下图所示。 计数寄存器由计数寄存器由16位组成。位组成。TH0的的8位和位和TL0的的8位构成。
13、位构成。C/T=1,工作于计数方式工作于计数方式,C/T=0时工作于定时方式。时工作于定时方式。TH0用于存放计数初值的高用于存放计数初值的高8位,位,TL0用于存放计数初值的低用于存放计数初值的低8位位。当当TL0计数到最大值计数到最大值0FFH时,清时,清0并使并使TH0加加1;当;当TH0到最大值到最大值0FFH时,再次加时,再次加1,溢出使,溢出使TF0=1,引起,引起溢出中断溢出中断。定时时间为:t=(216T0初值)振荡周期12, T0初值= 216-t振荡频率/126.2.3 定时器定时器/计数器计数器T0、T1的模式的模式2当当TMOD中的中的M11、M00时,选定模式时,选定
14、模式2。模式。模式2时的结时的结构如图构如图6-7所示。所示。TL0作作8位的定时器位的定时器/计数器用,计数器用,TH0作作8位的初值寄存器用,位的初值寄存器用,用于保存初值。当用于保存初值。当TL0定时、计数到最大值定时、计数到最大值0FFH时,再次加时,再次加1使使TF0置置1,引起定时器中断,同时,引起定时器中断,同时TH0的初值送到寄存器的初值送到寄存器TL0中。中。 模式模式2时,定时时,定时/计数初值能够自动重装。计数初值能够自动重装。图图6-7 模式模式2的逻辑结构图的逻辑结构图二、模式二、模式 2 工作特点工作特点 该模式把TL0(TL1)配置成一个可以自动重装载的8位定时器
15、/计数器。 在程序初始化时,TL0和TH0由软件赋予相同的初值。 用于定时工作方式时,定时时间为:t=(28TH0初值)振荡周期12 用于计数工作方式时,计数长度最大为:28=256(个外部脉冲) 该模式可省去软件中重装常数的语句,并可产生相当精确的定时时间,适合于作串行口波特率发生器。6.2.4 定时器定时器/计数器计数器T0的模式的模式3TMOD中的中的M1l、M01时,选定模式时,选定模式3模式模式3的的T0: 其中的其中的TL0为一个独立的为一个独立的8位定位定时器时器/计数器,计数器,TH0为另一个独立的为另一个独立的8位定时器。位定时器。T0模式模式3下下T0、T1逻辑结构如图逻辑
16、结构如图6-8所示:所示: T0中的中的TL0:占用:占用T0的所有控制位的所有控制位。例如。例如T0的的GATE、运行控制位运行控制位TR0、脉冲输入引脚、脉冲输入引脚(P3.4)、计数溢出标志位计数溢出标志位TF0和和中断矢量中断矢量(地址为地址为000BH)等。等。 T0中的中的TH0:占用:占用T1的控制位的控制位,包括运行控包括运行控制位制位TR1计数溢出标志位计数溢出标志位TF1和和中断矢量中断矢量(地址为地址为001BH)等。等。图图6-8 模式模式3下下T0的逻辑结构的逻辑结构6.2.4 定时器定时器/计数器计数器T0的模式的模式3T0方式方式3时的时的T1: T1可以选择方式
17、可以选择方式0、1或或2。 T1的结构如下图所示,此时计数溢出的结构如下图所示,此时计数溢出标志位标志位TF1及及T1中断矢量中断矢量(地址为地址为001BH)已已被被TH0所占用,所以所占用,所以T1仅能作为波特率发生仅能作为波特率发生器或其它不用中断的地方器或其它不用中断的地方。T1串行口波特率发生器时,其计数溢出串行口波特率发生器时,其计数溢出直接送至串行口。直接送至串行口。只需设置好工作方式,串只需设置好工作方式,串行口波特率发生器自动开始运行。行口波特率发生器自动开始运行。如果要停止如果要停止T1,只需编程将,只需编程将TMOD中中T1的的M1、M0位设置为位设置为1、1即可。即可。
18、(c)T1方式方式2T0模式模式3时时T1的结构的结构6.2.4 定时器定时器/计数器计数器T0的模式的模式3例例6-1 设单片机的振荡频率为设单片机的振荡频率为12MHz,用,用定时器定时器/计数器计数器0的模式的模式1编程,在编程,在P1.0引脚产引脚产生一个周期为生一个周期为1000s的方波,定时器的方波,定时器T0采用采用中断的处理方式。中断的处理方式。分析:定时器的设置一般有如下方面内容。分析:定时器的设置一般有如下方面内容。工作方式选择。工作方式选择。当需要产生波形信号时,当需要产生波形信号时,往往使用定时器往往使用定时器/计数器的定时功能,定时时计数器的定时功能,定时时间到了对输
19、出端进行相应的处理即可。间到了对输出端进行相应的处理即可。 工作模式选择,根据定时时间长短选择工工作模式选择,根据定时时间长短选择工作模式。作模式。定时时间长短依次为定时时间长短依次为模式模式1模式模式0模式模式2。如果。如果产生周期性信号,产生周期性信号,首选首选模式模式2,不用重装初值。不用重装初值。6.2.4 定时器定时器/计数器计数器T0的模式的模式3 定时时间计算:定时时间计算:周期为周期为1000s的方波要的方波要求定时器的定时时间为求定时器的定时时间为500s,每次溢出时,每次溢出时,将将P1.0引脚电平的状态取反,就可以在引脚电平的状态取反,就可以在P1.0上产生所需要的方波。
20、上产生所需要的方波。 定时初值计算:定时初值计算:振荡频率为振荡频率为12MHz,则,则机器周期为机器周期为1s,设计数初值为,设计数初值为X,则,则(65536-X)1s=500s得得X=65036=0FE0CH定时器的初值为:定时器的初值为:TH0=0FEH,TL0=0CH C语言程序语言程序:#include /包含特殊功能寄存器库包含特殊功能寄存器库sbit P1_0=P10; /进行位定义进行位定义void main( )TMOD=0 x01; /T0做定时器,工作在模式做定时器,工作在模式1TL0=0 x0c;TH0=0 xfe;/设置定时器的初值设置定时器的初值ET0=1; /允
21、许允许T0中断中断 EA=1; /允许允许CPU中断中断TR0=1; /启动定时器启动定时器while(1); /等待中断等待中断 void time0_int(void) interrupt 1/中断服务程序中断服务程序TL0=0 x0c;TH0=0 xfe;/定时器重赋初值定时器重赋初值P1_0=P1_0;/P1.0取反,输出方波取反,输出方波 汇编语言程序汇编语言程序:ORG0000HSJMPMAINORG000BHLJMPTIME0MAIN:MOV TMOD,#01H;T0定时,模式定时,模式1MOVTL0,#0CH;置定时初值;置定时初值MOVTH0,#0FEH SETBET0;定时
22、器;定时器T0开中断开中断SETBEA;CPU开中断开中断SETBTR0;启动定时器;启动定时器T0SJMP$;等待定时器溢出;等待定时器溢出TIME0: MOV TL0,#0CH ;中断服务程序中断服务程序MOVTH0,#0FEH;重装定时初值;重装定时初值CPLP1.0;P1.0取反,输出方波取反,输出方波RETI;中断返回;中断返回END例例6-2 设单片机的振荡频率为设单片机的振荡频率为12MHz,用定,用定时器时器/计数器计数器0编程实现从编程实现从P1.0输出周期为输出周期为500s的的方波。方波。分析:分析:定时时间:定时时间:从从P1.0输出周期为输出周期为500s的方的方波。
23、定时波。定时250s,定时结束对,定时结束对P1.0取反。取反。 模式选择模式选择:当系统时钟频率为:当系统时钟频率为12MHz,机器,机器周期为周期为1s,定时器,定时器/计数器计数器0可以选择模式可以选择模式0、模式、模式1和模式和模式2。模式。模式2最大的定时时间为最大的定时时间为256s,满足,满足250s的定时要求,选择模式的定时要求,选择模式2(1)定时初值计算)定时初值计算 (256-X)1s=250s X=6;则则TH0=TL0=6采用中断处理方式的程序采用中断处理方式的程序 :C语言程序语言程序 :# include /包含特殊功能寄存器库包含特殊功能寄存器库sbit P1_
24、0=P10; 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;汇编语言程序汇编语言程序:ORG0000HLJMPMAIN ORG000BH;中断处理程序;中断处理程序CPLP1.0RETIORG 0030H;主程序;主程序MAIN:MOV TMOD,#02H MOV TL0,#0
25、6HMOV TH0,#06HSETB ET0;允许定时器;允许定时器0中断中断SETB EA;允许;允许CPU中断中断SETB TR0;启动定时器;启动定时器0SJMP $;等待中断;等待中断END采用查询方式处理的程序:采用查询方式处理的程序: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;汇编语言程序汇编语言程序:MAIN:MOV TMO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 定时器 计数器 ppt 课件
限制150内