 
        
        
          Добавил:
          
          
        
        
    
            lelik
            
            
            
            
            
            Опубликованный материал нарушает ваши авторские права? Сообщите нам.
          
          Вуз:
          Предмет:
          Файл:Лабораторные МПр / код / lab5 / Lab - timer / src / main
.c/***************************************
*
*	   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
          
      
    
    
    
          