Buscar este blog

Mostrando entradas con la etiqueta Microcontroladores. Mostrar todas las entradas
Mostrando entradas con la etiqueta Microcontroladores. Mostrar todas las entradas

miércoles, 14 de octubre de 2015

Manejo de una memoria RAM 6116

3 comentarios
La memorias su principal función es la de mantener la informacion guardada ya sea por un momento o por un largo periodo de tiempo. En las ocaciones que solo se necesita guardar informacion por un corto periodo por ejemplo para guardar la informacion de variables que cambian durante la ejecucion de un programa es necesario tener donde guardar esa informacion por ese corto periodo.

Para esta aplicacion emplearemos una memoria RAM 6116 que mantendra nuestra informacion por un periodo y despues al  necesitar renovar de nuevo esa informacion la podremos "refrescar".

LA MEMORIA RAM 6116 El dispositivo 6116 es una memoria de acceso aleatorio, Random Acces Memory (RAM), cuenta con una capacidad de 2048 palabras de 8 bits cada una, es una memoria estática de alta velocidad, esta fabricada con la tecnología CMOS, opera con una fuente de alimentación de +5.0 Volts y esta dispuesta en una pastilla de 24 terminales.


CARACTERÍSTICAS DE LA MEMORIA RAM 6116
• Organización de la memoria: 2048 X 8
• Alta velocidad: tiempo de acceso 150 nseg.
• Baja potencia en estado inactivo: 10 uW
• Baja potencia en estado activo: 160 mW
• RAM completamente estática: No requiere reloj para su funcionamiento
• Temperatura de operación: 0.75 grados centígrados
• Temperatura de almacenamiento: De -55 a +125 grados centígrados.
• Potencia de disipación: 1 Watts
• Todas sus entradas y salidas son compatibles directamente con la tecnología TTL

DESCRIPCIÓN DE LAS TERMINALES
• A0-A10: Lineas de direcciones
• E/S0-E/S7: Entrada y Salida de datos
• CS Habilitador de la pastilla
• OE Habilitador de salidas
• WE Habilitador para la escritura
• Vcc Voltaje de alimentación +5.0 Volts
• GND Terminal de tierra 0.0 Volts

OPERACIÓN DE LECTURA

Un dato será leído del dispositivo de almacenamiento RAM 6116, mediante la aplicación de un nivel alto en la terminal (WE)', un nivel bajo en (CS)', y estando en nivel bajo la terminal (OE)', con estas conexiones se dispone que se pueda leer la memoria RAM 6116, si se coloca un nivel alto en la terminales (OE)'. y/o (CS)' las lineas de E/S y/o la pastilla 6116 se ponen en estado de alta impedancia, respectivamente.
(CS)' posee la función de controlar la activación de la pastilla, la cual puede ser usada por un sistema con microprocesadores para la selección del dispositivo.
La terminal (OE)' habilita las salidas, o las pone en estado de alta impedancia, la cual puede ser habilitada cada vez que el microprocesador requiera leer la memoria.

OPERACIÓN DE ESCRITURA

Un dato es escrito en el dispositivo RAM 6116 mediante la aplicación de un nivel bajo en la terminal (WE)', un nivel bajo en (CS)', y un nivel alto o bajo en la terminal (OE)'.
La terminal (WE)' al ser activa provoca que las terminales E/S de la memoria RAM 6116 se habiliten para aceptar la información, en estas condiciones la terminal (OE)' posee la opción de ser colocada en estado de alto bajo, para realizar así la operación de escritura.



                                                             

domingo, 4 de octubre de 2015

Como programar un microcontrolador parte 3 (Programando el pic 18F4550)

0 comentarios

En el post anterior empezamos a ver algunas funciones basicas para emplear el pic 18f4550, estas funciones son como configurar los puertos de E/S.

En este capitulo vamos a seguir programando el puerto como entradas para realizar algunas aplicaciones basicas en el manejo del microcontrolador Pic18F4550.


Para programar el puerto como entradas del  pic18f4550 se comentó que el registro encargado era el TRISx y que tenia que cargarse con un uno lógico para ser entrada.

Por ejemplo si queremos configurar el puerto B como entrada tenemos que escribir lo siguiente:

TRISB = 0XFF;

Y si solo queremos emplear algunas terminales se debe escribir el uno donde se requiera, por ejemplo para configurar la terminal (3, 4 y la 7 por decir algo) como entradas tendriamos que el numero en binario seria:

1001 1000 donde el bit de mas peso es el de la izquierda y el de menor peso es el de la derecha.

Pero eso seria en binario para hexadecimal seria :   0x98
Por lo que quedaria asi:

TRISB = 0X98 // para las terminales 3,4 y 7

Y si solo empleamos la primer terminal  en binario seria: 0000 0001
y en hexadecimal : 0X01

Por lo que quedaria asi:

TRISB = 0X01;


Ya con eso y lo visto en el post anterior se puede generar el siguiente enunciado.

Con el microcontrolador pic18f4550 configure la terminal 1 del puerto B como entrada y la terminal 7 del puerto A como salida  que tendra un led conectado y que por medio de un botón el cual este conectado a la terminal 1 del puerto B, cuando se oprima el boton se encienda el led y cuando este sin oprimir el boton el led se encuentre apagado.



#include <p18f4550.h> // Incluye procesador

