第7章 MCS-51单片机的定时计数器.ppt_第1页
第7章 MCS-51单片机的定时计数器.ppt_第2页
第7章 MCS-51单片机的定时计数器.ppt_第3页
第7章 MCS-51单片机的定时计数器.ppt_第4页
第7章 MCS-51单片机的定时计数器.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7章MCS-51单片机的定时/计数器,本章要点: 常用的定时方法 单片机定时/计数器的结构及定时、计数原理 单片机定时/计数器的控制 单片机定时/计数器的工作方式 单片机定时/计数器的应用 本章难点: 单片机定时/计数器的工作方式和应用 GATE位的应用,7.1单片机的定时方式概述,要实现定时/计数,常用以下三种主要方法: (1)软件定时。如前面学习过的延时程序。 (2)数字电路硬件定时。如采用小规模集成电路器件555。 (3)可编程的硬件定时。是前两种方法的结合,也是本章所讲。该方法是硬件定时,但却能极容易地通过软件来确定和改变它的定时值,通过初始化编程,能够满足各种不同的定时和计数要求,

2、因而在嵌入式系统的设计和应用中得到了广泛的应用。如本章所要讲述的MCS-51单片机的定时/计数器T0和T1就属于这种方式。,7.2 单片机的定时/计数器结构及基本原理,7.2.1 定时/计数器的结构 两个16位的可编程的定时/计数器,分别称为定时/计数器0和定时/计数器1,即T0和T1。 每个定时/计数器均采用加法型计数结构,即每个计数脉冲加1,直至溢出。 T0由两个特殊功能寄存器TH0和TL0组成; T1由两个特殊功能寄存器TH1和TL1组成。 T0和T1都可由软件设置为定时工作方式或计数工作方式及其他灵活多样的可控功能方式。这些功能都由特殊功能寄存器TMOD和TCON来控制。,7.2.2

3、定时/计数器的基本原理 单片机的定时功能是通过计数的方法来实现的,因 此MCS-51单片机的定时器也具有计数功能。定时/ 计数的基本原理如下: (1)计数功能。计数是指对外部事件进行计数,外 部事件的发生以脉冲来表示,因此计数功能的实质 是对外部脉冲进行计数。 MCS-51单片机用引脚T0(P3.4)作为定时/计数器 T0的外来脉冲的输入端,用引脚T1(P3.5)作为定 时/计数器T1的外来脉冲的输入端。 外来脉冲负跳变有效。单片机在相邻两个机器周期 时间内,若上一个机器周期采样T0/T1端的电平为 “1”,且下一个机器周期采样T0/T1的电平为“0”,计数器就加1,即在两个机器周期内,计数器

4、加1。,由于单片机对外来脉冲的采样是在2个机器周 期中进行的,所以,为保证计数的正确性, 要求外来脉冲的频率不高于单片机系统晶振 频率的1/24。 (2)定时功能。定时的实质还是计数,只不过定时功能的计数脉冲不是来自单片机外部,而是来自单片机内部。即将系统振荡脉冲12分频后作为定时功能的计数脉冲。又由于一个机器周期等于12个振荡脉冲周期,所以定时功能的计数是每到一个机器周期计数器就加1。,7.2.3 计数满/定时到时的处理 从上面两种功能的讲解中可以知道,每来一个脉冲,定时/计数器就加1,而T0/T1又都是16位的结构,当加到T0/T1为全“1”时,若再来一个脉冲,T0/ T1就要回到全“0”

5、,也就是要溢出,此时,对计数功能来说,表示计数已满;对定时功能来说,表示定时时间已到。 计数满或定时到时,CPU怎么知道呢?答案很简单,就是定时/计数器产生溢出中断请求,也就是T0/T1将中断标志位TF0/TF1置1。,7.2.3 任意计数或定时的实现方法 由于T0/T1都是16位结构,也就是计数容量是16位。16位用来计数时计满数是65536(即216),如果每计一个数用时1s,那么用作定时时最多定时65536s。问题是实际生活中经常会有小于65536的计数要求,如一打为12瓶,一瓶药片为100粒,怎么样来满足这样的要求呢? 采用的方法是预置计数器初值的办法。比如要计100,就先将计数器初值

6、设为65436,再计100个数,就到65536,即才产生溢出中断请求。,7.1定时/计数器的控制,定时器/计数器T0、T1都可以工作在定时方式 和计数方式,并且有4种工作模式,这些是通 过改变两个特殊功能寄存器TCON、TMOD的 值来进行控制的。下面介绍一下这两个特殊 功能寄存器的使用方法。,7.3.1 定时器控制寄存器TCON TF1/TF0:定时/计数器T1和T0的计数溢出中断请求标志位。当定时/计数器溢出时由硬件置“1”,表示定时到或计数满,CPU响应中断后又由硬件自动清“0”。也可由软件来查询测试该位的状态。 TR1/TR0:定时/计数器T1和T0的运行控制位。当TR1(TR0)=0

