puertos de entrada/salida

33
Automatización Industrial Francisco chiquillo

Upload: tecautind

Post on 13-Jun-2015

6.278 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Puertos de entrada/salida

Automatización Industrial

Francisco chiquillo

Page 2: Puertos de entrada/salida

Puertos de entrada /salida

Capitulo 4

Page 3: Puertos de entrada/salida

Objetivo del capitulo Al finalizar el capítulo el estudiante

tendrá conocimiento sobre ¿Cuántos hay según la referencia del microcontrolador a utilizar? ,

¿Qué recursos adicionales brindan al estudiante aparte de configurarse como simple terminales de entrada /o salidas lógicas?

Page 4: Puertos de entrada/salida

Los puertos de microcontrolador

Los puertos de microcontrolador son el punto de comunicación entre el microcontrolador y el mundo exterior, a través de ellos se pueden efectuar procesos de control electrónico sobre dispositivos de potencia, instrumentación telemetría etc. además permiten también recibir señales del mundo exterior.

Page 5: Puertos de entrada/salida

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.

Page 6: Puertos de entrada/salida

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)

Page 7: Puertos de entrada/salida

REGISTRO PORT A,(PTA)

Este registro pese sus 8 bits de los cuales solo 7 pueden ser configurados como pines de entrada o salida de manera independiente a través del registro DDRA.

BIT 7

BIT 6

BIT 5

BIT 4

BIT 3

BIT 2

BIT 1

BIT 0

0 PTA 6

PTA 5

PTA 4

PTA 3

PTA 2

PTA 1

PTA 0

Page 8: Puertos de entrada/salida

Unas de las principales características de este puerto ES QUE CADA PIN DEL PUERTO A posee configuración por software de las resistencias de Pull-Up .

Page 9: Puertos de entrada/salida

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 alimentación o VDD, que en nuestro caso sería + 5 v.

Page 10: Puertos de entrada/salida

CONEXIÓN INTERNA PULL-UP

Page 11: Puertos de entrada/salida

Registro PORT A(DDRA) BIT 7

BIT 6

BIT 5

BIT 4

BIT 3

BIT 2

BIT 1

BIT 0

0 DDRA 6

DDRA 5

DDRA 4

DDRA 3

DDRA 2

DDRA 1

DDRA 0

Mediante este registro de 8 bits, de los cuales solo se puede acceder a 7 bits, se efectúa la configuración de los bits del registro PORT A, ya sea como entrada o salidas.

Page 12: Puertos de entrada/salida

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.

Page 13: Puertos de entrada/salida

Registro PORT A(PTAPUE)

BIT7

BIT 6 BIT 5

BIT 4

BIT 3

BIT 2

BIT 1

BIT 0

 PTA6EN

PTAPUE 6

PTAPUE 5

PTAPUE 4

PTAPUE 3

PTAPUE 2

PTAPUE 1

PTAPUE 0

Este Registro es el que permite habilitar o deshabilitar las resistencias de PULL-UP para cada uno de los pines del puerto A.

Page 14: Puertos de entrada/salida

A continuación se explica el significado de cada bit perteneciente al registro PTAPUE y la función que desempeña cada uno.

PTA6EN: habilitar el pin PTA6 como OSC2 La función del OSC2 se configura cuando se posee la opción de

oscilador RC 1: El OSC2 es configurado para utilizar el pin PTA6 como el pin de

I/O con las funciones de interrupción y configuración de resistencias de PULL-UP

0: El OSC2 es configurado como oscilador de tipo RC PTAPUE (6:0) Habilitación 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.

Page 15: Puertos de entrada/salida

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 0BIT

7 BIT 6

BIT 5

BIT 4

BIT 3

BIT 2

BIT 1

BIT 0

ADC 7

ADC 6

ADC 5

ADC4

ADC 3

ADC 2

ADC 1

ADC 0El registro PORTB permite la manipulación de señales

digitales entre sus terminales, tal como ocurre con el registro PORTA; sin embargo, este puerto comparte adicionalmente recursos con el módulo de conversión analógico- digital incluido internamente en el microcontrolador, en donde cada pin del puerto correspondería a un canal de conversión A/D cada uno de estos pines puede ser configurado como entrada o como salida de manera Independiente a través del registro DDRB.

Page 16: Puertos de entrada/salida

Registro PORT B(DDRB)BIT 7

BIT 6

BIT 5

BIT 4

BIT 3

BIT 2

BIT 1

BIT 0

DDRB 7

DDRB 6

DDRB 5

DDRB 4

DDRB 3

DDRB 2

DDRB 1

DDRB 0

 Mediante el registro de 8 bits se efectúa la configuración de los bits del registro PORT B; ya sea como entradas o salidas, tal como ocurría con el registro de configuración DDRA.

DDRB (7:0) bits de configuración 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.

Page 17: Puertos de entrada/salida

Registro PORT D (PTD)BIT 7

BIT 6

BIT 5

BIT 4

BIT 3

BIT 2

BIT 1

BIT 0

PTD 7

PTD 6

PTD 5

PTD 4

PTD 3

PTD 2

PTD 1

PTD 0

BIT 7

BIT 6

BIT 5

BIT 4

BIT 3

BIT 2

BIT 1

BIT 0

LED LED TCH1

TCH0

LED LED    

 25MA

25MA

  ADC8

ADC9

ADC 10

ADC 11

Page 18: Puertos de entrada/salida

El registro PORT D posee dos pines para el uso destinados para el uso del módulo TIM, 4 pines destinados para canales de conversión A/D los módulos TIM y ADC serán tratados en capítulos 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 través de registro DDRD.

Page 19: Puertos de entrada/salida

Registro PORT D (DDRD)BIT 7

BIT 6

BIT 5

BIT 4

BIT 3

BIT 2

BIT 1

BIT 0

DDRD7

DDRD6

DDRD5

DDRD4

DDRD3

DDRD2

DDRD1

DDRD0

Mediante este registro de 8 bits se efectúa la configuración de los bits del registro PORT D ya sea como entradas o salidas.DDRD (7:0) bits de configuración del PORT D 1: el pin correspondiente del PORT D es configurado como salida0: el pin correspondiente del PORT D es configurado como entrada

Page 20: Puertos de entrada/salida

Registro PORT D (PDCR)

Bit 7 Bit 6 Bit 5 Bit 40 0 0 0       

Bit 3 Bit 2 Bit 1 Bit 0Slowd

7Slowd

6Slowd

7Slowd

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.

Page 21: Puertos de entrada/salida

A continuación se explica el modo de configuración de este registro y las funciones que realiza según 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

Page 22: Puertos de entrada/salida

NOTAAntes de aventurarnos en el mundo de la programación de los microcontroladores freescale, es necesario conocer algunos conceptos especiales que le ayudaran desarrollar a fácilmente cualquier programa que desee por tal motivo debe establecer de programación, la cual será utilizada en todos los programas que se desarrollen en adelante.

Page 23: Puertos de entrada/salida

$include “JL3REGS.INC”

FLASH EQU $EC00

RESET EQU $FFFE

RAM EQU $80

COPD EQU 0

Etiquetas de dirección en el microcontrolador

Page 24: Puertos de entrada/salida

Definición 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 habilitación de un relevo por el pin 2 de un puerto cualquiera.

LED1 EQU 1

H_RELEVP EQU 2

Page 25: Puertos de entrada/salida

Definición de registros de utilizar en la RAM; en esta selección 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

Page 26: Puertos de entrada/salida

Definición de la dirección a partir de la cual se debe escribir el programa, dirección correspondiente a la memoria flash.

ORG FLASH

Page 27: Puertos de entrada/salida

A continuación 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

Page 28: Puertos de entrada/salida

Sección de inicio de programa principal

INICIO BSET C0PD, CONFIG1 ;des habilidad en COP

Page 29: Puertos de entrada/salida

Sección para configuración de registros especiales, configuración de puertos como entradas/salidas, establecer valores iniciales en cada uno de los límites de microcontrolador, etc.

MOV #$00, PORTB configuración de puertos B/D

MOV #$FF, DDRB

MOV #00, PORTD

MOV #$FF, DDRD

Page 30: Puertos de entrada/salida

Sección Para establecer rutas hacia subrutinas relacionadas con interrupciones, inicialización del sistema y reset .

ORG RESET

DW INICIO

Page 31: Puertos de entrada/salida

EJERCICIO DESARROLADO

Enunciado del problema Se desea escribir un programo que permita encender o apagar un LED según el estado de interrupción.Si el interruptor se encuentra abierto, el LED deberá encender pero si el interruptor se encuentra encerrado, el LED deberá apagarse.

Page 32: Puertos de entrada/salida

$Iinclude’jl3regis.inc’

FLASH EQU $ECE0RESET EQU $FFFELED EQU 1SW EQU 2 ; bits 2 Puerto DCOPD EQU 0ORG 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

Page 33: Puertos de entrada/salida

GRACIAS