单片机原理及应用第2版张兰红第7章定时器计数器及应用PPT格式课件下载.pptx

上传人:b****1 文档编号:14079256 上传时间:2022-10-18 格式:PPTX 页数:61 大小:1.64MB
下载 相关 举报
单片机原理及应用第2版张兰红第7章定时器计数器及应用PPT格式课件下载.pptx_第1页
第1页 / 共61页
单片机原理及应用第2版张兰红第7章定时器计数器及应用PPT格式课件下载.pptx_第2页
第2页 / 共61页
单片机原理及应用第2版张兰红第7章定时器计数器及应用PPT格式课件下载.pptx_第3页
第3页 / 共61页
单片机原理及应用第2版张兰红第7章定时器计数器及应用PPT格式课件下载.pptx_第4页
第4页 / 共61页
单片机原理及应用第2版张兰红第7章定时器计数器及应用PPT格式课件下载.pptx_第5页
第5页 / 共61页
点击查看更多>>
下载资源
资源描述

单片机原理及应用第2版张兰红第7章定时器计数器及应用PPT格式课件下载.pptx

《单片机原理及应用第2版张兰红第7章定时器计数器及应用PPT格式课件下载.pptx》由会员分享,可在线阅读,更多相关《单片机原理及应用第2版张兰红第7章定时器计数器及应用PPT格式课件下载.pptx(61页珍藏版)》请在冰豆网上搜索。

单片机原理及应用第2版张兰红第7章定时器计数器及应用PPT格式课件下载.pptx

j110;

j+);

7.1.1软件定时/计数器,需要计数较多或定时时间较长,常使用硬件电路完成。

硬件定时/计数的特点是定时/计数功能全部由硬件电路完成,不占用CPU的时间,但需要通过改变电路中的元件参数来调节定时时间和计数长度,使用上不够灵活。

7.1.2数字电路定时/计数,为了使用方便并增加单片机的功能,很多单片机内部都集成了可编程的定时/计数器。

80C51单片机内部就有可编程的定时/计数器,其中51子系列内部有2个,52子系列内部有3个。

本章只介绍51子系列内部的定时器/计数器。

7.1.3可编程定时/计数,7.280C51单片机的定时器/计数器,51子系列单片机内部有两个独立的16位可编程定时/计数器,分别称为定时器0(简称T0)和定时器1(简称T1)。

它们可以编程选择工作于定时模式或外部事件计数模式,此外它们的工作方式、定时时间、计数值、启动、是否允许中断等都可以由程序设定。

定时器/计数器的内部结构框图如图7-1所示。

图7-1定时器/计数器0、1的内部结构框图,7.2.1定时器/计数器的结构,定时器/计数器T0、T1的工作原理图如图7-2所示。

图7-2定时器/计数器的工作原理图,(a)定时器/计数器0(T0)工作原理图,7.2.2定时器/计数器的工作原理,定时器/计数器T0、T1的工作原理图如图7-2所示。

图7-2定时器/计数器的工作原理图,(b)定时器/计数器1(T1)工作原理图,7.2.2定时器/计数器的工作原理,1.工作方式寄存器TMODTMOD用来选择定时器/计数器的工作模式和工作方式,字节地址为89H,不能进行位寻址,低4位用于定时器/计数器T0,高4位用于定时器/计数器T1,其格式如下所示:

8位分为2组,高4位控制T1,低4位控制T0。

各位的含义说明如下:

(1)M1、M0:

工作方式选择位定时器/计数器有四种工作方式,由M1、M0进行设置,如表7-1所示。

表7-1定时器/计数器0、1的工作方式选择,

(2):

定时器/计数器工作模式选择位。

0,为定时器工作模式;

1,为计数器工作模式。

(3)GATE:

门控位。

GATE=0,定时器/计数器0、1的启动计数由TCON中的TR0、TR1控制,当TR0或TR1为1时,就可以启动定时器/计数器0或1工作。

GATE=1,定时器/计数器0、1的启动计数由TCON中的TR0、TR1和外部中断引脚、一起控制。

当TR0或TR1为1,同时或也为高电平时,才能启动定时器/计数器0或1工作。

例7-1若定时器T1工作于方式2计数模式,定时器T0工作于方式1定时模式,GATE=0,要求设置TMOD。

解:

