Вы находитесь на странице: 1из 17

CONTROL DE DISPLAY 7 SEGMENTOS

MICROCONTROLADORES LABORATORIO 3

CONTROL DE DISPLAY 7 SEGMENTOS


Objetivos
Conocer la estructura y funcionamiento de un display 7segmentos. Generar caracteres para que puedan ser visualizados en un Display 7segmentos nodo comn.

Fundamento terico y esquema


Manipular un display de 7 segmentos es sencillo y tenemos di versas formas de hacerlo. Antes de nada, acerqumonos un poco a estos displays. Bsicamente un display es una coleccin de leds ubicados de forma estratgica, y como todo led, obviamente, dispone de un ctodo y un nodo, el tema es que como son varios leds, se los agrupa uniendo sus ctodos en cuyo caso ser de ctodo comn, o bien agrupando sus nodos, resultando un display de nodo comn, por otro lado estos leds pueden ser fabricados en forma de puntos o segmentos, tal es as que se encuentran display s de 7 segmentos, como los de la imagen anterior (que son los ms comunes de todos). En la figura siguiente, se presenta un display con la notacin de los segmentos. Este display est compuesto por 10 pines, de los cuales 7 corresponden al ctodo de cada segmento (nombrados como a, b, c, d, e, f y g), uno para el punto (.), y finalmente 2 que corresponden al nodo, los cuales estn pintados de azul (sin nombre), aqu hay que aclarar algo, estos dos terminales son comunes, as que da lo mismo que se les conecte cualquiera de ellos o los dos.

CONTROL DE DISPLAY 7 SEGMENTOS


MICROCONTROLADORES LABORATORIO 3 Enunciado 1: Se desea visualizar en un display nodo comn, cada 500ms, los nmeros 0 a 9 si el interruptor conectado a la lnea PB0 est abierto y las letras H - O-L-A si el interruptor est cerrado. El display est conectado en el PORTD<6:0>. DESARROLLO DEL PROGRAMA 1. Para la elaboracin del programa, hemos considerado el display nodo comn y la tabla de cdigos anterior. Para ello vamos a utilizar el llamado a una tabla

Configuracin en nodo comn: Numero/letra 0 1 2 3 4 5 6 7 8 9 H O L A Decimal 64 121 36 48 25 18 3 120 0 24 9 64 71 8 Binario 1000000 1111001 0100100 0110000 0011001 0010010 0000011 1111000 0000000 0011000 0001001 1000000 1000111 0001000 Hexadecimal $40 $79 $24 $30 $19 $12 $03 $78 $00 $18 $09 $40 $47 $08

2. Realizar el diagrama de flujo del programa

Inicio

Pb0=1

CONTROL DE DISPLAY 7 SEGMENTOS


MICROCONTROLADORES LABORATORIO 3 3. Escriba las instrucciones comentadas

CONTROL DE DISPLAY 7 SEGMENTOS


MICROCONTROLADORES LABORATORIO 3

CONTROL DE DISPLAY 7 SEGMENTOS


MICROCONTROLADORES LABORATORIO 3

4. Hacer pruebas Contador ascendente cuando el interruptor est abierto

Se muestra la palabra hola cuando el interruptor est cerrado

CONTROL DE DISPLAY 7 SEGMENTOS


MICROCONTROLADORES LABORATORIO 3

Informe final: 1. Generar una tabla con los cdigos 7segmentos para un display ctodo comn y visualizarlos por el PORTB. Numero/letra 0 1 2 3 4 5 6 7 8 9 Decimal 63 6 91 79 102 109 125 7 127 103 Binario 0111111 0000110 1011011 1001111 1100110 1101101 1111101 0000111 1111111 1100111 Hexadecimal $3F $06 $5B $4F $66 $6D $7D $07 $7F $67

Diagrama de flujo: inicio

Bucle infinito

Display=0 Display=1 Display=2 Display=3 Display=4 Display=5 Display=6 Display=7 Display=8 Display=9

CONTROL DE DISPLAY 7 SEGMENTOS


MICROCONTROLADORES LABORATORIO 3 Conteo ascendente pero con display de ctodo comn.

