comentarios de pics

13
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE INGENIERIA AUTOMOTRIZ MICROCONTROLADORES Y PLC NOMBRE: Fabián Simbaña NIVEL: Sexto ‘’A’’ FECHA: 26/10/2015 DEBER 1. Compruebe el funcionamiento en el simulador de todos los circuitos y programas presentados. Escriba los comentarios correspondientes en todas las instrucciones. CONTADORES CONTADOR ASCENDENTE 0-9 CON LAZO FOR – NEXT TRISB=0 ' ASIGNA EL PUERTO B COMO SALIDA N VAR BYTE ' VARIABLE N DE 8 BYTES CONTADOR: ' INICIO DEL PROGRAMA CONTADOR FOR N=0 TO 9 ' LAZO REPETITIVO QUE INICIA EN 0 Y FINALIZA EN 9 PORTB=N ' ASIGNA A LA VARIABLE N AL PUERTO B PAUSE 500 ' PAUSE DE 500 MS NEXT N ' AUMENTA EL VALOR DE N EN 1 GOTO CONTADOR ' REINICIA EL PROGRAMA END ' FINALIZA EL PROGRAMA CONTADOR

Transcript of comentarios de pics

Page 1: comentarios de pics

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE INGENIERIA AUTOMOTRIZ

MICROCONTROLADORES Y PLC

NOMBRE: Fabián Simbaña NIVEL: Sexto ‘’A’’ FECHA: 26/10/2015 DEBER 1. Compruebe el funcionamiento en el simulador de todos los circuitos y programas presentados. Escriba los comentarios correspondientes en todas las instrucciones.

CONTADORES CONTADOR ASCENDENTE 0-9 CON LAZO FOR – NEXT

TRISB=0 ' ASIGNA EL PUERTO B COMO SALIDA

N VAR BYTE ' VARIABLE N DE 8 BYTES

CONTADOR: ' INICIO DEL PROGRAMA CONTADOR

FOR N=0 TO 9 ' LAZO REPETITIVO QUE INICIA EN 0 Y FINALIZA EN 9

PORTB=N ' ASIGNA A LA VARIABLE N AL PUERTO B

PAUSE 500 ' PAUSE DE 500 MS

NEXT N ' AUMENTA EL VALOR DE N EN 1

GOTO CONTADOR ' REINICIA EL PROGRAMA

END ' FINALIZA EL PROGRAMA CONTADOR

Page 2: comentarios de pics

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE INGENIERIA AUTOMOTRIZ

MICROCONTROLADORES Y PLC

CONTADOR DESCENDENTE 9-0 CON LAZO FOR - NEXT

TRISB = 0 ' ASIGNA EL PUERTO B COMO SALIDA

N VAR BYTE ' VARIABLE N DE 8 BYTES

CONTADOR: ' ASIGNA NOMBRE CONTADOR AL PROGRAMA

FOR N = 9 TO 0 STEP -1 ' LAZO REPETITIVO QUE INICIA EN 0 Y FINALIZA EN 9 CON PASOS DE -1

PORTB = N ' ASIGNA A LA VARIABLE N AL PUERTO B

PAUSE 500 ' PAUSE DE 500 MS

NEXT N ' AUMENTA EL VALOR DE N EN 1

GOTO CONTADOR ' REINICIA CONTADOR

END ' FINALIZACION DEL PROGRAMA

CONTADOR 0-9 USANDO REPEAT - UNTIL

TRISB = 0 ' ASIGNA EL PUERTO B COMO SALIDA

I VAR BYTE ' VARIABLE I DE 8 BYTES

CONTADOR: ' ASIGNA NOMBRE CONTADOR AL PROGRAMA

I= 0 ' ASIGNA VALOR CERO A LA VARIABLE I

REPEAT ' REPETIR MIENTRAS EL VALOR SEA DIFERENTE DE LA CONDICION

GOSUB DISPLAY' LLAMA A LA SUBRUTINA DISPLAY

GOSUB TIMER ' LLAMA A LA SUBRUTINA TIMER

I = I + 1 ' INCREMENTA EL VALOR DE I EN 1

UNTIL I > 9 ' LOS VALORES AUMENTAN HASTA QUE I SEA MAYOR QUE 9

Page 3: comentarios de pics

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE INGENIERIA AUTOMOTRIZ

