以前简单接触过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