keil-按键控制4种LED MODE STM32F107神舟四号-闪烁 流水灯 加减

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

按键控制4种LED MODE

//-------------------------------------------------

//功能: 按键控制LED闪烁(库)

//版本号:v0.1.1

//日期:20121222

//-------------------------------------------------

#include "stm32f10x.h"

#include "led.h"

#include "key.h"

#include "delay.h"

////////////////////////////////////////////////////////////////////////////////////

//-------------------------------------------------

//主程序

//-------------------------------------------------

int main(void)

{

int i=0;

int led1,led2,led3,led4;

TYPEDEF_KEY key = KEY_NULL;

led1=0;

led2=0;

led3=0;

led4=0;

LedConfig();

KeyConfig();

while(1)

{

key=GetKey();

if(key == KEY_1)

{i++;

}

switch(i%4)

{

case 0:

LedTurnOn(LED_ALL); Delay(5000000); LedTurnOff(LED_ALL); Delay(5000000); LedTurnOn(LED_ALL); Delay(5000000); LedTurnOff(LED_ALL);

break;

};

case 1:

{

LedTurnOn(LED_1);

Delay(2000000);

LedTurnOff(LED_1);

LedTurnOn(LED_2);

Delay(2000000);

LedTurnOff(LED_2);

LedTurnOn(LED_3);

Delay(2000000);

LedTurnOff(LED_3);

LedTurnOn(LED_4);

Delay(2000000);

LedTurnOff(LED_4);

break;

};

case 2:

{

LedTurnOn(LED_4);

Delay(2000000);

LedTurnOff(LED_4);

LedTurnOn(LED_3);

Delay(2000000);

LedTurnOff(LED_3);

LedTurnOn(LED_2);

Delay(2000000);

LedTurnOff(LED_2);

LedTurnOn(LED_1);

Delay(2000000);

LedTurnOff(LED_1);

break;

};

case 3:

key=GetKey();

if(key==KEY_2)

{

if(led1==0)

{

led1++;

LedTurnOn(LED_1);

}

else

{

led1=0;

LedTurnOff(LED_1);

if(led2==0)

{

led2++;

LedTurnOn(LED_2);

}

else

{

led2=0;

LedTurnOff(LED_2);

if(led3==0)

{

led3++;

LedTurnOn(LED_3);

}

else

{

led3=0;

LedTurnOff(LED_3);

if(led4==0)

{

led4++;

LedTurnOn(LED_4);

}

else

{

led4=0;

LedTurnOff(LED_4);

}

}

}

}

if(key==KEY_3)

{

if(led1==1)

{

led1--;

LedTurnOff(LED_1);

}

else

{

led1=1;

LedTurnOn(LED_1);

if(led2==1)

{

led2--;

LedTurnOff(LED_2);

}

else

{

led2=1;

LedTurnOn(LED_2);

if(led3==1)

{

led3--;

LedTurnOff(LED_3);

}

else

{

led3=1;

LedTurnOn(LED_3);

if(led4==1)

{

led4--;

LedTurnOff(LED_4);

}

else

{

led4=1;

LedTurnOn(LED_4);

}

}

}

相关文档
最新文档