TODOPIC
Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: Jorge_Loa en 12 de Abril de 2007, 14:19:07
-
Resulta que el unico lenguaje que me enseñaron para programar PIC fue el Assembler (Aunque estoy tentado en empezar a estudiar otros), y de hecho todas las practicas y los programas que he hecho los he realizado usando el software de Microchip (Mplab). (..........aunque hace como tres años conocí los PIC's hasta hace poco supe que se podía programar en C y que el MPLAB no era la única opción --- :( :( :( )De todas formas y como conoci este foro debido a un proyecto que adelanto actualmente :!: y no me puedo dar el lujo de aprender otro programa para realizar el proyecto porque el tiempo no me lo permite :!: pues me toca programar en MPLAB, yo creía que ese programa solo admitia las instrucciones propias qeu reconoce el PIC, es decir que si el juego de instrucciones de X Pic es de 35, el Mplab solo me reconocia esas 35 instrucciones, ademas de las etiquetas, #include, org, end....y ya no mas. (yo al menos no conozco más).
Pero resulta que leyendo he visto muchas veces instruccones como banksel :| pagesel u otras; son estas instrucciones que reconoce Mplab? si no es así en que programa se usasn? para que sirven? que instrucciones además de las que mencione reconoce el Mplab?......ya se que es mas de una pregunta pero me gustaria conocer las resuestas.
-
hola.
yo estoy en el mismo caso que tu (mas o menos)
yo sabia programar ensamblador de motorola. y ahora estoy haciendo un proyecto de verdad con un PIC, y claro siguiendo los manuales de microchip solo me encuentro con 35 instrucciones y que con eso no puedo hacer lo que querria.
asi que espero que un alma caritativa responda nuestras preguntas y mi PFF avance de verdad ahora.
un saludo
-
Son macros, no son instrucciones.
No son del MPLAB (que es el entorno) sino del MPASM (que es el ensamblador).
Les dejo este link que tal vez les sea de utilidad.
http://www.todopic.com.ar/foros/index.php?topic=15674.0
-
otra pregunta más.
Buscando informacion de como medir humedad y temperatura con el sensor SHT11 de la casa Sensirion, me encontre un codigo (oh la la, en ASM) para un pic 16f877 que muestra al humedad en una LCD 2*16 ( :c) Al parecer la providencia me sonrie porque mi proyecto lo realizo con un PIC 16f877, un rtc ds1307, y una LCD 2*16 en donde se debe mostrar la fecha, la humeda y la temperatura, tan solo me hace falta la rutina del sensor y es justamente lo que me encontré :!: :!: :!: :!: :!:. Sin embargo en el codigo me encuentro cosas como las siguientes:
tbl_hygro addwf PCL,f ;tabla con contenido de rotulo constante
dt "Humedad:", 0
yo se que tbl_hygro es la etiqueta, tambien se para que sirve PCL,f y que lo usamos principalmente en tablas, pero de la siguiente linea de codigo ??????????? Que rayos es dt "Humedad:",0??????? Alguien podria explicarme como se interpreta eso.
De antemano muchas gracias.
-
gracias maunix por aclararme que no son instrucciones que entienda el MPLAB, voy a dar un vistazo al link que me recomiendas porque la verdad es que no entiendo de macros ni cosas de esas (Que es un macro????), yo he hecho los programas de la siguiente manera.
-Escribo el codigo en el entorno de mplab, o en un editor puro; y lo guardo con extension .asm
-luego creo un proyecto y anexo el .asm en el proyecto.
-Lo ensamblo (ya se que eso lo hace el MPASM, pero no se que instrucciones (o código) entiende el ensamblador)
-Si aparecen errores lo corrijo hasta que salga sin errores
-luego abro el .hex que se crea tras el ensamblaje correcto con el IcProg
-POr ultimo doy la orden de programar dispositivo..........y ya está.
Todos los programas que he hecho los he hecho exactamente de la misma forma, ahora se que hay muchas otras y quiero empezar por entender lo referente al codigo.
Agradezco su ayuda.
-
Me parece muy bien, todos empezamos por algo simple y luego lo fuimos complicando.
Es como en la escuela, Primero se aprende a sumar y luego a multiplicar. :) :)
-
Pero resulta que leyendo he visto muchas veces instruccones como banksel :| pagesel u otras; son estas instrucciones que reconoce Mplab? si no es así en que programa se usasn? para que sirven? que instrucciones además de las que mencione reconoce el Mplab?......ya se que es mas de una pregunta pero me gustaria conocer las resuestas.
Esas no son instrucciones, Son Directivas de MPASM que lo que hacen es condicionar el funcionamiento de este y la forma en la que se genera el archivo .hex para que puedas grabar el PIC. A pesar de que estan en la hoja de codigo, estas no se traduce a intrucciones del PIC, no ocupan memoria flash del PIC.
Hay directivas que te facilitan mucho la vida y mejorar la velocidad con la que se desarrollan los programas. Te recomiendo que las leas.
Pasate por este LINK el pripio fabricante te explica una por una de que se trata y que hacen..
http://ww1.microchip.com/downloads/en/DeviceDoc/33014J.pdf
Saludos!