Los dos esquemas son dos versiones de la pantalla, cátodo común en la parte superior, ánodo común en la parte inferior. Asumiré que tienes la versión común del cátodo.
Conecta los segmentos A..G, DP a través de resistencias de la serie 8 a 8 pines de E / S del microcontrolador. Conducir un pin alto iluminará ese LED en el dígito seleccionado. Para seleccionar cualquiera de los 4 dígitos, haga que el cátodo común correspondiente sea bajo a través de un transistor NPN, que nuevamente maneja desde un pin de E / S a través de una resistencia.
Si su voltaje de alimentación es de 5 V y está utilizando LED rojos, entonces puede usar resistencias de 150 Ω en lugar de 330. También disminuya los valores de resistencia base del transistor a 2.2 kΩ, y use, por ejemplo, BC337 s para los transistores.
Para conducir la pantalla completa, primero debe hacer que el pin 12 sea bajo al conducir su transistor con un nivel alto y establecer las E / S para los segmentos de ese dígito. Algún tiempo después, cambia el pin 12 y los segmentos, y enciende el 9, y nuevamente los segmentos para el segundo dígito. Y así. Si pasa de 1 dígito a otro en menos de 2.5 ms, la pantalla completa se cicla a 10 ms, o 100 Hz, que es suficiente para evitar un parpadeo notable.
Puede usar el controlador Maxim, como el MAX7219 , pero es Damn Expensive ™: 12.80 dólares en 1s en Digikey. Lo bueno de esto es que se encarga de la multiplexación por usted, por lo que solo tiene que cargarlo con los datos del segmento para los 4 dígitos. También cuenta con software de control de brillo.
Revisé la hoja de datos PIC16F690 y, a diferencia de otros microcontroladores, sus E / S no parecen ser capaces de generar 20 mA (lo cual es decepcionante). Por lo tanto, también necesitará transistores en el puerto 2:
R1 fue una de las resistencias en el puerto 2. Así que inserta Q1 y R2 entre ellos, y repite eso para cada uno de los 8 segmentos. ¡Atención, Q2 es una PNP! Cualquier transistor PNP de propósito general servirá.