Добавил:
lelik
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные МПр / код / lab1 / src / main
.c/***************************************
*
* LETI traning 2011
*
***************************************/
// 8011
// Кузьмин. Клюнин
//
#include "LPC17xx.h"
#include "leds.h"
void sleep(int);
int mode = 0;
//------------
int main(void) {
int led = 0; //current led
int dv = 1;
int y=0;
int step = 0;
int last = led;
SystemInit();
LED_init();
while(1) {
LED_Out(0); //all leds off
LED_On(led); //one led on
switch(mode) {
// бегаем в обе стороны
case 0:
if ((dv > 0 && led + dv >= LED_NUM) || (dv < 0 && led == 0))
dv = -dv;
led += dv;
break;
// нажатие джойстика вниз
// мигаем через один
case 1:
if (step == 0) {
last = led;
led = 0;
} else {
for (y=0; y<8;)
{
LED_On(y);
y=y+2;
}
}
step = 1 - step;
break;
}
sleep(500000);
}
}
//--
void sleep (int ticks) {
int i;
for(i=0; i<ticks; i++) {
if ((LPC_GPIO1->FIOPIN >> 20 & 1) == 0)
mode = 1 - mode;
else if ((LPC_GPIO1->FIOPIN >> 24 & 1) == 0)
mode = 0;
else if ((LPC_GPIO1->FIOPIN >> 25 & 1) == 0)
mode = 1;
}
}