Autor Tema: GUIA: PIC SIMULATOR IDE Cap 1 y 2  (Leído 10367 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
GUIA: PIC SIMULATOR IDE Cap 1 y 2
« en: 20 de Diciembre de 2006, 12:06:21 »
Hola amigos!
Comence a escribir una guia sobre este magnifico software, la estoy subiendo en mi pagina web pero tambien la posteare aqui por que puede resultar de interes. Van a ser unos 30 o 40 capitulos, e ire posteandolos de dos en dos, y en el hilo este dentro del foro tecnico ire actualizando el indice para poder leer los post sin tener que buscarlos con el buscador.
Los primeros capitulos pueden resultar algo aburridos, pero son necesarios para poder desarrollar los de mas adelante.
Espero los comentarios y preguntas, que me ayudaran a dar forma a los capitulos siguientes. Gracias!

PD: En mi web habra un PDF con la guia completa (los capitulos terminados hasta la fecha actual)


------------------------------------------------------
Entorno de Desarrollo PIC SIMULATOR IDE
 
 
INTRODUCCIÓN:
Este documento es un intento de explicar el funcionamiento de una de las herramientas de desarrollo (a mi entender) mas interesantes para el aficionado a la programación de PICs.
Se trata de un entorno de programación integrado, que además de permitir la creación de programas en lenguaje assembler incorpora un muy completo BASIC, con soporte para dispositivos 1-wire, LCD, RS-232 y muchos mas.
Otro aspecto destacable es la inclusión de una gran cantidad de módulos de E/S que simulan exactamente lo que esta pasando en nuestro programa, incluidos un modulo LCD, teclado, osciloscopio, displays de 7 segmentos entre otros.


Capitulo 01 - La interfaz:
Debido a que se trata de un software concebido desde el vamos como un entorno, la integración entre los diferentes módulos que lo componen es completa y sin problemas.
Una vez instalado el programa, el icono que lo representa aparecerá en nuestro escritorio, y haciendo doble clic sobre el se abrirá la pantalla principal del programa, que al menos hasta la versión sobre la que se desarrolla este tutorial (la 5.91) esta en ingles:


Antes de ver en que consiste cada opción del menú principal, vamos a analizar rápidamente cada sección de esta pantalla:
En la parte superior, y justo debajo de la barra de menú tenemos tres cuadros de texto que nos muestran la ruta completa hacia el programa que tenemos cargado en el simulador (Program Location), el microcontrolador que hemos seleccionado para nuestro proyecto (Microcontroller) y la frecuencia de clock elegida (Clock Frequency).


Todos estos valores pueden ser cambiados, como veremos en el segundo capitulo, desde la barra de menu.
El recuadro que esta inmediatamente debajo del anterior nos muestra (cuando estamos corriendo una simulación de nuestro programa) cual es la instrucción assembler en curso (Last Instruction) y cual será la siguiente a ejecutar (Next Instruction):


Luego tenemos un cuadro con información relativa a la ejecución del programa, en la que vemos instrucción a instrucción durante todo el tiempo en que estemos corriendo la simulación, el valor que va tomando el contador de programa (PC o Program Counter), el registro de trabajo (W Register, por "working") y sobre la derecha la cantidad de instrucciones simuladas (Instructions Counter), la cantidad de ciclos de reloj transcurridos (Clock Cycles Counter) y el tiempo de ejecución que llevaría en realidad dicho programa (Real Time Duration). Cabe aclarar, que como en todo simulador, la relación entre el tiempo real y el tiempo de simulación varia dependiendo de los recursos de nuestro ordenador, y en general los programas simulados demoran mucho mas tiempo que el real en ejecutarse.


A continuación, sobre la izquierda, vemos una lista de desplazamiento que contiene el valor de todos los registros especiales con los que cuenta el microcontrolador elegido. Esta lista varia, por supuesto, con cada microcontrolador, y en el momento de correr la simulación va reflejando instrucción a instrucción el valor de cada timer, puerto, registro de estado, interrupciones, etc. Los valores se muestran en hexadecimal (Hex Value) y en binario (Binary Value). Cada registro se identifica mediante su dirección (Address) y también por el nombre con el que figura en la hoja de datos (Name).


Por ultimo, y a la derecha del cuadro anterior, tenemos el valor de todos los registros de propósito general (GPRs, o general purpose register). La lista tiene dos columnas, cada una indicando la dirección del registro (Addr.) y su valor en hexadecimal (Hex. Value):



Capitulo 02 - El menú principal:
La mayoría de las funciones de las que dispone esta herramienta están agrupadas dentro del menú principal de la aplicación. Es de destacar que todos los módulos que se pueden invocar desde aquí se abren en ventanas separadas, y pueden ser configuradas (como veremos) para que se sitúen permanentemente delante de las demás ventanas, de manera que no las perdamos de vista. Este es el menú principal:


Como es costumbre en toda aplicación de windows, la opción File es la primera del menú. Contiene solo dos comandos: Clear Memory (Limpiar memoria) que se encarga de eliminar de la memoria del simulador el programa que estuviese  cargado, que puede ser invocada mediante las teclas CTRL+R; y Load Program (Cargar Programa), que nos lleva a un cuadro de dialogo típico que nos permite seleccionar el archivo HEX que queremos simular. Esta función puede invocarse con CTRL+L.
Dentro de la segunda opción, Simulation, tenemos tres opciones que se encargan de manejar la simulación en curso: Start, Step y Stop. La primera de ellas arranca la simulación, la segunda se encarga de avanzar una instrucción (solo esta habilitada cuando en Rate hemos seleccionado el modo paso a paso) y la tercera detiene la simulación. Es muy practico utilizar F1, F2 y F3 para invocar estas opciones.
Rate es el submenú que determina el modo de ejecución de la simulación, brindando 6 posibilidades:

Estas son: Step By Step (paso a paso), Slow (Lenta), Normal (Normal), Fast (Rápida), Extremely Fast (muy rápida) y Ultimate (No Refresh) que es la mas rápida de todas, pero que no actualiza la pantalla principal del simulador. Esta opción resulta muy útil para "adelantar" partes del programa que sabemos que no tienen problemas. Todas pueden ser invocadas con CTRL+F1 a CTRL+F6, tal como se ve en la figura anterior.
Tools es el submenú encargado de invocar a cada uno de los módulos que integran el simulador, y que veremos en detalle en capítulos siguientes. Tal como se ve en la figura, la mayoría de ellos se pueden activar mediante la combinación de la tecla CTRL y alguna mas.

Desde Options (Opciones) tenemos acceso a un conjunto de alternativas de configuración. Dedicaremos bastante espacio a cada una de ellas en los capítulos correspondientes, pero podemos adelantar que las mas importantes y que debemos revisar en cada proyecto son Select Microcontroler (seleccionar microcontrolador) que nos permite elegir el modelo concreto de PIC a utilizar; Change Clock Frecuency (cambiar frecuencia de clock) y Configuration Bits (bits de configuración) desde la que se puede elegir la función de algunos pines (Reset o I/O, etc), el tipo de oscilador a usar, etc. La ultima opción de este submenú permite cambiar los colores de la interfaz (Change Color Theme).


Fin capitulo 2.
 
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: GUIA: PIC SIMULATOR IDE Cap 1 y 2
« Respuesta #1 en: 20 de Diciembre de 2006, 17:07:42 »
Te quedo tan bien que me da lastima romper el hilo escribiendo... :-)
« Última modificación: 20 de Diciembre de 2006, 17:11:14 por dogflu66 »
Saludos desde Granada, España.

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: GUIA: PIC SIMULATOR IDE Cap 1 y 2
« Respuesta #2 en: 20 de Diciembre de 2006, 17:52:39 »
Ja ja ja!!!! No es para tanto!
Ya tengo el capitulo tres, pero estoy a 100km de casa, en lo de Carli, justamente dandole una mano para que arranque con el PIC BASIC (asi somos al menos TRES!)
Me traje el auto al service y mientras hacemos tiempo le damos al BASIC.
Carlos, si ves errores no dudes en hacermelos notar!
Saludos!
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado ESTECA55

  • PIC24H
  • ******
  • Mensajes: 1404
