《基于C语言的MCS-51单片机教程》 课件 第18次课-定时计数器_第1页
《基于C语言的MCS-51单片机教程》 课件 第18次课-定时计数器_第2页
《基于C语言的MCS-51单片机教程》 课件 第18次课-定时计数器_第3页
《基于C语言的MCS-51单片机教程》 课件 第18次课-定时计数器_第4页
《基于C语言的MCS-51单片机教程》 课件 第18次课-定时计数器_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

08:40定时计数器及工作方式208:405.1学习目标:会描述如何使用定时器进行定时和计数。会分析、设置单片机定时器方式寄存器TMOD和控制寄存器TCON,计算定时或计数初值并送入TH0和TL0,TH1和TL1。会编写定时器T0和T1的中断函数和延时函数。会完成开关型传感器与单片机接口电路的设计和编程。会进行定时器/计数器和中断系统、LED数码管显示的综合应用,进一步熟悉开发工具。5.3.1单片机定时器/计数器在单片机系统中,常常会有定时控制需求,也经常要对外部事件进行计数。定时,就是设定好一个时间。计数,就是计算某段时间内事件发生的次数。实现定时常用的三种方法:软件定时:占用CPU时间,效率低。用555电路:不可编程。可编程芯片:功能强,需要另外扩展。在AT89C51单片机内部集成有两个可编程的定时/计数器:T0和T1,它们既可以用于定时,也可以用于对外部脉冲进行计数。此外T1还常用作串行接口的波特率发生器。(1)定时/计数器概述8051单片机内部有两个16位的可编程定时/计数器,称为定时/计数器0(T0)和定时/计数器1(T1)8051定时/计数器由T0、T1、方式寄存器TMOD和控制寄存器TCON四部分组成8051定时器/计数器逻辑结构定时/计数器的工作过程:8051的定时/计数器实质上是加1计数器,根据计数的对象不同可以作为定时器,也可以作为计数器作为定时器是对机器周期进行计数作为计数器是对T0(P3.4)、T1(P3.5)引脚上输入的外部脉冲进行计数TH0TL000000000000000000x0000000000000000000010x0001100000000000000100x0002200000000000000110x0003300000001111111110x00ff25500000001000000000x010000000001000000010x010100000001000000100x010200000001000000110x010300000001111111110x0xff00000010000000000x020011111111111111110xffff6553500000000000000000x00000定时计数器是加法计数器,每来一个计数脉冲,加法器中的内容加1个单位,当由全1加到全0时计满溢出,因而,如果要计N个单位,则首先应向计数器置初值为X,且有:

在不同的计数方式下,最大计数值(满值)不一样,一般来说,当定时器/计数器工作于R位计数方式时,它的最大计数值(满值)为2R。初值X=最大计数值(满值)M-计数值N(2)定时/计数器的控制寄存器AT89C51单片机用于定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式TCON用于控制其启动和中断申请①定时器的方式寄存器TMODD7D6D5D4D3D2D1D0GATEC/TM1M0

GATEC/TM1M0定时器1(T1)定时器0(T0)TMOD

M1、M0:工作方式设置位各位的含义:M1M0工作方式功能00方式013位计数器01方式116位计数器10方式2两个8位计数器,初值自动装入11方式3两个8位计数器,仅适用T0C/T:定时或计数方式选择位0:运行只受TCON中运行控制位TR0/TR1的控制0:工作于定时方式,对片内机周脉冲计数,用作定时器。

1:工作于计数方式,对外部事件脉冲计数,用作计数器

GATE:门控位1:运行同时受TR0/TR1和外中断输入信号的双重控制。只有当/=1且TR0/TR1=1,T0/T1才能运行。练习:1.T1,方式1,定时TMOD=

2.T0,方式2,定时TMOD=

D7D6D5D4D3D2D1D0GATEC/TM1M0

GATEC/TM1M0定时器1(T1)定时器0(T0)TMOD②定时/计数器控制寄存器TCONTCOND7D6D5D4D3D2D1D0(88H)TF1TR1TF0TR0IE1IT1IE0IT0其中:TF1:T1的溢出标志位当定时/计数器T1计满时,由硬件使它置位TR1:定时/计数器T1的启动位GATE=0时,TR1=0时定时/计数器T1停止工作,TR1=1时定时/计数器T1开始工作。GATE=1时,在P3.3引脚(INT1)为高电平时,TR1=0时定时/计数器T1停止工作,TR1=1时定时/计数器T1开始工作。TF0:定时/计数器T0的溢出标志位当定时/计数器T0计满时,由硬件使它置位TR0:定时/计数器T0的启动位GATE=0时,TR0=0时定时/计数器T0停止工作,TR0=1时定时/计数器T0开始工作。GATE=1时,在P3.2引脚(INT0)为高电平时,TR0=0时定时/计数器T0停止工作,TR0=1时定时/计数器T0开始工作。(3)定时/计数器的工作方式工作方式控制寄存器TMOD中的M1和M0位用于选择4种工作方式M1M0工作方式功能说明00方式013位计数器01方式116位计数器10方式2初值自动重载8位计数器11方式3T0:分成两个8位计数器T1:停止计数①工作方式1TFxTHxTLx÷12振荡器&中断高8位低8位控制

≥Tx(P3.4/P3.5)TRxGATEINTx(P3.2/P3.3)C/T=0C/T=1定时功能计数功能方式1是16位定时/计数器,最大计数值为65536工作于计数模式,有:计数值N=65536-初值X工作于定时模式,定时时间T计算公式为定时时间T=(65536-初值X)*机器周期Tcy注意:方式1一次最大的定时时间晶振为12MHz时,一次最大定时时间为65.536ms晶振为6MHz时,一次最大定时时间为131.072ms方式1定时时间到时,需要软件重新装载计数初值X,才能实现设定的定时时间②工作方式2÷12振荡器≥

控制Tx(P3.4/P3.5)TRxGATEINTx(P3.2/P3.3)C/T=0C/T=1&定时功能计数功能THx

TFx中断TLx8位8位方式2是8位定时/计数器,最大计数值为256工作于计数模式,有:计数值N=256-初值X工作于定时模式,定时时间T计算公式为定时时间T=(256-初值X)*机器周期Tcy注意:方式2一次最大的定时时间晶振为12MHz时,一次最大定时时间为256us晶振为6MHz时,一次最大定时时间为512us方式2为初值自动重装方式,定时时间到时,不需要软件重新装载计数初值X(4)定时/计数器的应用定时/计数器是一个可编程的器件,其应用步骤为:①定时/计数器的初始化选择工作方式:通过对方式寄存器TMOD进行设置。给定时器赋初值。根据需要设置中断控制字的中断控制位。启动定时器。②编制定时/计数器溢出中断服务程序或溢出查询程序试用T1方式2编制程序,在P1.0引脚输出周期为400

S的脉冲方波,已知fosc=12MHZ。①设置TMOD:

0

010

0000B=20H

T0

温馨提示

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

评论

0/150

提交评论