Está en la página 1de 15

UNIVERSIDAD DE LAS FUERZAS

ARMADAS ESPE

CARRERA DE INGENIERA AUTOMOTRIZ

CONTADOR ASCENDENTE 0-9 CON LAZO FOR - NEXT

TRISB = 0 'Modifica el puerto B como salida

N VAR BYTE 'Asigna la variable N 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

PORTB = N 'Asigna N al puerto B

PAUSE 500 'Realiza una pausa de 500 ms

NEXT 'Aumenta el valor de N en 1

GOTO CONTADOR 'Se dirige a contador

END ' fin del programa

CONTADOR DESCENDENTE 9-0 CON LAZO FOR - NEXT

TRISB = 0 'Modifica el puerto B como salida

N VAR BYTE 'Asigna la variable N del tipo Byte


UNIVERSIDAD DE LAS FUERZAS

ARMADAS ESPE

CARRERA DE INGENIERA AUTOMOTRIZ

CONTADOR: 'Etiqueta el nombre CONTADOR al programa

FOR N = 9 TO 0 STEP -1 'Lazo repetitivo que inicia en 9 y termina en 0 con un decremento de -1

PORTB = N 'Asigna N al puerto B

PAUSE 500 'Realiza una pausa de 500 ms

NEXT N 'Aumenta el valor de N en 1

GOTO CONTADOR 'Se dirige a contador

END ' fin del programa

CONTADOR 0-9 USANDO REPEAT - UNTIL

TRISB = 0 'Modificamos el puerto B como salida

I VAR BYTE ' CONTADOR

CONTADOR: 'Etiquetamos con el nombre CONTADOR al programa

I= 0 'Inicializamos a la variable I en 0

REPEAT 'Inicio lazo repetitivo


UNIVERSIDAD DE LAS FUERZAS

ARMADAS ESPE

CARRERA DE INGENIERA AUTOMOTRIZ

GOSUB DISPLAY 'Llama a la subrutina DISPLAY

GOSUB TIMER 'Llama a la subrutina TIMER

I=I+1 'Operacion con a variable I

UNTIL I > 9 'Esta ondicion se repite mientras I sea menor que 9

GOTO CONTADOR 'Regresa a contador

DISPLAY 'Subrutina DISPLAY

PORTB = I 'Asigna a la variable I al puerto B

RETURN 'Retorno de la subrutina

TIMER: 'Subrutina TIMER

PAUSE 500 'Realiza una pausa de 500ms

RETURN 'Retorno de la subrutina

END 'Fin del programa

CONTADOR 0-9 USANDO WHILE WEND


UNIVERSIDAD DE LAS FUERZAS

ARMADAS ESPE

CARRERA DE INGENIERA AUTOMOTRIZ

TRISB = 0 'Modificamos el puerto B como salida

I VAR BYTE ' CONTADOR asignamos la variableIdel tipo Byte

CONTADOR: Etiquetamos con el nombre CONTADOR al programa

I= 0 'Inicializamos a la variable I en 0

WHILE I<= 9 'Mientras I sea menor o igual a 9 se cumpe el lazo

GOSUB DISPLAY 'Llama a la subrutina DISPLAY

GOSUB TIMER 'Llama a la subrutina TIMER

I=I+1 'Realiza una operacion con la variabe I

WEND

GOTO CONTADOR 'Regresa a contador

DISPLAY 'Subrutina DISPLAY

PORTB = I 'Asigna a la variable I al puerto B

RETURN 'Retorno de la subrutina

TIMER: 'Subrutina TIMER

PAUSE 500 'Realiza una pausa de 500ms

RETURN 'Retorno de la subrutina

END 'Fin del programa


UNIVERSIDAD DE LAS FUERZAS

ARMADAS ESPE

CARRERA DE INGENIERA AUTOMOTRIZ

CONTADOR 0-9 USANDO IF THEN ELSE

TRISB = 0 'Regresa a contador

I VAR BYTE ' CONTADOR asigno la variable I del tipo Byte

I= 0 'Inicializamos a la variable I en 0