Re: GUIA: PIC SIMULATOR IDE Cap 1 y 2
« Respuesta #3 en: 20 de Diciembre de 2006, 18:37:33 »
Muy buen aporte Ariel, ultimamnte estas a ful con las GUIAS jejeje, Estan  todas muy buenas.

No se olviden de mi, asi que  ya somos 4 con el PIC BASIC jeje, aunque yo este empesando

Saludos

Hay que esforzarse por ser el mejor, no creerse el mejor

Desconectado psykhon

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 823
Re: GUIA: PIC SIMULATOR IDE Cap 1 y 2
« Respuesta #4 en: 20 de Diciembre de 2006, 20:25:53 »
Otra pegada Arielazo. ahora quien  y porque cree que hay que usar esto en ves de proteus? espero no preguntar una pavada
No, no se lo que estoy haciendo. Nadie sabe que estoy haciendo. Por eso se llama "Investigacion".

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: GUIA: PIC SIMULATOR IDE Cap 1 y 2
« Respuesta #5 en: 20 de Diciembre de 2006, 20:42:30 »
Son cosas distintas, no es un simulador de circuitos, este entorno de trabajo se utiliza para entender como funciona el pic por dentro, practicar y depurar el programa en el que estes trabajando.
Saludos desde Granada, España.

