首页 STC单片机定时计数器

STC单片机定时计数器

举报
开通vip

STC单片机定时计数器null第六章 定时/计数器第六章 定时/计数器硅谷芯微 技术贡献 网址:www.threeway.cc本章重点:本章重点:♦ 定时/计数器的工作原理 ♦ 做中断定时/计数时如何配置 ♦ 定时/计数器初始化配置 6.1.1定时的定义: 定时是对周期固定、已知的脉冲计数。 6.1.2计数的定义: 计数是对外界产生的周期不固定的未知脉冲计数。计数器的计数方式可以是加1计数,也可以是减1计数。 6.1.3 定时/计数的实现方法: 定时/计数的实现方法有3种: 1.不可编程硬件数...

STC单片机定时计数器
null第六章 定时/计数器第六章 定时/计数器硅谷芯微 技术贡献 网址:www.threeway.cc本章重点:本章重点:♦ 定时/计数器的工作原理 ♦ 做中断定时/计数时如何配置 ♦ 定时/计数器初始化配置 6.1.1定时的定义: 定时是对周期固定、已知的脉冲计数。 6.1.2计数的定义: 计数是对外界产生的周期不固定的未知脉冲计数。计数器的计数方式可以是加1计数,也可以是减1计数。 6.1.3 定时/计数的实现 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 : 定时/计数的实现方法有3种: 1.不可编程硬件数字电路:用555构成的定时器和计数器等。 2. 软件编程 3. 可编程定时/计数器 6.1.4 定时/计数器特点 不论是独立的定时器芯片还是单片机内的定时器,都有以下特点: 1.定时/计数器可以有多种工作方式,可以是计数方式也可以是定时方式等等。 2.计数器模可变的,当然计数的最大值是有一定限制的,这取决于计数器的位数。计数的最大值也就限制了定时的最大值。 3.按照规定的定时或计数值,当定时的时间到或者计数终止时,发出中断申请,以便实现定时或计数控制。 6.1.1定时的定义: 定时是对周期固定、已知的脉冲计数。 6.1.2计数的定义: 计数是对外界产生的周期不固定的未知脉冲计数。计数器的计数方式可以是加1计数,也可以是减1计数。 6.1.3 定时/计数的实现方法: 定时/计数的实现方法有3种: 1.不可编程硬件数字电路:用555构成的定时器和计数器等。 2. 软件编程 3. 可编程定时/计数器 6.1.4 定时/计数器特点 不论是独立的定时器芯片还是单片机内的定时器,都有以下特点: 1.定时/计数器可以有多种工作方式,可以是计数方式也可以是定时方式等等。 2.计数器模可变的,当然计数的最大值是有一定限制的,这取决于计数器的位数。计数的最大值也就限制了定时的最大值。 3.按照规定的定时或计数值,当定时的时间到或者计数终止时,发出中断申请,以便实现定时或计数控制。6.1 定时计数器概述 除了上述共同特点外,各种定时器还会有各自的特点,各自的工作方式和控制方式。本节课我们了解51单片机内部2个16位可编程定时/计数器,如图所示: 除了上述共同特点外,各种定时器还会有各自的特点,各自的工作方式和控制方式。本节课我们了解51单片机内部2个16位可编程定时/计数器,如图所示: 从上面定时器/计数器的结构图中我们可以看出,16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1 构成。其访问地址依次为8AH-8DH。每个寄存器均可单独访问。这些寄存器是用于存放定时或计数初值的。 6.2 定时/计数器的原理 当定时/计数器为定时工作方式时,对片内机器周期脉冲计数,每过一个机器周期,计数器加1,直至计满溢出为止。如果晶振为12MHz,则机器周期为:T=1/12M*12s=1μs,这是最短的定时周期。也就是当单片机选择12MHZ晶振时,T0和T1每次加一就相当于时间上经过1μS,当由全1加到全0时计满溢出,因而,如果要定时Nμs,则首先应向计数器置初值为X,有: 初值X = 最大计数值(满值)-计数值 N 在不同的工作方式下,最大计定时(满值)不一样,一般来说,当定时器/计数器工作于R位计数方式时,它的最大计定时(满值)为2的R次幂微秒。 综上所述:我们已知定时器/计数器是一种可编程部件,所以在定时器/计数器开始工作之前,CPU必须将一些命令(称为控制字)写入定时/计数器。将控制字写入定时/计数器的过程叫定时器/计数器初始化。在初始化过程中,要将工作方式控制字写入方式寄存器,工作状态字(或相关位)写入控制寄存器,赋定时/计数初值。下面我们就提出的控制字的格式及各位的主要功能与大家详细的讲解。6.2 定时/计数器的原理 当定时/计数器为定时工作方式时,对片内机器周期脉冲计数,每过一个机器周期,计数器加1,直至计满溢出为止。如果晶振为12MHz,则机器周期为:T=1/12M*12s=1μs,这是最短的定时周期。也就是当单片机选择12MHZ晶振时,T0和T1每次加一就相当于时间上经过1μS,当由全1加到全0时计满溢出,因而,如果要定时Nμs,则首先应向计数器置初值为X,有: 初值X = 最大计数值(满值)-计数值 N 在不同的工作方式下,最大计定时(满值)不一样,一般来说,当定时器/计数器工作于R位计数方式时,它的最大计定时(满值)为2的R次幂微秒。 综上所述:我们已知定时器/计数器是一种可编程部件,所以在定时器/计数器开始工作之前,CPU必须将一些命令(称为控制字)写入定时/计数器。将控制字写入定时/计数器的过程叫定时器/计数器初始化。在初始化过程中,要将工作方式控制字写入方式寄存器,工作状态字(或相关位)写入控制寄存器,赋定时/计数初值。下面我们就提出的控制字的格式及各位的主要功能与大家详细的讲解。6.3 定时/计数器控制寄存器 控制寄存器 定时器/计数器T0和T1有2个控制寄存器TMOD和TCON,它们 分别用来设置各个定时器/计数器的工作方式,选择定时或计数功能,控制 启动运行,以及作为运行状态的标志等。6.3 定时/计数器控制寄存器 控制寄存器 定时器/计数器T0和T1有2个控制寄存器TMOD和TCON,它们 分别用来设置各个定时器/计数器的工作方式,选择定时或计数功能,控制 启动运行,以及作为运行状态的标志等。6.3.1 中断配置寄存器TCON 中断配置寄存器TCON在中断一章我们讲过在此我们再来温习一遍:如图 所示 : TCON低4位与外部中断INT0、INT1有关,已在中断中叙述。在此就重复 不做讲解。高4位与定时/计数器T0、T1有关。 TF1:定时器1溢出标志位。当字时器1计满溢出时,由硬件使TF1置“1”, 并且申请中断。进入中断服务程序后,由硬件自动清“0”,在查询方式下用软件 清“0”。 TR1:定时器1运行控制位。由软件清“0”关闭定时器1。当GATE=1,且 INT1为高电平时,TR1置“1”启动定时器1;当GATE=0,TR1置“1”启动定时器1。 TF0:定时器0溢出标志。其功能及操作情况同TF1。 TR0:定时器0运行控制位。其功能及操作情况同TR1。6.3.2 TMOD定时器/计数器方式寄存器 定时器方式控制寄存器TMOD在特殊功能寄存器中,字节地址为89H,无位地址。TMOD的格式如图所示。 由上 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 可见,TMOD的高4位用于T1,低4使用于T0,4种符号的含义如下: GATE:门控制位。GATE打开时,外部引脚p3.2,p3.3状态为1,定时/计数器才能打开。为0时不会影响定时/计数器工作与否。 C/T:定时器/计数器选择位。C/T=1,为计数器方式;C/T=0,为定时器方式。不设置默认为0。 M1 M0:工作方式选择位,定时器/计数器的4种工作方式由M1 M0设定。如表所示:6.3.2 TMOD定时器/计数器方式寄存器 定时器方式控制寄存器TMOD在特殊功能寄存器中,字节地址为89H,无位地址。TMOD的格式如图所示。 由上表可见,TMOD的高4位用于T1,低4使用于T0,4种符号的含义如下: GATE:门控制位。GATE打开时,外部引脚p3.2,p3.3状态为1,定时/计数器才能打开。为0时不会影响定时/计数器工作与否。 C/T:定时器/计数器选择位。C/T=1,为计数器方式;C/T=0,为定时器方式。不设置默认为0。 M1 M0:工作方式选择位,定时器/计数器的4种工作方式由M1 M0设定。如表所示:6.4 计数方式6.4 计数方式 前面内部结构章节我们了解到P3口有第二功能,P3.4、P3.5是T0和T1的 输入端。设置为计数方式时,将要计数的脉冲信号接入P3.4或者P3.5,配置 好中断,相应的T0或者T1会根据产生一次下降沿而加一。达到计数的目的。主程序: MOV TMOD,#90H ;置T1方式控制字 MOV TL1,#0 MOV TH1,#0 ;T1从0开始计数 SETB TR1 ;T1控制位打开 JNB P3.3,$ ;等/INT1高电平,T1启动计数 JB P3.3,$ ;等/INT1低电平 CLR TR1 ;停止计数 MOV 20H,#TL1 ;保存正脉冲宽度在20H和21H中 MOV 21H,#TH1 SJMP $ 注意:在keil编译器中MOV TH1,#HIGH(65536-50000)和MOV TH1,#3CH意义是等同的,前者更加直观,所以以后再用到定时器时我们采用这种赋初值的方法。例:用GATE控制位,测量/INT1(P3.3)引脚上正脉冲的宽度(设晶振为12MHz,正脉冲的宽度小于65ms)。如图所示: 解:GATE的用法: GATE = 0时,TRi = 1,即可启动Ti定时 / 计数 GATE = 1时,TRi = 1,且/INTi =1,才启动定时 / 计数。 很明显,要用方式1(正脉冲的宽度小于65ms)。这里我们选择T1,且设为方式1。6.5 定时器/计数器的初始化 由于定时器/计数器的功能是由软件编程确定的,所以一般在使用定时/计数器前都要对其进行初始化,使其按设定的功能工作。初始货的步骤一般如下: 1 确定工作方式(即对TMOD赋值) 2 预置定时或计数的初值(可直接将初值写入TH0、TL0或TH1、TL1) 3 根据需要开放定时器/计数器的中断(直接对IE位赋值) 4 启动定时器/计数器(若已规定用软件启动,则可把TR0或TR1置“1”;若已规定由外中断引脚电平启动,则需给外引脚步加启动电平。当实现了启动要求后,定时器即按规定的工作方式和初值开始计数或定时)。 例:要求对T1产生50mS定时进行初始化。 (晶振=12MHz) 分析:已知fosc = 12MHz 则:(机器周期)1Tm=12Tc=12/1MHz=1S 50mS÷1S = 50000 16位定时器最大数值为:2的16次方 = 65536 (=0FFFFH+1) 故选择方式1工作可以满足要求。 计算初值:65536-50000=15536=3CB0H 由分析得知:T1选择方式1,初值=3CB0H6.5 定时器/计数器的初始化 由于定时器/计数器的功能是由软件编程确定的,所以一般在使用定时/计数器前都要对其进行初始化,使其按设定的功能工作。初始货的步骤一般如下: 1 确定工作方式(即对TMOD赋值) 2 预置定时或计数的初值(可直接将初值写入TH0、TL0或TH1、TL1) 3 根据需要开放定时器/计数器的中断(直接对IE位赋值) 4 启动定时器/计数器(若已规定用软件启动,则可把TR0或TR1置“1”;若已规定由外中断引脚电平启动,则需给外引脚步加启动电平。当实现了启动要求后,定时器即按规定的工作方式和初值开始计数或定时)。 例:要求对T1产生50mS定时进行初始化。 (晶振=12MHz) 分析:已知fosc = 12MHz 则:(机器周期)1Tm=12Tc=12/1MHz=1S 50mS÷1S = 50000 16位定时器最大数值为:2的16次方 = 65536 (=0FFFFH+1) 故选择方式1工作可以满足要求。 计算初值:65536-50000=15536=3CB0H 由分析得知:T1选择方式1,初值=3CB0HMOV TMOD,#10H ;选 T1方式 1 MOV TH1,#3CH / MOV TH1,#HIGH(65536-50000) ;赋初值高8位 MOV TL1,#0B0H/ MOV TL1,#LOW(65536-50000) ;赋初值低8位 SETB TR0 ;启动T0定时 若需要定时器1产生中断还应当写如下语句: SETB ET1 ;开T1中断允许 SETB EA ;开总中断允许 以及相应的中断服务程序。 null6.6 课后练习 6.6.1 用定时/计数器做内部定时中断时,用T0举例,写出T0的中断 配置。 6.6.2 用两个定时器完成两个任务:流水灯每秒钟左移一位,数码 管每秒钟数据增一。谢谢大家谢谢大家 硅谷芯微 技术贡献
本文档为【STC单片机定时计数器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_603733
暂无简介~
格式:ppt
大小:565KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2011-09-29
浏览量:39