Logo Studenta

Práctica 6 Microcontroladores

¡Estudia con miles de materiales!

Vista previa del material en texto

INSTITUTO TECNOLÓGICO DE LA LAGUNA 
PRÁCTICA 6 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 6 
Basado en el microcontrolador PIC 16F877 hacer un programa para obtener lo siguiente: 
monitorear el valor que se presente en dos interruptores conectados a un puerto del 
microcontrolador, si el valor observado es “ 00 “ se muestra el número de control en la salida, en el 
caso de ser un “01” se debe mostrar la fecha con el formato ddmmaño, si se presenta un “10” se 
muestra el semestre cursado durante un segundo, y si la combinación es “11” se deben encender 
todos los indicadores de la salida. El dispositivo de salida será implementado con un display de 7 
segmentos. 
 
 
 
 
Bit 1 Bit 2 Secuencia 
0 0 1 
0 1 2 
1 0 3 
1 1 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'00000110' ;para 1 
MOVWF PORTB 
CALL DELAY 
MOVLW B'01101111' ;para 9 
MOVWF PORTB 
CALL DELAY 
MOVLW B'00000110' ;para 1 
MOVWF PORTB 
CALL DELAY 
MOVLW B'01001111' ;para 3 
MOVWF PORTB 
CALL DELAY 
MOVLW B'00000110' ;para 1 
MOVWF PORTB 
CALL DELAY 
MOVLW B'01011011' ;para 2 
MOVWF PORTB 
CALL DELAY 
MOVLW B'00111111' ;para 0 
MOVWF PORTB 
CALL DELAY 
MOVLW B'01111101' ;para 6 
MOVWF PORTB 
CALL DELAY 
MOVLW B'01011011' ;para 2 
MOVWF PORTB 
CALL DELAY 
MOVLW B'01101111' ;para 9 
MOVWF PORTB 
CALL DELAY 
MOVLW B'001000000' ;para guión 
MOVWF PORTB 
CALL DELAY 
MOVLW B'00111111' ;para 0 
MOVWF PORTB 
CALL DELAY 
MOVLW B'01011011' ;para 2 
MOVWF PORTB 
CALL DELAY 
MOVLW B'001000000' ;para guión 
MOVWF PORTB 
CALL DELAY 
MOVLW B'01011011' ;para 2 
MOVWF PORTB 
CALL DELAY 
MOVLW B'00111111' ;para 0 
MOVWF PORTB 
CALL DELAY 
 MOVLW 
B'01011011' ;para 2 
 MOVWF PORTB 
 CALL DELAY 
 MOVLW 
B'01011011' ;para 2 
 MOVWF PORTB 
 CALL DELAY 
MOVLW B'01111101' 
;para el semestre 6 
MOVWF PORTB 
MOVLW B'11111111' 
;para todos los 
indicadores 
encendidos 
MOVWF PORTB 
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 
 
 ;B'00000110' para 1 
 ;B'01011011' para 2 
 ;B'01001111' para 3 
 ;B'01100110' para 4 
 ;B'01101010' para 5 
 ;B'01111101' para 6 
 ;B'00000111' para 7 
 ;B'01111111' para 8 
 ;B'01101111' para 9 
 ;B'00111111' para 0 
 ;B'001000000' para guión 
 
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 
 
;Se muestra el número de control 
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'00000110' ;para 1 
 MOVWF PORTB 
 CALL DELAY ; La llamada a delay permite que los movimientos se ralentizen lo suficiente como para poder percibirlos de manera cómoda en 
los leds 
 MOVLW B'01101111' ;para 9 
 MOVWF PORTB 
 CALL DELAY 
 MOVLW B'00000110' ;para 1 
 MOVWF PORTB 
 CALL DELAY 
 MOVLW B'01001111' ;para 3 
 MOVWF PORTB 
 CALL DELAY 
 MOVLW B'00000110' ;para 1 
 MOVWF PORTB 
 CALL DELAY 
 MOVLW B'01011011' ;para 2 
 MOVWF PORTB 
 CALL DELAY 
 
5 
 
INSTITUTO TECNOLÓGICO DE LA LAGUNA 
 MOVLW B'00111111' ;para 0 
 MOVWF PORTB 
 CALL DELAY 
 MOVLW B'01111101' ;para 6 
 MOVWF PORTB 
 CALL DELAY 
 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 ;Se muestra la fecha definida en el día 29/02/2022 
 MOVLW B'01011011' ;para 2 
 MOVWF PORTB 
 CALL DELAY 
 MOVLW B'01101111' ;para 9 
 MOVWF PORTB 
 CALL DELAY 
 MOVLW B'001000000' ;para guión 
 MOVWF PORTB 
 CALL DELAY 
 MOVLW B'00111111' ;para 0 
 MOVWF PORTB 
 CALL DELAY 
 MOVLW B'01011011' ;para 2 
 MOVWF PORTB 
 CALL DELAY 
 MOVLW B'001000000' ;para guión 
 MOVWF PORTB 
 CALL DELAY 
 MOVLW B'01011011' ;para 2 
 MOVWF PORTB 
 CALL DELAY 
 MOVLW B'00111111' ;para 0 
 MOVWF PORTB 
 CALL DELAY 
 MOVLW B'01011011' ;para 2 
 MOVWF PORTB 
 CALL DELAY 
 MOVLW B'01011011' ;para 2 
 MOVWF PORTB 
 CALL DELAY 
 GOTO ENTRADAS 
 
ENTRADA3 ; Se muestra el semestre cursado 
 MOVLW B'01111101' ;para el semestre 6 
 MOVWF PORTB 
 GOTO ENTRADAS 
 
ENTRADA4 ; Se muestran todos los indicadores encendidos 
 MOVLW B'11111111' ;para todos los indicadores encendidos 
 MOVWF PORTB 
 GOTO ENTRADAS 
 
; 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 
DELAY ;A pesar de que se debe correr a pasos la simulación, necesita retardos para una buena ejecución 
 MOVLW 3 
 MOVWF DE3 
 DELAY3 
 MOVLW 255 
 MOVWF DE2 
DELAY2 
 MOVLW 255 
 MOVWF DE1 
DELAY1 
 DECFSZ DE1,1 
 GOTO DELAY1 
 DECFSZ DE2,1 
 GOTO DELAY2 
 DECFSZ DE3,1 
 GOTO DELAY3 
 RETURN 
 
END

Continuar navegando

Contenido elegido para ti

97 pag.
DocsTec-6501

ITESM

User badge image

Todo para Aprender

14 pag.
MANUAL DE USO TELÉFONOS IP

Xochicalli

User badge image

Laura vanessa Corredor diaz

11 pag.
Manejo-Puertos

UBAM

User badge image

Contenidos Muy Locos

Otros materiales