CC2530基础实验V1.00(3)

2020-03-27 06:16

通往无线桥梁 无线世界先锋

do{

T2IRQM = 0x04; EA = 1; T2IE = 1; T2MSEL |= 0xf4; }while(0)

\\ \\ \\ \\ \\

设定溢出周期

#define SET_TIMER2_CAP_COUNTER(val) SET_WORD(T2M1,T2M0,val)

功能:将无符号整形数 val 的高 8 位写入 T2CAPLPL,低 8 位写入 T2CAPHPH。 启动 T2

#define TIMER2_RUN() T2CTRL|=0X01

停止 T2

#define TIMER2_STOP() do{T2CTRL&=0XFE;}while(0)

1.2.3CC2530 基础实验 6:T3 使用

实验介绍

用定时器 3 来改变小灯的状态,T3 每发生 200 次中断小灯改变状态一次。 实验相关寄存器

实验中操作了的寄存器有 P1,P1SEL,P1DIR,T3CTL,T3CCTL0,T3CC0,T3CCTL1,T3CC1, 等寄存器。

P1 参见 CC2530 实验 1 P1SEL 参见 CC2530 实验 1

P1DIR 参见 CC2530 实验 1 T3CTL(T3 控制寄存器) 位号 7:5 位名 DIV[2:0] 复位值 000 操作性 读/写 功能描述 定时器时钟再分频数(对 CLKCONCMD.TICKSPD 分频后再次分频) 000:不再分频 001:2 分频 010:4 分频 011:8 分频 100:16 分频 101:32 分频 110:64 分频 111:128 分频 4 START 0 读/写 T3 起停位 成都无线龙通讯科技有限公司 http://www.c51rf.com http://www.rfmcu.cn c51rf@126.com

028-86786586 86615004

86617556(传真)

通往无线桥梁 无线世界先锋

3 2 1:0 OVFIM CLR MODE[1:0] 1 0 00 读/写 读/写 读/写 0 暂停计数,1 正常运行 溢出中断掩码 0 关溢出中断,1 开溢出中断 清计数值,写 1 使 T3CNT=0x00 T3 模式选择 00:自动重装 01:DOWN (从 T3CC0 到 0x00 计数一次) 10:模计数 (反复从 0x00 到 T3CC0 计数) 11:UP/DOWN(反复从 0x00 到 T3CC0 再到 0x00)

T3CCTL0 (T3 通道 0 捕获/比较控制寄存器)

位号 7 6 5:3 位名 - IM CMP[7:0] 复位值 0 1 000 操作性 读 读/写 读/写 预留 通道 0 中断掩码 0 关中断,1 开中断 功能描述 通道 0 比较输出模式选择,指定计数值过 T3CC0 时 的发生事件 000 输出置 1(发生比较时),001 输出清 0(发生比 较时),010 输出翻转, 011 输出置 1(发生上比较时)输出清 0(计数值为 0 或 UP/DOWN 模式下发生下比较), 100 输出清 0(发生上比较时)输出置 1(计数值为 0 或 UP/DOWN 模式下发生下比较), 101 输出置 1(发生比较时)输出清 0(计数值为 0xff 时), 110 输出清 0(发生比较时)输出置 1(计数值为 0x00 时),111 预留。 2 1:0 MODE- CAP 0 00 读/写 读/写 T3 通道 0 模式选择 0 捕获,1 比较 T3 通道 0 捕获模式选择 00 没有捕获 01 上升沿捕获 10 下降沿捕获 11 边沿捕获

T3CC0 (T3 通道 0 捕获/比较值寄存器) 位号 7:0 位名 VAL[7:0] 复位值 0x00 86617556(传真)

操作性 读/写 功能描述 T3 通道 0 比较/捕获值 成都无线龙通讯科技有限公司 http://www.c51rf.com http://www.rfmcu.cn c51rf@126.com

028-86786586 86615004

通往无线桥梁 无线世界先锋

T3CCTL1 (T3 通道 1 捕获/比较控制寄存器)

位号 7 6 5:3 位名 - IM CMP[7:0] 复位值 0 1 0 操作性 读 读/写 读/写 预留 功能描述 通道 1 中断掩码 0 关中断,1 开中断 通道 1 比较输出模式选择,指定计数值 过 T3CC0 时的发生事件 000 输出置 1(发生比较时) 001 输出清 0(发生比较时) 010 输出翻转 011 输出置 1(发生上比较时)输出清 0 (计数值为 0 或 UP/DOWN 模式下发生 下比较) 100 输出清 0(发生上比较时)输出置 1 (计数值为 0 或 UP/DOWN 模式下发生 下比较) 101 输出置 1(发生比较时)输出清 0 (计数值为 0xff 时) 110 输出清 0(发生比较时)输出置 1(计 数值为 0x00 时) 111 预留 2 1:0 MODE- CAP 0 0000 读/写 读/写 T3 通道 1 模式选择 0 捕获,1 比较 T3 通道 1 捕获模式选择 00 没有捕获 01 上升沿捕获 10 下降沿捕获 11 边沿捕获

