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; }
/*==================[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; }
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*/