Вы находитесь на странице: 1из 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 Registro Registro Registro Registro Registro Registro Registro PORT A(PTA) PORT A(DDRA) PORT A(PTAPUE) PORT B (PTB) PORT B (DDRB) PORT D (PTD) PORT D (DDRD) PORT D (PDCR)

REGISTRO PORT A,(PTA)


BIT 7 0 BIT 6 PTA 6 BIT 5 PTA 5 BIT 4 PTA 4 BIT 3 PTA 3 BIT 2 PTA 2 BIT 1 PTA 1 BIT 0 PTA 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
0

BIT 6
DDRA 6

BIT 5
DDRA 5

BIT 4
DDRA 4

BIT 3
DDRA 3

BIT 2
DDRA 2

BIT 1
DDRA 1

BIT 0
DDRA 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 PTA 6EN BIT 6 PTAP UE 6 BIT 5 BIT 4 BIT 3 BIT 2 PTAPU PTAPU PTAPU PTAP E5 E4 E3 UE 2 BIT 1 PTAP UE 1 BIT 0 PTAPU 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 DDR B7 BIT 6 DDR B6 BIT 5 DDR B5 BIT 4 DDR B4 BIT 3 DDR B3 BIT 2 DDR B2 BIT 1 DDR B1 BIT 0 DDR 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 6 LED LED 25M 25M A A BIT BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 5 TCH1 TCH0 LED LED ADC ADC ADC ADC 8 9 10 11

El

registro 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 6 DDR DDR D7 D6 BIT 5 DDR D5 BIT 4 BIT 3 DDR D4 DDR D3 BIT 2 BIT 1 BIT 0 DDR D2 DDR D1 DDR 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 0 Bit 6 0 Bit 5 0 Bit 4 0 Bit 3 Slowd7 Bit 2 Slowd 6 Bit 1 Slowd 7 Bit 0 Slowd 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 pullup 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
RESET RAM

EQU $EC00
EQU $FFFE EQU $80

COPD

EQU

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 H_RELEVP

EQU 1 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
CANTIDAD 1 CANTIDAD 2

RAM
RMB 1 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
MOV MOV MOV

#$00, PORTB
#$FF, DDRB #00, PORTD #$FF, DDRD

configuracin de puertos B/D

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 RESET LED SW COPD ORG INICIO EQU EQU EQU EQU EQU FLASH $ECE0 $FFFE 1 2 ; bits 2 Puerto D 0 ; inhabilita el copd ; BIT 1 PORTB=1 ; BIT 1 Salida ; BIT 2 PORTD =0 ; BIT 2 Entrada

BSET COPD, CONFIG1 BSET LED, PORTB BSET LED, DDRB BCLR SW, PORTD BCLR SW, DDRD

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, PORTB SALTO ; Encender led ; Apagar led ; Cuando se energiza ; Ir a rutina de INICIO

LED_ON BSET BRA

LED_OFF BCLR LED PORTB BRA SALTO ORG RESET DW INICIO

GRACIAS

Вам также может понравиться