注意:在定时器可以使用一个输入/输出引脚之前,所需的 I/O 引脚必须配置为定时器 1 的外设引脚。

定时器1的引脚映射方案选用是备用2方案:P07对应通道3、P06-通道4、P12-通道0、P11-通道1、P10-通道2~

定时器1的输出比较模式:在输出比较模式中,与通道相关的IO要设置为输出模式。(什么是输出比较模式,运作机制)在定时器启动后, 计数器的内容会和通道比较寄存器中的内容T1CCnH:T1CCnL做比较。如果这两个内容(值)相等,输出引脚根据比较输出模式T1CCTLn.CMP的设置进行设置、复位或切换。(核心就是将T1CC0的值和每个通道寄存器中的值比较,相等了则产生中断等)

当发生一个比较时,设置IRCON.T1IF 标志和该通道的中断标志T1STAT.CHnIF(n 是通道号码)。如果分别设置了相应的中断屏蔽位T1CCTLn.IM,以及IEN1.T1EN,将产生一个中断请求。

PWM 信号的周期通过设置T1CC0 确定,通道输出的占空比由T1CCn 确定,其中n 是PWM 通道1 或2

定时器1 寄存器

  本节描述了定时器1 的寄存器,由以下寄存器组成:

● T1CNTH – 定时器1 计数高位
● T1CNTL – 定时器1 计数低位
● T1CTL – 定时器1 控制
● T1STAT –定时器1 状态
● T1CCTLn – 定时器1 通道n 捕获/比较控制
● T1CCnH – 定时器1 通道n 捕获/比较高位值
● T1CCnL – 定时器1 通道n 捕获/比较低位值

*******************************************************************************************************************

#include<ioCC2530.h>

#define LED2 P1_1

void InitLed();
void InitTimer1();

void InitLed()
{
  P1DIR |= 0x02;
  LED2 = 0;
}

void InitTimer1()
{
  CLKCONCMD &= ~0x40;//  设置时钟源为32MHZ晶振
  while(CLKCONCMD & 0x40);
  CLKCONCMD &= ~0x07;//设置主时钟频率为32MHZ
  CLKCONCMD |= 0x38;//定时器标记输出设置 250KHZ
 
  PERCFG |= 0x40;//定时器的外设IO位置,设为外设位置2 即P1引脚
  P2SEL &= ~0x10;//当PECFG分配同一个IO上两个设备确定优先顺序:TIMER1
  P2DIR |=0x80;//确定不同外设占用引脚的第1优先级:定时器1 通道0-1
 
  P1DIR |=0xff;//P1端口设置为输出
  P1SEL |= 0x02;//TIMER1  通道1 映射P1_1
 
  T1CC1H = 0x00; //20%占空比为200us
  T1CC1L = 0x32; //修改T1CC1L可调整LED的亮度
  T1CC0H = 0x00;
  T1CC0L = 0xff; // 1ms的时钟周期 频率为976.516HZ
  T1CCTL1 = 0x1c; //模式选择 通道1比较模式,T1CCTL1.CMP = 011
  T1CTL = 0x02; // 250KHz 1分频 T1CTL.MODE = 10 :模 ,从0x0000到T1CC0反复计数
}

void main()
{
  InitLed();
  InitTimer1();
  while(1)
  {}
}

************************************************************************************************************************

