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); }
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*/
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*/
int main(void) { InicializarDAC(); return 0; }