根据TMOD各位的定义,得TMOD=01100001B=61H。

2控制寄存器TCONTCON的字节地址为88H,可位寻址,位地址为88H8FH,TCON的格式如下:

低4位与外部中断有关,已在第6章中介绍,高4位的功能如下:

(1)TF1:

定时器/计数器T1溢出中断请求标志位。

定时器/计数器T1计数溢出后,硬件自动将TF1置1。

使用查询方式时,查询到TF1=1后,应该及时用软件方法将TF1清0。

使用中断方式时,CPU响应中断后,进入中断服务程序后由硬件自动将TF1清0。

(2)TR1:

定时器/计数器T1的运行控制位。

TR1=1,启动定时器/计数器工作;

TR1=0,停止定时器/计数器工作。

(3)TF0:

定时器/计数器T0的溢出中断请求标志位,其功能与TF1类似。

(4)TR0:

定时器/计数器T0的运行控制位,其功能与TR1类似。

3.定时器/计数器的工作模式选择定时器/计数器的工作模式选择由决定,如图7-3所示,位控制的电子开关S1决定了定时器/计数器的工作模式,电子开关打在上面0,电子开关打在下面1。

0时为定时器工作模式,以系统晶振频率12分频后的信号,即Tcy信号作为计数器基准信号。

1时为计数器工作模式,计数脉冲为P3.4引脚上的外部输入脉冲,当引脚上发生负跳变时,计数器加1。

4.定时器/计数器的运行控制定时器/计数器的运行控制如图7-4所示,电子开关S2闭合时定时器/计数器启动计数,S2断开时定时器/计数器停止计数。

电子开关S2由门控位GATE、运行控制位及外部中断输入引脚共同控制。

当门控位GATE=0时,或门A输出为1,定时器/计数器T0启动运行受TR0一个条件控制。

当门控位GATE=1时,定时器/计数器T0启动运行受TR0和外部中断0引脚的状态两个条件控制。

此时,定时器T0的运行情况如表7-2所示。

表7-2GATE=1时,与门B输出与定时器T0的运行情况,定时器/计数器的工作方式有4种,由TMOD中的M1M0控制。

1.方式0当TMOD的M1M0=00时,定时器/计数器工作于方式0,为13位的定时器/计数器方式。

由TL0的低5位和TH0的高8位构成13位的计数器,如图7-5所示。

TL0低5位计数溢出则向TH0进位,TH0计数溢出则置位TCON中的溢出标志位TF0。

7.2.3定时器/计数器的工作方式,单片机内部的定时器/计数器为加法计数器,假设N是计数值,x为计数初值,n为定时器/计数器的位数,它们之间的关系如下:

N=2n-x如果定时器/计数器工作于定时器工作模式,晶振频率为fosc,要求的定时时间为T,则机器周期Tcy为12/fosc,定时时间、计数初值和机器周期的关系如下:

T(2n-x)Tcy,方式0中初值x的设置范围:

08191(0213-1),TH0、TL0从初值开始加法计数,直至溢出,所以设置的初值不同,定时时间或计数值也不同。

因此方式0工作时计数值和定时值分别为:

N=213-x=8192-xT(2n-x)Tcy=(8192-x)Tcy,由于为加1计数器,当x取为8191时,计数值最小,为1;

当x取为0时,计数值最大,为8192。

因此方式0的计数范围为:

18192,定时范围:

(18192)Tcy。

注意:

方式0加法计数器TH0溢出后,必须用程序重新对TH0、TL0设置初值,否则下一次TH0、TL0将从0开始加法计数。

例7-2已知晶振频率fosc=12MHz,要求定时器0产生1ms的定时时间,问送入TH0和TL0的计数初值各为多少?

试对定时器进行初始化编程。

由于晶振频率为12MHz,所以机器周期Tcy=1s,定时器0选用方式0时最大定时时间为8192s,即8.192ms,而题目要求的定时时间为1ms,小于8.192ms,所以可以选用方式0。

(1)计算TH0、TL0的计数初值T=(2n-x)Tcy(213-x)1s=1ms=1000s,所以x=8192-1000=7192=1C18H=0001110000011000B,取其低13位,放入TH0和TL0,则TH0=E0H,TL0=18H。