CONTADOR: 'Etiquetamos con el nombre CONTADOR al programa

IF I < 10 THEN 'Condicion con la cual se realiza el lazo

GOSUB DISPLAY 'Llama a la subrutina DISPLAY

GOSUB TIMER 'Llama a la subrutina TIMER

I=I+1 'Llama a la subrutina TIMER

ELSE 'Caso contrario

I= 0 'Caso contario realiza i=o

ENDIF 'Fin del if


UNIVERSIDAD DE LAS FUERZAS

ARMADAS ESPE

CARRERA DE INGENIERA AUTOMOTRIZ

GOTO CONTADOR 'Regresa a ONTADOR

DISPLAY 'Subrutina DISPLAY

PORTB = I 'Asigna a la variable I al puerto B

RETURN 'Retorno de la subrutina

TIMER: 'Subrutina TIMER

PAUSE 500 'Realiza una pausa de 500ms

RETURN 'Retorno de la subrutina

END 'FIN DEL PROGRAMA

PROGRAMA: CONTADOR ASCENDENTE 0-9.

TRISB = 0 'Modificamos el puerto B como salida

CMCON = 7 'Digitalizamos los puertos

N VAR BYTE 'Asigna la variable N del tipo Byte

DATO VAR BYTE 'Asigna la variable DATO del tipo Byte


UNIVERSIDAD DE LAS FUERZAS

ARMADAS ESPE

CARRERA DE INGENIERA AUTOMOTRIZ

INICIO: 'Etiqueta el nombre INICIO 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],DATO 'Asigno a la variable DECENA el valor de la tabla


de acuerdo al valor en el indicador

PORTB = DATO 'Asigna a la variable DATO al puerto B

PAUSE 300 'Realiza una pausa de 300ms

NEXT N 'Aumenta el valor de N en 1

GOTO INICIO 'Regresa a inicio

END 'fin del programa

CONTADOR MULTIPLEXADO DEL 00-99

TRISA = 0 'Modifica el puerto A como salida

TRISB= 0 'Modifica el puerto B como salida

CMCON = 7 'Digitaliza el puerto A


UNIVERSIDAD DE LAS FUERZAS

ARMADAS ESPE

CARRERA DE INGENIERA AUTOMOTRIZ

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 tablade 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

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


UNIVERSIDAD DE LAS FUERZAS

ARMADAS ESPE

CARRERA DE INGENIERA AUTOMOTRIZ

PAUSE 50 'Realiza una pausa de 50 ms

NEXT X 'Aumenta el valor de X en 1

RETURN 'Retorno de la subrutina

END 'Fin del programa

CONTADOR 00-99 CONECTADO EN EL MISMO PUERTO

Dato var byte 'Declaro la variable dato

M var byte 'Declaro la variable M para el for

Trisb = 0 'Modifico el puerto B como salida

Dato=0 'inicializo la variable dato en cero

CONTADOR: 'Etiqueto el nombre CONTADOR al programa

for m=0 to 9 'Inicio del for en 0 y termina en 9

PORTB=dato+m 'Asigno al puerto B la variable dato mas M


UNIVERSIDAD DE LAS FUERZAS

ARMADAS ESPE

CARRERA DE INGENIERA AUTOMOTRIZ

Pause 250 'Realizo una pausa de 250 ms

next m 'Aumento elvalor de M

Dato=dato+16 'A la variable dato le sumo 16 para obtener las decenas

if dato=36 then 'Pongo un lmite de 99 al contador

Dato=0

endif 'fin del if

goto contador 'Regreso a Contador

END

CONTADOR DE 00-99 PUERTO A Y PUERTO B

M VAR BYTE 'Asigna la variable M del tipo Byte

N VAR BYTE 'Asigna la variable N del tipo Byte

TRISA = 0 'Modifica el puerto A como salida


UNIVERSIDAD DE LAS FUERZAS

ARMADAS ESPE

CARRERA DE INGENIERA AUTOMOTRIZ

TRISB = 0 'Modifica el puerto B como salida

