Logo Studenta

Práctica 8 Microcontroladores

¡Estudia con miles de materiales!

Vista previa del material en texto

INSTITUTO TECNOLÓGICO DE LA LAGUNA 
PRÁCTICA 8 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 8 
Basándose 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. Como dispositivo de salida se utilizará un módulo LCD. 
 
 
 
 
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 RETARDO 
MOVLW B'01101111' ;para 9 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00000110' ;para 1 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'01001111' ;para 3 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00000110' ;para 1 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'01011011' ;para 2 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00111111' ;para 0 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'01111101' ;para 6 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'01011011' ;para 2 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'01101111' ;para 9 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'001000000' ;para guión 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00111111' ;para 0 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'01011011' ;para 2 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'001000000' ;para guión 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'01011011' ;para 2 
MOVWF PORTB 
CALL RETARDO 
MOVLW B'00111111' ;para 0 
MOVWF PORTB 
CALL RETARDO 
 MOVLW 
B'01011011' ;para 2 
 MOVWF PORTB 
 CALL RETARDO 
 MOVLW 
B'01011011' ;para 2 
 MOVWF PORTB 
 CALL RETARDO 
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 
 
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 
 CLRF TRISC ; Limpiamos el Registro TRISC definiendo el puerto C 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 
 CLRF PORTC 
 CALL INICIALIZAR 
 
CICLO ; Se declaran las secuencias de bits que deben de entrar en los puertos que posteriormente definirán la secuencia que terminará por ejecutarse 
 BCF PORTC,0 
 MOVLW B'10000000'; FILA 0 COLUMNA 0 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 
 MOVLW B'00' 
 SUBWF PORTD,W 
 BTFSC STATUS,Z 
 GOTO E1 
 
 MOVLW B'01' 
 SUBWF PORTD,W 
 BTFSC STATUS,Z 
 GOTO E2 
 
 MOVLW B'10' 
 SUBWF PORTD,W 
 BTFSC STATUS,Z 
 GOTO E3 
 
 MOVLW B'11' 
 SUBWF PORTD,W 
 BTFSC STATUS,Z 
 GOTO E4 
 GOTO CICLO 
 
INICIALIZAR ; Se establecen las configuracines propias del LCD display 
 BCF PORTC,0 
 MOVLW B'00111001';ACTIVAR 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW B'00001100';CURSOR 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW B'00000100';DEZPLAZAMIENTO 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW B'00000001';LIMPIAR 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW B'10000000';FILA 0 COLUMNA 0 
 MOVWF PORTB 
 
5 
 
INSTITUTO TECNOLÓGICO DE LA LAGUNA 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 RETURN 
 
;Se muestra el número de control 
E1 ; Se carga el caracter en el registro W y posteriormente se mueve a la salida en el puerto B para que el display lea su código ASCII 
 BSF PORTC,0 
 MOVLW '1'; 1 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '9'; 2 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '1'; 3 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '3'; 4 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '1';5 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '2'; 6 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '0'; 7 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '6'; 8 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 9 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 10 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 11 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 12 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 13 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 14 
 
6 
 
INSTITUTO TECNOLÓGICO DE LA LAGUNA 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 15 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 16 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 
 GOTO CICLO 
 
E2 ;Se muestra la fecha definida en el día 31/03/2022 
BSF PORTC,0 
 MOVLW '3'; 1 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '1'; 2 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '-'; 3 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '0'; 4 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '3'; 5 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '-'; 6 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '2'; 7 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '0'; 8 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '2'; 9 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '2'; 10 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 11 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 
7 
 
INSTITUTO TECNOLÓGICO DE LA LAGUNA 
 MOVLW ' '; 12 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 13 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 14 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 15 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 16 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 GOTO CICLO 
 
E3 ; Se muestra el semestre cursado 
BSF PORTC,0 
 MOVLW 'S'; 1 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW 'E'; 2 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW 'M'; 3 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW 'E'; 4 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW 'S'; 5 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW 'T'; 6 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW 'R'; 7 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW 'E'; 8 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 9 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCFPORTC,1 
 
8 
 
INSTITUTO TECNOLÓGICO DE LA LAGUNA 
 MOVLW '6'; 10 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 11 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 12 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 13 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 14 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 15 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW ' '; 16 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 GOTO CICLO 
 
E4 ; Se muestran todos los indicadores encendidos 
BSF PORTC,0 
 MOVLW '*'; 1 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '*'; 2 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '*'; 3 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '*'; 4 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '*'; 5 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '*'; 6 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '*'; 7 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 
9 
 
INSTITUTO TECNOLÓGICO DE LA LAGUNA 
 MOVLW '*'; 8 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '*'; 9 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '*'; 10 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '*'; 11 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '*'; 12 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '*'; 13 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '*'; 14 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '*'; 15 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 MOVLW '*'; 16 
 MOVWF PORTB 
 BSF PORTC,1 
 CALL DELCD 
 BCF PORTC,1 
 GOTO CICLO 
 
; En este caso es necesario definir algunos retardos para el funcionamiento del display 
; Debido a que el display no enciende de manera instantánea y es necesario "emparejar" los datos con el display 
DELAY 
 MOVLW 0X07 
 MOVWF DE3 
 
DELAY3 
 MOVLW 0X64 
 MOVWF DE2 
 
DELAY2 
 MOVLW 0X64 
 MOVWF DE1 
 
DELAY1 
 DECFSZ DE1,1 
 GOTO DELAY1 
 DECFSZ DE2,1 
 GOTO DELAY2 
 DECFSZ DE3,1 
 GOTO DELAY3 
 RETURN 
DELCD 
 MOVLW 0X64 
 MOVWF DE2 
D2 
 MOVLW 0X64 
 
10 
 
INSTITUTO TECNOLÓGICO DE LA LAGUNA 
 MOVWF DE1 
D1 
 DECFSZ DE1,1 
 GOTO D1 
 DECFSZ DE2,1 
 GOTO D2 
 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

6 pag.
Practica 6 reporte (1)

SIN SIGLA

User badge image

eligamx001