文档详情

第6节_单片机C51定时器计数器.ppt

发布:2018-06-14约2.4千字共22页下载文档
文本预览下载声明
单片机C语言程序设计 定时器和计数器 Timer and Counter 定时器和计数器 定时器计数器的概述 5.1 定时器计数器工作原理 5.2 定时器计数器控制方法 5.3 定时器计数器工作实例 5.4 定时/计数器概述 单片机作为控制器,在控制系统时需要计时或对外部电信号进行计数,实现该功能的装置就是定时器和计数器。定时/计数器的实际应用: 微波炉定时器 车轮转速测定 定时/计数器的工作原理 日常生活中,利用水滴或沙漏均可进行计时或计数。 定时/计数器的原理 单片机可以对数字脉冲进行计数,若脉冲频率固定,即周期恒定,用脉冲个数乘以周期就能够计时。 定时/计数器的原理 8051系列单片机内部有两个16位的可编程定时/计数器T0和T1,可工作于定时模式或计数模式;52系列单片机还有定时/计数器T2,可工作于自动重装模式或捕获模式。 定时/计数器的结构 定时/计数器的结构 * * 单片机C语言程序设计 定时/计数器的结构 每个定时/计数器都是16位加1计数器,由高8位(TH)和低8位(TL)两个8位寄存器组成,寄存器存放定时或计数数值,数值范围是0x00~0xFF,共65536个数。 定时/计数器的原理 定时/计数器的计数脉冲有两个来源: 定时器模式:对内部机器周期脉冲信号计数,计数数值乘以机器周期即为定时时间 计数器模式:对外部脉冲信号计数,外部脉冲信号由T0(P3.4)或T1(P3.5)引脚引入,计数数值即为脉冲个数 * * 单片机C语言程序设计 定时/计数器的原理 单片机检测外部脉冲信号时,在每个机器周期检测采样引脚输入电平,若某周期为高电平而下一周期为低电平,说明信号是下降沿,则计数器加1,需要2个机器周期。若单片机晶振12MHz,机器周期为1us,最高计数频率低于500kHz。 * * 单片机C语言程序设计 定时/计数器的原理 计数寄存器的溢出: 每来一个脉冲,计数寄存器加1; 计数器计满时(计数值0xFF),再来一脉冲加1,计数器溢出,产生溢出信号,TF0或TF1置1,并向CPU请求中断; 计数器溢出事件表示定时时间到或计数值已满,需要单片机处理,计数的数值=65536-计数初值。 定时计数器的控制 工作方式寄存器TMOD用于设置定时/计数器的工作方式,地址89H: GATE:门控位 C/T:模式选择位(Counter/Timer) M1M0:工作方式设置位 7 6 5 4 3 2 1 0 TMOD GATE C/T M1 M0 GATE C/T M1 M0 T1模式和方式控制 T2模式和方式控制 当GATE=0时,仅由TR0控制计数器。与门输出1时,控制开关接通,计数开始。 当GATE=1时,由INT0和TR0共同控制计数器。这种方式可以用来测量INT0引脚上正脉冲的宽度。 * * 单片机C语言程序设计 定时/计数器的工作方式 定时/计数器的工作方式有: 方式0 (M1M0=00):13位定时计数器 计数初值:X=8192-N 与早期单片机兼容,基本不用 方式1 (M1M0=01) :16位定时计数器 计数初值:X=65536-N 计数数量最多,最常用 定时/计数器的工作方式 方式2 (M1M0=10) :8位自动重装定时计数器 计数初值:X=256-N 脉冲信号发生器,串行通信 方式3 (M1M0=11 仅T0) :两个8位定时计数器 计数初值:X=256-N T0分成为两个独立的8位定时计数器TL0和TH0 ,T1无此模式 定时计数器的控制 工作控制寄存器TCON高4位用于控制定时/计数器的启动和中断申请,地址88H: TFx:Tx溢出标志位 TRx:Tx运行控制位 7 6 5 4 3 2 1 0 TCON TF1 TR1 TF0 TR0 定时/计数器T2 在增强型单片机52系列中,增加了定时/计数器T2和中断源T2。 T2除具备T0和T1的定时计数功能外,还增加了16位自动重装、捕获及加减计数等功能 P1.0引脚增加了第二功能,作为T2的外部脉冲输入和定时脉冲输出 P1.1引脚增加了第二功能,作为T2捕捉/重装方式的触发和检测 定时/计数器检测方式 定时/计数器溢出时产生溢出信号使TCON中的TF0或TF1置1,并向CPU发出中断请求,表示计时时间到或计数值满。单片机可以通过两种方式方式检测到定时计数器溢出: 查询方式:while (!TF0); 中断方式:void timer0() interrupt 1 using 1 定时计数器使用步骤 定时/计数器的使用按以下步骤: 设定定时/计数器工作方式 Timer OR Counter、T0 OR T1 工作方式(0 1 2 3)、Gate位 设定定时/计数器初值 设定中断允许控制(中断方式) 启动定时器(T
显示全部
相似文档