domingo, 26 de febrero de 2012

Tarea intro

La primera practicá consiste en elaborar un programa en lenguaje ensamblador, pero antes de pasar al código pondre un poco de lo que es el lenguaje ensamblador en si:

"El lenguaje ensamblador es un lenguaje de bajo nivel, es un derivado del lenguaje máquina y esta formado por abreviaturas de letras y números."

Para generar el código ensamblador primero utilizare el siguiente codigo en C el cual es para generar números aleatorios aqu,í el código:


Después compile el archivo para obtener mi código ensamblador utilizando el siguiente comando:
gcc -S rand.c

Despues de Compilar Obtuve el siguiente código:


Un código muy largo.. para esto analice el código y lo optimice un poco eliminando algunas lineas y este fue el resultado:


Para entenderle un poco mejor Comentarice algunas lineas para ubicar que era lo que hacia el programa. Para probar si funcionaba el codigo con menos lineas cree su ejecutable gcc -s Rand.s -o Rand.exe y lo ejecute ./Rand y este fue el resultado


Referencias:

Tambien me ayude con un post que mi companiero Juan Carlos hizo con anterioridad.

jueves, 16 de febrero de 2012

Arquitecturas de microcontroladores

En esta entrada hablare de las arquitecturas de los micro controladores, pero primero una breve definición de lo que son:

"Un microcontrolador es un circuito integrado que puede ser programable y capaz de ejecutar las ordenes que han sido programadas en el."

Ahora algo sobre las arquitecturas de los microcontroladores...

Inicialmente los microcontroladores tenian la arquitectura clasica de Von Neumann, esta arquitectura estaba caracterizada por disponer de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta, y a esta memoria se accede a través de un sistema de buses único.
La arquitectura Harvard dispone de dos memorias. una que contiene el programa y otra para almacenar los datos, permitiendo así accesos simultáneos utilizando buses diferentes. Actualmente la mayoría de los microcontroladores responden a esta arquitectura, como ejemplo: los microcontroladores PIC.




Microcontrolador PIC
Usare de ejemplo el PIC16F8X para mostrar la función de las patitas y de como pueden ser asignadas (entradas, salidas, etc..)

Los puertos A (color azul) pueden ser configurados como entradas o salidas. La pata 3 (RA4/TOCKI) puede ser configurado como entrada/salida o como temporizador. El puerto B (color naranja) tiene ocho pines que también se pueden configurar como entrada o salida. Los pines 15 y 16 son únicamente para el oscilador externo*. El pin 4 (Reset) se debe conectar a una resistencia para que el Pic funcione, y si se desea resetear entonces se conecta a un micropulsador con una resistencia de 100 Ohm a tierra.

Los pines 14 y 5 son de alimentacion los cuales no pueden pasar de 5 voltios.


Buscando informacion sobre los microcontroladores pic, encontre un proyecto diseniado con microcontroladores similar a algo de lo que haremos en la clase, este habla de como hacer para evitar que se quemen las cerraduras electricas de puertas comunitarias, mostrando un panorama de el lugar en el que usa y de como se puede implementar utilizando un Pic 12f629.


* Oscilador Externo: Es un circuito que indica al micro la velocidad a la que debe trabajar, se le conoce como oscilador o reloj, y es de vital importancia para que el sistema tenga un buen funcionamiento.

Referencias: