Esempio n. 1
0
int main(void)
{
	InicializarADC();
	InicializarTimer(periodo);
	InicializarDAC();
	InicializarLEDS();
	InicializarBotones();
	configurar_UART();

	do{
		if (togglefuncion) FuncionTeclas1();
		else FuncionTeclas0();
	}while(1);

	return 0;
}
int main(void)

{
	uint8_t tecla;
	uint32_t retardo;

    contador_periodo=0;
	periodo_calibracion=10;//100ms

	ganancia=1;//

	amplitud_max=775;//2.5V
	amplitud_min=465;//1.5V
	contador=0;
    amplitud=amplitud_max-amplitud_min;//775-465=310

   mitad_periodo=periodo_calibracion/2;
   offset=amplitud_max-amplitud;


	//Generacion de señal cuadrada

	///
	//paso=(float)(amplitud_max/periodo);
		InicializarTimer ();
		Periodo(INTERVALO);
		InicializarLed ();

		HabilitaInterrupcion();
		//InicializarTecla ();
		InicializarDAC ();
		InicializarADC ();
		InicializarUSART();

		for(;;){


				tecla=LeerTecla();
				//amplitud=amplitud_max-amplitud_min;


						switch(tecla)
						    {
			     		  case TECLA1:/*aumenta la ganancia 1.1, su  equivalente adc 341*/


			     			   ganancia=ganancia*1.1;
			     			   amplitud_max=amplitud_max*ganancia;
			     			   amplitud_min=amplitud_min*ganancia;
			     			   amplitud=amplitud_max-amplitud_min;
			     			   offset=amplitud_max-amplitud;

			     			   contador=0;
							   break;

						   case TECLA2:/* atenuo la señal 0.8 */
							   ganancia=ganancia*0.8;

							   amplitud_max=amplitud_max*ganancia;
							   amplitud_min=amplitud_min*ganancia;
							   amplitud=amplitud_max-amplitud_min;
							   offset=amplitud_max-amplitud;

							   contador=0;

						        break;

					       case TECLA3:/*aumento el offset 100mv*/

					    	   //31 es el equivalente a 0.1V=100mV
					    	   if (amplitud_max<TOPE_MAX)
					    	      {
					    	   amplitud_max=amplitud_max+31;
					    	   amplitud_min=amplitud_min+31;
					    	   amplitud=amplitud_max-amplitud_min;
					    	   offset=offset+31;
					    	    contador=0;
					    	      }

					    	   	 break;

					       case TECLA4:/*disminuyo offset 100mv=0.1v*/
					    	   //31 es el equivalente a 0.1V=100mV
					    	   if (amplitud_min>TOPE_MIN)//equivalente a 0.2V
					    	      {
					    	      amplitud_max=amplitud_max-31;
					    	      amplitud_min=amplitud_min-31;
					    	      amplitud=amplitud_max-amplitud_min;
					    	      offset=offset-31;
					    	      contador=0;
					    	      }

					    	   break;
						    }

						if (tecla!=0){  //para el antirebote
							//retardo

							for(retardo=0;retardo<10000000;retardo++);
							/*ApagarTodos();*/

						          }
				        }


		while (TRUE);
}
Esempio n. 3
0
int main(void)

{

	/*Inicializaciones */

	InicializarLeds();  				 	 /* Inicializa Leds */
	InicializarTeclas();                     /* Inicializa Teclas*/
	InicializarADC();                        /* Inicializa DAC -> CH1*/
	InicializarDAC();                        /* Inicializa Dac*/
	InicializarSerie();                      /* Inicializa Puerto Serie*/
	InicializarTimerRIT();					 /* Inicializa Timer RIT*/



	uint32_t nc;                           /* contador auxiliar para mensaje*/

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

		tecla = TeclaPulsada ();
			switch (tecla){
				case NOTECLA:               /* Si no se pulsa Tecla */

					break;
				case TECLA1:                /* Tecla 1 Aumenta ganancia*/
					if (ganancia<=10)
					  {
						ganancia++;
					  }
					for(nc=0; nc!=22; nc++) /* Envio mensaje */
						{
						 Enviar_Byte_Serie (mensaje1[nc]);
						} /*for nc */
					Enviar_Byte_Serie (10); /*Linea nueva*/
					Enviar_Byte_Serie (13); /*Retorno de carro*/
    				ConmutaLed(LEDAMARILLO);
					break;
				case TECLA2:                /* Tecla 2 Disminuye ganancia*/
					if (ganancia >=2)
					  {
						ganancia--;
					  }
					for(nc=0; nc!=22; nc++) /* Envio mensaje */
					  {
						Enviar_Byte_Serie (mensaje2[nc]);
    					} /*for nc */

					Enviar_Byte_Serie (10); /*Linea nueva*/
					Enviar_Byte_Serie (13); /*Retorno de carro*/
					ConmutaLed(LEDAMARILLO);
					break;
				case TECLA3:                /* Tecla 3 Mute*/
					ganancia=0;
					for(nc=0; nc!=22; nc++) /* Envio mensaje */
					  {
						Enviar_Byte_Serie (mensaje3[nc]);
    					} /*for nc */
					Enviar_Byte_Serie (10); /*Linea nueva*/
					Enviar_Byte_Serie (13); /*Retorno de carro*/
					ConmutaLed(LEDAMARILLO);
					break;
				case TECLA4:                /* Tecla 4 Setea Ganancia en 1 */
					ganancia=1;

					for(nc=0; nc!=22; nc++) /* Envio mensaje */
						{
						 Enviar_Byte_Serie (mensaje4[nc]);
						} /*for nc */
					Enviar_Byte_Serie (10); /*Linea nueva*/
					Enviar_Byte_Serie (13); /*Retorno de carro*/


					ConmutaLed(LEDAMARILLO);
					break;
			}

			RetardoAsmNop (5000000);


      //  Enviar_Byte_Serie (dataADC/4+32);    /* Prueba de comunicación*/

	}return FALSO; /*while */
} /*main*/
Esempio n. 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*/
Esempio n. 5
0
int main(void)
{
	InicializarDAC();

	return 0;
}