#include <ioCC2530.h>
#define uint unsigned int
#define uchar unsigned char
#define LED1 P1_0 //LED1 为 P1.0 口控制
#define KEY1 P0_1 //KEY1 为 P0.1 口控制
//函数声明
void Delayms(uint); //延时函数
void InitLed(void); //初始化 LED1
void KeyInit(); //按键初始化
uchar KeyScan(); //按键扫描程序
/**************************** 延时函数*****************************/
void Delayms(uint xms) //i=xms 即延时 i 毫秒
{
uint i,j;
for(i=xms;i>0;i--)
for(j=587;j>0;j--);
}
/**************************** LED 初始化函数*****************************/
void InitLed(void)
{
P1DIR |= 0x01; //P1_0 定义为输出 LED1 = 1; //LED1 灯熄灭
}
/**************************** 按键初始化函数*****************************/
void InitKey()
{
P0SEL &= ~0X2; //设置 P01 为普通 IO 口
P0DIR &= ~0X2; //按键在 P01 口,设置为输入模式
}
/**************************** 按键检测函数*****************************/
uchar KeyScan(void)
{
if(KEY1==0)
{
Delayms(10);
if(KEY1==0)
{
while(!KEY1);
return 1;
}
}
return 0;
}
/*************************** 主函数***************************/
void main(void)
{
InitLed(); //调用初始化函数 InitKey();
while(1)
{
if(KeyScan()) //按键改变 LED 状态 LED1=~LED1;
}
}
|