Sei sulla pagina 1di 12

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA


UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA

PRACTICA N° 3

COMPROBACION DEL PIC Y


PROGRAMACION EN MPLAB

NOMBRE: ORDAZ HERNANDEZ LAURA ITZEL

PPROFESOR: BRAVO LEON JOSE LUIS

GRUPO: 6CM4

FECHA 4 OCTUBRE 18
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA

OBJETIVO: uso de subrutinas en la configuración y manejo de puertos de salida

OBJETIVO:

Que el alumno conozca más instrucciones del compilador MPLAB así como visualizar los registros
al crear un programa además de familiarizarse con el pic 18f4550 y sus puertos de entrada y salida

MARCO TEÓRICO

Puertos de Entrada/Salida

• Pines de entrada/salida (I/O) de propósito general • Mediante ellos, el micro PIC puede monitorizar y
controlar otros dispositivos.

Para añadir flexibilidad al micro, muchos de sus pines de entrada/salida están multiplexados con funciones
alternativas. •Para la mayoría de los puertos, la dirección del pin I/O es controlada por el registro de dirección
de datos, llamado TRIS.

TRISX controla la dirección del pin n del puerto X.

• Un 1 en el registro TRIS indica que el pin es entrada.

 Un 0 indica que es salida.


Puertos de Entrada/Salida 3 Estructura típica de un puerto de entrada/salida de propósito general. El
valor de RESET de los registros TRIS suele ser un ‘1’, de forma que por defecto los pines estén
configurados como entrados evitando posibles cortocircuitos en la alimentación que podrían dañar el
micro o el resto del sistema.

Con el propósito de sincronizar el funcionamiento de los puertos de E/S con la organización interna del
microcontrolador de 8 bits, ellos se agrupan, de manera similar a los registros, en cinco puertos denotados
con A, B, C, D y E. Todos ellos tienen las siguientes características en común:

 Por las razones prácticas, muchos pines de E/S son multifuncionales. Si un pin re aliza una de estas
funciones, puede ser utilizado como pin de E/S de propósito general.
 Cada puerto tiene su propio registro de control de flujo, o sea el registro TRIS correspondiente: TRISA,
TRISB, TRISC etc. lo que determina el comportamiento de bits del puerto, pero no determina su contenido.
Al poner a cero un bit del registro TRIS (pin=0), el pin correspondiente del puerto se configurará como una
salida. De manera similar, al poner a uno un bit del registro TRIS (bit=1), el pin correspondiente del puerto se
configurará como una entrada. Esta regla es fácil de recordar: 0 = Entrada 1 = Salida.
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA
Puerto PORTA y registro TRISA
El puerto PORTA es un puerto bidireccional, de 8 bits de anchura. Los bits de los registros TRISA y ANSEL
controlan los pines del PORTA. Todos los pines del PORTA se comportan como entradas/salidas digitales.
Cinco de ellos pueden ser entradas analógicas (denotadas por AN):

RA0 = AN0 (determinado por el bit ANS0 del registro ANSEL) RA1 = AN1 (determinado por el bit ANS1 del
registro ANSEL) RA2 = AN2 (determinado por el bit ANS2 del registro ANSEL) RA3 = AN3 (determinado por
el bit ANS3 del registro ANSEL) RA5 = AN4 (determinado por el bit ANS4 del registro ANSEL) Similar a que
los bits del registro TRISA determinan cuáles pines serán configurados como entradas y cuáles serán
configurados como salidas, los bits apropiados del registro ANSEL determinan si los pines serán configurados
como entradas analógicas o entradas/salidas digitales. Cada bit de este puerto tiene una función adicional
relacionada a algunas unidades periféricas integradas, que vamos a describir en los siguientes capítulos. Este
capítulo cubre sólo la función adicional del pin RA0, puesto que está relacionado al puerto PORTA

Puerto PORTB y registro TRISB


El puerto PORTB es un puerto bidireccional, de 8 bits de anchura. Los bits del registro TRISB determinan la
función de sus pines.

Similar al puerto PORTA, un uno lógico (1) en el registro TRISB configura el pin apropiado en el puerto
PORTB y al revés. Los seis pines de este puerto se pueden comportar como las entradas analógicas (AN).
Los bits del registro ANSELH determinan si estos pines serán configurados como entradas analógicas o
entradas/salidas digitales: RB0 = AN12 (determinado por el bit ANS12 del registro ANSELH) RB1 = AN10
(determinado por el bit ANS10 del registro ANSELH) RB2 = AN8 (determinado por el bit ANS8 del registro
ANSELH) RB3 = AN9 (determinado por el bit ANS9 del registro ANSELH) RB4 = AN11 (determinado por el bit
ANS11del registro ANSELH) RB4 = AN11 (determinado por el bit ANS11del registro ANSELH) Cada bit de
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA
este puerto tiene una función adicional relacionada a algunas unidades periféricas integradas, que vamos a
describir en los siguientes capítulos. Este puerto dispone de varias características por las que se distingue de
otros puertos y por las que sus pines se utilizan con frecuencia:

 Todos los pines del puerto PORTB tienen las resistencias pull-up integradas, que los hacen perfectos para
que se conecten con los botones de presión (con el teclado), interruptores y optoacopladores. Con el
propósito de conectar las resisitencias a los puertos del microcontrolador, el bit apropiado del registro WPUB
debe estar a uno.*

Al tener un alto nivel de resistencia (varias decenas de kiloohmios), estas resistencias "virtuales" no afectan a
los pines configurados como salidas, sino que sirven de un complemento útil a las entradas. Estas
resistencias están conectados a las entradas de los circuitos lógicos CMOS. De lo contrario, se comportarían
como si fueran flotantes gracias a su alta resistencia de entrada.

