100% encontró este documento útil (1 voto)
202 vistas12 páginas

Puertos de Entrada y Salida en PIC16F877A

Este documento describe los puertos de entrada y salida del microcontrolador PIC16F877A. Explica que el PIC16F877A contiene 5 puertos (A, B, C, D y E) que pueden ser configurados como entradas o salidas digitales. Detalla cómo configurar los puertos utilizando los registros TRIS y cómo leer y escribir los puertos utilizando los registros PORT. Además, incluye ejemplos de código para configurar y probar los puertos, así como rutinas para generar retardos y controlar displays
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
202 vistas12 páginas

Puertos de Entrada y Salida en PIC16F877A

Este documento describe los puertos de entrada y salida del microcontrolador PIC16F877A. Explica que el PIC16F877A contiene 5 puertos (A, B, C, D y E) que pueden ser configurados como entradas o salidas digitales. Detalla cómo configurar los puertos utilizando los registros TRIS y cómo leer y escribir los puertos utilizando los registros PORT. Además, incluye ejemplos de código para configurar y probar los puertos, así como rutinas para generar retardos y controlar displays
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PROGRAMACIÓN DE MICROCONTROLADORES

IV CICLO

Laboratorio N°3

Puertos de entrada y salida parte 1

TECSUP
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

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.

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.

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.

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
;*************************************************************
LIST P=16f877A ;Comentar:
Include<[Link]> ;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:

;*************************************************************
;Forzamiento y Testeando pines
;*************************************************************

LIST P=16f877A ;Comentar:


Include<[Link]> ;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:

TesteaPin
btfss PORTC,0 ;Comentar:
goto ApagarLed ;Comentar:

6
Puertos de entrada y salida del microcontrolador PIC16F877A

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

;**************************************************************
;**************************************************************
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:

Segundo
movwf Cont_1
xxx
movlw .250
movwf Cont_2
xxx1
movlw .250

7
Puertos de entrada y salida del microcontrolador PIC16F877A

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:

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
;*************************************************************
list P=16f877
include<[Link]>
include< [Link]> ;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<[Link]> ;comentar:
include<[Link]> ;comentar:
end ;comentar:

Conexión eléctrica

9
Puertos de entrada y salida del microcontrolador PIC16F877A

5. Aplicación de lo aprendido

Realizar el siguiente programa:

 Cuando se pulse el pulsador de ASCENDENTE se visualice en el display de 7


segmentos una cuenta ascendente a intervalos de 1 segundo y cuando llegue a 9
para la cuenta y activa un diodo led color verde, el diodo led color rojo esta
desactivado.

 Cuando se pulse el pulsador de DESCENDENTE se visualice en el display de 7


segmentos una cuenta descendente a intervalos de 1 segundo y cuando llegue a 0
para la cuenta y activa un diodo led color rojo, el diodo led color verde esta
desactivado.

 Cuando se pulse el pulsador de INTERMITENCIA se visualice en el display de 7


segmentos el segmento g realizando una intermitencia a intervalos de 100 ms de
forma indefinida. Los diodos leds rojo y verde deberán estar apagados

Imagen de la aplicación de lo aprendido

10
Puertos de entrada y salida del microcontrolador PIC16F877A

6. Mostrar evidencias de ejecución de los programas de los ítems 1, 2, 3 ,4 y 5.

● 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.

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.

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:

Fecha de realización :
Fecha de entrega :

TECSUP
Lima - Perú

12

También podría gustarte