contadores.pdf

Upload: oscar-pilataxi

Post on 07-Mar-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 1

    MANEJO DE DISPLAYS DE 7 SEGMENTOS CONTADORES

    El display nodo comn

    En el display nodo comn, todos los nodos de los diodos LED unidos y conectados a la fuente de alimentacin. En este caso para activar cualquier elemento hay que poner el ctodo del elemento a tierra a travs de una resistencia para limitar la corriente que pasa por el elemento.

    El display ctodo comn

    El display ctodo comn tiene todos los nodos de los diodos LED unidos y conectados a tierra. Para activar un segmento de estos hay que poner el nodo del segmento a encender a Vcc (tensin de la fuente) a travs de una resistencia para limitar el paso de la corriente.

  • 2

    CONEXIN PIC DECODIFICADOR 7447 Y DISPLAY NODO COMN

    CONEXIN PIC DECODIFICADOR 7448 Y DISPLAY CTODO COMN

    INSTRUCCIONES Y PROGRAMAS

    LAZO BUCLE FOR NEXT Formato: Incrementa en 1 FOR contador= valor inicial TO Valor Final Instrucciones NEXT ; es opcional colocar el nombre de la variable contador

    Incrementa en n veces FOR contador= valor inicial TO Valor Final STEP n Instrucciones NEXT

    Decrementa en n veces FOR contador= valor inicial TO Valor Final STEP - numero

  • 3

    Instrucciones NEXT

    LAZO WHILE WEND Formato:

    WHILE Condicin Instrucciones WEND Repetidamente ejecuta las instrucciones contenidas en el lazo WHILE WEND,

    mientras la condicin WHILE es verdadera. Cuando la condicin es falsa, contina la ejecucin hasta encontrar el WEND y finaliza el bucle. La condicin puede ser una expresin de comparacin. Ejemplo:

    i = 1 WHILE i

  • 4

    REPEAT...UNTIL, siempre un grupo de instrucciones son ejecutadas mientras una condicin especificada es falsa. Ejemplo: i= 0 REPEAT Instrucciones i = i + 1 UNTIL i > 7 ; condicin, repite mientas i sea menor a 7

    INSTRUCCIN IF THEN La instruccin IF THEN, sirve de condicionante. Ejecuta la operacin que sigue al

    THEN, si es verdadera la condicin, o si es falsa, salta a la siguiente lnea despus del

    THEN.

    FORMATO GENERAL: IF condicin THEN

    Existen varias formas de aplicacin a saber: a) IF portb.0 = 0 THEN GOSUB Activar Si portb.0 = 0 ejecutar la subrutina Activar. b) IF porta.7 = 1 THEN Si porta.7 = 1 entonces Set de instrucciones Conjunto de instrucciones a ejecutar si la condicin es verdadera ENDIF c) IF (portb.1 = 0) AND (portb.0 = 1) THEN Condicin de comparacin lgica Set de instrucciones Conjunto de instrucciones a ejecutar si la condicin es verdadera ELSE Set de instrucciones Conjunto de instrucciones a ejecutar si la condicin es falso ENDIF

    CONTADORES

    CONTADOR ASCENDENTE 0-9 CON LAZO FOR - NEXT

    TRISB = 0 N VAR BYTE

    CONTADOR: FOR N = 0 TO 9 PORTB = N PAUSE 500 NEXT GOTO CONTADOR END

  • 5

    CONTADOR DESCENDENTE 9-0 CON LAZO FOR - NEXT

    TRISB = 0 N VAR BYTE

    CONTADOR: FOR N = 9 TO 0 STEP -1 PORTB = N PAUSE 500 NEXT N GOTO CONTADOR END

    CONTADOR 0-9 USANDO REPEAT - UNTIL

    TRISB = 0 I VAR BYTE ' CONTADOR

    CONTADOR: I= 0 REPEAT GOSUB DISPLAY GOSUB TIMER I = I + 1 UNTIL I > 9

    GOTO CONTADOR

    DISPLAY PORTB = I RETURN TIMER: PAUSE 500 RETURN END

  • 6

    CONTADOR 0-9 USANDO WHILE WEND

    TRISB = 0 I VAR BYTE ' CONTADOR

    CONTADOR: I= 0 WHILE I

  • 7

    CONTADOR 0-9 USANDO DO WHILE LOOP

    TRISB = 0 I VAR BYTE ' CONTADOR

    CONTADOR: I= 0 DO WHILE I

  • 8

    PORTA = DECENA HIGH PORTB.1 LOW PORTB.0 PAUSE 50 NEXT N RETURN END

    INSTRUCCIN LOOKUP

    FORMATO LOOKUP Indice, [constante1, constante2, ......], varX

    LOOKUP almacena una tabla de datos constantes de 8 bits. Si el Indice es 0, varX toma el primer valor constante1, y as sucesivamente. Si Indice es mayor o igual que el nmero de entradas en la lista de constantes, no se toma ninguna accin y varX permanece sin cambios. La lista de constantes pueden ser una mezcla de nmeros y cadenas. Cada caracter en una cadena es tratado como una constante separada con el valor del caracter ASCII. Las variables de array con ndice variable no pueden ser utilizadas con LOOKUP, aunque es permitido variables de array con ndice constantes.

    Ejemplo: LOOKUP n, ["ElectroMicroDigital"], m ; Si n= 1, la letra l es asignada a la

    variable m LOOKUP x, [1,6,0,5,8,N E,4,5,3], display ; Si x= 8, el nmero 4 es asignado a la

    variable display. El espacio en blanco ocupa el lugar de un carcter.

    Preguntas: 1. Cul es valor de m si n = 8 2. Cul debe ser el valor de x, si display vale 3.

  • 9

    DECODIFICACIN A 7 SEGMENTOS

    PARA DISPLAY NODO COMN

    Equivalencia en Decimal

    g f e d c b a # 7segmentos

    64 1 0 0 0 0 0 0

    121 1 1 1 1 0 0 1

    36 0 1 1 0 0 0 0

    48 0 1 1 0 0 0 0

    25 0 0 1 1 0 0 1

    18 0 0 1 0 0 1 0

    2 0 0 0 0 0 1 0

    120 1 1 1 1 0 0 0

    0 0 0 0 0 0 0 0

  • 10

    16 0 0 1 0 0 0 0

    PROGRAMA: CONTADOR ASCENDENTE 0-9.

    TRISB = 0 CMCON = 7 N VAR BYTE DATO VAR BYTE INICIO: FOR N = 0 TO 9 LOOKUP N,[64,121,36,48,25,18,2,120,0,16],DATO PORTB = DATO PAUSE 300 NEXT N GOTO INICIO END

    PROGRAMA: CONTADOR DESCENDENTE 9-0.

    OSCCON = %01100110 ANSEL = 0 TRISB = 0 CMCON = 7 N VAR BYTE DATO VAR BYTE INICIO: FOR N = 9 TO 0 STEP -1 LOOKUP N,[64,121,36,48,25,18,2,120,0,16],DATO PORTB = DATO PAUSE 300 NEXT N GOTO INICIO END

  • 11

    CONEXIN DEL PIC A DISPLAY DE 7 SEGMENTOS

    CONTADOR MULTIPLEXADO 00 99

    TRISA = 0 TRISB= 0 CMCON = 7 N VAR BYTE M VAR BYTE X VAR BYTE UNIDAD VAR BYTE DECENA VAR BYTE

    CONTADOR: FOR N = 0 TO 9 LOOKUP N,[64,121,36,48,25,18,2,120,0,16,8,3,70,33,6,14],DECENA FOR M = 0 TO 9 LOOKUP M,[64,121,36,48,25,18,2,120,0,16,8,3,70,33,6,14],UNIDAD GOSUB DISPLAY NEXT M NEXT N GOTO CONTADOR

    DISPLAY:

    FOR X = 1 TO 20 HIGH PORTA.1 LOW PORTA.0 PORTB = UNIDAD PAUSE 25 HIGH PORTA.0 LOW PORTA.1 PORTB = DECENA PAUSE 25

  • 12

    NEXT X RETURN END

  • 13

    ACTIVIDADES DE CLASE

    1. Compruebe el funcionamiento en el simulador de los circuitos y programas: contador ascendente y descente sin decodificador, multiplexado 00-99. Escriba los comentarios correspondientes en todas las instrucciones.

    2. Realice un programa para un contador MOD 100 (00-99). Los displays estn conectados en el puerto A y B respectivamente, como se indica en la figura.

    DEBER

    1. Compruebe el funcionamiento en el simulador de todos los circuitos y programas presentados. Escriba los comentarios correspondientes en todas las instrucciones.

    2. Realice un contador mdulo 100 (00-99), para controlar los displays conectados en el mismo puerto como se ve en la figura.

  • 14

    3. Realice un contador ascendente mdulo 23, con los displays multiplexados, es decir conectados en el mismo puerto, sin decodificador.