- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
无线传感器网络实验教程二---定时器实验
本章内容 CC2530定时器介绍 实验二:定时器实验指导 实验环境 安装IAR7.51 安装USB转串口 安装CP2102 USB转串口驱动 安装仿真器驱动 驱动文件在 IAR 程序安装目录下,在 C:\Program Files\IAR Systems\Embedded Workbench 5.3 Evaluation version\8051\drivers\Texas Instruments下 实验内容 利用定时器1定时,使led1和led2每隔1s钟轮流点亮(跑马灯)。 利用定时器2定时,使led1闪烁,点亮1s,熄灭0.5s。 CC2530定时器简介 定时器T1:是一个 16 位定时器,具有定时器/PWM (脉冲宽度调制)功能。它有一个可编程的分频器,一个16 位周期值,和五个各自可编程的计数器 / 捕获通道,每个都有一个 16 位比较值。每个计数器/捕获通道可以用作一个PWM 输出或捕获输入信号边沿的时序。 CC2530定时器简介 MAC定时器(定时器 2) :是专门为支持 IEEE 802.15.4 MAC 或软件中其他时槽的协议设计。定时器有一个可配置的定时器周期和一个8位溢出计数器,可以用于保持跟踪经过的周期数。一个16位捕获寄存器也用于记录收到/发送一个帧开始界定符的精确时间,或传输结束的精确时间,还有一个16位输出比较寄存器可以在具体时间产生不同的选通命令( 开始 RX ,开始 TX ,等等)到无线模块。 CC2530定时器简介 定时器3和定时器4: 是8位定时器,具有定时器 / 计数器 /PWM 功能。它们有一个可编程的分频器,一个 8 位的周期值,一个可编程的计数器通道,具有一个 8 位的比较值。每个计数器通道可以用作一个 PWM 输出。 定时器T1介绍 T1是一个16位通用定时器,可实现对外部事件计数,产生周期性中断请求。 由CLKCON.T1CKSPD确定时钟 由T1CTL.DIV进一步分频(1,8,32,128分频) 由T1CTL控制定时器操作 由T1STAT保存中断标志 定时器T1介绍 T1的操作模式有3种:free-running模式,modulo模式和up-down模式。 free-running模式 计数器从0x0000开始计数, 当计算值达到0xFFFF时溢出, 此时IRCON.T1IF和T1CTL.OVFIF被置1,如果TIMF.OVFIF和IEN1.T1EN也被置1,就会产生中断请求,计数器复位为0x0000,重新开始计数。 modulo模式 计数器从0x0000开始计数,当计算值达到T1CC0时溢出,此时IRCON.T1IF和T1CTL.OVFIF被置1,如果TIMF.OVFIF和IEN1.T1EN也被置1,就会产生中断请求,计数器复位为0x0000,重新开始计数。 定时器T1介绍 up-down模式 计数器从0x0000开始计数,当计算值达到T1CC0时,计数值开始递减直至0x0000,此时IRCON.T1IF和T1CTL.OVFIF被置1, 如果TIMF.OVFIF和IEN1.T1EN也被置1, 就会产生中断请求,计数器重新开始计数。 输入捕获模式 对应引脚要设置成外设模式 输出比较模式 定时器T1相关寄存器 T1CNTH 定时器1计数高位 T1CNTL 定时器1计数低位 T1CTL 定时器1控制 T1STAT 定时器1状态 T1CCTLn 定时器1通道n捕获/比较控制 T1CCnH 定时器1通道n捕获/比较高位值 T1CCnL 定时器1通道n捕获/比较低位值 设置时钟源 外部晶振 32M 系统使用 32K 节能时使用 系统时钟源 32M 16M RC震荡器 配置寄存器 CLKCONCMD 设置时钟源 设置时钟源(hal_board_cfg.h) #define HAL_BOARD_INIT() \ { \ uint16 i; \ \ SLEEPCMD = ~OSC_PD; /* turn on 16MHz RC and 32MHz XOSC */ \ while (!(SLEEPSTA XO
文档评论(0)