MICROCONTROLADORES Y PLC

GOTO CONTADOR' LLAMA A LA SUBRUTINA CONTADOR

DISPLAY ' SUBRUTINA DISPLAY

PORTB = I ' ASIGNA A LA VARIABLE I AL PUERTO B

RETURN ' RETORNA A LA SUBRUTINA

TIMER: ' SUBRUTINA TIMER

PAUSE 500 ' PAUSE DE 500 MS

RETURN ' RETORNA LA SUBRUTINA

END ' FINALIZA EL PROGRAMA

CONTADOR 0-9 USANDO WHILE – WEND

TRISB = 0 ' ASIGNA EL PUERTO B COMO SALIDA

I VAR BYTE ' VARIABLE DEL TIPO BYTE

CONTADOR: ' ASIGANA NOMBRE COMTADOR AL PROGRAMA

I= 0 ' VARIABLE I INICIA EN CERO

WHILE I<= 9 ' MIENTRAS I SEA MENOR O IGUAL A 9

GOSUB DISPLAY ' SUBRUTINA DISPLAY

GOSUB TIMER ' SUBRUTINA TIMER

I = I + 1 ' VALOR DE I SE INCREMENTA EN 1

WEND ' ENCUENTRA EL VALOR Y FINALIZA EL BUCLE

GOTO CONTADOR ' SE DIRIGE A CONTADOR

DISPLAY ' DISPLAY

Page 4: comentarios de pics

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE INGENIERIA AUTOMOTRIZ

MICROCONTROLADORES Y PLC

PORTB = I ' ASIGAN A LA VARIABLE I AL PUERTO B

RETURN ' RETORNA

TIMER: ' SUBRUTINA TIMER

PAUSE 500 ' PAUSE DE 500 MS

RETURN ' RETORNA PROGRAMA

END ' FINALIZA PROGRAMA

CONTADOR 0-9 USANDO IF – THEN – ELSE

TRISB = 0 ' ASIGNA EL PUERTO B COMO SALIDA

I VAR BYTE ' VARIABLE DEL TIPO BYTE

I= 0 ' LA VARIABLE INICIA EN CERO

CONTADOR: ' ASIGNA NOMBRE CONTADOR AL PROGRAMA

IF I < 10 THEN ' SI I ES MENOR A 10 ENTONCES

GOSUB DISPLAY ' SUBRUTINA DISPLAY

GOSUB TIMER ' SUBRUTINA TIMER

I = I + 1 ' VALOR DE I SE INCREMENTA EN 1

ELSE ' CASO CONTRARIO

I= 0 ' SI ES FALSO ES IGUAL A CERO

ENDIF ' FINALIZA EL COMANDO IF

GOTO CONTADOR ' SE DIRIGE A CONTADOR

DISPLAY ' ASIGANA DISPLAY

Page 5: comentarios de pics

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE INGENIERIA AUTOMOTRIZ

MICROCONTROLADORES Y PLC

PORTB = I ' ASIGNA A LA VARIABLE AL PUERTO B

RETURN ' RETORNA

TIMER: ' SUBRUTINA TIMER

PAUSE 500 ' PAUSE DE 500 MS

RETURN ' RETORNA

END ' FINALIZACION DE PROGRAMA

CONTADOR 0-9 USANDO DO WHILE LOOP

TRISB = 0 ' ASIGNA EL PUERTO B COMO SALIDA

I VAR BYTE ' VARIABLE DEL TIPO BYTE

CONTADOR: ' ASIGNA NOMBRE CONTADOR AL PROGRAMA

I= 0 ' ASIGNA EL VALOR CERO A LA VARIABLE I

DO WHILE I<= 9 ' MIENTRAS I SEA MENOR O IGUAL A 9

GOSUB DISPLAY ' SUBRUTINA DISPLAY

GOSUB TIMER ' SUBRUTINA TIMER

I = I + 1 ' IMCREMENTA EL VALOR DE I EN 1

LOOP ' FINALIZA EL BUCLE

GOTO CONTADOR ' SE DIRIGE A CONTADOR

DISPLAY ' ASIGNA DISPLAY

PORTB = I ' ASIGNA A LA VARIABLE I AL PUERTO B

RETURN ' RETORNA PROGRAMA

Page 6: comentarios de pics

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE INGENIERIA AUTOMOTRIZ

