Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
11
Добавлен:
05.09.2014
Размер:
1.19 Кб
Скачать
/***************************************
*
*	   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;		
	}
}
Соседние файлы в папке src