c语言程序设计分段定时器,STC单片机C语言程序设计 第20章 STC单片机计数器和定时器原理及实现.docx...

STC单片机C语言程序设计 第20章 STC单片机计数器和定时器原理及实现

STC单片机计数器和定时器原理及实现主 讲:何宾Email:hebin@mail.buct.edu.cn2016.03计数器/定时器模块简介STC15W4K32S4系列单片机设置了5个16位定时器/计数器,即T0、 T1、T2、T3以及T4。这5个16位定时器/计数器可以配置为计数工 作模式或者定时工作模式。对于定时器/计数器T0和T1来说,通过特殊功能寄存器TMOD相 对应的控制位C/T,选择T0/T1工作在定时器还是计数器模式。对于定时器/计数器T2来说,通过特殊功能寄存器AUXR中相对应 的控制位T2_C/T,选择T2工作在定时器还是计数器模式。对于定时器/计数器T3来说,通过特殊功能寄存器T4T3M中相对 应的控制位T3_C/T,选择T3工作在定时器还是计数器模式。计数器/定时器模块简介对于定时器/计数器T4来说,通过特殊功能寄存器T4T3M中相对 应的控制位T4_C/T,选择T4工作在定时器还是计数器模式。对于定时器和计数器来说,其核心部件就是一个做加法运算的计数 器,其本质就是对脉冲进行计数。它们的区别在于计数脉冲来源不 同:如果计数脉冲来自系统时钟,则为定时方式,此时定时器/计数器 每12个时钟或者1个时钟就得到一个计数脉冲,计数值加1。如果计数脉冲来自单片机外部引脚,对于T0来说,计数脉冲来自 P3.4引脚;对于T1来说,计数脉冲来自P3.5引脚;对于T2来说 计数脉冲来自P3.1引脚;对于T3来说,计数脉冲来自P0.7引脚; 对于T4来说,计数脉冲来自P0.5引脚。当计数脉冲来自单片机外 部引脚时,为计数方式,每来一个脉冲,则计数值加1。计数器/定时器模块简介当定时器/计数器T0、T1及T2工作在定时模式时,特殊功能寄存器AUXR中的T0x12、T1x12和T2x12分别决定计数过程使用的是系统 时钟还是系统时钟进行12分频以后的时钟。当定时器/计数器T3和 T4工作在定时模式时,特殊功能寄存器T4T3M中的T3x12和T4x12 分别决定计数过程使用的是系统时钟还是系统时钟进行12分频以后 的时钟。当定时器/计数器工作在计数模式时,对外部脉冲计数不分 频。定时器/计数器0有4种工作模式:模式0(16位自动重新加载模 式)、模式1(16位不可重加载模式)、模式2(8位自动重加载 模式)、模式3(不可屏蔽中断的16位自动重加载模式)。计数器/定时器模块简介定时器/计数器1没有模式3,其他模式和定时器/计数器0相同。定时器/计数器2的工作模式固定为16位自动重加载模式。它可以 用作定时器,也可以用作串口波特率发生器和可编程时钟输出。定时器/计数器3和4与定时器/计数器2的工作模式相同。注:前面提到的工作模式可以从不同角度进行区分。从定时器/计数器的用途来说 分为计数模式或者定时模式;而从它们的具体实现方式上来说,分为自动重加载 或者不自动重加载模式等。计数器/定时器寄存器组本节将介绍与计数器/定时器T0~T4有关的寄存器。这些寄存器 包括:定时器/计数器0/1控制寄存器TCON、定时器/计数器工作模 式寄存器TMOD、辅助寄存器AUXR、T0~T2时钟输出寄存器和外 部中断允许INT_CLKO(AUXR2)、定时器T0和T1中断控制寄存器(IE和IP)、定时器T4和定时器T3控制寄存器T4T3M与定时器T2、 T3和T4的中断控制寄存器IE2。计数器/定时器寄存器组--定时器/计数器0/1控制寄存器TCONTCON除了用于控制定时器/计数器T0和T1外,同时也可以锁存T0 和T1溢出中断源和外部请求中断源等。该寄存器位于特殊功能寄存 器地址为0x88的位置。当复位后,该寄存器的值比特B7B6B5B4B3B2B1B0名字TF1TR1TF0TR0IE1IT1IE0IT0计数器/定时器寄存器组--定时器/计数器0/1控制寄存器TCON其中:? TF1定时器/计数器1的溢出中断标志。当允许定时器/计数器1计数后 从初值开始加1计数。当产生溢出时,硬件将该位置1。此时,向 CPU发出中断请求。如果CPU响应该中断请求,则由硬件自动的清 0。该位也可通过软件轮询清0。? TR1定时器/计数器1运行控制位。该位由软件置位和清零。当工作模 式寄存器TMOD的GATE位(第7位)为0,且TR1位为1时,允许其 开始计数;当该位为0时,禁止计数;当工作模式寄存器TMOD的 GATE(第7位)位为1, TR1位为1,且INT1输入为高电平时,才 允许其开始计数。计数器/定时器寄存器组--定时器/计数器0/1控制寄存器TCON? TF0定时器/计数器0的溢出中断标志。当允许定时器/计数器0计数后 从初值开始加1计数。当产生溢出时,硬件将该位置1。此时,向 CPU发出中断请求。如果CPU响应该中断请求,则由硬件自动的清

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值