[Zigbee]定时器1的更多相关文章

  1. [ZigBee] 13、ZigBee基础阶段性回顾与加深理解——用定时器1产生PWM来控制LED亮度(七色灯)

    引言:PWM对于很多软件工程师可能又熟悉又陌生,以PWM调节LED亮度为例,其本质是在每个周期都偷工减料一些,整体表现出LED欠压亮度不同的效果.像大家看到的七色彩灯其原理也类似,只是用3路PWM分别 ...

  2. [ZigBee] 12、ZigBee之看门狗定时器——饿了就咬人的GOOD DOG

    引言:硬件中的看门狗,不是门卫的意思,而是一只很凶的狗!如果你不按时喂它,它就会让系统重启!这反而是我们想要的功能~ 1.看门狗概述 看门狗定时器(WDT,Watch Dog Timer)是单片机的一 ...

  3. [ZigBee] 11、ZigBee之睡眠定时器二

    1.前言 上一节讲了Zigbee的睡眠定时器利用外部按键使系统从休眠态唤醒到工作态,其核心在于: 61 void SysPowerMode(uchar mode) 62 { 63 if(mode &g ...

  4. [ZigBee] 10、ZigBee之睡眠定时器

    0.概述 睡眠定时器用于设置系统进入和退出低功耗睡眠模式之间的周期.睡眠定时器还用于当进入低功耗睡眠模式时,维持定时器2 的定时. 睡眠定时器的主要功能如下: ● 24 位的定时器正计数器,运行在32 ...

  5. [ZigBee] 6、ZigBee基础实验——定时器3和定时器4(8 位定时器)

    上一节讲了16位定时器1,本节讲8位定时器3和定时器4! 1.综述 Timer 3 and Timer 4 are two 8-bit timers(8位定时器). Each timer has tw ...

  6. [ZigBee] 5、ZigBee基础实验——图文与代码详解定时器1(16位定时器)(长文)

    1.定时器1概述 定时器1 是一个支持典型的定时/计数功能的独立16 位定时器,支持输入捕获,输出比较和PWM等功能.定时器有五个独立的捕获/比较通道.每个通道定时器要使用一个I/O 引脚.定时器用于 ...

  7. zigbee学习之路(八):定时器1(中断)

    一.前言 通过上次的实验,我们已经学会了定时器3的中断方式,这次,我们来看看定时器1通过中断怎么控制. 二.原理分析 定时器1的初始化跟前面提到的一样,也是要配置寄存器T1CTL,还要进行开中断的操作 ...

  8. zigbee学习之路(七):定时器3(中断方式)

    一.前言 上次我们学习了了用定时器3进行查询方式来进行溢出判断,今天我们来换一种方式,用中断方式来检测和查询定时器3的溢出. 二.原理与分析 要使用定时器3,我们必须先要配置的是T3CTL,来把定时器 ...

  9. zigbee学习之路(五):定时器1(查询方式)

    一.前言 今天,我们来学习几乎所有单片机都有的功能,定时器的使用,定时器对单片机来说是相当重要的,有了它,单片机就可以进行一些复杂的工作. 二.原理与分析 谈到定时器的控制,我们最先想到的是要给它赋初 ...

随机推荐

  1. windows apache24 php Call to undefined function curl_init

    check dll files in dir: Apache24/bin libssh2.dll, ssleay32.dll, libeay32.dll http://nz.php.net/manua ...

  2. Python基础篇【第3篇】: Python异常处理、反射、动态导入、利用反射的web框架

    异常处理 什么是异常? 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行. 一般情况下,在Python无法正常处理程序时就会发生一个异常.异常是Python对象,表示一个错误.当P ...

  3. windows下CMake使用图文手册 Part 1

    维基百科介绍“CMake是个开源的跨平台自动化建构系统,它用配置文件控制建构过程(build process)的方式和Unix的Make相似,只是CMake的配置文件取名为CMakeLists.txt ...

  4. Android单元测试与模拟测试详解

    测试与基本规范 为什么需要测试? 为了稳定性,能够明确的了解是否正确的完成开发. 更加易于维护,能够在修改代码后保证功能不被破坏. 集成一些工具,规范开发规范,使得代码更加稳定( 如通过 phabri ...

  5. 剑指Offer:面试题31——连续子数组的最大和(java实现)

    问题描述 : 输入一个整数数组,数组里面有正数也有负数.数组中一个或连续几个整数组成一个子数组.求所有子数组的和的最大值.要求时间复杂度为O(n) 思路1:常规解法,不知道怎么描述了.. 代码: bo ...

  6. html5设计原理(转)

    转自:   http://www.cn-cuckoo.com/2010/10/21/the-design-of-html5-2151.html 今天我想跟大家谈一谈HTML5的设计.主要分两个方面:一 ...

  7. react在jsx语法中实现for循环

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...

  8. MySQL For Windows Zip解压版安装

    前言 Windows 下 MySQL 有msi和zip解压安装版两种,而zip版只需解压并做简单配置后就能使用,我个人比较喜欢这种方式. 注意我们这里说的MySQL是指MySQL服务器,有很多初学的同 ...

  9. [转载]Average Manager vs. Great Manager Explained in 10 sketches

    Assigning Tasks     Delivering News     Conducting 1:1s     Giving Feedback     Dealing with Turbule ...

  10. mysql自动添加最后修改时间

    字段不为空 NOT NULL 类型 :timestamp 默认值 :CURRENT_TIMESTAMP