Además de los bits del registro WPUB, hay otro bit que afecta a la instalación de las resistencias pull-up. Es el
bit RBPU del registro OPTION_REG.

 Al estar habilitado, cada bit del puerto PORTB configurado como una entrada puede causar una interrupción
al cambiar su estado lógico. Con el propósito de habilitar que los termi nales causen una interrupción, el bit
apropiado del registro IOCB debe estar a uno.

Gracias a estas características, los pines del puerto PORTB se utilizan con frecuencia para comprobar los
botones de presión en el teclado ya que detectan cada apretón de botón infaliblemente. Por eso, no es
necesario examinar todas las entradas una y otra vez.
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA

EQUIPO Y MATERIAL
Programa MPLAB IDE instalado
Archivo .asm
Tarjeta de desarrollo pic 18f4550
DESARROLLO
 Crear una carpeta con el nombre practica 4
 Copiar en la carpeta el archivo forma.asm y renombrar como practica4
 Abrir mplab
 Del menú principal seleccionar proyect
 Seleccionar al asistente del proyecto proyect wizard
 Después seleccionar el dispositivo a emplear el cual será el pic 18f4550
 Oprima next y seleccione la opción microchip
 Asigne la carpeta practica 4 como el lugar donde se guardara el proyecto
 Seleccione la ruta de destino de proyecto
 Y seleccione el archivo practica4.asm

Realizar el siguiente circuito


INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA

 para comenzar el programa seleccionaremos la practica4asm


INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA
Posteriormente inserte este código en el achivo


 Del menú seleccione selecconar view y activare la visualización de los registros con la
opción watch
 Wreg
 PLC
 PORB
 PORTD

ABRA LA VENTANA QUE DESPLIEGA LOS REGISTROS Y SELECCIONE LA OPCION


HARDWARE STACK
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA
 Ejecutar paso a paso observando que sucede en las instrucciones call y return
INSTRUCCIÓN STKPTR Dirección de retorno
CALL_puertos 0X00 Empty
RETURN 0X01 001004
CALL leer 0X00 Empty
RETURN 0X01 0001008

 Del archivo .LST copiar las columnas e instrucciones de la subrutina leer


 ejecutar el programa del menú principal elegir la opción debugger y seleccionar la
herramienta
Dirección Instrucción WREG PCL PORTB PORTD N
00101E LERR swap 0x00 0x1E 0x00 0x00 0
PORTB
001020 Andlw oxof 0X00 0X20 0x00 0x00 0
001022 Daw 0X00 0X22 0x00 0x00 0
001024 Movf aux 0X00 0X24 0x00 0x00 0
001026 Subl 0x12 0X00 0X26 0x00 0x00 0
001028 Bn leer 0X12 0X28 0x00 0x00 0
00102A Movf aux,o 0X12 0X2A 0x00 0x00 0
00102C Return 0X00 0X2C 0x00 0x00 0
 en la opción debugger seleccionar stimulus en la columna de pin register seleccione
RB0,RB1,RB2,RB3,RB4,RB5,RB6,RB7 CON UN VALOR MENOR A 0XC0=12
 EN ESTE CASO EL VALOR ES 3
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA
ESTADOS ASIGNADOS A PORTB
Rb0 Set high
Rb1 Set high
Rb2 Set low
Rb3 Set low

Dirección Instrucción WREG PCL PORTB PORTD N


00101E LERR swap 0x00 0x1E 0x00 0x00 0
PORTB
001020 Andlw oxof 0X30 0X20 0x00 0x00 0
001022 Daw 0X00 0X22 0x00 0x00 0
001024 Movf aux 0X00 0X24 0x00 0x00 0
001026 Subl 0x12 0X12 0X26 0x00 0x00 0
001028 Bn leer 0X12 0X28 0x00 0x00 0
00102A Movf aux,o 0X12 0X2A 0x00 0x00 0
00102C Return 0X00 0X2C 0x00 0x00 0

ESTADOS ASIGNADOS A PORTB


Rb0 Set high
Rb1 Set high
Rb2 Set high
Rb3 Set high
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA

Dirección Instrucción WREG PCL PORTB PORTD N


00101E Mai LERR swap 0x00 0x1E 0x17 0x01 0
n: PORTB
001020 Andlw oxof 0X71 0X20 0x17 0x01 0
001022 Daw 0X01 0X22 0x17 0x01 0
001024 Movf aux 0X01 0X24 0x17 0x01 0
001026 Subl 0x12 0X01 0X26 0x17 0x01 0
001028 Bn leer 0X11 0X28 0x17 0x01 1
00102A Movf aux,o 0X11 0X2A 0x17 0x01 0
00102C Return 0X01 0X2C 0x17 0x01 0

LOCALICE EL ARCHIVO.HEX y cargarlo al programa microchip

Posteriormente verificar en la tarjeta


INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y ELECTRONICA

COCLUCIONES
Se puede observar en la práctica como se realiza la condición del programa en el cual nos indica si
es mayor o menor a 12 en la tarjeta se puede observar cuando es mayor a 12 la tarjeta hace que los
display enciendan y cuando es menor a 12 los display no realizan nada debido a la condición
también se obsertva el dato guardado en portb

BIBLIOGRAFÍA
Manual del pic 18f4550
Introducción a los microcontroladores, José Adolfo González V., McGraw Hill
. www.microchip.com
puertos de entrada y salida pdf 18f4550

Potrebbero piacerti anche