示例#1
0
int main(void)
{
	int valor_Analogico;

   /* perform the needed initialization here */
   /*Inicializa los Leds*/
   InicializarLeds();
   /*Inicaliza Teclado*/
   InicializarTeclas();
   /*Inicaliza Timer*/
   InicializarTimer();
   /*Inicializa conADC*/
   InicializarADC();
   /*Configurar tiempo 250mseg*/
   ConfigurarTiempo(750);
   /*Habilita interrupcion*/
   SetInterrup();

   while(1) {
      /* add your code here */
	   valor_Analogico= EntradaADC();
	   if (valor_Analogico>800){
		   PrenderLed(LED3);
		    ApagarLed(LED2);
		   /*ApagarLed(LED3);*/
	   }
	   /*if (valor_Analogico<900){
		   	   	   PrenderLed(LED3);
	   	   		   ApagarLed(LED1);
	   	   		   ApagarLed(LED2);
	   	   	   }*/

	    if (valor_Analogico<30){
		   PrenderLed(LED2);
		    ApagarLed(LED3);
		   /*ApagarLed(LED3);*/
	    }
	    /*if (valor_Analogico>40){
	   		   PrenderLed(LED3);
	   		   ApagarLed(LED1);
	   		   ApagarLed(LED2);
	   	   }*/
	     }
   return 0;
}
示例#2
0
/*==================[internal functions definition]==========================*/
 	void Ejecuta_RIT(){
 		 /* Secuencia a ejecutar con la llamada de IRQ11 RIT*/

 	dataADC=LeerADC();
 	dataDAC=dataADC*ganancia;
 	if (dataDAC>1023) /*Ajusta la saturacion*/
 	    {
 		PrenderLed(LEDROJO); /* Si satura enciende el led rojo*/
 		dataDAC=1023;
 	    } else /* si no satura apaga el led rojo*/
 	       {
 	    	ApagarLed(LEDROJO);
 	       }

 	CargarValorDAC(dataDAC); /* Asigna el valor de salida al DAC*/
 	ConmutaLed(LEDVERDE);

 	BorraFlagRIT(); /* Borra el flag de la llamada a la interrupción*/

 	 }/*Ejecuta_RIT*/
int main(void)

{
	/* perform the needed initialization here */
	int32_t i;
	ledRGB ledsRGB;
	InicializarLeds();


	PrenderLed(LEDROJO);
	ApagarLed(LEDAMARILLO);
	ApagarLed(LEDVERDE);

	ledsRGB.rojo=APAGAR;
	ledsRGB.verde=APAGAR;
	ledsRGB.azul= ENCENDER;
	PrenderLedRGB(&ledsRGB);



while (1){


	for(i=RETARDO; i!=0; i--){
		asm("nop");
		}

		ApagarLed(LEDROJO);
		ConmutaLed(LEDAMARILLO);
		PrenderLed(LEDVERDE);
		ledsRGB.rojo=APAGAR;
		ledsRGB.verde=APAGAR;
		ledsRGB.azul= APAGAR;
		ApagarLedRGB(&ledsRGB);

 	for(i=RETARDO; i!=0; i--){
			asm("nop");
		}
		PrenderLed(LEDROJO);
		ApagarLed(LEDVERDE);
		ledsRGB.rojo= NOCAMBIAR;
		ledsRGB.verde=CAMBIAR;
		ledsRGB.azul= NOCAMBIAR;
		ConmutarLedRGB(&ledsRGB);

	for(i=RETARDO; i!=0; i--){
			asm("nop");
		}
	    ApagarLed(LEDROJO);
		PrenderLed(LEDVERDE);
		ledsRGB.rojo=NOCAMBIAR;
		ledsRGB.verde=CAMBIAR;
		ledsRGB.azul= CAMBIAR;
		ConmutarLedRGB(&ledsRGB);

	for(i=RETARDO; i!=0; i--){
			asm("nop");
		}

		PrenderLed(LEDROJO);
		ApagarLed(LEDVERDE);

		ledsRGB.rojo= APAGAR;
		ledsRGB.verde=ENCENDER;
		ledsRGB.azul= APAGAR;
		PrenderLedRGB(&ledsRGB);


	}return 0;

}
示例#4
0
int main(void)

{
	/*Inicializaciones */
	uint8_t tecla;                         	/* Tecla pulsada*/


	InicializarLeds();  				 	 /* Inicializa Leds */
	InicializarTeclas();					 /* Inicializa teclado */
	InicializarTimerRIT();               	 /* Inicializa Timers RIT*/
	InicializarDAC();                        /* Inicializa DAC*/

	ledsRGB.rojo=RANGO-1;                	 /* Valor inicial para los leds del RGB */
	ledsRGB.verde=RANGO-2;
	ledsRGB.azul=APAGAR;
	ledsRGB.intensidad=RANGO-1;

	CargarValorDAC(200);

	cicloTotal=RANGO*RANGO;  /* Calcula el numero de intervalos totales por ciclo*/

/* Ciclo infinito principal */
while (VERDADERO){

	tecla = TeclaPulsada();


	switch (tecla){
		case NOTECLA:
			                                       /* Si no se pulsa Tecla  */
			ApagarLed(LEDROJO);
			ApagarLed(LEDAMARILLO);
			ApagarLed(LEDVERDE);
			//CargarValorDAC (200);
			break;

		case TECLA1:
			if (ledsRGB.rojo>= RANGO)
			{
				ledsRGB.rojo=APAGAR;
					PrenderLed(LEDAMARILLO);        /* Indica paso por cero*/
					PrenderLed(LEDVERDE);
					RetardoAsmNop(RETARDOxCERO);    /* Retardo extendido */

			}else ledsRGB.rojo++;                   /* Tecla 1 aumenta RGB rojo*/
			ConmutaLed(LEDROJO);
			//CargarValorDAC (100);
			break;

		case TECLA2:
			if (ledsRGB.verde>= RANGO)
			{
				ledsRGB.verde=APAGAR;
					PrenderLed(LEDAMARILLO);        /* Indica paso por cero*/
					PrenderLed(LEDROJO);
					RetardoAsmNop (RETARDOxCERO);   /* Retardo extendido */
			}else ledsRGB.verde++;                  /* Tecla 2 aumenta RGB verde*/
			ConmutaLed(LEDVERDE);
			//CargarValorDAC (500);
			break;

		case TECLA3:
			if (ledsRGB.azul>= RANGO)
			{
				ledsRGB.azul=APAGAR;
					PrenderLed(LEDROJO);            /* Indica paso por cero*/
					PrenderLed(LEDVERDE);
					RetardoAsmNop (RETARDOxCERO);   /* Retardo extendido */
			}else ledsRGB.azul++;                   /* Tecla 3 aumenta RGB azul*/
			ConmutaLed(LEDAMARILLO);                /* acusa incremento azul RGB */
			//CargarValorDAC (700);
			break;

		case TECLA4:
			if (ledsRGB.intensidad>= RANGO)
			{
				ledsRGB.intensidad=APAGAR;
					ConmutaLed(LEDAMARILLO);       /* Indica paso por cero*/
					ConmutaLed(LEDVERDE);
					RetardoAsmNop (RETARDOxCERO);  /* Retardo extendido */
				}else ledsRGB.intensidad++;        /* Tecla 4 aumenta la intensidad*/
			ConmutaLed(LEDROJO);                   /* acusa incremento*/
			//CargarValorDAC (1000);
			break;
	 }/*switch */

	RetardoAsmNop (RETARDO);                    /* Retardo entre lectura de teclado */


  }return FALSO; /*while */
} /*main*/