Está en la página 1de 4

Arquitectura de Microcontroladores:

Práctica 2. Counters en display con LED


Oscar Manuel Mendoza Rosas* and Diego Paniagua Molina**
Universidad de Guanajuato, División de Ciencias e Ingenierı́as
(Fecha de preparación: 25 de septiembre de 2022)
En esta práctica se implemento dentro de un timer un contador que va desde el 0 hasta el 9,
dónde una vez que se llega al 9 se encendera un LED durante 1 segundo y el contador se reiniciará
mostrando una vez mas el 0. El contador ira incrementando su valor cada vez que se presione un
push-button.

I. INTRODUCCIÓN

LED de 7 segementos
El display 7 Segmentos es un dispositivo opto-electrónico
que permite visualizar números del 0 al 9. Existen dos ti-
pos de display, de cátodo común y de ánodo común. Este
tipo de elemento de salida digital o display, se utilizabá
en los primeros dispositivos electrónicos de la década de
los 70’s y 80’s. Hoy en dı́a es muy utilizadon en proyec-
tos educativos o en sistemas vintage. También debido a
su facilidad de uso, mantenimiento y costo, son utilizados
en relojes gigantes o incluso como marcadores en algunos
tipos de canchas deportivas.
Es importante mencionar que los display de 7 segmen-
tos, dado que están construidos con diodos LED, requie-
ren una corriente máxima. En otras palabras se requiere
colocar una resistencia para limitar la corriente. Dicha
resistencia depende de la corriente que se quiera suminis-
trar al LED ası́ como de la caı́da de voltaje. Figura 1. Distribucion de los LED´s en un Display de 7 seg-
El display de 7 segmentos tiene una estructura casi mentos convencional.
estándar en cuanto al nombre de los segmentos. Para
dicho elemento, se cuenta con 7 leds, uno para cada seg-
mento. Para cada segmento, se le asigna una letra desde significa que este tipo de display se ≪controla≫ con ‘1’ s
la ≪a≫ hasta la ≪g≫. Esta asignacion la podemos ver en lógicos o con voltaje positivo.
detalle en la Figura 1
Existen dos tipos principales para los display 7 Cátodo común
segmentos. Esta diferencia depende principalmente del El display ánodo común es aquel cuyos ánodos están
arreglo como están conectados los leds que forman a conectados al mismo punto. Este tipo de display es
cada segmento. Sabemos que un led tiene dos terminales controlado por ceros, es decir que el microcontrolador
que se denominan: cátodo y ánodo. El ánodo es la o MCU, FPGA o microprocesador, le asigna a cada
parte positiva del LED, mientras que el cátodo es el pin segmento un cero lógico (también llamada tierra digital).
negativo. Entonces los tipos de display de 7 segmentos
se dividen en aquellos de cátodo común y los de ánodo De esta manera es como se controlan los LED´s den-
común. Entonces el display tendrá además de los 7 tro del display. Sin embargo es necesario un decodifica-
segmentos, 1 pin común. Este pin común se conecta al dor BCD el cuál puede ser una tabla o diccionario, una
catodo o al anodo dependiendo del tipo de display.[1] matriz donde se asigne un numero binairo/decimal a su
representación en un display de 7 segmentos.
Ánodo común
El display cátodo común es aquel que tiene el pin común
II. MATERIALES
conectado a los negativos de los LED’s (cátodo). Esto
Para esta práctica se utilizaron los siguientes materia-
les:
* om.mendozarosas@ugto.mx
** d.paniaguamolina@ugto.mx Protoboard de 830 puntos
2

Cable rojo y negro // config statements should precede


//project file includes.
1 LED verde #include <xc.inc>
2 Push-buttons
PSECT reset_vec, class=code, delta=2
3 Resistencias de 330 Ohm´s resetVec:

2 Resistencias de 1k Ohm´s goto inicio


org 0x05
1 PIC17F74
Fuente de voltaje de 5v tabla: ;para anodo comun

2 Cables banana-caimán addwf PCL, 1


