单片机原理及应用C语言版6.ppt
《单片机原理及应用C语言版6.ppt》由会员分享,可在线阅读,更多相关《单片机原理及应用C语言版6.ppt(101页珍藏版)》请在三一办公上搜索。
1、单片机原理及应用(C语言版)第6章 MCS-51单片机定时器/计数器,主 编:周国运本章制作:仝选悦中国水利水电出版社,第6章 MCS-51单片机定时器/计数器,目 录6.1 MCS-51定时器/计数器的结构及原理6.2 定时器T0、T16.3 定时器T26.4 定时器应用举例,本章主要讨论MCS-51单片机定时器/计数器的逻辑结构和工作原理。内容主要有MCS-51单片机定时器T0、T1、T2的逻辑结构,工作方式的选择和应用。本章为单片机的主要内容,也是第七章串行口的学习的基础。,第6章 MCS-51单片机的定时器/计数器,6.1 MCS-51单片机定时器/计数器的结构及原理,主要内容6.1.
2、1 MCS-51单片机定时器的结构6.1.2 MCS-51单片机定时器的工作原理6.1.3 定时器/计数器的控制寄存器,6.1.1 MCS-51单片机定时器的结构,MCS-51单片机定时器/计数器逻辑结构图:,6.1.1 MCS-51单片机定时器的结构,MCS-51主要由如下构成:三个16位的可编程定时器/计数器:定时器/计数器0、1和2。每个定时器有两部分构成:THx和TLx特殊功能寄存器T2MOD和T2CON,主要对T2进行控制。特殊功能寄存器TMOD和TCON,主要对T0和T1进行控制。,6.1.1 MCS-51单片机定时器的结构,引脚P3.5、P3.4、P1.0,输入计数脉冲。定时器T
3、0、T1和T2是3个中断源,可以向CPU 发出中断请求。定时器/计数器T2增加了两个8位的寄存器:RCAP2H和RCAP2L。特殊功能寄存器之间通过内部总线和控制逻辑电路连接起来。,6.1.2 MCS-51单片机定时器的工作原理,定时器/计数器T0、T1、T2 的内部结构简图如下图所示。,6.1.2 MCS-51单片机定时器/计数器的工作原理,从上图可以看出:定时器的实质是一个加1计数器。C/T=0,为定时器方式。计数信号由片内振荡电路提供,振荡脉冲12分频送给计数器,每个机器周期计数器值增1。例如:如果晶振频率为12MHz,则最高计数频率为0.5MHz,6.1.2 MCS-51单片机定时器/
4、计数器的工作原理,C/T=1,为计数方式。计数信号由Tx引脚(P3.4、P3.5和P1.0)输入,每输入一有效信号,相应的计数器中的内容进行加1。控制信号TRx=1时,定时器启动。当定时器由全1加到全0时计满溢出,从0开始继续计数,TFx=1,向CPU申请中断。,6.1.3 定时器/计数器的方式和控制寄存器,1、T0、T1 工作模式寄存器TMOD 功能:确定定时器的工作模式。其格式如图6-3所示:,GATE外部门控制位。GATE1,使用外部控制门。TRx=1,P3.2(P3.3)=1时,启动定时器。,6.1.3 定时器/计数器的方式和控制寄存器,GATE0,不使用外部门控制计数器 C/T定时或
5、计数方式选择位。C/T0时,为定时器C/T1时,为计数器 采样过程:CPU在每机器周期S5P2期间,输入信号进行采样。若前一机器周期采样值为1,下一机器周期采样值为0,则计数器增1,随后的机器周期S3P1期间,新的计数值装入计数器。,6.1.3 定时器/计数器的方式和控制寄存器,M1、M0工作模式选择位。如下表所示:,6.1.3 定时器/计数器的方式和控制寄存器,2、T0、T1的控制寄存器TCON,TF1、TF0:T1、T0的溢出标志位 计数溢出,TFx=1。中断方式:自动清零;查询方式:软件清零。,6.1.3 定时器/计数器的方式和控制寄存器,TR1、TR0:T1、T0启停控制位。置1,启动
6、定时器;清0,关闭定时器。IE1、IE0:外部中断1、0请求标志位IT1、IT0:外部中断1、0触发方式选择位注意:GATE=1,TRx与P3.2(P3.3)的配合。,6.2 定时器T0、T1的工作模式及应用,主要内容6.2.1 模式0的逻辑结构及应用6.2.2 模式1的逻辑结构及应用6.2.3 模式2的逻辑结构及应用6.2.4 模式3的逻辑结构及应用,6.2.1 模式0的逻辑结构及应用,M1M000,选择模式0。逻辑结构如图6-5所示。(以T0为例)T0的结构:13位定时器/计数器。由TH0的8位、TL0的低5位构成(高3位未用)工作过程:TL0溢出后向TH0进位,TH0溢出后将TF0置位,
7、并向CPU申请中断。定时时间=(213-定时初值)机器周期 最大定时时间:213机器周期,6.2.1 模式0的逻辑结构及应用,C/T=1,计数方式。计数脉冲由P3.4引脚输入。C/T=0时,定时方式。,图6-5 模式0的逻辑结构图,6.2.2 模式1的逻辑结构及应用,M1M001时,选择模式1。逻辑结构如下页图所示。T0的结构:16位定时器/计数器。TL0:存放计数初值的低8位。TH0存放计数初值的高8位;定时时间=(216-定时初值)机器周期最大定时时间:216机器周期,6.2.2 模式1的逻辑结构及应用,工作过程:当TL0计满时,向TH0进1;当TH0计满时,溢出使TF0=1,向CPU申请
8、中断。MCS-51单片机之所以设置几乎完全一 样 的方式0和方式1,是出于与 MCS-48单片机兼容的。,6.2.3 模式2的逻辑结构及应用,M1 M0 10时,选择模式2。逻辑结构如图6-7所示。T0的结构:TL0:8位的定时器/计数器;TH0:8位预置寄存器,用于保存初值。工作过程:当TL0计满溢出时,TF0置1,向CPU发出中断请求;同时引起重装操作(TH0的计数初值送到TL0),进行新一轮计数。,6.2.3 模式2的逻辑结构及应用,图6-7 模式2的逻辑结构图,6.2.3 模式2的逻辑结构及应用,定时时间=(28-初值)机器周期 最大定时时间=28 机器周期优点:模式2能够进行自动重装
9、载。模式0和1计数溢出后,计数器为全0。循环定时或计数时,需要重新设置初值。说明:在模式2能够满足计数或定时要求时,尽可能使用模式2。,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),6.2.4 模式3的逻辑结构及应用,图6-8 模式3下T0的逻辑结构图,6.2.4 模式3的逻辑结构及应用,2、T0模式3时T1的工作模式T
10、1可以模式0模式2工作。T1的结构如图6-9所示由于TF1及中断矢量被TH0占用,所以T1仅用作波特率发生器或其它不用中断的地方。T1作波特率发生器,其计数溢出直接送至串行口。设置好工作方式,串行口波特率发生器开始自动运行。TMOD中T1的M1M0=11,T1停止工作。,6.2.4 模式3的逻辑结构及应用,图6-9 模式3下,T1的逻辑结构图,思考:T0工作在模式3,T1怎么进行方式设置?,串行口,6.2.4 模式3的逻辑结构及应用,1、定时器/计数器工作模式的选择方法(1)首先计算计数值N(2)确定工作模式原则是尽可能地选择模式2若 N 256选择模式2,否则选择模式1(3)如果需要增加一个
11、定时器/计数器选择模式3。,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,6.2.4 模式3的逻辑结构及应用,例6-1 设单片机的振荡频率为12MHz,用定时器/计数器0的模式1编程,在P1.0引脚产生一个周期为1000s的方波,定时器T0采用中断的处理方式。定时器的分析过程。工作方式选择 需要产生周期信号时,选择定时方式。定时时间到了对输出端进行周期性的输出即可。工作模式选择 根据定时时间长短选择工作模式。首
12、选模式2,可以省略重装初值操作。,6.2.4 模式3的逻辑结构及应用,定时时间计算:周期为1000s的方波要求定时器的定时时间为500s,每次溢出时,将P1.0引脚的输出取反,就可以在P1.0上产生所需要的方波。定时初值计算:振荡频率为12MHz,则机器周期为1s。设定时初值为X,(65536-X)1s=500s X=65036=0FE0CH定时器的初值为:TH0=0FEH,TL0=0CH,6.2.4 模式3的逻辑结构及应用,C语言程序:#include/包含特殊功能寄存器库sbitP1_0=P10;/进行位定义void main()TMOD=0 x01;/T0做定时器,模式1TL0=0 x0
13、c;TH0=0 xfe;/设置定时器的初值ET0=1;/允许T0中断 EA=1;/允许CPU中断TR0=1;/启动定时器while(1);/等待中断,6.2.4 模式3的逻辑结构及应用,void time0_int(void)interrupt 1/中断服务程序TL0=0 x0c;TH0=0 xfe;/定时器重赋初值P1_0=P1_0;/P1.0取反,输出方波汇编语言程序:ORG0000HSJMPMAINORG000BHLJMPTIME0,6.2.4 模式3的逻辑结构及应用,MAIN:MOV TMOD,#01H;T0定时,模式1MOVTL0,#0CH;置定时初值MOVTH0,#0FEH SET
14、BET0;定时器T0开中断SETBEA;CPU开中断SETBTR0;启动定时器T0SJMP$;等待定时器溢出TIME0:;中断服务程序MOV TL0,#0CHMOVTH0,#0FEH;重装定时初值CPLP1.0;P1.0取反RETI;中断返回END,6.2.4 模式 3的逻辑结构及应用,例6-2 设单片机的振荡频率为12MHz,用定时器/计数器0编程实现从P1.0输出周期为500s的方波。分析:方法同例6-1定时时间:方波周期为500s,定时250s。模式选择:定时器0可以选择模式0、1和2。模式2最大的定时时间为256s,满足250s的定时要求,选择模式2。,6.2.4 模式 3的逻辑结构及
15、应用,(1)初值计算(256-X)1s=250s X=6;则TH0=TL0=6(2)程序:采用中断处理方式的程序:C语言程序:#include/包含特殊功能寄存器库sbit P1_0=P10;,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;,6.2.4 模式3的逻辑结构及应用,汇编语言程序:ORG0000HLJMPM
16、AIN ORG000BH;中断处理程序CPLP1.0RETIORG 0030H;主程序MAIN:MOV TMOD,#02H MOV TL0,#06HMOV TH0,#06HSETB ET0;允许定时器0中断SETB EA;允许CPU中断SETB TR0;启动定时器0SJMP$;等待中断END,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;,6.2
17、.4 模式3的逻辑结构及应用,汇编语言程序:MAIN:MOV TMOD,#02H;主程序MOVTL0,#06HMOVTH0,#06HSETBTR0LOOP:JNBTF0,$;查询计数溢出CLRTF0CPLP1.0 SJMPLOOPEND,6.3 定时器/计数器T2,主要内容6.3.1 定时器T2的特殊寄存器6.3.2 定时器T2的工作方式及结构,6.3.1 定时器/计数器T2的特殊寄存器,89C52中的T2是一个16位的、具有自动重装载和捕获能力的定时器/计数器。T2的结构:除TL2、TH2和控制寄存器T2CON及T2MOD之外,还增加了捕获寄存器RCAP2L(低字节)和RCAP2H(高字节)
18、。T2的计数脉冲源有两个:一个是内部机器周期,另一个是由T2(P10)端输入的外部计数脉冲。,6.3.1 定时器/计数器T2的特殊功能寄存器,T2有4种工作方式自动重装、捕获和波特率发生器、可编程时钟输出。增加了两个引脚:T2(P1.0),T2EX(P1.1)。1、定时器/计数器2的控制寄存器T2CON 可位寻址和字节寻址。功能:选择T2的工作方式和工作模式。允许位寻址和字节寻址。其格式如下:,6.3.1 定时器/计数器T2的特殊功能寄存器,TF2:定时器/计数器2的溢出中断标志位 T2溢出时置位,申请中断。软件清零。波特率发生器方式下,RCLK1或TCLK1时,定时器溢出不对TF2进行置位。
19、EXF2(T2CON.6):定时器/计数器2外部触发标志位,6.3.1 定时器/计数器T2的特殊功能寄存器,EXEN21,且T2EX引脚上有负跳变将触发捕获或重装操作,EXF2=1,向CPU发出中断请求。软件复位。RCLK:串行口接收时钟允许标志位RCLK=1时,T2溢出信号分频后做串行口工作在模式1和3的接收波特率。RCLK=0时,T1溢出信号分频信后做串行口接收波特率。,6.3.1 定时器/计数器T2的特殊功能寄存器,TCLK:串行口发送时钟允许标志位TCLK=1时,T2溢出信号分频后做串行口工做在模式1和3的发送波特率。TCLK=0时,T1溢出信号分频后做串行口的发送波特率。,6.3.1
20、 定时器/计数器T2的特殊功能寄存器,EXEN2(T2CON3):定时器/计数器2外部允许标志位EXEN2=1,定时器/计数器2没有工作在波特率发生器方式,如T2EX(P1.1)引脚上产生负跳变时,将激活“捕获”或“重装”操作。EXEN2=0,T2EX引脚上的电平变化对定时器/计数器2不起作用。,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)产生负跳变
21、时,计数器增1。,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计满溢出时,触发自动重装操作。,6.3.1 定时器/计数器T2的特殊功能寄存器,RCLK=1或TCLK=1时,定时器/计数器2做波特率发生器。CP/RL2标志位不起作用,当T2溢出时强制自动装载。2、数据寄存器TH2、TL28位的数据寄存器,组成16位定时器/计数器。字节寻址,地
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 语言版
链接地址:https://www.31ppt.com/p-5812056.html