#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上拉電阻
} |