retlw 11000000B
2 Capacitores de 22 pF retlw 11111001B
retlw 10100100B
1 Cristal oscilador de 20 mHz
retlw 10110000B
Programador MasterProg retlw 10011001B
retlw 10010010B
retlw 10000010B
III. MÉTODOS retlw 10111000B
retlw 10000000B
retlw 10011000B
En esta practica nos enfocamos en utilizar de forma
correcta un convertidor BCD (Decimal Codificado en Bi-
PSECT code
nario) a 7 segmentos, el cual es un código que presenta
valores decimales en formato binario, para ello forma gru-
inicio:
pos de 4 bits para representar cada valor del 0 al 9 (siendo
9=1001B el valor máximo). Para este convertidor BCD
BANKSEL TRISD
se realizó el proceso de codificación a travez de una “ta-
clrf TRISD
bla” que nos suministro el profesor la cual agregamos a
BANKSEL PORTD
nuestro código, dándole los valores que tomara ya fueran
para ánodo o cátodo comunes, en nuestro caso particular
BANKSEL TRISA ;deshabilita entradas analogicas
está configurado para ánodo común.
MOVLW 0X06
MOVWF ADCON1
IV. CÓDIGO FUENTE
MOVLW 0X10 ;hago el puerto A entrada
MOVWF TRISA
El codigo que se programó en el microcontrolador es MOVLW 0X00
el siguente: MOVWF TRISB

MOVLW 0X38
; PIC16F74 Configuration Bit Settings MOVWF OPTION_REG
; Assembly source line config statements BANKSEL TMR0 ;limpio el timer 0
CLRF PORTB
; CONFIG
CONFIG FOSC = HS otravez:
; Oscillator Selection bits (HS oscillator)
CONFIG WDTE = OFF CLRF TMR0
; Watchdog Timer Enable bit (WDT disabled)
CONFIG PWRTE = ON display:
; Power-up Timer Enable bit (PWRT enabled)
CONFIG CP = OFF ; movf TMR0, 0
FLASH Program Memory Code Protection bit call tabla
(Code protection off) movwf PORTB
CONFIG BOREN = ON
; Brown-out Reset Enable bit (BOR enabled) btfss TMR0, 3
3

goto display
btfss TMR0, 0
goto display
call led
btfss TMR0, 1
goto display

goto otravez

led:

BSF PORTD, 2
CALL ret
BCF PORTD, 2
GOTO otravez Figura 2. Esquema de circuito. (NOTA: Utilizamos el pro-
grama Proteus 8 para realizar el esquema, pero se utilizó el
ret: microcontrolador PIC16F874 debido a que el PIC16F74 no se
encuentra disponible, recordar que este esquema es más que
movlw 25
nada ilustrativo pues los pines de entrada y salida cambiarán
movwf 0x20 de posición en el PIC16F74 que fue utilizado en esta prácti-
duba3: ca.)
movlw 250
movwf 0x21
duba2:
VI. MONTAJE
movlw 255
movwf 0x22
duba1: Cargamos el código en el microcontrolador mediante
decfsz 0x22, 1 un programador Master-Prog, el montaje fı́sico se realizó
goto duba1 en una placa protoboard convencional como se muestra
decfsz 0x21, 1 a continuación en la Figura 3.
goto duba2
decfsz 0x20
goto duba3 VII. FUNCIONAMIENTO
return
Cargamos el código en el microcontrolador mediante
end resetVec
un programador Master-Prog, el montaje fı́sico se realizó
en una placa protoboard convencional como se muestra
en el video del siguente vinculo.

Funcionamiento del proyecto

V. ESQUEMA VIII. CONCLUSIÓNES

Como pudimos observar en el video, los resultados fue-


Para el montaje necesitamos los componentes ya men- ron satisfactorios en primera instancia, sin embargo, du-
cionados anteriormente en la sección de materiales, bási- rante el ciclo de conteo se pudo percibir que el LED a
camente tenemos todas las partes necesarias para que veces encendia en el número 8 y que el número 9 no lo
nuestro microcontrolador funcione de forma correcta, un mostraba en el display, este error puede ser atribuible a
botón de “reset”, un oscilador de 20 MHz, alimentación que algun contador se lleva acarreando desde las primeras
de +5V, el LED a encender, el botón que se encargara de vueltas y que es necesario borrarlo. Quizás, con un ana-
encender el LED, el display de 7 segmentos y un capaci- lisis del codigo paso por paso mediante una simulación,
tor de 1µF en paralelo al botón del LED para mejorar su se pueda corregir este error.
funcionamiento, de forma más detallada se muestra en la Sin embargo, el uso de un contador y de un display
Figura 2. quedó claro, el cuál era le objetivo principal de esta
4

práctica. Implementando tambien el uso de LED´s y su


coordinación con las demás partes del sistema.

Figura 3. Circuito montado en placa protoboard y alimentado


con fuente de voltaje.

[1] D. R. E. Marmolejo, Display de 7 segmen-


tos, https://hetpro-store.com/TUTORIALES/
display-7-segmentos-anodo-catodo-comun/.

También podría gustarte