Sei sulla pagina 1di 33

Automatizacin

Industrial
Francisco
chiquillo
Capitulo 4

Puertos de entrada /salida


Objetivo del capitulo
Al finalizar el captulo el estudiante tendr
conocimiento sobre Cuntos hay segn
la referencia del microcontrolador a
utilizar? ,
Qu recursos adicionales brindan al
estudiante aparte de configurarse como
simple terminales de entrada /o salidas
lgicas?
Los puertos de
microcontrolador

Los puertos de microcontrolador son el punto de


comunicacin entre el microcontrolador y el
mundo exterior, a travs de ellos se pueden
efectuar procesos de control electrnico sobre
dispositivos de potencia, instrumentacin telemetra
etc. adems permiten tambin recibir seales del
mundo exterior.
A CONTINUACION SE ILUSTRA
CADA UNO DE LOS REGISTROS
CORRESPONDIENTES AL USO Y
CONFIGURACION DE CADA UNO
DE LOS PUERTOS EXISTENTES EN LA
FAMILIA DE
MICROCONTROLADORES.
Registros de puertos
Registro PORT A(PTA)
Registro PORT A(DDRA)
Registro PORT A(PTAPUE)
Registro PORT B (PTB)
Registro PORT B (DDRB)
Registro PORT D (PTD)
Registro PORT D (DDRD)
Registro PORT D (PDCR)
REGISTRO PORT A,(PTA)
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
0 PTA PTA PTA PTA PTA PTA PTA
6 5 4 3 2 1 0
Este registro pese sus 8 bits de los cuales solo 7 pueden
ser configurados como pines de entrada o salida de
manera independiente a travs del registro DDRA.
Unas de las
principales
caractersticas de
este puerto ES QUE
CADA PIN DEL PUERTO
A posee
configuracin por
software de las
resistencias de
Pull-Up .
RESISTENCIA PULL-UP
Una resistencia de Pull-Up consiste en una
resistencia que se encuentra conectada
internamente entre un pin en particular
del puerto A y el terminal del positivo de
alimentacin o VDD, que en nuestro caso
sera + 5 v.
CONEXIN INTERNA PULL-UP
Registro PORT A(DDRA)

BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0


0 DDRA DDRA DDRA DDRA DDRA DDRA DDRA
6 5 4 3 2 1 0

Mediante este registro de 8 bits,


de los cuales solo se puede
acceder a 7 bits, se efecta la
configuracin de los bits del
registro PORT A, ya sea como
entrada o salidas.
BITS DE CONFIGURACION DE
PORT A(DDRA)
1:El pin corresponde del PORT A es
configurado como Salida.
0: El pin corresponde del PORT A es
configurado como entrada.
Registro PORT A(PTAPUE)
BIT7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
PTA PTAP PTAPU PTAPU PTAPU PTAP PTAP PTAPU
6EN UE 6 E5 E4 E3 UE 2 UE 1 E0

Este Registro es el que permite habilitar o deshabilitar


las resistencias de PULL-UP para cada uno de los pines
del puerto A.
A continuacin se explica el significado de cada bit
perteneciente al registro PTAPUE y la funcin que
desempea cada uno.
PTA6EN: habilitar el pin PTA6 como OSC2
La funcin del OSC2 se configura cuando se posee la opcin de
oscilador RC
1: El OSC2 es configurado para utilizar el pin PTA6 como el pin de
I/O con las funciones de interrupcin y configuracin de
resistencias de PULL-UP
0: El OSC2 es configurado como oscilador de tipo RC

PTAPUE (6:0) Habilitacin de resistencias de PULL UP

1: habilita la resistencia de pull-up correspondiente al pin del


puerto A, siempre y cuando este pin este configurado como
entrado.
0: deshabilita la resistencia de pull-up correspondiente al pin del
puerto A.
Registro PORT B(PTB)
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
PTB 7 PTB 6 PTB 5 PTB 4 PTB 3 PTB 2 PTB 1 PTB 0

BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0


ADC ADC ADC ADC ADC ADC ADC ADC
7 6 5 4 3 2 1 0
El registro PORTB permite la manipulacin de seales digitales
entre sus terminales, tal como ocurre con el registro PORTA;
sin embargo, este puerto comparte adicionalmente recursos
con el mdulo de conversin analgico- digital incluido
internamente en el microcontrolador, en donde cada pin del
puerto correspondera a un canal de conversin A/D cada
uno de estos pines puede ser configurado como entrada o
como salida de manera Independiente a travs del registro
DDRB.
Registro PORT B(DDRB)
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
DDR DDR DDR DDR DDR DDR DDR DDR
B7 B6 B5 B4 B3 B2 B1 B0

Mediante el registro de 8 bits se efecta la configuracin de


los bits del registro PORT B; ya sea como entradas o salidas,
tal como ocurra con el registro de configuracin DDRA.

DDRB (7:0) bits de configuracin del PORT B


1: el pin correspondiente del PORT B es configurado como
salida.
0: el pin correspondiente del PORT B es configurado como
entrada.
Registro PORT D (PTD)
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
PTD PTD PTD PTD PTD PTD PTD PTD
7 6 5 4 3 2 1 0

BIT 7 BIT BIT BIT 4 BIT 3 BIT 2 BIT 1 BIT 0