Desconectado Veguepic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2119
Re: GUIA: PIC SIMULATOR IDE Cap 1 y 2
« Respuesta #6 en: 20 de Diciembre de 2006, 21:01:03 »
Gracias Ariel, me cae del cielo tu Guia, corro a instalarlo antes que me dejen atras.

Saludos.

Hugo

P.D. Creo que no duermes, entre tus Guias, el bebe y el trabajo no entiendo como le haces. Vamos cuentame el truco.  :wink:
“Si la gente es buena sólo porque temen al castigo y porque esperan una recompensa, entonces verdaderamente somos un grupo lastimoso." Albert Einstein.

Saludos desde Lima , Peru    -    Hugo

Desconectado samshiel_pic

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 777
    • Electrónica·Ingenia
Re: GUIA: PIC SIMULATOR IDE Cap 1 y 2
« Respuesta #7 en: 22 de Diciembre de 2006, 08:08:45 »
Oye que yo toy aqui tambien!!! Asi es mas facil empezar con el PIC SIMULATOR IDE!! eres un fenomeno Ariel.

Un saludo!!

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: GUIA: PIC SIMULATOR IDE Cap 1 y 2
« Respuesta #8 en: 22 de Diciembre de 2006, 10:00:18 »
Gracias, pero no es para tanto!  :oops:

Un poquito de paciencia, que en unos dias en el cap. 5 comenzamos con el Basic. :)
Saludos!
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado Carli

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 109
Re: GUIA: PIC SIMULATOR IDE Cap 1 y 2
« Respuesta #9 en: 22 de Diciembre de 2006, 12:17:50 »
Grande Ariel!!!!!!! :-/

El mismo nivel que en tus clases particulares sin fines de lucro.

Muchas Gracias por ayudarme a entrar en el mundo de los microcontroladores.

Un abrazo.

Carlitos.

PD/ Lastima que vendistes el parapente :(
Nueve de Julio - Buenos Aires - Argentina

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: GUIA: PIC SIMULATOR IDE Cap 1 y 2
« Respuesta #10 en: 22 de Diciembre de 2006, 12:48:21 »
Hola Carlos!

Y....si no vendia el parapente, me quedaba sin tiempo para las clases particulares de BASIC!!! ;)

Me alegro que vayas tomandole la mano. Nos vemos!

PD: Estrenaste el casco "nuevo" ?
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert