MANEJO DE PUERTOS MICROCONTROLADOR ATMEGA164PA CON CODEVISION Y PROTEUS PARTE 1
WE UNIT TALENT, THEY CREATE THE FUTURE |
El manejo de puertos de un microcontrolador es el tema de inicio para poder desarrollar un proyecto , es necesario recordar un poco sobre numeración hexadecimal y binario para configurar los registros.
Los registros son los espacios de memoria de un microcontrolador donde se configura el uso de un determinado periférico, generalmente se habla de 1 lógico para habilitar y 0 lógico para inhabilitar.
Los registros son los espacios de memoria de un microcontrolador donde se configura el uso de un determinado periférico, generalmente se habla de 1 lógico para habilitar y 0 lógico para inhabilitar.
En el caso de este micro y los AVR los registros para configurar son PORTX y DDRX donde la X determina la letra del puerto a usar (PORTA, PORTB, PORTC, PORTD).
En el caso especial del registro DDRX, al poner en 1 cualquier ubicación de registro lo configuraremos como salida en esa determinada ubicación, es decir que el microcontrolador enviará estados lógicos por este pin (1 o 0) y si lo configuramos con 0 lógico en un pin determinado este pin estará configurado como entrada, es decir que recibirá estados lógicos del exterior.
Características de los puertos:
vSe agrupan en puertos de 8 bits de longitud.
vPermiten leer datos del exterior.
vPermiten escribir datos desde el interior del microcontrolador.
vTrabajan con dispositivos de entrada como pulsadores, fotoceldas, teclados matriciales, etc.., y dispositivos de salida como leds, LCDs, o cual sea el requerimiento del programador.
En el caso especial del registro DDRX, al poner en 1 cualquier ubicación de registro lo configuraremos como salida en esa determinada ubicación, es decir que el microcontrolador enviará estados lógicos por este pin (1 o 0) y si lo configuramos con 0 lógico en un pin determinado este pin estará configurado como entrada, es decir que recibirá estados lógicos del exterior.
Características de los puertos:
vSe agrupan en puertos de 8 bits de longitud.
vPermiten leer datos del exterior.
vPermiten escribir datos desde el interior del microcontrolador.
vTrabajan con dispositivos de entrada como pulsadores, fotoceldas, teclados matriciales, etc.., y dispositivos de salida como leds, LCDs, o cual sea el requerimiento del programador.
Distribución de puertos ATEMGA164PA |
CONFIGURACIÓN DETERMINADA EN UN PUERTO
|
|||||||
PX7
|
PX6
|
PX5
|
PX4
|
PX3
|
PX2
|
PX1
|
PX0
|
CONFIGURACIÓN DEL REGISTRO DDRX SALIDA
|
|||||||
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
CONFIGURACIÓN DEL REGISTRO DDRX ENTRADA
|
|||||||
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
El registro DDRX determina si configuramos al puerto como entrada o salida, el registro es de 8 bits por tal motivo tenemos que configurar a todo el registro, no importa cómo se distribuya la configuración para determina un pin como entrada o salida, cabe recalcar que los pines vienen numerados desde el 0 al 7 y donde el registro el bit menos significativo es el de la derecha. Veamos un ejemplo
PUERTO A:
- Determinar todo el puerto como salida.
DDRA=0XFF; // configuración de todo el puerto como salida en hexadecimal
DDRA=0B11111111; // configuración de todo el puerto como salida en binario.
2. Determinar como salida los 4 bits menos significativos y como entrada los 4 bits más significativos
DDRA=0X0F; // configuración de 4 primeros bits como salida, es decir que los pines del puerto A numerados desde el 0 al 3 podrán enviar datos, los demás del 4 al 7 recibirán datos.
DDRA=0B00001111; // configuración del puerto 4 primeros bits como salida.
3. Determinar solo el pin PA6 como salida.
DDRA=0X20;
DDRA=0B00100000;
El registro PORTX se utliza específicamente para habilitar o inhabilitar las resistencias pull up que se encuentran en cada pin un puerto. Esto nos permite utilizar esta configuración interna y no armarla fuera, asi podemos recibir estados lógicos si el registro DDRX está configurado como entrada, y si está configurado como salida nos ayudará a poner en alto a nuestro pin (1 lógico) donde lo deseamos por ejemplo podemos encender un led.
3. Determinar solo el pin PA6 como salida.
DDRA=0X20;
DDRA=0B00100000;
El registro PORTX se utliza específicamente para habilitar o inhabilitar las resistencias pull up que se encuentran en cada pin un puerto. Esto nos permite utilizar esta configuración interna y no armarla fuera, asi podemos recibir estados lógicos si el registro DDRX está configurado como entrada, y si está configurado como salida nos ayudará a poner en alto a nuestro pin (1 lógico) donde lo deseamos por ejemplo podemos encender un led.
No hay comentarios:
Publicar un comentario