Logo Studenta

Práctica 5 Microcontroladores

¡Estudia con miles de materiales!

Vista previa del material en texto

INSTITUTO TECNOLÓGICO DE LA LAGUNA 
PRÁCTICA 5 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MICROCONTROLADORES 
Ingeniería Mecatrónica Semestre 6 
Alumno: Christian Enrique González Robles No. Control: 19131206 
 
2 
 
INSTITUTO TECNOLÓGICO DE LA LAGUNA 
Práctica 5 
Utilizando el PIC 16F877, hacer un programa que genere las siguientes secuencias de acuerdo a la 
posición de los interruptores 0 y 1. Considerando la arquitectura del microcontrolador determine los 
puertos a utilizar. Una vez que haya obtenido el código binario simule su funcionamiento en el 
PROTEUS. 
LED 7 LED 6 LED 5 LED 4 LED 3 LED 2 LED 1 LED 0 
 
Bit 1 Bit 2 Secuencia 
0 0 1 
0 1 2 
1 0 3 
1 1 4 
Secuencia 1 
Secuencia 3 
Secuencia 2 Secuencia 2 
 
Secuencia 3 
Secuencia 4 
 
3 
 
INSTITUTO TECNOLÓGICO DE LA LAGUNA 
Diagrama de Flujo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Inicio 
Qué bit hay en la 
primera entrada? 
Qué bit hay en la 
segunda entrada? 
Qué bit hay en la 
segunda entrada? 
Secuencia 1 Secuencia 2 Secuencia 4 Secuencia 3 
MOVLW B'00000001' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00000010' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00000100' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00001000' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00010000' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00100000' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'01000000' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'10000000' 
MOVWF PORTB 
CALL RETARDO 
 GOTO ENTRADAS 
MOVLW B'00011000' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00100100' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'01000010' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'10000001' 
MOVWF PORTB 
CALL RETARDO 
 
MOVLW B'10000001' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'01000010' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00100100' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00011000' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'10000000' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'01000000' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00100000' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00010000' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00001000' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00000100' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00000010' 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00000001' 
MOVWF PORTB 
CALL RETARDO 
0 1 
 
0 
 
1 
 
0 
 
1 
 
Fin 
 
4 
 
INSTITUTO TECNOLÓGICO DE LA LAGUNA 
Código Fuente 
 LIST P=16F877A 
 INCLUDE <p16F877a.inc> ; Incluimos la librería del PIC para no tener que definir de manera manual los registros 
 
 DE1 EQU 0X20 
 DE2 EQU 0X21 
 DE3 EQU 0X22 
 
ORG 0 ; Se establece la configuración de los puertos 
 BSF STATUS,5 ; Definimos el bit 5 del STATUS como uno para hacer referencia a que nos dirigiremos al banco 1 
 CLRF TRISB ; Limpiamos el Registro TRISB definiendo el puerto B como salidas 
 MOVLW B'11' ; Asignamos el binario 11 al registro TRISD definiendo dos pines como entradas 
 MOVWF TRISD 
 BCF STATUS,5 ; Regresamos al banco 0 
 CLRF PORTB ;Limpiamos los puertos para asegurarnos de que no se afecten las señales de entrada por señales previas 
 CLRF PORTD 
 
ENTRADAS ; Se declaran las secuencias de bits que deben de entrar en los puertos que posteriormente definirán la secuencia que terminará por ejecutarse 
 MOVLW B'00' 
 SUBWF PORTD,W 
 BTFSC STATUS,Z 
 GOTO ENTRADA1 
 
 MOVLW B'01' 
 SUBWF PORTD,W 
 BTFSC STATUS,Z 
 GOTO ENTRADA2 
 
 MOVLW B'10' 
 SUBWF PORTD,W 
 BTFSC STATUS,Z 
 GOTO ENTRADA3 
 
 MOVLW B'11' 
 SUBWF PORTD,W 
 BTFSC STATUS,Z 
 GOTO ENTRADA4 
GOTO ENTRADAS 
 
ENTRADA1 ; Se carga cada binario para la secuencia visual de los leds en el registro W y posteriormente se mueve a la salida en el puerto B 
 MOVLW B'00000001' 
 MOVWF PORTB 
 CALL RETARDO ; La llamada a retardo permite que los movimientos se ralentizen lo suficiente como para poder percibirlos de manera 
cómoda en los leds 
 MOVLW B'00000010' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'00000100' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'00001000' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'00010000' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'00100000' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'01000000' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'10000000' 
 MOVWF PORTB 
 CALL RETARDO 
 GOTO ENTRADAS ; Una vez terminada la secuencia se realiza un regreso a leer nuevamente las entradas para verificar que secuencia se debe 
realizar después 
 ; Este proceso se repite con las demás secuencias 
ENTRADA2 
 MOVLW B'00011000' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'00100100' 
 
5 
 
INSTITUTO TECNOLÓGICO DE LA LAGUNA 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'01000010' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'10000001' 
 MOVWF PORTB 
 CALL RETARDO 
 GOTO ENTRADAS 
 
ENTRADA3 
 MOVLW B'10000001' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'01000010' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'00100100' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'00011000' 
 MOVWF PORTB 
 CALL RETARDO 
 GOTO ENTRADAS 
 
ENTRADA4 
 MOVLW B'10000000' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'01000000' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'00100000' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'00010000' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'00001000' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'00000100' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'00000010' 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW B'00000001' 
 MOVWF PORTB 
 CALL RETARDO 
 GOTO ENTRADAS 
 
RETARDO ; Estos retardos y sub retardos están hechos para hacer una cuenta de (255)*(255)*(5) pulsos para que se visualicen de manera cómoda las 
secuencias 
 MOVLW 5 
 MOVWF DE3 
 
RETARDO3 
 MOVLW 255 
 MOVWF DE2 
 
RETARDO2 
 MOVLW 255 
 MOVWF DE1 
RETARDO1 
 DECFSZ DE1,1 
 GOTO RETARDO1 
 DECFSZ DE2,1 
 GOTO RETARDO2 
 DECFSZ DE3,1 
 GOTO RETARDO3 
 RETURN 
 
END

Continuar navegando

Materiales relacionados

10 pag.
Practica 09 - Hector Campos

User badge image

Muchos Materiales

14 pag.
MANUAL DE USO TELÉFONOS IP

Xochicalli

User badge image

Laura vanessa Corredor diaz