MICROCONTROLADORES Y PLC

TIMER: ' SUBRUTINA TIMER

PAUSE 500 ' PAUSE 500 MS

RETURN ' RETORNA PROGRAMA

END ' FINALIZACION DEL PROGRAMA

CONTADOR 00-99 MULTIPLEXADO

TRISA= 0 ' ASIGNA EL PUERTO A COMO SALIDA

TRISB= 0 ' ASIGNA EL PUERTO B COMO SALIDA

CMCON = 7 ' DIGITALIZA EL PUERTO B

N VAR BYTE ' VARIABLE DEL TIPO BYTE

UNIDAD VAR BYTE ' ASIGNA LA VARIABLE UNIDAD DEL TIPO BYTE

DECENA VAR BYTE ' ASIGNA LA VARIABLE UNIDAD DEL TIPO BYTE

UNIDAD = 0 ' VARIABLE UNIDAD INICIA EN CERO

DECENA = 0 ' VARIABLE DECENA INICIA EN CERO

CONTADOR: ' ASIGNA NOMBRE CONTADOR AL PROGRAMA

FOR DECENA = 0 TO 9 ' LAZO REPETITIVO QUE INICIA EN 0 Y TERMINA EN 9

FOR UNIDAD = 0 TO 9 ' LAZO REPETITIVO QUE INICIA EN 0 Y TERMINA EN 9

GOSUB DISPLAY ' SUBRUTINA DISPLAY

NEXT UNIDAD ' AUMENTA EL VALOR A LA VARIABLE UNIDAD EN 1

NEXT DECENA ' AUMENTA EL VALOR A LA VARIABLE DECENA EN 1

GOTO CONTADOR ' RETORNA CONTADOR

Page 7: comentarios de pics

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE INGENIERIA AUTOMOTRIZ

MICROCONTROLADORES Y PLC

DISPLAY: ' SUBRUTINA DISPLAY

FOR N = 1 TO 10 ' LAZO REPETITIVO QUE INICIA EN 0 Y TERMINA EN 10

PORTA = UNIDAD ' ASIGNA A LA VARIABLE UNIDAD AL PUERTO A

HIGH PORTB.0 ' EL PUERTO B LO PONE EN ALTO

LOW PORTB.1 ' EL PUERTO B LO PONE EN BAJO

PAUSE 50 ' PAUSE DE 50 MS

PORTA = DECENA ' ASIGNA A LA VARIABLE DECENA AL PUERTO A

HIGH PORTB.1 ' EL PUERTO B LO PONE EN BAJO

LOW PORTB.0 ' EL PUERTO B LO PONE EN BAJO

PAUSE 50 ' PAUSE DE 50 MS

NEXT N ' INCREMENTA EL VALOR DE N EN 1

RETURN ' RETORNA EL PROGRAMA

END ' FINALIZA EL PROGRAMA

PROGRAMA: CONTADOR ASCENDENTE 0-9.

TRISB=0 ' ASIGNA EL PUERTO B COMO SALIDA

CMCON=7 ' DIGITALIZA EL PUERTO B

N VAR BYTE ' VARIABLE N DE 8 BYTES

DATO VAR BYTE ' VARIABLE DATO DE 8 BYTES

Page 8: comentarios de pics

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE INGENIERIA AUTOMOTRIZ

MICROCONTROLADORES Y PLC

INICIO: ' ASIGNA EL NOMBRE INICIO AL PROGRAMA

FOR N=0 TO 9 ' LAZO REPETITIVO QUE INICIA EN 0 Y FINALIZA EN 9

LOOKUP N,[64,121,36,48,25,18,2,120,0,16],DATO 'ASIGNO A LA VARIABLE DATO EL VALOR DE LA TABLA DE ACUERDO AL VALOR EN EL INDICADOR

PORTB = DATO 'ASIGNA A LA VARIABLE DATO AL PUERTO B

PAUSE 300 ' PAUSE DE 300 MS

NEXT N ' INCREMENTA EL VALOR DE N EN 1

GOTO INICIO ' SE DIRIGE A INICIO

END ' FINALIZACION DEL PROGRAMA

PROGRAMA: CONTADOR DESCENDENTE 9-0.

TRISB=0 ' ASIGNA EL PUERTO B COMO SALIDA