6 5
LED LED TCH1 TCH0 LED LED
25M 25M ADC ADC ADC ADC
A A 8 9 10 11
Elregistro PORT D posee dos pines para el
uso destinados para el uso del mdulo
TIM, 4 pines destinados para canales de
conversin A/D los mdulos TIM y ADC
sern tratados en captulos posteriores y
dos pines (PTD6 y PTD7) que posee drivers
de corriente superior a 25 MA y
resistencias de PULL-UP programables de
5 k.
Cada uno de estos pines puede ser
configurado como entrada o salida de
manera independiente a travs de
registro DDRD.
Registro PORT D (DDRD)
BIT 7 BIT BIT BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
6 5
DDR DDR DDR DDR DDR DDR DDR DDR
D7 D6 D5 D4 D3 D2 D1 D0

Mediante este registro de 8 bits se efecta la configuracin


de los bits del registro PORT D ya sea como entradas o
salidas.
DDRD (7:0) bits de configuracin del PORT D
1: el pin correspondiente del PORT D es configurado como
salida
0: el pin correspondiente del PORT D es configurado como
entrada
Registro PORT D (PDCR)
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 0 0 0 Slowd7 Slowd Slowd Slowd
6 7 6

Este registro cumple funciones muy semejantes a las


del registro PTAPUE explicado anteriormente,
permitiendo habilitar y deshabilitar las resistencias de
PULL-UP, y manejo de driver de corriente para los
pines de PTD7y PTD6.
A continuacin se explica el modo de configuracin
de este registro y las funciones que realiza segn los
valores establecidos de cada uno de sus bits.

SLOWDx: los bits SLOWD6 Y SLOWD7 permiten


habilitar drenado abierto y driver de
corriente.
1: El pin est configurado como salida como
drenado abierto
0: El pin est configurado con push-pull
PTDPUx: bits para habilitar resistencias de pull-
up
1: Habilitar resistencias de pull-up de 5 k
0: Deshabilitar resistencias de pull-up de5 k
NOTA
Antes de aventurarnos en el mundo de la
programacin de los microcontroladores
freescale, es necesario conocer algunos
conceptos especiales que le ayudaran
desarrollar a fcilmente cualquier programa
que desee por tal motivo debe establecer de
programacin, la cual ser utilizada en todos
los programas que se desarrollen en
adelante.
$include JL3REGS.INC

Etiquetas de direccin en el microcontrolador

FLASH EQU $EC00

RESET EQU $FFFE

RAM EQU $80

COPD EQU 0
Definicin de los bits que se utilizaran en el microcontrolador
para manejar funciones especiales, por ejemplo: encender
en LED, habilitar dispositivo, etc. Para el caso supongamos
que se desea que el LED 1 sea controlado por el pin 1 y la
habilitacin de un relevo por el pin 2 de un puerto
cualquiera.

LED1 EQU 1

H_RELEVP EQU 2
Definicin de registros de utilizar en la RAM; en esta seleccin se
establece todas las variedades y registros definidos por el
desarrollador. Para el caso supongamos que se desea crear dos
variedades: cantidad 1 y cantidad 2.

ORG RAM

CANTIDAD 1 RMB 1

CANTIDAD 2 RMB 1
Definicin de la direccin a partir de la
cual se debe escribir el programa,
direccin correspondiente a la memoria
flash.

ORG FLASH
A continuacin se ilustra 2 tablas, la primera hace
referencia he un mensaje o cadena de caracteres y la
segunda a un vector con necesidades hexadecimales

TABLA TBD PRUEBA DE PANTALLA

TABLA1 D8 $0F,$F0,$AA,$55
Seccin de inicio de
programa principal

INICIO BSET C0PD, CONFIG1 ;des habilidad en COP


Seccin para configuracin de registros
especiales, configuracin de puertos
como entradas/salidas, establecer valores
iniciales en cada uno de los lmites de
microcontrolador, etc.

MOV #$00, PORTB configuracin de puertos B/D

MOV #$FF, DDRB

MOV #00, PORTD

MOV #$FF, DDRD


Seccin Para establecer rutas hacia subrutinas
relacionadas con interrupciones, inicializacin del sistema
y reset .

ORG RESET

DW INICIO
EJERCICIO DESARROLADO
Enunciado del problema
Se desea escribir un programo que
permita encender o apagar un LED
segn el estado de interrupcin.
Si el interruptor se encuentra
abierto, el LED deber encender
pero si el interruptor se encuentra
encerrado, el LED deber
apagarse.
$Iincludejl3regis.inc

FLASH EQU $ECE0


RESET EQU $FFFE
LED EQU 1
SW EQU 2 ; bits 2 Puerto D
COPD EQU 0
ORG FLASH

INICIO BSET COPD, CONFIG1 ; inhabilita el copd


BSET LED, PORTB ; BIT 1 PORTB=1
BSET LED, DDRB ; BIT 1 Salida
BCLR SW, PORTD ; BIT 2 PORTD =0
BCLR SW, DDRD ; BIT 2 Entrada

SALTO BRSET SW,PORTB, LED_ON ; SW abierto?, Ir a LED_ON


BRCLR SW, PORTB, LED_OFF ; SW abierto?, Ir a LED_OFF
BRA SALTO ; Ir a SALTO

LED_ON BSET LED, PORTB ; Encender led


BRA SALTO

LED_OFF BCLR LED PORTB ; Apagar led


BRA SALTO

ORG RESET ; Cuando se energiza


DW INICIO ; Ir a rutina de INICIO
GRACIAS

Potrebbero piacerti anche