zigbee CC2530 系列教程 6

所有课程见此链接:

zigbee CC2530 系列教程 0 课程介绍

4.5定时器实验

4.5.1 实验目的

了解使用定时器的方法,定时切换LED的状态.

4.5.2 实验讲解

首先根据开发板硬件原理图确定LED与CC2530芯片的连接引脚,如图4-5所示。

图4-5开发板LED原理图

与4.1节相同, D3连接在芯片的P10引脚,按照4.1节点亮单个LED的说明,我们对P10配置为输出,配置寄存器将定时器1的中断使能与总中断打开,使用到的寄存器如表4-3所示:

表4-3定时器1寄存器说明

T1CTL

位3:2 配置定时器值分频器划分值

TIMIF

位6 位定时器1中断屏蔽位

IEN1(0XB8)

位1为定时器1中断使能

T1STAT

定时器1状态位

具体程序如下:

#include <ioCC2530.h>

#define LED1 P1_0

/****************************

//T1初始化程序

***************************/

void InitialT1test(void)

{

    //初始化计数器1

    T1CTL = 0x0D;

    TIMIF = 0x40;

    IEN1 = 0x02;

    EA = 1; //总中断使能

    T1STAT = 0;  //清中断标志

}

/***************************

//主函数

***************************/

void main(void)

{

P1DIR = 0x01; //P1_0 定义为输出

LED1 = 1;

InitialT1test();

while (1) ;

}

//中断处理函数

#pragma vector = T1_VECTOR

__interrupt void T1_ISR(void)

{

if (T1STAT > 0)            //按键中断

{

LED1 = ! LED1;

T1STAT = 0;          //清中断标志

}

}

4.5.3 实验效果

观察开发板,D3(LED1)周期性闪烁。

发布了128 篇原创文章 · 获赞 51 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/aa120515692/article/details/104007005