2. Leer el dato introducido a travs de 4 interruptores conectados al PORTC y visualizarlo en un display 7 segmentos nodo comn conectado al PORTD.

CONTROL DE DISPLAY 7 SEGMENTOS


MICROCONTROLADORES LABORATORIO 3

CONTROL DE DISPLAY 7 SEGMENTOS


MICROCONTROLADORES LABORATORIO 3

Diagrama de flujo: Inicio

Bucle infinito

int r17,pinb conversin de r17 a lgica del display out portd,r17

CONTROL DE DISPLAY 7 SEGMENTOS


MICROCONTROLADORES LABORATORIO 3 Simulacin del circuito:

3. Realizar un contador ascendente y descendente segn si el interruptor conectado al PORTC.0 est abierto (ascendente) o cerrado ( descendente ) Los pulsos a contarse entran desde un pulsador conectado al PORTC.1. En nmero de pulsos es visualizado en un display ctodo comn conectado al PORTD. Pregunta 3

Diagrama de flujo:

CONTROL DE DISPLAY 7 SEGMENTOS


MICROCONTROLADORES LABORATORIO 3

Programacin:
.include"m8def.inc" .cseg .org 0x0000 RJMP INICIO INICIO :

LDI OUT SBI SBI

R16,$00 DDRC,R16 PORTC,PC0 PORTC,PC1

LDI R17,$7F OUT DDRD,R17 ;--------------LAZO: IN R16,PINC ANDI R16,$02 CPI R16,$00 BREQ PULSO LDI R16,$00 OUT PORTD,R16 RJMP LAZO ;----------------PULSO: IN R16,PINC ANDI R16,$01 CPI R16, $00 BREQ DESCENDENTE CPI R16,$01 BREQ ASCENDENTE ASCENDENTE LDI R16,$00 OUT PORTC,R16 RJMP LAZO ;Leo los pines del puerto C, pero solo interesa PBC ;Filtro solo el pin PC0. ;analizo si el interruptor est cerrado PCC=0? ;Si el interruptor esta cerrado, inicio el DESCENDENTE

;leo los pines delPORTC ;filtro solo el PC1

;Si el interruptor esta abierto entonces inicia

;--------------DESCENDENTE:

LDI R17,$67 OUT PORTD,R17 rcall delay

CONTROL DE DISPLAY 7 SEGMENTOS


MICROCONTROLADORES LABORATORIO 3
LDI R17,$7F OUT PORTD,R17 rcall delay

LDI R17,$07 OUT PORTD,R17 rcall delay

LDI R17,$7D OUT PORTD,R17 rcall delay

LDI R17,$6D OUT PORTD,R17 rcall delay

LDI R17,$66 OUT PORTD,R17 rcall delay

LDI R17,$4F OUT PORTD,R17 rcall delay

LDI R17,$5B OUT PORTD,R17 rcall delay

LDI R17,$06 OUT PORTD,R17 rcall delay

LDI R17,$3F OUT PORTD,R17 rcall delay RJMP LAZO ;---------------ASCENDENTE:

LDI R18,$3F OUT PORTD,R18 rcall delay

LDI R18,$06

CONTROL DE DISPLAY 7 SEGMENTOS


MICROCONTROLADORES LABORATORIO 3
OUT PORTD,R18 rcall delay

LDI R18,$5B OUT PORTD,R18 rcall delay

LDI R18,$4F OUT PORTD,R18 rcall delay

LDI R18,$66 OUT PORTD,R18 rcall delay

LDI R18,$6D OUT PORTD,R18 rcall delay

LDI R18,$7D OUT PORTD,R18 rcall delay

LDI R18,$07 OUT PORTD,R18 rcall delay

LDI R18,$7F OUT PORTD,R18 rcall delay

LDI R18,$67 OUT PORTD,R18 rcall delay

RJMP LAZO ;------------delay: ldi R19,20

CONTROL DE DISPLAY 7 SEGMENTOS


MICROCONTROLADORES LABORATORIO 3
ZZ: ldi R20,100 YY: ldi R21,40 XX: dec R21 BRNE XX dec R20 BRNE YY dec R19 BRNE ZZ RET

Esquema:

R8
10k