7、时,定时/计数器停止计数;当TR1(TR0)=1时,定时/计数器开始计数。也可以用软件方式来置位或清0。,7.3.2 工作模式寄存器TMOD 不能位寻址 GATE:门控位。当GATE0时,只要用软件使TR0(或TR1)置1就可以启动定时/计数器,而不管(或)的电平是高还是低(参见后面的定时器/计数器逻辑结构图);当GATE1时,只有(或)引脚为高电平且由软件使TR0(或TRl)置1 时,才能启动定时/计数器工作。,C/T:定时/计数方式选择位。当C/=0时为定时方式,当C/=1时为计数方式。 M1和M0位:工作模式控制位。两位可组成4种编码 ,如下表。,7.3.1 中断允许控制寄存器IE 各位

8、定义同上一章所述。,7.2 定时/计数器的工作模式,7.4.1 工作模式0及应用 模式0是选择定时/计数器T0(T1)的高8位和低5位组成的一个13位的定时/计数器。 在该模式下,16位寄存器(TH0和TL0)只用了13位,其中TL0的高3位未用。 当TL0的低5位溢出时,向TH0进位;TH0溢出时,向中断标志位TF0进位,并申请中断。 在系统禁止中断时,T0是否溢出也可用软件查询TF0是否被置位。,图7.1 定时/计数器T0的工作模式0原理图,工作模式0定时时间的计算:,7.4.2 工作模式1及应用 工作模式1的特点: 16位加法计数结构 对一次溢出而言,其定时时间为: 用作计数功能,其计数

9、的个数为:,【例7.3】利用定时/计数器T0,模式1产生一个50Hz的方波,由P1.1输出,要求采用中断方式。已知晶振频率为12MHz。 分析:由于方波的频率为50Hz,故方波周期为0.02s=20ms=20000s。要输出方波,只需每经过10000s电平要翻转一次,故定时时间为10000s。 由此可得定时/计数器初值为: X=216-10000s /1s=55536D=D8F0H (1)TMOD初始化。 因定时/计数器T1不用,可将TMOD高4位置0。据题意可设GATE=0,即用TR0位控制定时/计数器T0的启动和停止,又因为是模式1,故M1M0=01,所以: (TMOD)=01H (2)计

10、算定时初值。 上面已分析过,(TH0)=0D8H,(TL0)=0F0H,7.4.3 工作模式2及应用 工作模式2的逻辑电路结构图(以T0为例):,工作模式2的特点: 是个8位的计数器 低8位作为计数寄存器 定时/计数的初值可以由硬件自动循环重新装入 在程序初始化时,TL0(TL1)和TH0(TH1)应由软件赋予相同的初值 一次溢出时的定时时间和计数个数的算法同模式0、模式1 常用于循环定时或循环计数的应用中,如串行口的波特率发生器,【例7.4】用定时/计数器T1,工作模式2,从P1.0输出脉宽为10ms的方波。已知晶振频率为12MHz。 分析:由于晶振频率为12MHz,则机器周期为1s 。工作

11、模式2的计数器是8位的,计数器溢出一次,最大定时时间t=(28-T1初值)机器周期=(256-0)1s=256s,显然计数器溢出一次是无法延时10ms的。如果将计数器一次溢出的定时时间设为250s,让这个8位计数器重复定时40次,则就能达到定时10ms的目的。,【例7.5】利用定时/计数器T0门控位GATE,测试(P3.2)引脚上出现的正脉冲的宽度。 分析:将定时/计数器T0设定为定时功能、工作模式1、GATE为1。当TR0=1时,一旦(P3.2)引脚出现高电平即开始计数,直到出现低电平为止,然后读取TL0、TH0中的计数值,分别送给寄存器A和B。应该知道,由于定时器工作在定时功能,所以计数器计的数值乘以机器周期即得正脉冲宽度,7.4.4 工作模式3及应用 工作模式3的逻辑电路结构图(以T0为例):,工作模式3的特点: T0工作于模式3时,被分成TH0和TL0两个独立的8位计数器。 TL0这个8位计数器既可以用于定时,也可以用于计数,独占T0的控制位和引脚信号GATE、C/T、TR0、TF0、T0(P3.4)引脚和(P3.2)引脚。 TH0这个8位计数器只能用于定时,并借用TR1作为控制通断的信号、借用TF1作为溢出标志。 T1不能工作在模式3,若将其设为工作模式3,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论