4.1 定时器1中断方式控制LED闪烁_第1页
4.1 定时器1中断方式控制LED闪烁_第2页
4.1 定时器1中断方式控制LED闪烁_第3页
4.1 定时器1中断方式控制LED闪烁_第4页
4.1 定时器1中断方式控制LED闪烁_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

任务2.4定时器1中断方式控制LED闪烁【任务要求】采用定时器1,每隔5s使LED1闪烁1次。【知识链接】CC2530芯片共有T1、T2、T3和T4定时/计数器,各自具有如下特点:

T1为16位定时/计数器,支持输入采样、输出比较(PWM)功能,具有5个独立的输入采样/输出比较通道,每一个通道对应一个I/O口。

T2为MAC定时器。

T3和T4为8位定时/计数器,支持输出比较和PWM功能,具有2个独立的输出比较通道,每一个通道对应一个I/O口。定时/技术器的基本原理

定时/计数器,是一种能够对内部时钟信号或外部输入信号进行计数,当计数值达到设定要求时,向CPU提出中断处理请求,从而实现定时或者计数功能的外设。

定时/计数器的最基本工作原理是进行计数。不管是定时器还是计数器,本质上都是计数器,可以进行加1(减1)计数,每出现一个计数信号,计数器就会自动加1(自动减1),当计数值从0变成最大值(或从最大值变成0)溢出时,定时/计数器就会向CPU提出中断请求。CC2530的定时/计数器CC2530共有5个定时/计数器,其中定时器1是一个16位的定时器,为CC2530中功能最全的一个定时/计数器,在应用中应优先选用。定时器1的工作模式有三种:

<1>

自由运行模式:计数器从0x0000开始,在每个活动时钟边沿增加1,当计数器达到0xFFFF时溢出,计数器重新载入0x0000并开始新一轮的递增计数。该模式的计数周期是固定值0xFFFF,当达到最终计数值0xFFFF时,标志位T1IF和OVFIF被设置。

<2>

模模式:计数器从0x0000开始,在每个活动时钟边沿增加1,当计数器达到T1CC0寄存器保存的值时溢出,计数器又将从0x0000开始新一轮的递增计数,模模式的计数周期可由用户自行设定。

<3>

正计数/倒计数模式:计数器反复从0x0000开始,正计数到TICC0保存的最终计数值,然后再倒计数回0x0000,当达到最终计数值时,标志位T1IF和OVFIF被设置。

CC2530的定时/计数器中断系统定时器有3种情况能产生中断请求:

<1>

计数器达到最终计数值(溢出或回到零)。

<2>

输入捕获事件。

<3>

输出比较事件(模模式时使用)。

使用模模式要特别注意,需要开启通道0的输出比较模式,否则计数器的值达到T1CC0后,是不会产生溢出中断的。相关寄存器【任务实施】第一步,搭建系统。将ZigBee模块固定在NEWLab平台上。第二步,新建工作区、工程和源文件,并对工程进行相应配置。第三步,程序设计分析。1.初始化T1中断。2.设置T1CTL,使T1处于8分频的自由模式,T1计数器每8/(32×106)s增加1,所以T1计数器计数到0xFFFF时,发生溢出中断,整个过程耗时大约为0.016s。因此,需要中断300次才使LED1闪烁一次。3.LED1与P1.0相连,设置P1.0引脚为GPIO、输出状态。第四步,编写、分析、调试程序。1.编写程序。具体程序代码见本教材资源。2.编译、下载程序。编译无错后,下载程序,可以

温馨提示

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

评论

0/150

提交评论