MCS51单片机的定时器.ppt_第1页
MCS51单片机的定时器.ppt_第2页
MCS51单片机的定时器.ppt_第3页
MCS51单片机的定时器.ppt_第4页
MCS51单片机的定时器.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

以MCS-51单片机为例讲解 通信工程学院自动化系 主讲人:张志成,单片机原理及应用,2019/9/17,吉林大学通信工程学院,Page 2,课程安排,第一章 MCS-51单片机概述 第二章 MCS-51单片机的硬件结构 第三章 单片机C语言程序设计 第四章 MCS-51单片机的中断系统 第五章 MCS-51单片机的定时器/计数器 第六章 MCS-51单片机的串行通信 第七章 MCS-51单片机的外围器件及扩展,2019/9/17,吉林大学通信工程学院,Page 3,第五章 MCS-51单片机的定时器/计数器,5.1 定时器/计数器的工作原理 5.2 定时器/计数器的工作方式 5.3 定时器/计数器的应用,2019/9/17,吉林大学通信工程学院,Page 4,5.1 定时器/计数器的工作原理,一、定时器/计数器的概念 定时器计数频率:晶振频率的1/12 计数器最大计数频率:晶振频率的1/24,2019/9/17,吉林大学通信工程学院,Page 5,二、MCS-51的定时器/计数器简介 2个16位的定时/计数器,有多种工作方式。 定时/计数器工作在定时模式时,计数脉冲信号来自单片机的内部,计数速率是晶振频率的1/12,当计数器启动后,每个机器周期计数器自动加1。 定时/计数器工作在计数模式时,计数器对外部脉冲进行计数,计数器计P3.4(T0脚)P3.5(T1脚)负跳变次数。每产生一次负跳变,计数器自动加1。,2019/9/17,吉林大学通信工程学院,Page 6,MCS-51定时器/计数器的逻辑结构,2019/9/17,吉林大学通信工程学院,Page 7,定时/计数器的工作方式寄存器(TMOD,89H),TMOD,2019/9/17,吉林大学通信工程学院,Page 8,定时/计数器控制寄存器(TCON,88H),2019/9/17,吉林大学通信工程学院,Page 9,5.2 定时器/计数器的工作方式,一、定时器/计数器的工作方式选择,2019/9/17,吉林大学通信工程学院,Page 10,二、定时器/计数器的工作方式 1、方式0,2019/9/17,吉林大学通信工程学院,Page 11,在方式0下,当为计数工作方式时,计数值的范围是:18192(213); 当为定时工作方式时,定时时间的计算公式为:(213一计数初值)晶振周期12或(213计数初值)机器周期。其时间单位分别与晶振周期或机器周期相同。 例 单片机晶振频率为12MHz,使用定时器T0以方式0产生周期为1ms的等宽正方波连续脉冲,并由P1.0输出,以查询方式完成。,2019/9/17,吉林大学通信工程学院,Page 12,2、方式1,定时器计数器T0工作方式1的逻辑结构,2019/9/17,吉林大学通信工程学院,Page 13,在方式1下,当为计数工作方式时,计数值的范围是:165536(216); 当为定时工作方式时,定时时间的计算公式为:(216一计数初值)晶振周期12或(216计数初值)机器周期。其时间单位分别与晶振周期或机器周期相同。 例 单片机晶振频率为12MHz,使用定时器T1以方式1产生频率为500Hz的等宽正方波连续脉冲,并由P1.0输出,以中断方式完成。,2019/9/17,吉林大学通信工程学院,Page 14,3、方式2,定时器计数器0在工作方式2的逻辑结构,2019/9/17,吉林大学通信工程学院,Page 15,在方式1下,当为计数工作方式时,计数值的范围是:1256(28); 当为定时工作方式时,定时时间的计算公式为:(28一计数初值)晶振周期12或(28计数初值)机器周期。其时间单位分别与晶振周期或机器周期相同。,2019/9/17,吉林大学通信工程学院,Page 16,4、方式3,2019/9/17,吉林大学通信工程学院,Page 17,T0方式3情况下的T1 (1)T1可以选择方式0、1或2。 此时计数溢出标志位TF1及T1中断矢量(地址为001BH)已被TH0所占用,所以T1仅能作为波特率发生器或其它不用中断的地方。 (2)T1作串行口波特率发生器时,其计数溢出直接送至串行口。只需设置好工作方式,串行口波特率发生器自动开始运行。 (3)如果要停止T1,只需编程将TMOD中T1的M1、M0位设置为1、1即可。,2019/9/17,吉林大学通信工程学院,Page 18,(c)T1方式2,2019/9/17,吉林大学通信工程学院,Page 19,例 设单片机晶振频率为12MHz,利用定时器工作于方式3的T0分别产生周期为100s和200s的定时等宽正方波连续脉冲,并分别由P1.0和P1.1口输出,以查询方式完成。,2019/9/17,吉林大学通信工程学院,Page 20,使用定时器/计数器时应注意以下几个方面: (1)MCS51的定时器/计数器为加1计数器。 (2)定时器/计数器T1的工作方式没有方式3,如果设置它为方式3(M1M0=11),定时器/计数器T1停止工作。 (3)一般情况下,定时器/计数器T1溢出后,TF1自动置1,可以以此为判断标志,检测定时或计数是否完成,但在定时器/计数器T0设置为方式3时, TF1为1时意味着8位计数器TH0溢出,TF0为1表示8位计数器TL0溢出。 (4)在计数器模式时,计数脉冲的频率不高于振荡器频率的1/24。,2019/9/17,吉林大学通信工程学院,Page 21,5.3 定时器/计数器的应用,一、定时器/计数器的初始化 (1)确定工作方式 (2)装载定时器或计数器的初值 (3)根据要求是否采用中断方式 (4)启动定时器工作,2019/9/17,吉林大学通信工程学院,Page 22,二、定时器/计数器的应用举例 1、利用定时器/计数器扩展外部中断 具体实现方法为: (1)置定时器/计数器为工作方式2,即自动装载8位计数方式,以便在一次中断响应后,自动为下一次中断请求作好准备。 (2)高低8位计数器(TH和TL)均置为0FFH。 (3)扩展的外部中断请求信号接计数输入端(T0或T1)。 (4)把扩展外中断服务程序存放在所用的定时器/计数器中断入口地址。,2019/9/17,吉林大学通信工程学院,Page 23,例 将定时器/计数器T0扩展为一个外部中断源,采用工作方式2,TH0和TL0初值均为0FFH,允许T0中断,CPU开发中断。其初始化程序为: MOV TMOD,#06H;置计数器0为工作方式2 MOV TH0,#0FFH;置计数初值 MOV TL0,#0FFH; SETB EA;开中断 SETB ET0;计数器0允许中断 SETB TR0;计数启动,2019/9/17,吉林大学通信工程学院,Page 24,2、测量脉冲宽度或周期 例 某一应用系统需要对INT0引脚的正脉冲测试其脉冲宽度。 分析:可以设置定时器/计数器0为定时方式,工作在模式1,且置位GATE位为1,将外部需测试的脉冲从INT0引脚输入,设机器周期为1s。,2019/9/17,吉林大学通信工程学院,Page 25,sbit P3_2=P32; unsigned int_test( ) TMOD=0x09; TL0=0x00; TH0=0x00; while(P3_2); TR0=1; while(!P3_2); while(P3_2); TR0= 0; return (TH0*256+TL0); ,2019/9/17,吉林大学通信工程学院,Page 26,3、工业控制系统计数,控制系统原理,2019/9/17,吉林大学通信工程学院,Page 27,三、定时器/计数器应用总结 MCS-51单片机内部有2个可编程的16位定时/计数器T0和T1,它们既可以作为定时器,又可以作为外部事件的计数器,还可以作为串行口的波特率发生器。T0有4种工作方式,而T1有3种工作方式。 定时/计数器T0的计数器由TL0和TH0构成;定时/计数器T1的计数器由TL1和TH1构成。T0和T1有多种工作方式,由定时/计数器方式寄存器TMOD设置。,2019/9/17,吉林大学通信工程学院,Page 28,T0和T1的启动和停止由定时/计数器控制寄存器TCON控制,当计数器计数溢出时,其溢出标志位TF0和TF1被置1,并可以以此标志向CPU提

温馨提示

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

评论

0/150

提交评论