(2)TMOD寄存器初始化根据题目要求,GATE(TMOD.3)=0,(TMOD.2)=0,M1(TMOD.1)=0,M0(TMOD.0)=0,定时器/计数器1没有使用,相应的各个位随意状态,均取为0,则(TMOD)=00H。

(3)初始化程序voidinit_time0(void)TMOD=0x00;

/设置T0为定时器模式,工作在方式0TH0=0xE0;

TL0=0x18;

TR0=1;

/启动T0方式0是13位定时器/计数器,目的是为了兼容早期的MCS-48单片机,计数初值有高8位和低5位构成,确定初值比较麻烦,所以在实际应用中已应用不多。

2.方式1当TMOD的M1M0=01时,定时器/计数器工作于方式1,工作于16位的定时器/计数器方式。

由8位TL0和8位TH0构成16位计数器,如图7-6所示。

TL0计数溢出则向TH0进位,TH0计数溢出则置位TCON中的溢出标志位TF0。

方式1和方式0的差别仅在于计数器的位数不同,方式1是16位定时器/计数器,由TH0高8位和TL0低8位构成,方式0是13位定时器/计数器。

方式1中初值x的设置范围:

065535(0216-1),TH0、TL0从初值开始加法计数,直至溢出。

选择方式1工作时计数值和定时值分别为:

N=216-x=65536-xT(216-x)Tcy=(65536-x)Tcy,当x取为65535时,计数值最小,为1;

当x取为0时,计数值最大,为65536。

因此方式1的计数范围为:

165536,定时范围:

(165536)Tcy。

方式1加法计数器TH0溢出后,必须用程序重新对TH0、TL0设置初值,否则下一次TH0、TL0将从0开始加法计数。

例7-3已知晶振频率fosc=12MHz,要求定时器0产生10ms的定时时间,试对定时器进行初始化编程。

由于晶振频率为12MHz,机器周期Tcy=1s,选用方式0时最大定时时间8.192ms,选择方式1时,最大定时时间为65.536ms,要求的定时时间为10ms,所以不能选择方式0,只能选用方式1。

(1)计算TH0、TL0的计数初值由于晶振频率为12MHz,所以机器周期Tcy=1s,则定时时间为:

T=(2n-x)Tcy(216-x)1s=10ms,所以x=65536-10000=55536=D8F0H即TH0=D8H,TL0=F0H,或者TH0=55536/256,TL0=55536%256,

(2)TMOD寄存器初始化根据题目要求,GATE(TMOD.3)=0,(TMOD.2)=0,M1(TMOD.1)=0,M0(TMOD.0)=1,定时器/计数器1没有使用,相应的各个位状态随意,均取为0,则(TMOD)=01H。

(3)初始化程序voidinit_time0(void)TMOD=0x01;

/设置T0为定时器模式,工作在方式1TH0=(65536-10000)/256;

TL0=(65536-10000)%256;

/启动T0,3.方式2当TMOD的M1M0=10时,定时器/计数器工作于方式2,工作于8位自动重装初值的8位定时器/计数器方式。

方式2计数器构成如图7-7所示,TL0作为8位计数器使用,TH0作为初值寄存器用,TL0计数溢出后,将TF0置1,同时发出自动重装初值的信号,使三态门打开,将TH0中初值自动送入TL0,使TL0从初值开始重新计数。

方式2中初值x的设置范围:

0255(028-1),TL0从初值开始加法计数,溢出后TH0中初值重新置入TL0。

方式2工作时计数值和定时值分别为:

N=28-x=256-xT(28-x)Tcy=(256-x)Tcy当x取为255时,计数值为1;

当x取为0时,计数值为256。

因此方式2的计数范围为:

1256,定时范围:

(1256)Tcy由于工作方式2有自动重新装载初值的功能,因此特别适用于定时控制。

例7-4已知晶振频率fosc=12MHz,要求每隔200s产生一定时信号,试对定时器进行初始化。

选择定时器0,工作在方式2。

(1)计算TH0、TL0的计数初值由于晶振频率为12MHz,所以机器周期Tcy=1s,则(2n-x)Tcy(28-x)1s=200s,所以x=256-200=56=38H即TH0=38H,TL0=38H或者TH0=(256-200)%256,TL0=(256-200)%256。

(2)TMOD寄存器初始化GATE(TMOD.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1