CMCON=7 'Digitaliza el puerto A

CONTADOR: 'Etiqueta el nombre CONTADOR al programa

FOR M = 0 TO 9 'Lazo repetitivo que inicia en 0 y termina en 9

FOR N= 0 TO 9 'Lazo repetitivo que inicia en 0 y termina en 9

GOSUB DISPLAY 'Llama a la subrutina Display

NEXT N 'Aumenta el valor de N en 1

NEXT M 'Aumenta el valor de M en 1

GOTO CONTADOR 'Se dirige a contador

DISPLAY: 'Subrutina Display

PORTA=M 'Asigna a la variable M al puerto A

PORTB=N 'Asigna a la variable N al puerto B

PAUSE 1000 'Realiza una pausa de 1000 ms

RETURN 'Retorno de la subrutina

END ' fin del programa


UNIVERSIDAD DE LAS FUERZAS

ARMADAS ESPE

CARRERA DE INGENIERA AUTOMOTRIZ

PROGRAMA QUE VA DE 00-23

CMCON = 7 'Digitaliza el puerto A

TRISA = 0 'Modifica el puerto A como salida

TRISB = 0 'Modifica el puerto B como salida

N VAR BYTE 'Asigna la variable N del tipo Byte

M VAR BYTE 'Asigna la variable M 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 'Inicializo la variable UNIDAD en cero

DECENA=0 'Inicializo la variable DECENA en cero

CONTADOR 'Etiqueta el nombre CONTADOR al programa


UNIVERSIDAD DE LAS FUERZAS

ARMADAS ESPE

CARRERA DE INGENIERA AUTOMOTRIZ

FOR DECENA=0 TO 1 '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 'Llama a la subrutina Display

NEXT UNIDAD 'Aumenta el valor de UNIDAD en 1

NEXT DECENA 'Aumenta el valor de DECENA en 1

FOR UNIDAD=0 TO 3 'Lazo repetitivo que inicia en 0 y termina en 9

GOSUB DISPLAY1 'Llama a la subrutina Display 1

NEXT UNIDAD 'Aumenta el valor de UNIDAD en 1

GOTO CONTADOR 'Regreso a Contador

DISPLAY 'Subrutina Display

FOR N=1 TO 10 'Lazo repetitivo que inicia en 1 y termina en 10

PORTA=UNIDAD 'Asigna a la variable UNIDAD al puerto A

HIGH PORTB.1 'El puerto B lo pone en ALTO

LOW PORTB.0 'El puerto B lo pone en BAJO

PAUSE 20 'Realiza una pausa de 20 ms

PORTA=DECENA 'Asigna a la variable DECENA al puerto A

HIGH PORTB.0 'El puerto B lo pone en ALTO

LOW PORTB.1 'El puerto B lo pone en BAJO

PAUSE 20 'Realiza una pausa de 20 ms

NEXT N 'Aumenta el valor de N en 1

RETURN 'Retorna a la subrutina


UNIVERSIDAD DE LAS FUERZAS

ARMADAS ESPE

CARRERA DE INGENIERA AUTOMOTRIZ

DISPLAY1 'Subrutina Display 1

FOR N=1 TO 10 'Lazo repetitivo que inicia en 1 y termina en 10

PORTA=UNIDAD 'Asigna a la variable UNIDAD al puerto A

HIGH PORTB.1 'El puerto B lo pone en ALTO

LOW PORTB.0 'El puerto B lo pone en BAJO

PAUSE 20 'Realiza una pausa de 20 ms

PORTA=DECENA 'Asigna a la variable DECENA al puerto A

HIGH PORTB.0 'El puerto B lo pone en ALTO

LOW PORTB.1 'El puerto B lo pone en BAJO

PAUSE 20 'Realiza una pausa de 20 ms

NEXT N 'Aumenta el valor de N en 1

RETURN 'Retorna a la subrutina

END
UNIVERSIDAD DE LAS FUERZAS

ARMADAS ESPE

CARRERA DE INGENIERA AUTOMOTRIZ

También podría gustarte