CC2530裸机实现PWM输出(按键外部中断改变占空比)

以前简单接触过51和STM32,听说过CC2530用于ZigBee协议栈,但是没有具体研究过。这两天做一个东西要用到cc2530,所以顺便看了一下。

cc2530的内核还是一个51内核,只是硬件资源、寄存器相比于51增强了不少,而且还支持zigbee协议栈。可以说cc2530就是一个超级版本的51。

不过编程的重点还是要找他们的相同之处。两者都是八位,而且基本的寄存器操作差不多,2530的C语言编程要用寄存器操作,行了,大概就这些。

下面是我写的2530的timer1的通道1出可调PWM的程序(经测试,符合要求),如有不足,亲各位读者指正。

/*************************************
**程序功能:通过按键使PWM占空比递增10%
**PWM输出:P0_2(对应TImer1的通道1)
**案件输入:P0_1
*************************************/
#include <ioCC2530.h>

#define uint unsigned int
#define uchar unsigned char

  //对应占空比分别为:10%  20% 30%   40%  50%  60%  70%  80%  90%
uint Duty_array[] = {0xe1,0xc8,0xaf,0x96,0x7d,0x64,0x4b,0x32,0x19};
uint i = 1;         //记录按键次数

/*********函数申明*********/
void Delayms(uint xms);
void Exit_Init();
void Timer1_Init();
/********* 主函数  ********/
void main()
{  
  Timer1_Init();
  Exit_Init();
  whil
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值