void main (void)
{

TRISB = 0X01;// Configurar la terminal 1 del puerto B como entrada
PORTB=0X00;// Puerto B en ceros
TRISA = 0x00;// Puerto A como salida
PORTA=0x00;// Puerto A en ceros

// configura pines como digitales
ADCON1 |= 0X0F;

while(1)
{
  if (PORTB==0x01) // Si la terminal 1 tiene un 1
  PORTA = 0x80;// La terminal 7 del puerto A se pone un uno
  else // Si no
  PORTA = 0x00; // Puerto A apagado.
}
}

sábado, 18 de octubre de 2014

Sistema minimo con microprocesador Z80 capitulo 2

1 comentarios
Continuamos en el armado del sistema minimo con microprocesador Z80. El siguiente paso para nuestro sistema minimo es agregarle la memoria EEPROM.

Memoria de programa (EEPROM)

La memoria EEPROM ya se habia comentado  en un post anterior ( Manejo de memoria EEPROM ). Esta memoria EEPROM es la encargada de guardar las instrucciones que le vamos a dar al microprocesador Z80 para que realice dicha funcion. La memoria EEPROM se conecta en las terminales de datos, en las terminales de direccion y control del Z80 que despues el microprocesador  leerá en forma secuencial y ejecutará las instrucciones guardadas en la memoria.


La memoria EEPROM sera programada en forma independiente al microprocesador Z80. Dentro de la memoria  y en cada localidad se almacenara las instrucciones en forma binaria. La forma en que interactua la memoria EEPROM y el Z80 es la siguiente: El microprocesador con su contador de programa direcciona la localidad de memoria, lee la informacion en ella, la decodifica, la ejecuta, el contador de programa se incrementa y se lee una nueva direccion de memoria.

La conexión de nuestro sistema minimo quedara de la siguiente manera.




En nuestro siguiente post se añadira un nuevo elemento al sistema minimo para las lineas de control ademas se hara un programa simple para monstrar el funcionamiento del sistema minimo con el Z80.

martes, 8 de julio de 2014

Como programar un microcontrolador Parte 1

0 comentarios
En muchas ocaciones cuando ya tenemos un nivel medio en conocimientos de electronica o cuando no las tenemos pero nos gusta la electronica y en busca de informacion nos topamos tarde o temprano con la palabra microcontrolador, al principio a lo mejor no le tomamos mucha importancia pero mientras mas indagamos en este mundo  nos damos cuenta que los microcontroladores estan presentes en nuestra vida diaria y muchas veces no nos damos cuenta. En  este articulo explicara en primer lugar cuales son los microcontroladores mas faciles de adquirir, sus ventajas y desventajas, las arquitecturas que manejan, con que perifericos cuentan y por ultimo una introduccion de como programarlos.



En la actualidad existen diversas marcas de microcontroladores en el mercado de diversos tamaños y capacidades asi que tenemos un mundo de donde escoger, que microcontrolador se adapta mas a nuestras necesidades al principio cuando uno se adentra mas y mas en este mundo pareciera dificil  programarlos y mucho mas dificil pensar como programar mas de uno, pero la realidad es otra pues cuando ya se tiene la idea de como programar algun microcontrolador ese conocimiento se  aplica a otro, siempre y cuando se conosca las limitaciones y la arquitectura del microcontrolador a programar asi que no importa que marca se prefiera programar la idea de como se utilizan es practicamente la misma para cualquier microcontrolador lo unico que cambiara siempre es la arquitectura, por consiguiente lo unico que cambia es como se le da "ordenes" a la CPU del microcotrolador a utilizar ya que es lo unico que cambia de micro a micro ya que por lo regular los perifericos(Timer's, comparadores, perro guardian, ADC, USART, etc) son los mismos.

Entre las marcas mas conocidas de microcontroladores  y mas faciles de adquirir son :

MICROCHIP

ATMEL

FREESCALE

TEXAS INSTRUMENTS



Para programar cualquier microcontrolador de las marcas mencionadas anteriormente lo unico y principal que necesitas es la Datasheet (Hoja de datos) y nada mas (bueno tambien debes leer la hoja de datos). Si debes tener la hoja de datos del microcontrolador que estes manejando pues esta te describe como programarlo, pero de seguro si ya tienes la hoja de datos a la mano te daras cuenta que hasta el microcontrolador mas "sencillo" su hoja de datos es muy extenso por lo que a continuacion te doy unos tips para empezar a entenderlo.

1.- Revisa en la hoja de datos las especificaciones del microcontrolador que tengas a la mano, numero de pines, voltaje con el cual trabaja, el sistema minimo para hacerlo funcionar, la arquitectura, capacidad de memoria, los perifericos con los que cuenta.

2.- Siempre es conveniente tener a la mano la lista de instrucciones con las que cuenta el microcontrolador (por ejemplo el msp430 cuenta con solo 27 instrucciones nativas es decir en silicio).

3.-Es conveniente leer el capitulo que hable de  los modos de direccionamiento para saber que formas tiene la CPU para acceder a la memoria, o como mandar datos de registros a registro y las formas que se aplican las operaciones tanto logicas como matematicas. Esto es exclusivamente para cuando se programa en lenguaje de Ensamblador, ya que si requieres programar en c/c++ el compilador debe tener el manual de como se utilizan las instrucciones en c/c++.

4.-Tienes que leer el capitulo que hable de como se configuran el sistema de reloj y los puertos de entrada/salida.

5.- Otro tema muy importante a leer es la que habla sobre las interrupciones, hasta aqui con los conocientos adquiridos ya seras capaz de hacer cualquier cosa que se te ocurra lo que viene ya seria solo un plus.

6.- Aqui es donde le sacas provecho a todo el microcontrolador pues solo te haria falta leerte cada capitulo sobre los perifericos que maneje tu micro como seria el TIMER, ADC o la USART.





Electronica facilita