TUTORIAL DEL UMPS

Salvador Macías Hernández

Página hecha el Miércoles 17 de Abril del 2006

 

Para bajar el UMPS versión DEMO, que estaba a disposición al público en la página electrónica www.vmdesign.com , y que ahora puedes bajar de este mismo portal dándole clic en las siguientes ligas:

 

UMPSspd1.zip     UMPSspd2.zip     Plugin.zip

* Esta es una versión DEMO, y está bloqueada para que sólo pueda operar 

en ciertas fechas. Por tanto. Si tu demo dice que ya expiró. Cambiale la fecha

de tu computadora al día 13 de Mayo del 2003

 

     Para iniciar el UMPS hay que dar clic en Inicio\Programas\UMPS 1.85-demo\UMPS 1.85-demo. Así como se muestra en la figura:

 

      Aparecerá la siguiente ventana de bienvenida:

 

En seguida hay que seleccionar el microprocesador con el cual se va a trabajar. Para este tutorial utilizaremos el 8031 de Intel. Para ello hay que seleccionar "Cargar CPU..." del menú configurar. Así como se muestra en la siguiente figura:

 

 

Aparecerá el siguiente menú. En este menú se encuentran todos los microprocesadores que es capaz de simular este programa. Seleccionaremos el 8031. Vea la siguiente figura:

 

Como la versión que estamos usando es DEMO, aparece el siguiente cuadro de diálogo:


 

Una vez aceptado. Se activaran algunas funciones y botones de acceso rápido.


 

     Ya que le dijimos el microprocesador que vamos a utilizar, es tiempo de decirle el valor del cristal de cuarzo que vamos a utilizar en nuestra aplicación. Por defecto viene en 1Mhz, pero para este microprocesador podemos utilizar hasta 12Mhz. Pero para este ejemplo vamos a usar uno de 4Mhz. Para indicarle al programa, el oscilador a utilizar hay que seleccionar Run mode.. del menú Opción. Así como se muestra en la figura:


 

Aparecerá la siguiente ventana. En donde se le debe de poner el valor correspondiente a la frecuencia del oscilador Por defecto es de 1 Mhz, y ustedes le pueden poner la que en van a utilizar. Para este caso deberemos de poner allí el valor de 4. Vea la figura:


 

Ya con eso, podemos empezar a programar. Para comenzar a hacer nuestro código hay que dar clic en Nuevo del menú Fichero, así como se muestra a continuación:


 

Inmediatamente después nos aparecerá una ventana de edición, en donde introduciremos nuestro código, así como se muestra en la siguiente figura:


 

     Vamos a crear un pequeño programita de ejemplo. Que solamente prenda la mitad del Puerto0 y apague la otra mitad. Para poder comenzar, hay que indicarle al UMPS el inicio de nuestro programa, esto lo hacemos con la directiva ORG, la cual inidica la localidad de memoria en la cual se requiere que vaya el código subsecuente. El 8031, así como cualquier microprocesador de esas familia, cuando es encendido, inmediatamente busca la localidad 0000h de la memoria de programa para comenzar a ejecutar el programa del usuario.


 

 

     Si observamos bien, notaremos que UMPS numera las líneas del programa, pone en verde las directivas, en rojo los valores, y como veremos a continuación, en negro las instrucciones. Inmediatamente después y con su respectiva sangría pondremos un salto a el programa inicial.


 

     Como vemos, las instrucciones están en negro y en negritas y las etiquetas solamente en negro. Cuando hacemos referencia a las etiquetas, solo debemos de poner el nombre. Y cuando ponemos etiquetas, debemos de poner el nombre precedido de dos puntos. Es de buena práctica para programar, poner las etiquetas y variables en mayúsculas, y las instrucciones y directivas en minúsculas. A continuación vamos a apagar medio P0 y a prender la otra mitad. Para ello hay que utilizar la instrucción mov P0,#0F0h. Si vemos, la instrucción tiene un # que quiere decir que lo que vamos a mover es un un dato y no el valor de una localidad de memoria o de un registro. Y si notan, el dato es 0F0h y no F0h, ya que UMPS nos pide que el primer digito de un dato numérico sea un número y no una literal. Enseguida necesitaremos una rutina (llamada FIN) que haga que el microprocesador se quede en un ciclo permanente. Y por último se le pone la directiva end.