Algoritmo de un cronometro de conteo de horas, segundos decenas de milisegundos, a partir del miltiplexado de 6 display de 7 segmentos.

Fork of Ticker_HelloWorld by mbed_example

Committer:
Javierdf
Date:
Sun Sep 22 03:20:08 2019 +0000
Revision:
5:8e7123e9b75b
Parent:
4:a60b811bfe1e
KL46 ticker D7sMUX

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AdrianMA 4:a60b811bfe1e 1 /******************************************************************************/
AdrianMA 4:a60b811bfe1e 2 /*------------------------------------------------------------------------------
AdrianMA 4:a60b811bfe1e 3 Función de usuario para separar de una variable tipo entera sus digitos que la
AdrianMA 4:a60b811bfe1e 4 integran
AdrianMA 4:a60b811bfe1e 5
AdrianMA 4:a60b811bfe1e 6 *Parametros de entrada:
AdrianMA 4:a60b811bfe1e 7 -int número: variable a la que se le van a separar sus digitos
AdrianMA 4:a60b811bfe1e 8 -int *digito_a: variable apuntador(variable pasada por referencia) para almacenar
AdrianMA 4:a60b811bfe1e 9 el digito de las unidades separado de la variable número
AdrianMA 4:a60b811bfe1e 10 -int *digito_b: variable apuntador(variable pasada por referencia) para almacenar
AdrianMA 4:a60b811bfe1e 11 el digito de las decenas separado de la variable número
AdrianMA 4:a60b811bfe1e 12
AdrianMA 4:a60b811bfe1e 13 *Parametro de salida: NINGUNO
AdrianMA 4:a60b811bfe1e 14
AdrianMA 4:a60b811bfe1e 15 ------------------------------------------------------------------------------*/
AdrianMA 4:a60b811bfe1e 16 void num2dig(int numero,int *digito_a,int *digito_b){//inicio de la función num2dig
AdrianMA 4:a60b811bfe1e 17 int num;//variable para almacenamiento y manipulación de el valor numerico a convertir
AdrianMA 4:a60b811bfe1e 18 int ant;//variable auxiliar para la conversión de datos
AdrianMA 4:a60b811bfe1e 19 int dummy=0;
AdrianMA 4:a60b811bfe1e 20 /*segmento de codigo no util para el trabajo, solo se incerta para eliminar warning*/
AdrianMA 4:a60b811bfe1e 21 *digito_a=dummy;
AdrianMA 4:a60b811bfe1e 22 *digito_b=dummy;
AdrianMA 4:a60b811bfe1e 23 dummy=(*digito_a);
AdrianMA 4:a60b811bfe1e 24 dummy=(*digito_b);
AdrianMA 4:a60b811bfe1e 25 /*fin segmento de codigo no util para el trabajo*/
AdrianMA 4:a60b811bfe1e 26
AdrianMA 4:a60b811bfe1e 27 num=numero;//Asignación del valor de conversión para su manipulación del algoritmo
AdrianMA 4:a60b811bfe1e 28 if(num>=0x0A){//inicio if-1 //Pregunta si el valor es mayor o igual a díez
AdrianMA 4:a60b811bfe1e 29 ant=num; //Guardado del valor numerico para su posterior manipulación
AdrianMA 4:a60b811bfe1e 30 num=num/0x0A; //División entre 0x0A, para conocer cuantas decenas contiene el número en cuestion
AdrianMA 4:a60b811bfe1e 31 *digito_a=(ant-num*0x0A); //Almacenaje de las unidades, a partir de la eliminación de las decenas de la cantidad
AdrianMA 4:a60b811bfe1e 32 *digito_b=num; //Almacenaje de las decenas del número
AdrianMA 4:a60b811bfe1e 33 }//fin if-1
AdrianMA 4:a60b811bfe1e 34 else{//inicio else-1 //Condición en caso de que el número a separar sea menor a 0x0A
AdrianMA 4:a60b811bfe1e 35 *digito_a=num; //Almacenaje de las unidades del número a separar
AdrianMA 4:a60b811bfe1e 36 *digito_b=0; //Almacenaje de la nulidad de decenas
AdrianMA 4:a60b811bfe1e 37 }//fin else-1
AdrianMA 4:a60b811bfe1e 38 }//fin de la función num2dig
AdrianMA 4:a60b811bfe1e 39 /******************************************************************************/