U1
14 15 16 17 18 19 9 10 PB0/ICP1 PB1/OC1A PB2/SS/OC1B PB3/MOSI/OC2 PB4/MISO PB5/SCK PB6/TOSC1/XTAL1 PB7/TOSC2/XTAL2 PC0/ADC0 PC1/ADC1 PC2/ADC2 PC3/ADC3 PC4/ADC4/SDA PC5/ADC5/SCL PC6/RESET PD0/RXD PD1/TXD PD2/INT0 PD3/INT1 PD4/T0/XCK PD5/T1 PD6/AIN0 PD7/AIN1 23 24 25 26 27 28 1 2 3 4 5 6 11 12 13

R7
220

R1
220

R2
220

21 20

AREF AVCC ATMEGA8

R3
220

R4
220

R5
220

R6
220

CONTROL DE DISPLAY 7 SEGMENTOS


MICROCONTROLADORES LABORATORIO 3

4. Se desea realizar un contador ascendente temporizado de 0 a 9. El display 7segmentos est conectado por medio de un decodificador BCD a 7segmentos ( 7447 para nodo comn ) . El decodificador est conectado en la parte alta del PORTD .

DIAGRAMA DE FLUJO:

CONTROL DE DISPLAY 7 SEGMENTOS


MICROCONTROLADORES LABORATORIO 3 PROGRAMACION:
.include"m8def.inc" .cseg .org 0x0000 RJMP INICIO INICIO: LDI R16,0B11110000 OUT DDRD,R16 LAZO: LDI R17,0B00000000 OUT PORTD,R17 RCALL DELAY LDI R17,0B00010000 OUT PORTD,R17 RCALL DELAY LDI R17,0B00100000 OUT PORTD,R17 RCALL DELAY LDI R17,0B00110000 OUT PORTD,R17 RCALL DELAY LDI R17,0B00110000 OUT PORTD,R17 RCALL DELAY LDI R17,0B01000000 OUT PORTD,R17 RCALL DELAY LDI R17,0B01010000 OUT PORTD,R17 RCALL DELAY LDI R17,0B01100000 OUT PORTD,R17 RCALL DELAY LDI R17,0B01110000 OUT PORTD,R17 RCALL DELAY LDI R17,0B10000000 OUT PORTD,R17 RCALL DELAY LDI R17,0B10010000 OUT PORTD,R17 RCALL DELAY RJMP LAZO DELAY: ldi R19,255 YY: ldi R20,255 XX: dec R20 BRNE XX dec R19 BRNE YY RET

CONTROL DE DISPLAY 7 SEGMENTOS


MICROCONTROLADORES LABORATORIO 3

SIMULACION:

U1
14 15 16 17 18 19 9 10 PB0/ICP1 PB1/OC1A PB2/SS/OC1B PB3/MOSI/OC2 PB4/MISO PB5/SCK PB6/TOSC1/XTAL1 PB7/TOSC2/XTAL2 PC0/ADC0 PC1/ADC1 PC2/ADC2 PC3/ADC3 PC4/ADC4/SDA PC5/ADC5/SCL PC6/RESET PD0/RXD PD1/TXD PD2/INT0 PD3/INT1 PD4/T0/XCK PD5/T1 PD6/AIN0 PD7/AIN1 23 24 25 26 27 28 1 2 3 4 5 6 11 12 13

R7
220

R1 U2
7 1 2 6 4 5 3 A B C D BI/RBO RBI LT 74LS47 QA QB QC QD QE QF QG 13 12 11 10 9 15 14 220

R2
220

21 20

AREF AVCC ATMEGA8

R3
220

R4
220

R5
220

R6
220

CONCLUSIONES:
Aprendimos a utilizar la tabla de valores para el display de 7 segmentos. El integrado 7447 es un decodificador que reduce la introducir de valores o datos en binario para que el display muestre el resultado que uno desea, este decodificador es de gran ayuda. Utilizamos retardos para el tiempo que demore de un estado al siguiente. Realizamos los diagramas de flujo para cada pregunta ya que esto ayuda muchsimo a entender de manera rpida y sencilla la lgica utilizada en la programacin ya sea en lenguaje C como en assembler.

Вам также может понравиться