Скачиваний:
10
Добавлен:
05.09.2014
Размер:
1.36 Кб
Скачать
/***************************************
*
*	   LETI traning 2011
*
***************************************/
#include "LPC17xx.h"
#include "leds.h" 
#include "timer.h"  
#include "GLCD.h"                  
#include "adc.h" 

#define EINT0		0x00000001
#define EINT0_EDGE	0x00000001

void sleep(int);

int led = 0;	//current led
char flag=1;

unsigned long int EINTInit( void )
	{
	  	LPC_PINCON->PINSEL4=0x00100000;
	   	LPC_GPIOINT->IO2IntEnR=	0x00000400;	
	  	LPC_SC->EXTMODE = EINT0_EDGE;
	  	LPC_SC->EXTPOLAR = 0;	
	  	NVIC_EnableIRQ(EINT0_IRQn);
	  	return(1);
	}

//------------
int main(void) {

	SystemInit();
	LED_init();
	timer0_init();
	GLCD_Init ();
	adc_init ();

	EINTInit();					  				//инициализация внешних прерываний

	//настр. таймера
	LPC_TIM0->MCR=0x03; 
	LPC_TIM0->MR0=7000000;
	NVIC_EnableIRQ((IRQn_Type) TIMER0_IRQn);
	LPC_TIM0->TCR=1;

  LPC_TIM0->IR=1;		// обработка кнопки


	//при нажатии кнопки прерывания INT0 происходит преднамеренное прерывание выполнения программы
	//
  if (flag)
   {
	while(1) {
		LED_Out(0);		//all leds off
		LED_On(led);	//one led on
		led++;
		if(led >= LED_NUM)
			led = 0;
		sleep(25000000);	//delay	
		LPC_ADC->ADCR |=(1<<24);
		sleep(250000);	//delay	
	}
 	}
}

//--
	void sleep (int ticks) {
	int i;
	for(i=0; i<ticks; i++);
}
Соседние файлы в папке src