|
#include <ioCC2530.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 #define uint unsigned int #define uchar unsigned char //定义控制灯的端口 #define LED1 P1_0 //定义LED1为P10口控制 #define KEY1 P0_0 //KEY1为P00口控制 //函数声明 void Delay(unsigned int t); //函数声明 void InitIO(void); //初始化LED控制IO口函数 void InitKey(); /*------------------------------------------------ 主函数 ------------------------------------------------*/ void main (void) { unsigned int CYCLE=1000,PWM_LOW=0;//定义周期并赋值 InitIO(); InitKey(); while (1) //主循环 { if(KEY1==0) { //S1按下,一直按着哦。 PWM_LOW++; if(PWM_LOW>CYCLE) { PWM_LOW=CYCLE-1; } } else { PWM_LOW--; if(PWM_LOW<1) { PWM_LOW=1; } } if(PWM_LOW==1) { LED1=0; } else if(PWM_LOW==CYCLE) { LED1=1; } else if(CYCLE>PWM_LOW) { LED1=1; Delay(PWM_LOW); LED1=0; Delay(CYCLE-PWM_LOW); } } } /*------------------------------------------------ 延时函数,含有输入参数 unsigned int t,无返回值 unsigned int 是定义无符号整形变量,其值的范围是 0~65535 ------------------------------------------------*/ void Delay(unsigned int t) { while(t) { t--; t++; t--; } } /**************************** //初始化IO口程序 *****************************/ void InitIO(void) { P1DIR |= 0x01; //P10定义为输出 } /**************************** 按键初始化函数 *****************************/ void InitKey() { P0SEL &= ~0x01; //设置P0.0为普通IO口 P0DIR &= ~0X01; //按键接在P00口上,设P00为输入模式 P0INP &= ~0x01; //打开P00上拉电阻 } |