CMCON=7 ' ASIGNA EL PUERTO B COMO SALIDA

N VAR BYTE ' VARIABLE N DE 8 BYTES

DATO VAR BYTE ' VARIABLE DATO DE 8 BYTES

INICIO: ' ASIGNA EL NOMBRE INICIO AL PROGRAMA

FOR N=9 TO 0 STEP -1 ' LAZO REPETITIVO QUE INICIA EN 0 Y FINALIZA EN 9 EN PASOS DE -1

LOOKUP N,[64,121,36,48,25,18,2,120,0,16],DATO 'ASIGNO A LA VARIABLE DATO EL VALOR DE LA TABLA DE ACUERDO AL VALOR EN EL INDICADOR

PORTB = DATO ' ASIGNA A LA VARIABLE DATO AL PUERTO B

PAUSE 300 ' PAUSE DE 300 MS

Page 9: comentarios de pics

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE INGENIERIA AUTOMOTRIZ

MICROCONTROLADORES Y PLC

NEXT N ' INCREMENTA EL VALOR DE N EN 1

GOTO INICIO ' SE DIRIGE A INICIO

END ' FINALIZACION DEL PROGRAMA

CONTADOR MULTIPLEXADO 00 – 99

TRISA= 0 'MODIFICA EL PUERTO A COMO SALIDA

TRISB= 0 'MODIFICA EL PUERTO B COMO SALIDA

CMCON = 7 'DIGITALIZA EL PUERTO A

N VAR BYTE 'ASIGNA LA VARIABLE N DEL TIPO BYTE

M VAR BYTE 'ASIGNA LA VARIABLE M DEL TIPO BYTE

X VAR BYTE 'ASIGNA LA VARIABLE X DEL TIPO BYTE

UNIDAD VAR BYTE 'ASIGNA LA VARIABLE UNIDAD DEL TIPO BYTE

DECENA VAR BYTE 'ASIGNA LA VARIABLE DECENA DEL TIPO BYTE

CONTADOR: 'ETIQUETA EL NOMBRE CONTADOR AL PROGRAMA

FOR N = 0 TO 9 'LAZO REPETITIVO QUE INICIA EN 0 Y TERMINA EN 9

LOOKUP N,[64,121,36,48,25,18,2,120,0,16,8,3,70,33,6,14],DECENA 'ASIGNO A LA VARIABLE DECENA EL VALOR DE LA TABLA DE ACUERDO AL VALOR EN EL INDICADOR

FOR M = 0 TO 9 'LAZO REPETITIVO QUE INICIA EN 0 Y TERMINA EN 9

LOOKUP M,[64,121,36,48,25,18,2,120,0,16,8,3,70,33,6,14],UNIDAD 'ASIGNO A LA VARIABLE UNIDAD EL VALOR DE LA TABLA DE ACUERDO AL VALOR EN EL INDICADOR

GOSUB DISPLAY 'LLAMA A LA SUBRUTINA DISPLAY

Page 10: comentarios de pics

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE INGENIERIA AUTOMOTRIZ

MICROCONTROLADORES Y PLC

NEXT M 'AUMENTA EL VALOR DE M EN 1

NEXT N 'AUMENTA EL VALOR DE N EN 1

GOTO CONTADOR 'SE DIRIGE A CONTADOR

DISPLAY: 'SUBRUTINA DISPLAY

FOR X = 1 TO 20 'LAZO REPETITIVO QUE INICIA EN 1 Y TERMINA EN 20

HIGH PORTA.1 'EL PUERTO A LO PONE EN ALTO

LOW PORTA.0 'EL PUERTO A LO PONE EN BAJO

PORTB = UNIDAD 'ASIGNA A LA VARIABLE UNIDAD AL PUERTO B

PAUSE 50 'REALIZA UNA PAUSA DE 50 MS

HIGH PORTA.0 'EL PUERTO A LO PONE EN ALTO

LOW PORTA.1 'EL PUERTO A LO PONE EN BAJO

PORTB = DECENA 'ASIGNA A LA VARIABLE DECENA AL PUERTO B

PAUSE 50 'REALIZA UNA PAUSA DE 50 MS

NEXT X 'AUMENTA EL VALOR DE X EN 1

RETURN 'RETORNO DE LA SUBRUTINA

END 'FINALIZACION DEL PROGRAMA

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