T3CC1 (T3 通道 1 捕获/比较值寄存器) 位号 7:0 位名 VAL[7:0] 复位值 0x00 操作性 读/写 功能描述 T3 通道 1 比较/捕获值

实验相关函数

void Init_T3_AND_LED(void);函数原型:

void Init_T3_AND_LED(void)

{

成都无线龙通讯科技有限公司 http://www.c51rf.com http://www.rfmcu.cn c51rf@126.com

028-86786586 86615004

86617556(传真)

通往无线桥梁 无线世界先锋

P1DIR = 0X03; RLED = 1; YLED = 1; TIMER34_INIT(3); //时钟 32 分频 101

//初始化 T3

TIMER34_ENABLE_OVERFLOW_INT(3,1); //开 T3 中断

TIMER3_SET_CLOCK_DIVIDE(16); TIMER3_SET_MODE(T3_MODE_FREE); TIMER3_START(1);

//启动

//自动重装 00->0xff

};

函数功能:将 I/0 P10,P11 设置为输出去控制 LED,将 T3 设置为自动重装模式,定时器时钟 16 分频,并启动 T3。

void T3_ISR(void);函数原型:

#pragma vector = T3_VECTOR interrupt void T3_ISR(void) {

//IRCON = 0x00;

//清中断标志,硬件自动完成

if(counter<200)counter++; //10 次中断 LED 闪烁一轮

else

{

counter = 0; RLED = !RLED;

//计数清零

//改变小灯的状态

}

}

函数功能:这是一个中断服务程序,每 200 次中断改变一次红色 LED 的状态。

重要的宏定义 开

启溢出中断

#define TIMER34_ENABLE_OVERFLOW_INT(timer,val) \\

do{T##timer##CTL = (val) ? T##timer##CTL | 0x08 : T##timer##CTL & ~0x08; \\ EA = 1; T3IE = 1; }while(0)

\\ \\

功能:打开 T3 的溢出中断。 复位 T3 相关寄存器

#define TIMER34_INIT(timer) do {

T##timer##CTL

\\ \\

= 0x06; \\ //比较模式

T##timer##CCTL0 = 0x00; \\

028-86786586 86615004

成都无线龙通讯科技有限公司 http://www.c51rf.com http://www.rfmcu.cn c51rf@126.com

86617556(传真)

通往无线桥梁 无线世界先锋

T##timer##CC0 = 0x00; \\

T##timer##CCTL1 = 0x00; \\ T##timer##CC1 } while (0)

= 0x00; \\

功能:将 T3 相关的寄存器复位到 0 控制 T3 起停

#define TIMER3_START(val)

(T3CTL = (val) ? T3CTL | 0X10 : T3CTL&~0X10)

\\

功能:val 为 1,T3 正常运行,val 为 0,T3 停止计数 设置 T3 工作方式

#define TIMER3_SET_MODE(val)

\\

\\ \\

do{

T3CTL &= ~0X03;

(val==1)?(T3CTL|=0X01): /*DOWN (val==2)?(T3CTL|=0X02): /*Modulo (val==3)?(T3CTL|=0X03): /*UP / DOWN (T3CTL|=0X00);

*/ \\ */ \\ */ \\ \\

/*free runing */

}while(0)

#define T3_MODE_FREE #define T3_MODE_DOWN

0X00 0X01

#define T3_MODE_MODULO 0X02 #define T3_MODE_UP_DOWN 0X03

功能:根据 val 的值将 T3 设置为不同模式,一共 4 种模式。

1.2.4CC2530 基础实验 7:T4 使用

实验介绍

用定时器 4 来改变小灯的状态,T4 每发生 200 次中断小灯改变状态一次。 实验相关寄存器

实验中操作了的寄存器有 P1,P1SEL,P1DIR,T4CTL,T4CCTL0,T4CC0,T4CCTL1,T4CC1 等寄存器。

P1 参见 CC2530 实验 1。 P1SEL 参见 CC2530 实验 1。 P1DIR 参见 CC2530 实验 1。

T4CTL(T4 控制寄存器)

位号 7:5 位名 DIV[2:0] 复位值 000 操作性 读/写 功能描述 定 时 器 时 钟 再 分 频 数 ( 对 028-86786586 86615004

成都无线龙通讯科技有限公司 http://www.c51rf.com http://www.rfmcu.cn c51rf@126.com

86617556(传真)


CC2530基础实验V1.00(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:三角形(含平行线)专题复习一

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: