Está en la página 1de 13

PROGRAMACIÓN DE MICROCONTROLADORES

IV CICLO

Laboratorio N°3

Puertos de entrada y salida parte 1

TECSUP 2020
Lima - Perú
Puertos de entrada y salida del microcontrolador PIC16F877A

Puertos de entrada y salida


Objetivos

1. Utilizar las instrucciones para programar al microcontroladorPIC16F877.


2. Utilizar software de desarrollo proporcionada por el fabricante.
3. Modificar entradas y salidas digitales de los puertos del microcontrolador.

Introducción

Los PICs constituyen en la actualidad una forma de proveer inteligencia a equipos o


sistemas para un mejor desempeñ o de los mismos. Para que realicen los eventos que
queramos es necesario utilizar los puertos como entrada para que la data ingrese y
se procese en el PIC.

Preparación

Para la realizació n de este laboratorio se requiere la lectura previa de la informació n


proporcionada para el curso, como el texto y el manual del fabricante.

Equipos y Materiales

● Computadora
● Software de desarrollo
● Proyector multimedia
● Texto del curso
● Manual del fabricante
● Tarjeta de desarrollo

Instructor: Carlos E. Mendiola Mogolló n


2
Puertos de entrada y salida del microcontrolador PIC16F877A

Seguridad
Trabajar con Seguridad evita que las personas sufran dañ os, y provee un ambiente
satisfactorio de trabajo.

Al trabajar en este laboratorio o taller y cualquiera de los subsiguientes, realice el


siguiente procedimiento:

1. Al ingresar, inspeccione:
Las vías de acceso.
Orden y limpieza.

2. En su estació n de trabajo evalú e las condiciones de:


Orden y Limpieza.
Herramientas y equipos.

3. Realice su trabajo teniendo en cuenta:


Orden y limpieza.
Seguridad.
Proceda a realizar las conexiones de los equipos o implementació n de los circuitos
comprobando que la línea eléctrica se encuentre desconectada.
Solicite visto bueno al profesor antes de aplicar energía eléctrica.

4. Realice el aná lisis de riesgo personal:


¿Qué es lo que voy a hacer?
¿Qué es lo que puede salir mal?
¿Qué debo hacer para que no salga mal?

5. Al terminar sus labores, deje su estació n de trabajo en buenas condiciones:


Ordenado y limpio.
Seguro.
Desconecte el suministro de energía eléctrica.

Instructor: Carlos E. Mendiola Mogolló n


3
Puertos de entrada y salida del microcontrolador PIC16F877A

Procedimiento
El PIC16F877A contiene 5 puertos que pueden ser configurados como entradas o salidas
digitales (A, B, C, D, E). El puerto A contiene 6 bits (RA0-5) por defecto está configurado
como entrada analó gica y puede ser configurado como entrada y/o salida digital.
El puerto B (RB0-7), el puerto C (RC0-7) y el puerto D (RD0-7) son de 8 bits y por
defecto está n como entradas digitales y pueden ser configurados como entradas y
salidas digitales.
El puerto E solo cuenta con 3 líneas (RE0-2) y por defecto está configurado como
entrada analó gica y puede ser configurado como entrada y salida digital.

La configuració n de los puertos en general implica la siguiente secuencia:

Ingresar al banco 1.
Configurar los puertos (registros TRISA, TRISB, TRISC, TRISD y TRISE).

Regresar al banco 0.
Escribir o leer datos desde los puertos. (Registros PORTA, PORTB, PORTC, PORTD y
PORTE).

Hemos indicado que la memoria de datos del PIC16F877A se divide en cuatro bancos: 0,
1, 2 y 3. En las posiciones inferiores de ambos bancos se encuentran los registros
especiales de funció n (SFR). En la posició n 0x05, 0x06, 0x07, 0x08 y 0x09
respectivamente se encuentran los registros PORTA, PORTB, PORTC, PORTD y PORTE
que se usan para leer o escribir datos en tanto que en las posiciones 0x85, 0x86, 087,
0x88 y 0x89 se encuentran los registros TRISA, TRISB, TRISC, TRISD y TRISE
respectivamente, es allí donde se configuran los puertos. Cabe señ alar que el PORTB
también aparece en el banco 2 en la posició n de memoria 0x106 y el TRISB en la
posició n de memoria 0x186.

Instructor: Carlos E. Mendiola Mogolló n


4
Puertos de entrada y salida del microcontrolador PIC16F877A

Bancos de memoria

Cada una de las líneas de los puertos puede ser configurada como entrada o como salida.
En los registros TRIS determinamos la configuració n de los puertos. Los registros son
una suerte de mascara. Por ejemplo si escribimos un 0 en el bit 0 del TRISB la línea RB0
se comportará como una línea de salida. Si colocamos a 1 el bit 0 del TRISB a la línea RB0
se comportará como entrada. A través de los valores que escribamos en los registros
TRIS determinamos el comportamiento de los puertos. La escritura y lectura de valores
desde los puertos se hace a través de los registros PORT que se encuentran en el Banco 0
(y banco 2 para el puerto B). Desde luego si configuramos un puerto como entrada
(lectura) los valores que escribamos en el no tendrá n efecto porque fue configurado
como entrada y no como salida. A través de las instrucciones MOV podemos leer o
escribir valores.

Instructor: Carlos E. Mendiola Mogolló n


5
Puertos de entrada y salida del microcontrolador PIC16F877A

1. Copiar el siguiente programa, analizar, comentar, simular e implementar:

;*************************************************************
;Configuración de los pines del PORTB y PORTD
;Curso PIC16F877A
;Autor: Ing. Carlos Mendiola
;*************************************************************
LIST P=16f877A ;Comentar:
Include<P16f877A.INC> ;Comentar:

__Config 0x3f32 ;Comentar

Cblock 0x20 ;Comentar:


endc

org 0000h
;-----------------------------------------------
bsf STATUS,RP0 ;comentar:
movlw b’11111111’ ;comentar:
movwf TRISB ;comentar:
movlw b’00000000’ ;comentar:
movwf TRISD ;comentar:
bcf STATUS,RP0 ;comentar:

repite
movf PORTB,0 ;comentar:
movwf PORTD ;comentar:
goto repite ;Comentar:
;-----------------------------------------------
end

2. Copiar el siguiente programa, analizar, comentar, simular e implementar:

;*************************************************************
;Testeando pines
;Curso PIC16F877
;Autor: Ing.Carlos Mendiola
;*************************************************************

LIST P=16f877A ;Comentar:


Include<P16f877A.INC> ;Comentar:

__Config 0x3f32 ;Comentar

Cblock 0x20 ;Comentar:


endc

org 0000h
;--------------------------------------------
bsf STATUS,RP0 ;comentar:
bsf TRISC,0 ;comentar:
bcf TRISD,4 ;comentar:
bcf STATUS,RP0 ;comentar:

Instructor: Carlos E. Mendiola Mogolló n


6
Puertos de entrada y salida del microcontrolador PIC16F877A

TesteaPin
btfss PORTC,0 ;Comentar:
goto ApagarLed ;Comentar:
goto PrenderLed ;Comentar:
ApagarLed
bcf PORTD,4 ;Comentar:
goto TesteaPin ;Comentar:
PrenderLed
bsf PORTD,4 ;Comentar:
goto TesteaPin ;Comentar:
;--------------------------------------------
end ;Comentar:

3. Analizar y comentar la rutina de tiempo y de control para displays de 7


segmentos

;**************************************************************
;==============================================================
;Nombre de archivo:Electronicpic16f877.asm
;Autor: Ing. Carlos Enrique Mendiola Mogollón
;==============================================================
;**************************************************************
Cblock
Cont_1
Cont_2
Cont_3
Cont_4
contador_1
contador_2
endc
;***************************************************************
;Rutinas para generación de retardos
;Frecuencia de cristal:20Mhz
;***************************************************************
Milisegundo
movwf Cont_1
xx
movlw .17
movwf Cont_2
xx1
movlw .58
movwf Cont_3
xx2
nop
nop
decfsz Cont_3
goto xx2
decfsz Cont_2
goto xx1
decfsz Cont_1
goto xx
return

;Comentar como opera la rutina Milisegundo:

Instructor: Carlos E. Mendiola Mogolló n


7
Puertos de entrada y salida del microcontrolador PIC16F877A

Segundo
movwf Cont_1
xxx
movlw .250
movwf Cont_2
xxx1
movlw .250
movwf Cont_3
xxx2
movlw .19
movwf Cont_4
xxx3
nop
decfsz Cont_4
goto xxx3
decfsz Cont_3
goto xxx2
decfsz Cont_2
goto xxx1
decfsz Cont_1
goto xxx
return

;Comentar como opera la rutina Segundo:

;***************************************************************
;Rutinas para el uso de display 7 segmentos ánodo y cátodo común
;***************************************************************
DisplayCatodoComun
addwf PCL,1
retlw 0X3F ;Número 0
retlw 0X06 ;Número 1
retlw 0X5B ;Número 2
retlw 0X4F ;Número 3
retlw 0X66 ;Número 4
retlw 0X6D ;Número 5
retlw 0X7D ;Número 6
retlw 0X07 ;Número 7
retlw 0X7F ;Número 8
retlw 0X6F ;Número 9
DisplayAnodoComun
addwf PCL,1
retlw 0X40 ;Número 0
retlw 0X79 ;Número 1
retlw 0X24 ;Número 2
retlw 0X30 ;Número 3
retlw 0X19 ;Número 4
retlw 0X12 ;Número 5
retlw 0X02 ;Número 6
retlw 0X78 ;Número 7
retlw 0X00 ;Número 8
retlw 0X10 ;Número 9

; Comentar como opera la rutina DisplayCatodocomun y


DisplayAnodoComun:

Instructor: Carlos E. Mendiola Mogolló n


8
Puertos de entrada y salida del microcontrolador PIC16F877A

4. Copiar el siguiente programa, analizar, comentar, simular e implementar:

;*************************************************************
;Captura datos del teclado 4x4 y se visualiza en el PORTD
;Curso PIC16F877
;Autor: Ing. Carlos Mendiola
;*************************************************************
list P=16f877
include<p16f877.inc>
include<macro16f877.inc> ;comentar:
__CONFIG 0X3F32 ;comentar:
cblock 0x20 ;comentar:
endc ;comentar:

org 0000h
;------------------------------------------------------
;Programa principal
bsf STATUS,RP0 ;comentar:
clrf TRISD ;comentar:
bcf STATUS,RP0 ;comentar:
clrf PORTD ;comentar:
call Inicio_Teclado4x4 ;comentar:
repite
call Teclado4x4 ;comentar:
movf NumeroTeclado4x4,0 ;comentar:
movwf PORTD ;comentar:
goto repite ;comentar:
;------------------------------------------------------
;Librerias
include<electronicpic16f877.asm> ;comentar:
include<teclado.asm> ;comentar:
end ;comentar:

Conexión eléctrica

Instructor: Carlos E. Mendiola Mogolló n


9
Puertos de entrada y salida del microcontrolador PIC16F877A

Mostrar evidencias de ejecución de los programas de los ítems 1, 2, 3 ,4

● Capturar ventanas que muestran el resultado de la creació n del proyecto.


● Capturar ventanas que muestran el resultado del ensamble del proyecto.
● Capturar ventanas que muestren la simulació n paso a paso.
● Tomar fotos a los mó dulos de trabajo.

Modelo de Informe

Deberá contener lo siguiente:

Carátula

1. Nombre del laboratorio


2. Nombres de los integrantes
3. Secció n a la que pertenecen
4. Fecha de realizació n
5. Fecha de presentació n

Fundamento Teórico

Deberá ser conciso y redactado con lenguaje propio. Estará basado en las lecturas
recomendadas o cualquier otra informació n relacionada con el tema. En cualquier caso
no será mayor de tres (03) pá ginas.

Resultados del Laboratorio

Deberá contemplar lo siguiente:

1. Los datos, tablas, resultados de los programas y respuestas a las preguntas que se
soliciten en el procedimiento.
2. Los programas deberá n contar con líneas de comentarios
3. Deberá acompañ arse al programa, el diagrama de flujo del mismo.

Observaciones y Conclusiones

Será n ú nicamente referidas a la experiencia de laboratorio y redactadas en lenguaje


propio.

Instructor: Carlos E. Mendiola Mogolló n


10
Puertos de entrada y salida del microcontrolador PIC16F877A

RÚBRICA DE EVALUACIÓN

FIRMA DEL PROFESOR:

Instructor: Carlos E. Mendiola Mogolló n


11
Puertos de entrada y salida del microcontrolador PIC16F877A

(MODELO DE CARÁTULA)

PROGRAMACIÓN DE MICROCONTROLADORES

Laboratorio N°3

Puertos de entrada salida parte 1

INFORME

Integrantes:
Apellidos y Nombres Sección Grupo

Docente: Carlos Mendiola

Fecha de realización :
Fecha de entrega :

TECSUP 2019
Instructor: Carlos E. Mendiola Mogolló n
12
Puertos de entrada y salida del microcontrolador PIC16F877A

Lima - Perú

Instructor: Carlos E. Mendiola Mogolló n


13

También podría gustarte