#include “ioCC2530.h”
#define D3 P1_0
#define D4 P1_1
#define K1 P1_2
#define TT 20
unsigned int count = 0;
void Delay(unsigned int t)
{
while(t–);
}
void Init_Port()
{
P1SEL &= ~0x03; //将P1_0和P1_1设置为通用I/O端口
P1DIR |= 0x03; //将P1_0和P1_1设置为输出模式
P1SEL &= ~0x04; //将P1_2设置为通用I/O端口
P1DIR &= ~0x04; //将P1_2设置为输入模式
}
void Scan_Keys()
{
if(K1 == 0)
{
Delay(100); //按键去抖动处理
if(K1 == 0) //确认有按键按下
{
count = 0; //延时技术变量清0
while(K1 == 0) //按键按下状态
{
Delay(10000);
count++; //计算按键按下的时间
}
if(count < TT) //短按
{
D3 = ~D3;
}
else //长按
{
D4 = ~D4;
}
}
}
}
void main()
{
Init_Port(); //初始化端口
D3 = 1;
D4 = 1;
Delay(50000);
D3 = 0;
D4 = 0;
while(1)
{
Scan_Keys(); //扫描按键
}
}