/*********************头文件*************************************************/#includeioCC2530.h#includestring.h/*********************宏定义*************************************************/#defineuintunsignedint#defineucharunsignedchar//----------------LED控制端口------------------------------------------------//#defineGLEDP1_0//绿色LED定义#defineRLEDP1_1//红色LED定义//----------------定义LED的状态----------------------------------------------//#defineGLED_ONP1_0=0#defineGLED_OFFP1_0=1#defineRLED_ONP1_1=0#defineRLED_OFFP1_1=1//----------------按键输入端口-----------------------------------------------//#defineKEY1P0_0/*********************全局变量**********************************************/unsignedintCycle_Time=2000;//定义周期unsignedintLed_Time=0;//定义LED亮的时间/*********************函数声明***********************************************/voidDelay1(uint);voidDelay2(uint);voidInit_LED(void);voidInit_Sysclk(void);voidPWM_Control(void);/*******************************************************************************函数名称:voidDelay1(unsignedinttime)*函数功能:软件延时函数*入口参数:unsignedinttime:0到65535*出口参数:*备注:******************************************************************************/voidDelay1(unsignedinttime){while(--time);}/*******************************************************************************函数名称:voidDelay2(uintn)*函数功能:软件延时函数*入口参数:*出口参数:*备注:******************************************************************************/voidDelay2(uintn){uinti;for(i=0;in;i++);for(i=0;in;i++);for(i=0;in;i++);for(i=0;in;i++);for(i=0;in;i++);}/*******************************************************************************函数名称:voidInit_Sysclk()*函数功能:设置系统时钟*入口参数:*出口参数:*备注:******************************************************************************/voidInit_Sysclk(void){CLKCONCMD&=~0x40;//设置系统时钟源为32MHZ晶振while(CLKCONSTA&0x40);//等待晶振稳定CLKCONCMD&=~0x47;//设置系统主时32MHZ}/*******************************************************************************函数名称:voidInit_LED(void)*函数功能:初始化LED*入口参数:*出口参数:*备注:******************************************************************************/voidInit_LED(void){P1DIR=0x03;//P1.0P1.1设置为输出RLED_OFF;//初始化LED状态GLED_OFF;}/*******************************************************************************函数名称:voidPWM_Control(void)*函数功能:PWM控制LED亮度*入口参数:*出口参数:*备注:******************************************************************************/voidPWM_Control(void){/***********************LED逐渐变亮的过程*****************************************/for(Led_Time=1;Led_TimeCycle_Time;Led_Time++){GLED_ON;RLED_ON;Delay1(Led_Time);//LED亮延时GLED_OFF;RLED_OFF;Delay1(Cycle_Time-Led_Time);//LED灭延时}GLED_ON;RLED_ON;Delay2(50000);//长延时Delay2(50000);/**************************LED逐渐变暗的过程******************************************/for(Led_Time=Cycle_Time-1;Led_Time0;Led_Time--){GLED_ON;RLED_ON;Delay1(Led_Time);//LED亮延时GLED_OFF;RLED_OFF;Delay1(Cycle_Time-Led_Time);//LED灭延时}GLED_OFF;RLED_OFF;Delay2(50000);//长延时Delay2(50000);}/*******************************************************************************函数名称:voidmain(void)*函数功能:主函数*入口参数:*出口参数:*备注:******************************************************************************/voidmain(void){Init_Sysclk();//初始化系统时钟Init_LED();//初始化LEDwhile(1)//主循环{PWM_Control();//PWM控制LED亮度}}/*********************结束*************************************************/