Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informen2 150525134241 Lva1 App6892
Informen2 150525134241 Lva1 App6892
CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
E. P. INGENIERÍA ELECTRÓNICA
ASIGNATURA: MICROCONTROLADORES
2
LABORA TORIO – 91G MICROCONTROLADORES
Display de 7 Segmentos
En los de tipo de ánodo común, todos los ánodos de los leds o segmentos
están unidos internamente a una patilla común que debe ser conectada a
potencial positivo (nivel “1”). El encendido de cada segmento individual se
realiza aplicando potencial negativo (nivel “0”) por la patilla correspondiente
a través de una resistencia que límite el paso de la corriente.
En los de tipo de cátodo común, todos los cátodos de los leds o segmentos
están unidos internamente a una patilla común que debe ser conectada a
potencial negativo (nivel “0”). El encendido de cada segmento individual se
realiza aplicando potencial positivo (nivel “1”) por la patilla correspondiente
a través de una resistencia que límite el paso de la corriente.
3
LABORA TORIO – 91G MICROCONTROLADORES
Como podemos ver, cada línea en el display, corresponde a una letra, y dicha letra es un
pin del display, con lo cual podemos hacer una tabla de los diferentes números para cada
tipo de display. (Nota: Hay que recordar que para los de cátodo, el pin debe
proporcionar corriente positiva (1), y para los de ánodo corriente negativa (0), para
encender los segmentos)
Con esta tabla podemos saber con qué entradas al display, nos mostrará en la salida el
número que deseamos.
4
LABORA TORIO – 91G MICROCONTROLADORES
III. DISEÑO
IV. MATERIALES
Atmega8.
Pulsadores.
Resistencia de 10K y 330 .
Display multiplexado de 4 dígitos.
Driver ULN2804.
Transisitores 2N2222 (NPN), BC 558(PNP).
Protoboard.
Cables de conexión.
Fuente de alimentación de 5V .
V. PROCEDIMIENTO
5
LABORA TORIO – 91G MICROCONTROLADORES
Diagrama de flujo
7
LABORA TORIO – 91G MICROCONTROLADORES
0-999 UP.ASM
INICIALIZACION:
la pila: Stack:
$045F=RAMEND
CONFIGURACION DE PUERTOS
PORTD (2): ENTRADA
PORTD(4:6):SALIDA
PORTB(0:6):SALIDA
CUENTA INICIAL: NO
UNIDADES=0,DECENAS=0,CENTENAS=0
PD2=0
NO
PD2=1
PD2: EMPIEZA LA
CUENTA ASCENDENTE
UNIDADES=UNIDADES +1
DECENAS = DECENAS+1 (UNIDADES=10)
CENTENAS=CENTENAS+1(DECENAS=10)
MUESTRA NUMERO DE 3
DIGITOS EN EL DISPLAY
MULTIPLEXADO
8
LABORA TORIO – 91G MICROCONTROLADORES
Programación
.nolist
.include "m8def.inc" ;ATmega8
.list
.device atmega8
.def TEMP=r17 ;definicion de símbolos
.def DISP=r18 ;para registro temporal
.def unidades=r19 ;
.def decenas=r20 ;
.def centenas=r21 ;
.cseg
.org $0000 ;modificacion de direccion por defecto
rcall inicio ;ve al inicio
;.......PROGRAMA PRINCIPAL
inicio:
ldi r16,$04 ;Configurassem de...
out sph,r16
ldi r16,$5F
out spl,r16 ;...la pila: Stack: $045F=RAMEND
ser r16 ;poner a 1 r16
out ddrb,r16 ;portB salida
out ddrd,r16 ;portD salida
cbi ddrd,2 ;PD2 entrada (UP)
begin:
ldi unidades,0 ;cuenta inicia en cero para las unidades
ldi decenas,0 ;cuenta inicia en cero para las decenas
ldi centenas,0 ;cuenta inicia en cero para las centenas
ldi r16,0x3F ;CERO decodificado en 7 segmentos KC
out portb,r16 ;para poder mostrar inicialmente CERO
clr r16 ;poner a cero r16
out portd,r16 ;displays habilitados
ascendente:
ser r16 ;poner a 1 r16
out portd,r16 ;displays deshabilitados
inc unidades ;aumenta en 1 el registro "unidades"
cpi unidades,10 ;solo aumentra hasta 9
9
LABORA TORIO – 91G MICROCONTROLADORES
mov DISP,unidades
rcall CONVER
out portb,TEMP ;PARA MOSTRAR LAS UNIDADES
cbi portd,4 ;habilitar 1er display
rcall delay ;retardo 5ms aprox
sbi portd,4 ;displays deshabilitados
mov DISP,decenas
rcall CONVER
out portb,TEMP ;PARA MOSTRAR LAS DECENAS
cbi portd,5 ;habilitar 2er display
rcall delay ;retardo 5ms aprox
sbi portd,5 ;displays deshabilitados
mov DISP,centenas
rcall CONVER
out portb,TEMP ;PARA MOSTRAR LAS CENTENAS
cbi portd,6 ;habilitar 3er display
rcall delay ;retardo 5ms aprox
sbi portd,6 ;displays deshabilitados
10
LABORA TORIO – 91G MICROCONTROLADORES
soli:
mov DISP,unidades
rcall CONVER
out portb,TEMP ;PARA MOSTRAR LAS UNIDADES
cbi portd,4 ;habilitar 1er display
rcall delay ;retardo 5ms aprox
sbi portd,4 ;displays deshabilitados
mov DISP,decenas
rcall CONVER
out portb,TEMP ;PARA MOSTRAR LAS DECENAS
cbi portd,5 ;habilitar 2er display
rcall delay ;retardo 5ms aprox
sbi portd,5 ;displays deshabilitados
mov DISP,centenas
rcall CONVER
out portb,TEMP ;PARA MOSTRAR LAS CENTENAS
cbi portd,6 ;habilitar 3er display
rcall delay ;retardo 5ms aprox
sbi portd,6 ;displays deshabilitados
rcall delay ;retardo 5ms aprox
11
LABORA TORIO – 91G MICROCONTROLADORES
.nolist
.include "m8def.inc" ;ATmega8
.list
.device atmega8
.def TEMP=r17 ;definicion de símbolos
.def DISP=r18 ;para registro temporal
.def unidades=r19 ;
.def decenas=r20 ;
.def centenas=r21 ;
.cseg
.org $0000 ;modificacion de direccion por defecto
rcall inicio ;ve al inicio
;.......PROGRAMA PRINCIPAL
inicio:
ldi r16,$04 ;Configurassem de...
out sph,r16
ldi r16,$5F
out spl,r16 ;...la pila: Stack: $045F=RAMEND
ser r16 ;poner a 1 r16
out ddrb,r16 ;portB salida
out ddrd,r16 ;portD salida
cbi ddrd,2 ;PD2 entrada (UP)
cbi ddrd,3 ;PD3 entrada (DOWN)
begin:
ldi unidades,0 ;cuenta inicia en cero para las unidades
ldi decenas,0 ;cuenta inicia en cero para las decenas
ldi centenas,0 ;cuenta inicia en cero para las centenas
ldi r16,0x3F ;CERO decodificado en 7 segmentos KC
out portb,r16 ;para poder mostrar inicialmente CERO
12
LABORA TORIO – 91G MICROCONTROLADORES
soltar_PD3:
sbis pind,3 ;si se presiono PD3 espera a que se suelte
pulsacion
rjmp soltar_PD3 ;mientras se mantenga pulsado
PD3 (DOWN)
rjmp descendente ;cuando se solto el pulsador PD3 empieza la
cuenta (DOWN)
ascendente:
ser r16 ;poner a 1 r16
out portd,r16 ;displays deshabilitados
inc unidades ;aumenta en 1 el registro "unidades"
cpi unidades,10 ;solo aumentra hasta 9
BREQ UNID ;salta si llega a ser 10 las unidades
rjmp asc ;mientras es menor que 10
13
LABORA TORIO – 91G MICROCONTROLADORES
descendente:
ser r16 ;poner a 1 r16
out portd,r16 ;displays deshabilitados
cpi unidades,0 ;solo decrementa si no es cero
BREQ UNID1 ;salta si llega a ser cero las unidades
dec unidades ;se decrementa en 1 el registro "unidades"
rjmp asc ;mientras es mayor que cero
CENT1:
ldi centenas,9 ;se hace 9 las centenas
rjmp asc
mov DISP,unidades
rcall CONVER
out portb,TEMP ;PARA MOSTRAR LAS UNIDADES
cbi portd,4 ;habilitar 1er display
rcall delay ;retardo 5ms aprox
sbi portd,4 ;displays deshabilitados
mov DISP,decenas
rcall CONVER
14
LABORA TORIO – 91G MICROCONTROLADORES
mov DISP,centenas
rcall CONVER
out portb,TEMP ;PARA MOSTRAR LAS CENTENAS
cbi portd,6 ;habilitar 3er display
rcall delay ;retardo 5ms aprox
sbi portd,6 ;displays deshabilitados
soli:
mov DISP,unidades
rcall CONVER
out portb,TEMP ;PARA MOSTRAR LAS UNIDADES
cbi portd,4 ;habilitar 1er display
rcall delay ;retardo 5ms aprox
sbi portd,4 ;displays deshabilitados
mov DISP,decenas
rcall CONVER
out portb,TEMP ;PARA MOSTRAR LAS DECENAS
cbi portd,5 ;habilitar 2er display
rcall delay ;retardo 5ms aprox
sbi portd,5 ;displays deshabilitados
mov DISP,centenas
rcall CONVER
out portb,TEMP ;PARA MOSTRAR LAS CENTENAS
cbi portd,6 ;habilitar 3er display
rcall delay ;retardo 5ms aprox
sbi portd,6 ;displays deshabilitados
rcall delay ;retardo 5ms aprox
15
LABORA TORIO – 91G MICROCONTROLADORES
doli:
mov DISP,unidades
rcall CONVER
out portb,TEMP ;PARA MOSTRAR LAS UNIDADES
cbi portd,4 ;habilitar 1er display
rcall delay ;retardo 5ms aprox
sbi portd,4 ;displays deshabilitados
mov DISP,decenas
rcall CONVER
out portb,TEMP ;PARA MOSTRAR LAS DECENAS
cbi portd,5 ;habilitar 2er display
rcall delay ;retardo 5ms aprox
sbi portd,5 ;displays deshabilitados
mov DISP,centenas
rcall CONVER
out portb,TEMP ;PARA MOSTRAR LAS CENTENAS
cbi portd,6 ;habilitar 3er display
rcall delay ;retardo 5ms aprox
sbi portd,6 ;displays deshabilitados
rcall delay ;retardo 5ms aprox
16
LABORA TORIO – 91G MICROCONTROLADORES
17
LABORA TORIO – 91G MICROCONTROLADORES
0-999 UP_DOWN.ASM
INICIALIZACION:
la pila: Stack:
$045F=RAMEND
CONFIGURACION DE PUERTOS
PORTD (2,3): ENTRADA
PORTD(4:6):SALIDA
PORTB(0:6):SALIDA
CUENTA INICIAL: NO
UNIDADES=0,DECENAS=0,CENTENAS=0
PD2=0 ó PD3=0
NO
PD2=1 ó PD3=1
UNIDADES=UNIDADES +1 UNIDADES=UNIDADES -1
DECENAS = DECENAS+1 (UNIDADES=10) DECENAS = DECENAS-1 (UNIDADES=0)
CENTENAS=CENTENAS+1(DECENAS=10) CENTENAS=CENTENAS-1(DECENAS=0)
MUESTRA NUMERO DE 3
DIGITOS EN EL DISPLAY
MULTIPLEXADO
18
LABORA TORIO – 91G MICROCONTROLADORES
7. Realizar pruebas.
Funcionamiento
19
LABORA TORIO – 91G MICROCONTROLADORES
20
LABORA TORIO – 91G MICROCONTROLADORES
Telegrafía
Considerada la tecnología más temprana de comunicación utilizando los
cables de electricidad, y por lo tanto comparten un interés en las economías
que ofrece multiplexación.
Los primeros experimentos permitieron que dos mensajes separados
puedan viajar en direcciones opuestas al mismo tiempo, en primer lugar
mediante una batería eléctrica en ambos extremos.
Telefonía
En telefonía, la línea de teléfono de un cliente por lo general termina en una
caja concentradora ubicada en la calle, donde se multiplexan las líneas de
teléfono para esa determinada área. La señal multiplexada luego es
transportada a la oficina central de conmutación.
La fibra en el bucle (FITL) es un método común de multiplexación, que utiliza
fibra óptica como columna vertebral. No sólo se conectan líneas POTS
teléfono con el resto de la PSTN, sino también reemplaza DSL mediante la
conexión directa a Ethernet por cable dentro del hogar.
Proceso video
El audio y video puede tener una velocidad variable de bits. El software que
genera este tipo de flujo de transporte y/o contenedores que comúnmente
se llama un multiplexor estadístico o muxer. A su vez un demuxer es un
software que extrae o realiza el proceso de separar los componentes de un
contenedor.
Difusión Digital
Difusión análoga
21
LABORA TORIO – 91G MICROCONTROLADORES
9. Conclusiones y recomendaciones.
Observaciones
Conclusiones
Para este laboratorio se aprendió más acerca del manejo de puertos e instrucciones
Y también direccionamiento. Esto ayuda a que cuando se tenga que programar, el
código no sea tan extenso.
22