CitarHola Marcos Recargado, estoy estudiando tus post, pero en el ejemplo de 2 displays de 7 segmentos, no entiendo como es la lògica.
No puedo ver el Proteus pero ¿como se hace el multiplexado de los displays. Sino, como se haria con CSS? ¿estas usando un conversor de binario a bcd no? no puedo seguir el pedazo de codigo donde suma 10 a count
mira los displays van a un decodificador bcd las terminales portb0-portb3 estan a un decodificador y las terminales portb4-portb7 al otro decodificador
vamos viendo paso a paso que se esta haciendo
Citarconteo=conteo+1;en este segmento obviamente estoy incrementando en uno a la variable contador
Citarif((conteo&0x0f)>9)en este estoy haciendo una operacion logica AND de la variable conteo con el numero 0x0f ¿y que diablos obtengo de esto? facil que yo seleccione mi parte baja de lo que contiene esta variable es decir si mi variable conteo=0b1111 0101 que es igual a conteo=0xf5 al hacer esta operacion yo tengo como resultado conteo=0x05 es decir anule la parte alta ya una vez hecho esto la compara con si es mayor a 9 si es mayor a 9 significa que estoy en el 10 pero en hexadecimal seria 0x0A y ese no es el valor que quiero sino quiero este 0x10
Citar{ conteo=conteo+10; conteo=conteo&0xf0; }
por eso a la hora de que es mayor a nuevo yo le sumo 10 para que me de el numero hexadecimal que deseo
if(conteo>99) {conteo=0;}
por ultimo si ya llego a 99 lo reseteo porque recuerda que esta varialbe como fue declarada de tipo int es una variable que puede llegar hasta 255.
Espero haberte ayudado