TRISB=0 ' ASIGNA EL PUERTO B COMO SALIDA

M VAR BYTE ' VARIABLE M DE 8 BYTES

Page 11: comentarios de pics

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE INGENIERIA AUTOMOTRIZ

MICROCONTROLADORES Y PLC

N VAR BYTE ' VARIABLE N DE 8 BYTES

INICIO: ' INICIO DEL PROGRAMA

FOR M=0 TO 9 ' LAZO REPETITIVO QUE INICIA EN 0 Y FINALIZA EN 9

FOR N=0 TO 9 ' LAZO REPETITIVO QUE INICIA EN 0 Y FINALIZA EN 9

PORTB=M*16+N

GOSUB TIEMPO ' LLAMA A LA SUBRUTINA TIEMPO

NEXT N ' AUMENTA EL VALOR DE N EN 1

NEXT M ' AUMENTA EL VALOR DE M EN 1

GOTO INICIO ' REINICIA EL PROGRAMA

TIEMPO: ' SUBRUTINA TIEMPO

PAUSE 200 ' TIEMPO DE 200 MS

RETURN ' RETORNA

END ' FINALIZACION DEL PROGRAMA

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

TRISA= 0 'MODIFICA EL PUERTO A COMO SALIDA

TRISB= 0 'MODIFICA EL PUERTO B COMO SALIDA

CMCON = 7 'DIGITALIZA EL PUERTO A

N VAR BYTE 'ASIGNA LA VARIABLE N DEL TIPO BYTE

Page 12: comentarios de pics

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE INGENIERIA AUTOMOTRIZ

MICROCONTROLADORES Y PLC

M VAR BYTE 'ASIGNA LA VARIABLE M DEL TIPO BYTE

X VAR BYTE 'ASIGNA LA VARIABLE X DEL TIPO BYTE

UNIDAD VAR BYTE 'ASIGNA LA VARIABLE UNIDAD DEL TIPO BYTE

DECENA VAR BYTE 'ASIGNA LA VARIABLE DECENA DEL TIPO BYTE

CONTADOR: 'ETIQUETA EL NOMBRE CONTADOR AL PROGRAMA

FOR N = 0 TO 2 'LAZO REPETITIVO QUE INICIA EN 0 Y TERMINA EN 9

LOOKUP N,[64,121,36],DECENA 'ASIGNO A LA VARIABLE DECENA EL VALOR DE LA TABLA DE ACUERDO AL VALOR EN EL INDICADOR

FOR M = 0 TO 9 'LAZO REPETITIVO QUE INICIA EN 0 Y TERMINA EN 9

LOOKUP M,[64,121,36,48,25,18,2,120,0,16],UNIDAD 'ASIGNO A LA VARIABLE UNIDAD EL VALOR DE LA TABLA DE ACUERDO AL VALOR EN EL INDICADOR

GOSUB DISPLAY 'LLAMA A LA SUBRUTINA DISPLAY

NEXT M 'AUMENTA EL VALOR DE M EN 1

NEXT N 'AUMENTA EL VALOR DE N EN 1

GOTO CONTADOR 'SE DIRIGE A CONTADOR

DISPLAY: 'SUBRUTINA DISPLAY

FOR X = 1 TO 23 'LAZO REPETITIVO QUE INICIA EN 1 Y TERMINA EN 20

HIGH PORTA.1 'EL PUERTO A LO PONE EN ALTO

LOW PORTA.0 'EL PUERTO A LO PONE EN BAJO

PORTB = UNIDAD 'ASIGNA A LA VARIABLE UNIDAD AL PUERTO B

PAUSE 5 'REALIZA UNA PAUSA DE 50 MS

HIGH PORTA.0 'EL PUERTO A LO PONE EN ALTO

LOW PORTA.1 'EL PUERTO A LO PONE EN BAJO

Page 13: comentarios de pics

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE INGENIERIA AUTOMOTRIZ

MICROCONTROLADORES Y PLC

PORTB = DECENA 'ASIGNA A LA VARIABLE DECENA AL PUERTO B

PAUSE 5 'REALIZA UNA PAUSA DE 50 MS

NEXT X 'AUMENTA EL VALOR DE X EN 1

RETURN 'RETORNO DE LA SUBRUTINA

END 'FINALIZACION DEL PROGRAMA