《Office 2013快速入门指南》简体中文版下载(暂未上线)(office是什么意思)
690
2022-05-30
theme: geek-black
highlight: vs2015
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
第一章 定时器技术与CC2530时钟源介绍
1. 定时器技术
定时器在单片机里也是属于基本必备功能,非常常用;程序设计里,很多地方都需要使用到时间的概念,比如:使用定时器做一些轮询检测、精准的延时函数、串口断帧检测、定时器发送、提供心跳包等等。
定时器在CPU内部的实现原理:
定时器,是一种能够对内部时钟信号或外部输入信号进行计数,当计数值达到设定要求时,向CPU提出中断处理请求,从而实现定时或者计数功能的外设。
定时器的最基本工作原理是进行计数。不管是定时器还是计数器,本质上都是计数器,可以进行加1(减1)计数,每出现一个计数信号,计数器就会自动加1(自动减1),当计数值从0变成最大值(或从最大值变成0)溢出时,定时就会向CPU提出中断请求。
CC2530一共带了5个定时器,其中定时器1是一个16位的定时器,属于CC2530中功能最全的一个定时,在应用开发中可以优先使用。
根据文档的介绍定时器1的工作模式有三种:
第一个模式是自由运行模式:计数器从0x0000开始,在每个活动 时钟边沿增加1,当计数器达到0xFFFF时溢出,计数器重新载入0x0000并开始新一轮的递增计数。该模式的计数周期是固定值0xFFFF,当达到最终计数 值0xFFFF时,标志位T1IF和OVFIF被设置。 第2个模式是模模式:计数器从0x0000开始,在每个活动时钟边 沿增加1,当计数器达到T1CC0寄存器保存的值时 溢出,计数器又将从0x0000开始新一轮的递增计数, 模模式的计数周期可由用户自行设定。 第3个模式是正计数/倒计数模式:计数器反复从0x0000开始,正计数到TICC0保存的最终计数值,然后再倒计数回0x0000,当达到最终计数值时,标志位T1IF和OVFIF被设置。
2. 时钟源
CC2530一共有两个可选的时钟源,分别是内部和外部。
1、内部RC震荡器(32KHz、16MHz)
2、外部石英晶振(32.768KHz、32MHz)
一般在无线收发中采用外部石英晶振,因为外部石英晶振比较稳定,不受CPU内部温度影响。
3. 时钟源的切换
用于判断时钟源是否切换成功
4. 定时器中断
定时器有3种情况能产生中断请求(几乎所有单片机都是这样的事件分类):
1. 计数器到达设定的计数值
2. 产生输入捕获事件
3. 产生输出比较事件
第二章 相关寄存器
第三章: 示例代码
定时器1共有5对T1CCxH和T1CCxL寄存器,分别对应通道0到通道4。在使用定时器1的定时功能时,使用T1CC0H和T1CC0L两个寄存器存放最大计数值的高8位和低8位。
下面编写定时器1的使用示例代码,开启了定时器中断。分别定时1秒和10秒,在中断服务函数里进行判断,完成LED灯控制。
#include
单片机
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。