PicBasic PRO Compiler Espanol

Embed Size (px)

Citation preview

  • 7/30/2019 PicBasic PRO Compiler Espanol

    1/116

    PicBasic PRO Compiler

    INTRODUCCION

    El compilador PicBasic Pro (PBP) es nuestro lenguaje de programacin de nueva generacin quehace mas fcil y rpido para usted programar micro controladores Pic micro deMicrochipTechnology.

    El lenguaje Basic es mucho ms fcil de leer y escribir que el lenguaje ensamblador Microchip.

    El PBP es similar alBASIC STAMP IIy tiene muchas de las libreras y funciones de losBASIC STAMP I y II. Como es un compilador real los programas se ejecutan mucho ms rpido

    y pueden ser mayores que sus equivalentes STAMP.

    PBP no es tan compatible con los BASIC STAMP como nuestro compilador PicBasic es con el BSI. Decidimos mejorar el lenguaje en general. Una de estas decisiones fue agregar IF...THEN...ELSE...ENDIF en lugar de IF.. THEN (GOTO) de los Stamps. Estas diferencias se venluego en este manual.

    PBP por defecto crea archivos que corren en un PIC 16F84-04/P con un reloj de 4 Mhz.Solamente muy pocas partes son necesarias capacitores de dos capacitores de 22 pf para elcristal de 4Mhz un resistor de 4.7K en el pin/MCLR y una fuente de 5 volt. Otros micros PICadems del 16F84, as como otros osciladores de frecuencias distintas pueden ser usados por

    este compilador.

    http://www.microchip.com/http://www.microchip.com/http://www.microchip.com/http://www.microchip.com/http://www.paralax.com/http://www.paralax.com/http://www.paralax.com/http://www.paralax.com/http://www.paralax.com/http://www.melabs.com/http://www.paralax.com/http://www.microchip.com/http://www.microchip.com/
  • 7/30/2019 PicBasic PRO Compiler Espanol

    2/116

    LOS MICROS

    El PBP produce cdigo que puede ser programado para una variedad de micro controladores PICque tengan de 8 a 68 pins y varias opciones en el chip incluyendo convertidores A/D,temporizadores y puertos seriales.

    Hay algunos micros PIC que no trabajaran con el PBP, por ejemplo las series PIC 16C5Xincluyendo el PIC 16C54 Y PIC 15C58. Estos micro PIC estn basados en el viejo ncleo de 12bit en lugar del ncleo ms corriente de 14 bit. El PBP necesita alguna de las opciones quesolamente estn disponibles con el ncleo de 14 bit como el stack (pila) de 8 niveles.

    Hay muchos micros PIC, algunos compatibles pin a pin con la serie 5 X, que pueden ser usadoscon el PBP. La lista incluye PIC16C554, 556, 558, 61, 62(A), 620, 621, 622, 63, 64(A), 65(A),71, 710, 711, 715, 72, 73(A), 74(A), 84, 923, 924, el PIC16F83 y 84, el PIC12C671 y 672 y elPIC14C000, y Microchip sigue agregando otros. Para reemplazo directo de un PIC166C54 o 58,el PIC16C554, 558, 620 y 622 funcionan bien con el compilador y tienen aproximadamente el

    mismo precio.*

    Para propsitos generales de desarrollo usando el PBP, el PIC16F84 (o PIC16C84 si el F84 noest disponible) es la eleccin comn de micro PIC. Este micro controlador de 18 pin usatecnologa flash (EEPROM) para permitir rpido borrado y reprogramacin para acelerar ladepuracin de programas. Con el clic de un mouse en el software, el PIC16F84 puede serborrado instantneamente y luego ser reprogramado una y otra vez. Otros micros PIC de lasseries 12C67X, 16C55X, 16C6X, 16C7X y 16C9X son programables una vez (OTP) o tienen unaventana de cuarzo en su parte superior (JW) para permitir el borrado exponindolo a una luzultravioleta durante varios minutos.

    El PIC16F84 (y C84) adems, contiene 64 bytes de memoria de datos no voltil que puede serusada para archivar los datos de programa y otros parmetros, aun cuando no haya energa. Asta rea de datos, se puede acceder simplemente usando las rdenes Read y Write delPBP. (El cdigo programa es permanentemente guardado en el espacio de cdigo del micro PIC,tanto si hay o no energa.)

    Usando el F84 para el testeo del programa inicial, el proceso de depuracin puede ser msrpido. Una vez que las rutinas principales de un programa estn operando satisfactoriamente,se puede utilizar un micro PIC con mayor capacidad o las opciones expandidas del compilador.

    Si bien muchas de las opciones del micro PIC sern discutidas en este manual, para completar

    la informacin del micro PIC, es necesario obtener las apropiadas hojas de datos del micro PICo el CD-ROM deMicrochip Technology Inc.

    http://www.microchip.com/http://www.microchip.com/http://www.microchip.com/http://www.microchip.com/
  • 7/30/2019 PicBasic PRO Compiler Espanol

    3/116

    ACERCA DE ESTE MANUAL

    Este manual no es un tratado completo del lenguaje BASIC. Describe el conjunto deinstrucciones del micro PIC y brinda ejemplos de cmo utilizarlo. Si no est familiarizado conla programacin de BASIC , deber obtener un libro sobre dicho tema. O intentarlo

    directamente. BASIC est diseado como un lenguaje fcil de utilizar y, hay ejemplosadicionales de programas en el disco que pueden ayudarlo a comenzar.

    La prxima seccin de este manual abarca la instalacin del PBP y la escritura del primerprograma. Siguiendo a esto, una seccin que describe diferentes opciones para la compilacinde programas.

    Despus son explicadas las bases de la programacin , seguidas por una seccin de referenciaen donde cada comando del PBP es detallada en una lista. La seccin de referencia muestracada prototipo de comando, una descripcin del comando y algunos ejemplos. Las llaves ({}),indican los parmetros opcionales.

    El resto del manual, provee informacin para programadores avanzados - todo el trabajointerno que el compilador hace.

    EMPEZANDO DESDE EL PRINCIPIO

    INSTALACIN DEL SOFTWARE

    El software PBP debe ser copiado a su disco rgido antes de usarlo. Cree un subdirectorio en sudisco llamado PBP u otro nombre a su eleccin, tipeando md PBP

    en el prompt de DOS. Copie todos los archivos desde el diskette adjunto en el subdirectoriorecientemente creado, tipeando:

    xcopy a:*.* PBP /s

    La opcin /s asegurar que todos los subdirectorios necesarios sern creados dentro del

    subdirectorio PBP.

    Si el archivo es comprimido (.ZIP) o ejecutable (.EXE), usted necesita descomprimirlo (unzip)usando la opcin -d para asegurarse que los subdirectorios sean recreados.

    Asegurese que FILES y BUFFERS sean fijados en por lo menos 50 en su archivo CONFIG.SYS. Dependiendo de cuantos FILES y BUFFERS ya estn en uso por su sistema, puede sernecesario aumentar su nmero.

  • 7/30/2019 PicBasic PRO Compiler Espanol

    4/116

    recomendaciones del fabricante

    SU PRIMER PROGRAMA

    Para operar el PBP , necesitar un editor procesador de texto para crear su programa fuente, algn tipo de programador de micros PIC como el EPIC Plus Pocket PICmicro Programmer y elpropio PBP. Por supuesto , tambin necesita un PC:

    La secuencia de eventos es similar a la siguiente :

    Primero cree el archivo fuente BASIC para el programa , usando su editor o procesador detexto preferido. Si lo desea , EDIT ( includo en DOS) NOTEPAD (includo en WINDOWS) ,

    pueden ser utilizados.El nombre del archivo fuente debe terminar con la extensin .BAS (perono es excluyente), recomiendo el UltraEdit

    El archivo de texto creado debe ser texto ASCII puro .No debe contener cdigos especialesinsertados por procesadores de texto para sus propsitos especficos .Normalmente se tienela opcin de grabar el archivo como texto ASCII puro en la mayora de los procesadores detexto.

    El siguiente programa provee un buen primer testeo de un micro PIC en el mundo real .Puedetipearlo o simplemente obtenerlo del subdirectorio SAMPLES includo en el diskettedistribuido con el PBP .El archivo es BLINK.BAS . El archivo fuente BASIC debe ser creado +o

    movido al mismo directorio donde se encuentra el archivo PBP.EXE

    Ejemplo de programa para hacer parpadear un LED conectado al puerto PORTB.0 ,aproximadamente una vez por segundo

    loop: high PORTB.0 enciende el LED

    pause 500 demora de .5 segundos

    low PORTB.0 apaga el LED

    pause 500 demora de .5 segundos

    goto loop vuelve a loop y hace parpadear el LED indefinidamente

    end

    http://www.melabs.com/support/mplab.htmhttp://www.melabs.com/support/mplab.htmhttp://www.melabs.com/support/mplab.htm
  • 7/30/2019 PicBasic PRO Compiler Espanol

    5/116

    Una vez que Ud. est convencido que el programa que ha escrito funcionar sin errores puedecompilarlo ingresando PBP seguido del nombre de su archivo de texto en el prompt de DOS .Porejemplo , si el archivo de texto que Ud. creo se llama BLINK.BAS , ingrese :

    PBP blink

    El compilador mostrar un mensaje de inicializacin y procesar su archivo .Si lo acepta ,crear un archivo de cdigo fuente ensamblado ( en este caso BLINK.ASM) y automticamenteinvocar al ensamblador para completar la tarea .Si todo funciona bien , se crea un archivo decdigo microPIC (en este caso BLINK.HEX). Si existen errores , se emitir un listado de losmismos , que debern ser corregidos en su archivo fuente BASIC antes de ser compiladosnuevamente.

    Para ayudarlo a asegurarse que su archivo original funcione sin errores , es mejor comenzarescribiendo y probando pequeas partes de su programa y no escribir 100000 lneas deprograma y luego tratar de depurarlas de principio a fin.

    Si Ud, no le indica otra cosa , el PBP ,por defecto , crea cdigo para el PIC16F84 . Paracompilar cdigos para otros micros PIC , simplemente use la opcin -p en la lnea de comandos ,como se describe mas adelante , para especificar otro tipo de procesador .Por ejemplo siintenta usar el programa BLINK.BAS en un PIC16C74 , compile usando el comando

    PBP - p16c74 blink

    PROGRAMANDO EL MICRO

    Hay otros dos pasos colocar su programa compilado dentro del micro controlador Picmicro ytestearlo.

    El PBP genera archivos de 8 bit standard de INTEL (.HEX) que pueden ser usados concualquier programador de microsPic incluyendo nuestro programador EPIC Plus PocketPICmicro Programmer. Los microPic no pueden ser programados con cables de programacin

    BASIC Stamp.

    El siguiente es un ejemplo de cmo un microPic puede ser programado usando nuestroprogramador EPIC .

    Asegrese de que no haya microsPic instalados en el zcalo de programacin del programadorEPIC.

  • 7/30/2019 PicBasic PRO Compiler Espanol

    6/116

    Conecte el programador EPIC al puerto paralelo de impresora del PC usando un cable deimpresora DB25 macho a DB25 hembra.

    Enchufe el adaptador de AC en la pared y luego en el programador EPIC (o coloque dosbateras de 9 volt en el programador y conecte el jumper Batt ON).

    El LED en el programador puede estar encendido o apagado en este momento. No coloque unmicroPic en el zcalo de programacin cuando el LED est encendido o antes de que elsoftware de programacin d comienzo.

    Ingrese: EPIC.

    En el prompt de DOS para comenzar el software de programacin. El software EPIC puede seriniciado desde una seccin de DOS pura o desde una seccin de DOS bajo Windows OS/2.(No se recomienda utilizarlo bajo Windows porque altera el sistema de tiempos y juega con lospuertos lo que puede causar errores de programacin).

    El software de EPIC busca donde est conectado el programador EPIC y lo deja listo paraprogramar un microPIC. Si no se encuentra un programador EPIC chequea todas las conexionesy verifica que no hay un microPic o algn adaptador conectado al programador. Tipeando: EPIC/ ?

    En el prompt de DOS mostrar una lista de opciones disponibles para el software de EPIC.

    Una vez que se muestra la pantalla de programacin, use el mouse para hacer click sobre OPENarchivo apriete Alt-O en su teclado. Use el mouse o el teclado para seleccionar BLINK.HEX cualquier otro archivo que usted desee programar dentro del microPic desde la caja de dilogo.

    El archivo se cargar y usted ver una lista de nmeros en la ventana de la izquierda. Esto essu programa en cdigo de microPic. A la derecha de la pantalla se muestra informacin de laconfiguracin que ser programada dentro del microPic. Verifique que es correcta antes deproseguir.

    En general, el oscilador debe ser colocado en XT para un cristal de 4 Mhz y el Watchdog Timerdebe ser colocado en ON para programas de PBP. Mas importante, Code Protect debe ser OFFcuando se programa cualquier micro con ventana de cuarzo (JW). Usted no puede borrar unmicroPic con ventanas que ha sido protegido con cdigo.

    Cuando todo parece maravilloso, es tiempo de insertar un microPic dentro del zcalo deprogramacin y hacer click sobre Program teclear Alt-P en el teclado. El microPic primeroser chequeado para asegurarse de que est en blanco y luego su cdigo ser programadodentro de l. Si el microPic no est en blanco y es un 16F84 un 16C84, usted simplementepuede elegir programarlo sin borrarlo primero.

    Una vez que se complet el programa y se apag el LED es tiempo de probar su programa.

  • 7/30/2019 PicBasic PRO Compiler Espanol

    7/116

    ESTA VIVO

    El esquema de ejemplo siguiente da una idea de los pocos elementos que se necesitan conectara un microPic para hacerlo funcionar. Bsicamente se necesita un resistor de pull-up en la lnea/MCLR, un cristal de 4 Mhz con 2 capacitores y una fuente de 5 volt. Hemos agregado un LEDy un resistor para proveer la salida para el programaBLINK.

    Construya y verifique este simple circuito en una tarjeta y enchufe el microPic que ustedprogram. Nuestra lnea de tarjetas PICProto es perfecta para este tipo de cosas.

    Conecte una fuente de alimentacin su microPIC arrancar parpadeando el LEDaproximadamente una vez por segundo. Si no lo hace verifique todas las conexiones yasegrese que hay 5 volt en los pins apropiados de su microPic

    Con este simple comienzo ,puede crear su propio mundo de aplicaciones.

    TENGO PROBLEMAS

    Los programas mas comunes para hacer funcionar los microPic involucran asegurarse que lospocos componentes externos sean de valor apropiado y estn conectados adecuadamente. Lassiguientes son algunas claves para ayudar a hacer funcionar todo.

    Asegrese que el pin /MCLR est conectada a 5 volt a travs de algn tipo de circuitoprotector o simplemente con un resistor de 4.7K. Si deja el pin sin conectar su nivel flota yalgunas veces el microPic puede fallar. El microPic tiene un circuito interno de power-on-reset(puesta a cero al encender) y en general solo es necesario un resistor interno de pull-up esadecuado. En algunos casos el microPic puede no arrancar apropiadamente y se necesita un

    circuito interno. En los manuales encontrar mayor informacin.

    Asegrese de usar un cristal en buen estado con capacitores de valor adecuados conectados al . Los valores de los capacitores pueden ser difciles de leer. Si los valores son muydiferentes el oscilador no arrancar ni trabajar en forma apropiada. Un cristal de 4 Mhz con2 capacitores cermicos de 22pf es un buen comienzo para la mayora de los microPic. Una vezmas, busque en los manuales informacin adicional en ste tema.

    http://www.todopic.com.ar/pbp_sp.html#blinkhttp://www.todopic.com.ar/pbp_sp.html#blinkhttp://www.todopic.com.ar/pbp_sp.html#blinkhttp://www.todopic.com.ar/pbp_sp.html#blink
  • 7/30/2019 PicBasic PRO Compiler Espanol

    8/116

    Asegrese de que la fuente de alimantacin es apropiada para la tarea. Aunque el microPicconsume muy poca potencia la fuente debe estar muy bien filtrada. Si el microPic estcontrolando dispositivos que consumen bastante corriente de su fuente cuando ellos seencienden o apagan pueden causar un glitch (ruido interferencia) en las lneas de alimentacincausando que el microPic deje de funcionar apropiadamente. Aun un visor LED puede crear un

    drenaje instantneo en una pequea fuente de alimentacin (como una batera de 9 volt) ycausar el microPic falle.

    Cheque las hojas de datos del microPic. Algunos dispositivos tienen opciones que puedeninterferir con algunas operaciones. Los PIC16C62X (16C620, 621 y 622) son un buen ejemplo.Estos microPic tienen comparadores analgicos en PORTA. Cuando estos micros arrancan,PORTA se coloca en modo analgico. Esto hace que la funcin en PORTA trabaje de una manerano esperada. Para cambiar el pin a digital, simplemente agregue la lnea.

    CMCON = 7

    Al principio de su programa .Cualquier micro C con entradas analgicas como la serie16C7xxarrancar en modo analgico .Deber colocarlos en modo digital si intenta usarlos en ese modo.

    Otro ejemplo de desastre potencial es el pin 4 PORTA , exhibe un comportamiento inusualcuando es usado como salida .Esto sucede porque tiene una salida a colector abierto , en lugardel estado bipolar del resto de los pins .Esto significa que puede ser llevada a tierra cuando secoloca en 0 . pero flotar cuando se la coloque en 1 , en lugar de ir a un estado alto .Parahacer que este pin funcione de manera correcta , agregue un resistor de pull-up entre el pin y5 volt . El valor del resistor puede estar entre 1 K y 33 K . dependiendo de la conexin deentrada .Este pin actua como cualquier otro cuando se lo usa como entrada.

    Todos los pins del microPIC se colocan como entradas cuando arranca .Si necesita que un pinactue como salida , coloquelo como salida antes de usarlo use un comando de PBP que lo hagapor Ud .Una vez ms , puede revisar las hojas de datos de los microsPIC .

    Comience en pequeo .Escriba programas cortos para probar opciones de las que no est seguro con las que puede tener problemas .Una vez que estas funcionen . puede seguir adelante

    Trate de hacer las cosas de otra manera . Algunas veces , aquello que trata de hacer deberafuncionar , pero no lo hace . Normalmente hay mas de una forma de confeccionar un programa .Trate de llegar utilizando un ngulo diferente.

  • 7/30/2019 PicBasic PRO Compiler Espanol

    9/116

    ESTILO DE CDIGO

    Escribir programas legibles y mantenibles es un arte . Existen algunas tcnicas simples que ud.debe seguir y se convertir en un artista.

    COMENTARIOS

    Use comentarios . Aunque sea perfectamente obvio para Ud, lo que est escribiendo , alguienms puede leerlo ( Ud. mismo ms tarde) y puede no tener idea de lo que Ud. hizo .Aunque loscomentarios usan espacio en el archivo fuente BASIC , no lo hacen en el microPIC .

    Haga que los comentarios le digan algo til acerca de lo que el programa est haciendo .Uncomentario como colocar pin 0 en 1 simplemente explica la sintaxis del lenguaje , pero no ledice nada acerca de la necesidad de hacerlo . Encender el LED de batera baja puede ser ms

    til .

    Un bloque de comentarios en el comienzo del programa y antes de cada seccin de cdigopuede describir que suceder con ms detalle que un simple espacio despus de cada lnea .Noincluya un bloque de comentarios en lugar de comentarios individuales de lnea - use ambos .

    En el comienzo del programa que har el programa , autor y fecha .Puede ser til para listarinformaciones de revisin y fechas . Especificar las conexiones de cada pin puede ser til pararecordar para que equipo en especial se program .Si se utiliz un cristal no standard , uopciones especiales de compilacin asegurese de indicarlo .

    NOMBRES DE PIN Y DE VARIABLE

    Haga que los nombres sean algo ms coherente que Pin0 o B1 . Adems de un uso libre decomentarios , nombres descriptivos ayuda mucho a la legibilidad . El siguiente fragmento lodemuestra :

    BattLED var portb.0 LED de batera baja

    Level var byte la variable contiene el nivel de batera

    If level < 10 then si el nivel de batera es bajo

    High battLED enciende el LED

    Endif

  • 7/30/2019 PicBasic PRO Compiler Espanol

    10/116

    ETIQUETAS

    Las etiquetas (labels) deben indicar algo mas significativo que etigueta1 aqu .An una

    etiqueta loop es ms descriptiva (pero poco) .Usualmente la lnea rutina a la que se estsaltando hace algo nico .Trate de dar un indicio de su funcin con la etiqueta y luego siga conun comentario .

    GOTO

    Trate de no usar demasiados GOTO . Aunque pueden ser un mal necesario , trate de minimizarsu uso en lo posible .Trate de escribir su cdigo en secciones lgicas y no ir saltando acualquier lado . UsarGOSUBpuede ser til para esto .

    OPCIONES DE LNEA DE COMANDO

    USO

    El PBP puede ser llamado desde la lnea de comando del DOS usando el siguiente formato:

    PBP opciones nombre de archivo.

    Ninguna o varias opciones pueden ser usadas para modificar la manera en que PBP compila elarchivo especificado. Las opciones comienzan con un signo menos (-) o una barra invertida (/).El carcter siguiente al signo menos o la barra es una letra que selecciona la opcin. Puedehaber ms caracteres si la opcin requiere mas informacin. Cada opcin debe estar separadapor un espacio, pero no puede haber ningn espacio dentro de una opcin.

    Opciones mltiples pueden ser usadas al mismo tiempo, por ejemplo:

    PBP -p16c71 -ampasm blink

    Causar que el archivo BLINK.BAS sea compilado usando MPASM sea usado como ensambladory dirigido a un procesador PIC16C71.

    El primer elemento que no comienza con un signo menos se toma como nombre de archivo. Si nose especifica extensin se usa la extensin .BAS por defecto. Si se especifica una ruta, en esedirectorio es buscado el nombre del archivo. No importa donde se encuentre el archivo fuente,los archivos generados por PBP se colocan en el directorio actual.

    http://www.todopic.com.ar/pbp_sp.html#gosubhttp://www.todopic.com.ar/pbp_sp.html#gosubhttp://www.todopic.com.ar/pbp_sp.html#gosub
  • 7/30/2019 PicBasic PRO Compiler Espanol

    11/116

    Por defecto, PBP automticamente arranca el ensamblador (PM.EXE) si la compilacin seefecta sin error. PBP espera encontrar PM.EXE en el mismo directorio que PBP.EXE. Si lacompilacin tiene errores o se usa la opcin -S no arranca el ensamblador.

    Si PBP es llamado sin parmetro o sin nombre de archivo se muestra una pantalla de ayuda.

    OPCIONES

    Opcin Descripcin

    A Usa un ensamblador diferente

    C Inserta lneas fuente como comentarios dentro del archivo ensamblador

    H(?) Muestra la pantalla de ayuda

    I Usa una ruta diferente para Include

    L Usa un archivo diferente para Library

    O Pasa la opcin al ensamblador

    P Especifica el tipo de procesador

    S Saltea la ejecucin del ensamblador cuando est hecho.

    V Modo con comentario

    Opcin -A

    PBP tiene la posibilidad de usar tanto PM, que est includo con PBP MPASM de Microchipscomo ensamblador. Para especificar MPASM, use -ampasm en la lnea de comandos

    PBP -ampasm nombre de archivo

    Si no se especifica un ensamblador en la lnea de comando, se usa PM. Vea la seccin deprogramacin en lenguaje ensamblador para ms informacin.

    Opcin -C

    La opcin -C causa que PBP inserte las lneas del archivo fuente como comentario en el archivofuente en lenguaje ensamblador. Esto puede ser til como una herramienta de depuracin o unaherramienta de aprendizaje ya que muestra la instruccin PBP seguida por las instrucciones enlenguaje ensamblador que genera.

    http://www.todopic.com.ar/pbp_sp.html#ahttp://www.todopic.com.ar/pbp_sp.html#ahttp://www.todopic.com.ar/pbp_sp.html#chttp://www.todopic.com.ar/pbp_sp.html#chttp://www.todopic.com.ar/pbp_sp.html#hhttp://www.todopic.com.ar/pbp_sp.html#hhttp://www.todopic.com.ar/pbp_sp.html#ihttp://www.todopic.com.ar/pbp_sp.html#ihttp://www.todopic.com.ar/pbp_sp.html#lhttp://www.todopic.com.ar/pbp_sp.html#lhttp://www.todopic.com.ar/pbp_sp.html#ohttp://www.todopic.com.ar/pbp_sp.html#ohttp://www.todopic.com.ar/pbp_sp.html#phttp://www.todopic.com.ar/pbp_sp.html#shttp://www.todopic.com.ar/pbp_sp.html#shttp://www.todopic.com.ar/pbp_sp.html#vhttp://www.todopic.com.ar/pbp_sp.html#vhttp://www.todopic.com.ar/pbp_sp.html#shttp://www.todopic.com.ar/pbp_sp.html#phttp://www.todopic.com.ar/pbp_sp.html#ohttp://www.todopic.com.ar/pbp_sp.html#lhttp://www.todopic.com.ar/pbp_sp.html#ihttp://www.todopic.com.ar/pbp_sp.html#hhttp://www.todopic.com.ar/pbp_sp.html#chttp://www.todopic.com.ar/pbp_sp.html#a
  • 7/30/2019 PicBasic PRO Compiler Espanol

    12/116

    PBP -C nombre de archivo

    Opcin -E

    La opcin -e causa que el PBP envie todos los errores a un archivo,nombre_de_archivo.er .

    PBP -e nombre de archivo

    Opcin -H -?

    La opcin -H -? causa que PBP muestre una pantalla de ayuda. Esta pantalla de ayuda tambinse muestra si no se especifica opcin o nombre de archivo en la lnea de comandos

    Opcin -I

    La opcin -I le permite seleccionar la ruta include usada por el PBP.

    Opcin -L

    La opcin -L permite seleccionar la librera usada por el PBP. Esta opcin generalmente esinnecesaria ya que el archivo de librera por defecto se coloca en un archivo de configuracinpara cada micro controlador. Para mas informacin acerca de la librera PBP, vea las seccionesavanzadas de ste manual.

    PBP -lpbpps2 nombre del archivo

    Este ejemplo hace que PBP compile el nombre del archivo usando la librera PicStic2.

    Opcin -O

    La opcin -O causa que las letras que la sigan sean pasadas al ansamblador en su lnea decomando como opciones. Algunas opciones de PM se muestran en la siguiente tabla:

    PM opcin Descripcin

    OD Genera listados, Tabla de smbolos y archivos de mapeado

    OL Solamente genera listados

    PBP -ol nombre de archivo

    Este ejemplo le dice a PBP que genere un archivo nombre de archivo.lst despus de unacompilacin satisfactoria.

    Se puede pasar mas de una opcin -O al ensamblador a la vez.

  • 7/30/2019 PicBasic PRO Compiler Espanol

    13/116

    El manual del ensamblador Macro Picmicro en el disco contiene mas informacin.

    Opcin -P

    Si no se le indica otra cosa, PBP compila programas para el PIC16F84. Si el programa est

    destinado a otro procesador su nombre debe ser especificado en la lnea de comando usando laopcin -P.

    Por ejemplo si el programa PBP est destinado a un procesador PIC16C74 la lnea de comandodebera ser la siguiente:

    PBP -p16c74 nombre de archivo

    Opcin -S

    Normalmente cuando PBP compila exitosamente un programa automticamente arranca el

    ensamblador. Esto se hace para convertir la salida ensamblada el PBP a una imagen ejecutable.La opcin -S evita esto dejando la salida del PBP en un archivo .ASM.

    Ya que -S evita que sea llamado el ensamblador todas la opciones que son pasadas alensamblador usando la opcin -O son anuladas.

    PBP -S nombre de archivo

    Opcin -V

    La opcin -V coloca al PBP en modo de comentarios el que presenta mayor informacin durantela compilacin del programa.

    PBP -V nombre de archivo

    BASES DEL PBP

    IDENTIFICADORES

    Un identificador es simplemente un nombre. Son usados en PBP como etiquetas de lneas ynombres de variables. Un identificador es cualquier secuencia de letras, dgitos y smbolos,aunque no deben comenzar con un dgito. Los identificadores no distinguen las letrasmaysculas de las minsculas, por lo que etiqueta, ETIQUETA, EtiquEtA , son todas tratadascomo equivalentes. Aunque las etiquetas pueden tener cualquier nmero de caracteres delongitud PBP solamente reconoce los primeros 32.

  • 7/30/2019 PicBasic PRO Compiler Espanol

    14/116

    ETIQUETAS DE LNEA (LABELS)

    Para marcar lneas que el programa puede desear referenciar con comandosGOTOGOSUB,PBP usa etiquetas de lnea. PBP no permite nmero de lnea y no requiere que cada lnea seaetiquetada. Cualquier lnea PBP puede comenzar con una etiqueta de lnea que es simplemente

    un identificador seguido por un punto y coma (;)

    mostrar: Serout 0, N2400, [Hello, World!, 13, 10]

    Goto mostrar

    VARIABLES

    Variables es donde se guardan datos en forma temporaria en un programa PBP. Son creadas

    usando la palabra clave VAR. Pueden bits , bytes word. Espacio para cada variable esautomticamente destinado en la memoria del micro controlador por PBP. El formato paracrear una variable es el siguiente:

    Etiqueta VAR tamao (.modificadores)

    Etiqueta es cualquier identificador excluyendo palabras claves como se describeanteriormente. Tamao es bit, byte word. Modificadores opcionales agregan control adicionalacerca de cmo se crea la variable. Algunos ejemplos de creacin de variables son:

    perro var byte

    gato var bit

    W0 var word

    No hay variables predefinidas de usuarios de PBP. Por razones de compatibilidad existen dosarchivos que crean las variables standard usadas con BASIC stamps:bs1defs.bas ybs2defs.bas. Para usar uno de estos archivos agregue la lnea

    Include bs1defs.bas

    Include bs2defs.bas

    cerca del comienzo del programa PBP. Estos archivos contienen numerosas declaraciones VARque crean todas las variables de BASIC Stamps y definiciones de pin.

    http://www.todopic.com.ar/pbp_sp.html#gotohttp://www.todopic.com.ar/pbp_sp.html#gotohttp://www.todopic.com.ar/pbp_sp.html#gotohttp://www.todopic.com.ar/pbp_sp.html#gosubhttp://www.todopic.com.ar/pbp_sp.html#gosubhttp://www.todopic.com.ar/pbp_sp.html#gosubhttp://www.todopic.com.ar/pbp_sp.html#gosubhttp://www.todopic.com.ar/pbp_sp.html#goto
  • 7/30/2019 PicBasic PRO Compiler Espanol

    15/116

    De cualquier manera, en lugar de usar estos archivos envasados le recomendamos que cree supropias variables usando nombres con significado para usted.

    El nmero de variables disponibles depende de la cantidad de RAM en un dispositivo enparticular y el tamao de las variables y los arrays .PBP reserva aproximadamente 24

    posiciones RAM para su propio uso. Tambin puede crear variables temporarias adicionalespara usar en ordenamiento de ecuaciones complejas.

    ALIAS

    VAR tambin puede ser usado para crear un alias para una variable. Esto es muy til paraacceder al interior de una variable.

    fido var perro fido es otro nombre de perro

    b0 var w0.byte0 b0 es el primer byte de word w0

    b1 var w1.byte1 b1 es el segundo byte de word w0

    flea var perro.0 flea es bit0 de perro

    Modificador Descripcin

    BIT0 O 0 Crea alias al bit 0 de byte o word

    BIT1 O 1

    Crea alias al bit 1 de byte o word

    BIT2 O 2 Crea alias al bit 2 de byte o word

    BIT3 O 3 Crea alias al bit 3 de byte o word

    BIT4 O 4 Crea alias al bit 4 de byte o word

    BIT5 O 5 Crea alias al bit 5 de byte o word

    BIT6 O 6 Crea alias al bit 6 de byte o word

    BIT7 O 7 Crea alias al bit 7 de byte o word

    BIT8 O 8 Crea alias al bit 8 de wordBIT9 O 9 Crea alias al bit 9 de word

    BIT10 O 10 Crea alias al bit 10 de word

    BIT11 O 11 Crea alias al bit 11 de word

    BIT12 O 12 Crea alias al bit 12 de word

  • 7/30/2019 PicBasic PRO Compiler Espanol

    16/116

    BIT13 O 13 Crea alias al bit 13 de word

    BIT14 O 14 Crea alias al bit 14 de word

    BIT15 O 15 Crea alias al bit 15 de word

    BYTE0 O LOWBYTE Crea alias al lowbyte de wordBYTE1 O HIGHBYTE Crea alias al highbyte de word

    ARRAYS (ARREGLOS)

    Los arreglos de variables pueden ser creados en una manera similar a las variables.

    Etiqueta VAR tamao (nmero de elementos)

    Etiqueta es cualquier identificador, excluyendo palabras claves, como se describianteriormente. Tamao es BIT, BYTE WORD. Nmero de elementos es cuantos lugares en elarreglo se desean. Algunos ejemplos de creacin de arreglo son los siguientes:

    sharks var byte[10]

    fish var bit [8]

    La primer ubicacin dentro del arreglo es el elemento cero. En el arreglo fish anterior loselementos estn numerados fish (0) a fish (7) conteniendo 8 elementos en total .

    Dada la forma en que los arreglos estn localizados en memoria hay lmites de tamao paracada tipo.

    Tamao Nmero mximo de elementos

    BIT 128

    BYTE 64

    WORD 32

    Vea la seccin de memoria para mas informacin.

  • 7/30/2019 PicBasic PRO Compiler Espanol

    17/116

    CONSTANTES

    Las llamadas constantes pueden ser creadas de manera similar a las variables. Puede ser masconveniente usar un nombre de constante en lugar de un nmero constante. Si el nmeronecesita ser cambiado, nicamente puede ser cambiando en un lugar del programa donde se

    define la constante. No pueden guardarse datos variables dentro de una constante.

    Etiqueta CON expresin constante

    Algunos ejemplos son:

    Mice con 3

    Traps con mice *1000

    SMBOLOS

    SYMBOL provee otro mtodo para renombrar (darle alias) a variables y constantes. SYMBOLno puede ser usado para crear una variable. UseVARpara crear una variable

    SYMBOL lion = cat cat fue previamente creada usando VAR

    SYMBOL mouse = 1 igual que mouse con 1

    CONSTANTES NUMRICAS

    PBP permite definir constantes numricas en tres bases: decimal, binario y hexadecimal.Valores binarios son definidos usando el prefijo % y valores hexadecimales usando el prefijo$. Los valores decimales se toman por defecto y no requieren prefijo.

    valor decimal 100

    %100 valor binario para el decimal 4.

    $100 valor hexadecimal para el decimal 256.

    Para facilitar la programacin, los caracteres son convertidos en sus equivalentes ASCII. Laconstante debe ser puesta entre comillas y contener slo un caracter (de lo contrario, ellasson una cadena de constantes).

    A ASCII valor para el decimal 65

    http://www.todopic.com.ar/pbp_sp.html#varhttp://www.todopic.com.ar/pbp_sp.html#varhttp://www.todopic.com.ar/pbp_sp.html#varhttp://www.todopic.com.ar/pbp_sp.html#var
  • 7/30/2019 PicBasic PRO Compiler Espanol

    18/116

    d ASCII valor para el decimal 100

    CADENA DE CONSTANTES: (string)

    PBP no provee capacidad de manejo de cadenas, pero las cadenas pueden ser usados conalgunos comandos. Una cadena contiene uno o ms caracteres y es delimitado entre comillas.No se soportan secuencias de escape para caracteres no-ASCII (aunque, la mayora de loscomandos PBP tienen este manejo incorporado)

    Hello String (forma abreviada de H, e, l, l, o)

    Las cadenas son usualmente tratadas como una lista de valores de caracteres individuales.

    PUERTOS Y OTROS REGISTROS

    todos los registros inclusive los puertos del PICmicro MCU, pueden ser accedidos comocualquier otra variable en PicBasic . Esto significa que pueden ser ledos , ser escritos o serutilizados en ecuaciones directamente:

    PORTA = %01010101. ' Escribe el valor en el PUERTO A

    PORTA anyvar = PORTB y $0F. ' Asle los 4 dgitos binarios bajos de PORTB y ponga elresultado en anyvar

    PINS

    A los pins se puede acceder de diferentes modos. El mejor camino para especificar un pin parauna operacin, es simplemente usar sus nombres PORT y un nmero de bit:

    PORTB.1= Colocar PORTB, bit 1 a 1

    Para recordar fcilmente para qu puede ser usado un pin, debe asignarse un nombre usando elcomandoVAR. De esta manera, el nombre puede ser utilizado luego en cualquier operacin:

    Led var PORTA.O Renombra PORTA.O como led

    http://www.todopic.com.ar/pbp_sp.html#varhttp://www.todopic.com.ar/pbp_sp.html#varhttp://www.todopic.com.ar/pbp_sp.html#varhttp://www.todopic.com.ar/pbp_sp.html#var
  • 7/30/2019 PicBasic PRO Compiler Espanol

    19/116

    High led Coloca led (PORTA:O) en valor alto

    Para compatibilidad con el BASIC Stamp, los pins usados en los comandos del PBP pueden,adems, ser referidos por un nmero, 0-15. Estos pins estan fsicamente distribuidos sobrediferentes puertos del hardware del micro PIC, dependiendo de cuntos pins tiene el

    microcontroladores

    N. Pins del micro PIC 0-7 8-15

    8-pin GPIO* GPIO*

    18-pin PORTB PORTA*

    28-pin (excepto 14C000) PORTB PORTC

    28-pin (14C000) PORTC PORTD

    40-pin PORTB PORTC

    *GPIO y PORTA no tienen 8 I/O pins.

    Si un conector no tiene ocho pins, como el PORTA, slo los nmeros de pin que existen puedenser utilizados, por ejemplo 8-12. Usar los nmeros de pin 13-15 no tendr un efectoperceptible.

    Este nmero de pin, 0-15, no tiene relacin con el nmero fsico del pin de un micro PIC.Dependiendo de cada micro PIC, el pin nmero 0 podra ser el pin fsico 6,21 o 33, pero en cadacaso esto apunta a PORTB.0 (o GPIO.0 para dispositivos 8-pin, o PORTC.0 para un PIC14C000).

    Los pins pueden ser referenciados por un nmero (0-15), un nombre (Ej: Pin0, si uno de losarchivos bsdefs.bas son includos o si usted los tiene definidos), o un nombre completo de bit(Ej: PORTA.1).

    A cualquier pin o bit del microcontrolador se puede acceder usando el mtodo anterior.

    Los nombres de los pin (Ej: Pin0) no son automticamente includos en su programa. En lamayora de los casos, usted define los nombres de los pins como desee, usando el comandoVAR:

    Led var PORTB.3

    Sin embargo, dos archivos de definicines han sido provistos para mejorar la compatibilidad delBASIC Stamp. Los archivos bs1defs.bas o bs2defs.bas pueden ser incluidos en el programaPBP para proveer nombres de pin y bit, compatibles con los nombres del BASIC Stamp.

    Include bs1defs.bas

  • 7/30/2019 PicBasic PRO Compiler Espanol

    20/116

    O

    Include bs2defs.bas

    BS1DEFS.BAS define Pins , B0 - B13 , W0 - W6 y muchos otros nombres de pin y variables de

    BS1.

    BS2DEFS.BAS define Ins , Outs , B0 - B25 , W0 - W12 y muchos otros nombres de pin yvariables de BS1.

    Cuando arranca un microPIC , todos los pins son colocados en entrada .Para usar un pin comosalida , el pin o port debe ser colocado como salida o se debe usar un comando queautomaticamente coloque al pin como salida.

    Para colocar un pin o port como salida ( entrada) debe dar valores al registro TRIS .Colocando el bit de TRIS como 0 , hace su pin una salida , y colocandolo en 1 lo hace

    una entrada .Por ejemplo :

    TRISA = %00000000 O TRISA = 0

    Coloca todos los pins PORTA como salidas.

    TRISB = % 11111111 O TRISB = 1

    Coloca todos los pins PORTB como entradas.

    TRISC = % 10101010

    Coloca todos los pins pares como salidas y los impares como entradas.

    Cada bit individual puede ser manejado de la misma manera

    TRISA.0 = 0

    Coloca el PORTA , pin 0 como salida. Todos los dems pin permanecen sin cambio.

    Los nombres de variables de BASIC Stamp Dirs, Dirh, Dirl y Dir 0 - Dir 15 no estn definidos yno deben ser usados con el PBP, en su lugar debe ser usado TRIS, pero tiene el estado opuesto

    de Dirs.

    Esto no trabajar en PBP

    Dir0 = 1 coloca el pin PORTB.0 como salida.

    En su lugar

  • 7/30/2019 PicBasic PRO Compiler Espanol

    21/116

    TRISB.0 = 0 coloca el pin PORTB.0 como salida.

    O simplemente use un comando que automticamente coloque la direccin del pin.

    COMENTARIOS

    Un comentario de PBP comienza con la palabra clave REM o el apstrofe (). Todos los demscaracteres de esa lnea se ignoran.

    REM es una nica palabra clave y no es una abreviacin de REMark, por lo tanto, los nombres devariables pueden comenzar con REM (aunque REM por s mismo no es vlido).

    DECLARACIONES MLTIPLES

    Para permitir programas mas compactos y agrupamientos lgicos de comandos relacionados,PBP soporta el uso de (:) para separar comandos ubicados en la misma lnea. Los siguientes dosejemplos son equivalentes.

    W2 = W0

    W0 = W1

    W1 = W2

    Es lo mismo que:

    W2 = w0 : W0 = W1 : W1 = W2

    En los dos casos, el tamao del cdigo generado es el mismo.

    CARCTER DE EXTENSIN DE LNEA

    El nmero mximo de caracteres que puede aparecer en una lnea PBP es 256. Declaracionesmuy largas pueden ser extendidas a la lnea siguiente usando el carcter ( _ ) al final de cadalnea a ser continuada.

    Branch B0 , [label0, label1, label2, _

  • 7/30/2019 PicBasic PRO Compiler Espanol

    22/116

    Label3, label4]

    INCLUDE

    Se puede agregar archivos fuente BASIC a un programa PBP usando INCLUDE. Usted puedetener su rutina standard, definiciones u otros archivos que desee guardar en forma separada.Los archivos de definicin de modo serial y de stamp son ejemplo de esta. Estos archivospueden ser incluidos en programas donde ser necesario, pero no en programas donde no se losnecesita.

    Las lneas de cdigo fuente del archivo incluido son insertadas dentro del programaexactamente donde se coloca el INCLUDE.

    INCLUDE modedefs.bas

    DEFINE

    Algunos elementos, como el oscilador y las ubicaciones de los pin LCD, estn predefinidas enPBP. DEFINE le permite a un programa PBP cambiar estas definiciones si as lo desea.

    Define puede ser usado para cambiar el valor predefinido del oscilador, los pins deDEBUGy elbaud rate y las ubicaciones de los pin LCD adems de otras cosas. Estas definiciones debenestar en maysculas

    DEFINE BUTTON_PAUSE 50 demora en el anti-rebote del botn en ms

    DEFINE CHAR_PACING 1000 paso de la salida serial en us

    DEFINE DEBUG_REG _PORTL depuracion del pin port

    DEFINE DEBUG_BIT 0 depuracion del pin bit

    DEFINE DEBUG_BAUD 2400 depuracion del baud rate

    DEFINE DEBUG_MODE 1 modo depuracion: 0=CIERTO,1=INVERTIDO

    DEFINE DEBUG_PACING 1000 paso de depuracion en us

    DEFINE HSER_RCSTA 90 h setear registro receive

    DEFINE HSER_TXSTA 20 h setear registro transmit

    DEFINE HSER_BAUD 2400 setear baud rate

    DEFINE HSER_EVEN 1 usar solo si se desea paridad par

    http://www.todopic.com.ar/pbp_sp.html#debughttp://www.todopic.com.ar/pbp_sp.html#debughttp://www.todopic.com.ar/pbp_sp.html#debughttp://www.todopic.com.ar/pbp_sp.html#debug
  • 7/30/2019 PicBasic PRO Compiler Espanol

    23/116

    DEFINE HSER_ODD 1 usar solo si se desea paridad impar

    DEFINE I2C_INTERNAL 1 usar para EEPROM interno en 16CEXX y 12CEXX

    DEFINE I2C_SLOW 1 usar para OSC > 8 Mhz con dispositivos de velocidad standard

    DEFINE LCD_DREG PORTB port de data LCDDEFINE LCD_DBIT 0 datos LCD comenzando en bit 0 o 4

    DEFINE LCD_RSREG PORTB port de seleccin de registro LCD

    DEFINE LCD_RSBIT 4 bit de seleccin de registro LCD

    DEFINE LCD_EREG PORTB port de habilitacion LCD

    DEFINE LCD_EBIT 5 bit de habilitacion LCD

    DEFINE LCD_BITS 4 bus del LCD de 4 u 8 bits

    DEFINE LCD_LINES 2 numero de lineas en LCD

    DEFINE OSC 4 3 (3.58) 4 8 10 12 16 20 Mhz.

    DEFINE OSCCAL_1K 1 setea OSCCAL para PIC12C671

    DEFINE OSCCAL_2K 1 setea OSCCAL para PIC12C672

    OPERADORES MATEMTICOS

    PBP efectua todas las operaciones matemticas en urden jerrquico .Esto significa que existeprecedencia para los operadores .Multiplicacin y divisin son efectuados antes que suma yresta , por ejemplo..Para asegurarse que las operaciones son efectuadas en el orden que sedesea , use parntesis para agrupar las operaciones.

    A = ( B + C ) * ( D - E )

    Todas las operaciones matemticas se realizan sin signo y con una precisin de 16 bit.

    Los operadores soportados son :

    Operadormatemtico Descripcin

    + Suma

    - Resta

    * Multiplicacion

  • 7/30/2019 PicBasic PRO Compiler Espanol

    24/116

    ** 16 bits superiores de la multiplicacion

    */ 16 nits medios de la multiplicacion

    / Division

    // Resto (mdulo) Desplazamiento derecho

    ABS Valor absoluto

    COS Coseno

    DCD 2m decodificador

    DIG Digito

    MAX Maximo *MIN Minimo *

    NCD Codificar

    REV Invertir bits

    SIN Seno

    SQR Raiz cuadrada

    & Bit inteligente AND

    Bit inteligente OR

    ^ Bit inteligente EXCLUSIVE OR

    ~ Bit inteligente NOT

    & / Bit inteligente NOT AND

    / Bit inteligente NOT OR

    ^ / Bit inteligente NOT EXCLUSIVE OR

    La implementacion difiere del BASIC Stamp

    MULTIPLICACIN

    PBP efectua multiplicaciones 16 x 16 bits .El operador * devuelve los 16 bit inferiores delresultado de 32 bit. Esta es la multiplicacin tpica encontrada en los lenguajes de

  • 7/30/2019 PicBasic PRO Compiler Espanol

    25/116

    programacin. El operador ** devuelve los 16 bit superiores del resultado de 32 bit. Estosdos operadores pueden ser utilizados en conjunto para realizar multiplixaxiones de 16 x 16 bitque produzcan resultados de 32 bit .

    W1 = W0 * 1000 multiplica el valor de W0 por 1000 y coloca el resultado en W1

    W2 = W0 ** 1000 W0 por 1000 y coloca los 16 bit superiores (que Deben ser 0 ) enW2

    El operador */ los 16 bit medios del resultado de 32 bit.

    W3 = W1 */ W0 multiplica W1 por W0 y coloca los 16 bit medios en W3

    DIVISIN

    PBP efectua divisiones de 16 x 16 bit . El operador / devuelve el resultado de 16 bit . Eloperador // devuelve el resto (mdulo del nmero).

    W1 = W0 / 1000 Divide el valor de W0 por 1000 y coloca el resultado en w1

    W2 = W0 // 1000 Divide el valor de W0 por 1000 y coloca el resto en W2

    DESPLAZAMIENTO

    Los operadores desplazan un valor hacia la izquierda derecha respectivamente , 1a 15 veces .Los bits desplazados se colocan en 0 .

    B0 = B0 > 1 Desplaza W0 una posicin a la derecha y coloca el resultado en W1 (igual adividir por 2 )

    ABS

    ABS devuelve el valor absoluto de un nmero . Si un byte es mayor de 127 (bits altos) ABSdevuelve un valor 256 - . Si un word es mayor de 32767 (bits altos) , devuelve un valor 65536 -.

    B1 = ABS B0

  • 7/30/2019 PicBasic PRO Compiler Espanol

    26/116

    COS

    COS es coseno en 8 bit de un valor dado. El resultado est dado en forma de dos

    complementos . ( p.ej. - 127 a 127 ) .Usa una tabla de cuarto de onda para encontrar elresultado . El coseno comienza con un valor en radianes binarios , 0 a 255 , en lugar de loscomunes 0 a 358 grados.

    B1 = COS B0

    DCD

    DCD devuelve el valor decodificado de un nmero de bit . Cambia un nmero de bit ( 0 a 15) por

    un nmero binario con ese bit seteado en 1. Todos los dems bits son 0 .

    B0 = DCD 2 setea B0 como % 00000100

    DIG

    DIG devuelve el valor de un dgito decimal . Simplemente se le indica el nmero de dgito aconocer ( 0 - 4 , siendo 0 el primero de la derecha) y ya est.

    B0 = 123 setea B0 en 123

    B1 = B0 DIG 1 setea B1 en 2 (dgito 1 de 123)

    DIV32

    DIV32PBPs multiplican (*) la funcin 16-bit x 16-bit obtienen un resultado 32-bit.

    Sin embargo, puesto que el compilador utiliza solamente una talla variable mxima de 16 dgitosbinarios, el acceso al resultado tuvo que suceder en 2 pasos de progresin: c = b * retorna los16 dgitos binarios ms bajos del multiplicar mientras que d = ** de b retorna los 16 dgitosbinarios superiores.

    No haba manera de tener acceso al resultado 32-bit como unidad.

  • 7/30/2019 PicBasic PRO Compiler Espanol

    27/116

    En muchos casos es deseable poder dividir el resultado 32-bit entero de multiplicar por unnmero 16-bit para hacer un promedio o escalar. Una nueva funcin se ha agregado para estepropsito: DIV32.

    DIV32 es limitado realmente a dividir un entero sin signo 31-bit (mximo 2147483647) por un

    entero sin signo 15-bit (mximo 32767). Esto debe ser suficiente en la mayora de lascircunstancias.

    Pues el compilador permite solamente una talla variable mxima de 16 dgitos binarios, DIV32confa que una multiplicacin acaba de ser realizado y que las variables internas del compiladortodava contienen el resultado 32-bit de la multiplicacin .Ninguna otra operacin puede ocurrir entre la multiplicacin y el DIV32 o las variablesinternas puede ser alterado, destruyendo el resultado de 32-bit de la multiplicacin. Estemedio, entre otras cosas, de los cualesON INTERRUPTdebe estar DISABLEd antes de que elmultiplicar hasta despus del DIV32.

    Si ON INTERRUPT no se utiliza, all no es ninguna necesidad de agregar DISABLE al programa.Las interrupciones en ensamblador no deben tener ningn efecto en las variables internas asque pueden ser utilizadas sin consideracin alguna hacia DIV32.

    El fragmento siguiente del cdigo muestra la operacin de DIV32:

    a Var Wordb Var Wordc Var Worddummy var Word

    b = 500c = 1000DISABLED ' necesario si ON INTERRUPT es utilizadodummy = b * c ' podra tambin utilizar el ** o * /a = DIV32 100ENABLED ' necesario si se utiliz ON INTERRUPT

    este programa asigna a b el valor 500 y c el valor 1000. Cuando estaba multiplicado junto, elresultado sera 500000. Este nmero excede la talla 16-bit de la palabra de una variable(65535). La variable simulada contiene tan solamente los 16dgitos binarios ms bajos del resultado. En ningn caso, no es utilizada por la funcin DIV32.

    DIV32 utiliza las variables internas al compilador como los operandos. En este ejemplo, DIV32divide el resultado 32-bit de la multiplicacin b * c por 100 y salva el resultado de estadivisin, 5000, en la variable A.

    http://www.todopic.com.ar/pbp_sp.html#on_interrupthttp://www.todopic.com.ar/pbp_sp.html#on_interrupthttp://www.todopic.com.ar/pbp_sp.html#on_interrupthttp://www.todopic.com.ar/pbp_sp.html#disablehttp://www.todopic.com.ar/pbp_sp.html#disablehttp://www.todopic.com.ar/pbp_sp.html#disablehttp://www.todopic.com.ar/pbp_sp.html#on_interrupt
  • 7/30/2019 PicBasic PRO Compiler Espanol

    28/116

    MAX y MIN

    MAX y MIN devuelven el mximo y mnimo ,respectivamente , de dos nmeros . Se usannormalmente para limitar nmeros a un valor.

    B1 = B0 MAX 100 setea B1 al mayor de B0 y 100 (B0 debe estar entre 100 y 255

    B1 = B0 MIN 100 setea B1 al menor de B0 y 100(B1no puede ser mayor de 100

    NCD

    NCD devuelve el nmero de prioridad de bit codificado (1-16) de un valor . Se usa paraencontrar el bit codificado con 1 de un valor dado . Devuelve 0 si no existen bits con valor 1 .

    B0 = NCD %01001000 setea B0 en 7

    REV

    REV invierte el orden de los bits inferiores de un valor .El nmero de bits a ser invertidos esde 1 a 16 .

    B0 = %10101100 REV 4 setea B0 a %10100011

    SIN

    SIN es seno en 8 bits de un valor . El est dado en dos complementos (p.ej. -127 a 127 ) .Usauna tabla de cuarto de onda para encontrar el resultado . Comienza con un valor en radianesbinarios , 0 a 255 , en lugar de los usuales 0 a 359 grados.

    B1 = SIN B0

    SQR

    SQR devuelve la raz cuadrada de un valor . Como PBP dolo trabaja con enteros , el resultadoser siempre un entero en 8 bits no mayor que el resultado actual .

    B0 = SQR W1 setea B0 con la raz cuadrada de W1

  • 7/30/2019 PicBasic PRO Compiler Espanol

    29/116

    OPERADORES DE BITS INTELIGENTES (BITWISE)

    Estos operadores actuan sobre cada bit de un valor en forma booleana .Pueden ser usados para

    aislar bits o para agregar bits dentro de un valor .

    B0 = B0 & %00000001 aisla el bit 0 de B0

    B0 = B0 %00000001 setea el bit 0 de B0

    B0 = B0 ^ %00000001 invierte el estado del bit 0 de B0

    OPERADORES DE COMPARACIN

    Se usan en declaraciones IF ... THEN para comparar una expresin con otra .Los operadoressoportados son :

    Operador Descripcin

    = o == Igual

    o != No igual

    Mayor

    = Mayor o igual

    If i > 10 then loop

    OPERADORES LGICOS

    Los operadores lgicos difieren de las operaciones de bit inteligente . Entregan un resultadoCIERTO / FALSO de su operacin .Valores 0 son tratados como falso . Cualquier otro valor escierto . Se usan junto a operadores de comparacin en una declaracin IF .. THEN .Losoperadores soportados son :

  • 7/30/2019 PicBasic PRO Compiler Espanol

    30/116

    Operador Descripcin

    AND o && AMD lgico

    OR o I I OR lgico

    XOR o ^ ^ OR exclusivo lgicoNOT AND NAND lgico

    NOT OR NOR lgico

    NOT XOR NXOR lgico

    If (A == big) AND ( B > mean) then run

    Asegurese de usar parentesis para indicarle a PBP el orden en que quiere que se realicen lasoperaciones.

    REFERENCIA DE DECLARACIONES PBP

    @ Inserta una linea de codigo ensamblador

    ASM...ENDASM Inserta una seccion de codigo ensamblador

    BRANCH GOTO computado(equiv. a ON..GOTO)

    BRANCHL

    BRANCH fuera de pagina(BRANCH largo)

    BUTTON Anti-rebote y auto-repeticion de entrada en el pinespecificado

    CALL Llamada a subrutina de ensamblador

    CLEAR Hace cero todas las variables

    COUNT Cuenta el numero de pulsos en un pin

    DATA Define el contenido inicial en un chip EEPROM

    DEBUG Seal asincronica de salida en un pin fijo y baud

    DISABLE Deshabilita el procesamiento de ON INTERRUPT

    DTMFOUT Produce tonos en un pin

    EEPROM Define el contenido inicial en un chip EEPROM

    ENABLE Habilita el procesamiento de ON INTERRUPT

    http://www.todopic.com.ar/pbp_sp.html#1@http://www.todopic.com.ar/pbp_sp.html#1@http://www.todopic.com.ar/pbp_sp.html#asmhttp://www.todopic.com.ar/pbp_sp.html#asmhttp://www.todopic.com.ar/pbp_sp.html#branchhttp://www.todopic.com.ar/pbp_sp.html#branchhttp://www.todopic.com.ar/pbp_sp.html#branchlhttp://www.todopic.com.ar/pbp_sp.html#branchlhttp://www.todopic.com.ar/pbp_sp.html#buttonhttp://www.todopic.com.ar/pbp_sp.html#buttonhttp://www.todopic.com.ar/pbp_sp.html#callhttp://www.todopic.com.ar/pbp_sp.html#callhttp://www.todopic.com.ar/pbp_sp.html#clearhttp://www.todopic.com.ar/pbp_sp.html#clearhttp://www.todopic.com.ar/pbp_sp.html#counthttp://www.todopic.com.ar/pbp_sp.html#counthttp://www.todopic.com.ar/pbp_sp.html#datahttp://www.todopic.com.ar/pbp_sp.html#datahttp://www.todopic.com.ar/pbp_sp.html#debughttp://www.todopic.com.ar/pbp_sp.html#debughttp://www.todopic.com.ar/pbp_sp.html#disablehttp://www.todopic.com.ar/pbp_sp.html#disablehttp://www.todopic.com.ar/pbp_sp.html#dtmfouthttp://www.todopic.com.ar/pbp_sp.html#dtmfouthttp://www.todopic.com.ar/pbp_sp.html#eepromhttp://www.todopic.com.ar/pbp_sp.html#eepromhttp://www.todopic.com.ar/pbp_sp.html#enablehttp://www.todopic.com.ar/pbp_sp.html#enablehttp://www.todopic.com.ar/pbp_sp.html#enablehttp://www.todopic.com.ar/pbp_sp.html#eepromhttp://www.todopic.com.ar/pbp_sp.html#dtmfouthttp://www.todopic.com.ar/pbp_sp.html#disablehttp://www.todopic.com.ar/pbp_sp.html#debughttp://www.todopic.com.ar/pbp_sp.html#datahttp://www.todopic.com.ar/pbp_sp.html#counthttp://www.todopic.com.ar/pbp_sp.html#clearhttp://www.todopic.com.ar/pbp_sp.html#callhttp://www.todopic.com.ar/pbp_sp.html#buttonhttp://www.todopic.com.ar/pbp_sp.html#branchlhttp://www.todopic.com.ar/pbp_sp.html#branchhttp://www.todopic.com.ar/pbp_sp.html#asmhttp://www.todopic.com.ar/pbp_sp.html#1@
  • 7/30/2019 PicBasic PRO Compiler Espanol

    31/116

    END Detiene la ejecucion e ingresa en modo de baja potencia

    FOR...NEXT Ejecuta declaraciones en forma repetitiva

    FREQOUT Produce hasta 2 freuencias en un pin

    GOSUB

    Llama a una subrutina BASIC en la etiqueta especificadaGOTO Continua la ejecucion en la etiqueta especificada

    HIGH Hace alto la salida del pin

    HSERIN Entrada serial asincronica(hardware)

    HSEROUT Salida serial asincronica(hardware)

    I2CREAD Lee bytes de dispositivo I2C

    I2CWRITE Graba bytes en dispositivo I2C

    IF..THEN..ELSE..ENDIF Ejecuta declaraciones en forma condicional

    INPUT Convierte un pin en entrada

    (LET) Asigna el resultado de una expresion a una variable

    LCDOUT Muestra caracteres en LCD

    LOOKDOWN Busca un valor en una tabla de constantes

    LOOKDOWN2 Busca un valor en una tabla de constantes o variables

    LOOKUP Obtiene un valor constante de una tabla

    LOOKUP2 Obtiene un valor constante o variable de una tabla

    LOW Hace bajo la salida de un pin

    NAP Apaga el procesador por un corto periodo de tiempo

    ON INTERRUPT Ejecuta una subrutina BASIC en un interrupt

    OUTPUT Convierte un pin en salida

    PAUSE Demora (resolucion 1mseg.)

    PAUSEUS Demora (resolucion 1 useg.)

    PEEK Lee un byte del registro

    POKE Graba un byte en el registro

    POT Lee el potenciometro en el pin especificado

    PULSIN Mide el ancho de pulso en un pin

    http://www.todopic.com.ar/pbp_sp.html#endhttp://www.todopic.com.ar/pbp_sp.html#endhttp://www.todopic.com.ar/pbp_sp.html#for_nexthttp://www.todopic.com.ar/pbp_sp.html#for_nexthttp://www.todopic.com.ar/pbp_sp.html#freqouthttp://www.todopic.com.ar/pbp_sp.html#freqouthttp://www.todopic.com.ar/pbp_sp.html#gosubhttp://www.todopic.com.ar/pbp_sp.html#gosubhttp://www.todopic.com.ar/pbp_sp.html#gotohttp://www.todopic.com.ar/pbp_sp.html#gotohttp://www.todopic.com.ar/pbp_sp.html#highhttp://www.todopic.com.ar/pbp_sp.html#highhttp://www.todopic.com.ar/pbp_sp.html#hserinhttp://www.todopic.com.ar/pbp_sp.html#hserinhttp://www.todopic.com.ar/pbp_sp.html#hserouthttp://www.todopic.com.ar/pbp_sp.html#hserouthttp://www.todopic.com.ar/pbp_sp.html#i2creadhttp://www.todopic.com.ar/pbp_sp.html#i2creadhttp://www.todopic.com.ar/pbp_sp.html#ic2writehttp://www.todopic.com.ar/pbp_sp.html#ic2writehttp://www.todopic.com.ar/pbp_sp.html#if_thenhttp://www.todopic.com.ar/pbp_sp.html#if_thenhttp://www.todopic.com.ar/pbp_sp.html#inputhttp://www.todopic.com.ar/pbp_sp.html#inputhttp://www.todopic.com.ar/pbp_sp.html#lethttp://www.todopic.com.ar/pbp_sp.html#lethttp://www.todopic.com.ar/pbp_sp.html#lethttp://www.todopic.com.ar/pbp_sp.html#lcdouthttp://www.todopic.com.ar/pbp_sp.html#lcdouthttp://www.todopic.com.ar/pbp_sp.html#lookdownhttp://www.todopic.com.ar/pbp_sp.html#lookdownhttp://www.todopic.com.ar/pbp_sp.html#lookdown2http://www.todopic.com.ar/pbp_sp.html#lookdown2http://www.todopic.com.ar/pbp_sp.html#lookuphttp://www.todopic.com.ar/pbp_sp.html#lookuphttp://www.todopic.com.ar/pbp_sp.html#lookup2http://www.todopic.com.ar/pbp_sp.html#lookup2http://www.todopic.com.ar/pbp_sp.html#lowhttp://www.todopic.com.ar/pbp_sp.html#lowhttp://www.todopic.com.ar/pbp_sp.html#naphttp://www.todopic.com.ar/pbp_sp.html#naphttp://www.todopic.com.ar/pbp_sp.html#on_interrupthttp://www.todopic.com.ar/pbp_sp.html#on_interrupthttp://www.todopic.com.ar/pbp_sp.html#outputhttp://www.todopic.com.ar/pbp_sp.html#outputhttp://www.todopic.com.ar/pbp_sp.html#pausehttp://www.todopic.com.ar/pbp_sp.html#pausehttp://www.todopic.com.ar/pbp_sp.html#pauseushttp://www.todopic.com.ar/pbp_sp.html#pauseushttp://www.todopic.com.ar/pbp_sp.html#peekhttp://www.todopic.com.ar/pbp_sp.html#peekhttp://www.todopic.com.ar/pbp_sp.html#pokehttp://www.todopic.com.ar/pbp_sp.html#pokehttp://www.todopic.com.ar/pbp_sp.html#pothttp://www.todopic.com.ar/pbp_sp.html#pothttp://www.todopic.com.ar/pbp_sp.html#pulsinhttp://www.todopic.com.ar/pbp_sp.html#pulsinhttp://www.todopic.com.ar/pbp_sp.html#pulsinhttp://www.todopic.com.ar/pbp_sp.html#pothttp://www.todopic.com.ar/pbp_sp.html#pokehttp://www.todopic.com.ar/pbp_sp.html#peekhttp://www.todopic.com.ar/pbp_sp.html#pauseushttp://www.todopic.com.ar/pbp_sp.html#pausehttp://www.todopic.com.ar/pbp_sp.html#outputhttp://www.todopic.com.ar/pbp_sp.html#on_interrupthttp://www.todopic.com.ar/pbp_sp.html#naphttp://www.todopic.com.ar/pbp_sp.html#lowhttp://www.todopic.com.ar/pbp_sp.html#lookup2http://www.todopic.com.ar/pbp_sp.html#lookuphttp://www.todopic.com.ar/pbp_sp.html#lookdown2http://www.todopic.com.ar/pbp_sp.html#lookdownhttp://www.todopic.com.ar/pbp_sp.html#lcdouthttp://www.todopic.com.ar/pbp_sp.html#lethttp://www.todopic.com.ar/pbp_sp.html#inputhttp://www.todopic.com.ar/pbp_sp.html#if_thenhttp://www.todopic.com.ar/pbp_sp.html#ic2writehttp://www.todopic.com.ar/pbp_sp.html#i2creadhttp://www.todopic.com.ar/pbp_sp.html#hserouthttp://www.todopic.com.ar/pbp_sp.html#hserinhttp://www.todopic.com.ar/pbp_sp.html#highhttp://www.todopic.com.ar/pbp_sp.html#gotohttp://www.todopic.com.ar/pbp_sp.html#gosubhttp://www.todopic.com.ar/pbp_sp.html#freqouthttp://www.todopic.com.ar/pbp_sp.html#for_nexthttp://www.todopic.com.ar/pbp_sp.html#end
  • 7/30/2019 PicBasic PRO Compiler Espanol

    32/116

    PULSOUT Genera pulso hacia un pin

    PWM Salida modulada en ancho de pulso a un pin

    RANDOM Genera numero pseudo-aleatorio

    RCTIME

    Mide el ancho de pulso en un pinREAD Lee byte de un chip EEPROM

    RESUME Continua la ejecucion despues de una interrupcion

    RETURN Continua en la declaracion que sigue al ultimo GOSUB

    REVERSEConvierte un pin de salida en entrada o uno de entradaen salida

    SERIN Entrada serial asincronica (tipo BS!)

    SERIN2 Entrada serial asincronica (tipo BS2)

    SEROUT Salida serial asincronica (tipo BS1)

    SEROUT2 Salida serial asincronica (tipo BS2)

    SHIFTIN Entrada serial sincronica

    SHIFTOUT Salida serial sincronica

    SLEEP Apaga el procesador por un periodo de tiempo

    SOUND Genera un tono o ruido blanco en un pin

    STOP

    Detiene la ejecucion del programa

    SWAP Intercambia los valores de dos variables

    TOGGLE Hace salida a un pin y cambia su estado

    WHILE..WEND Ejecuta declaraciones mientras la condicion sea cierta

    WRITE Graba bytes a un chip EEPROM

    XIN Entrada X - 10

    XOUT Salida X - 10

    @

    @ declaracion

    Cuando se usa al comienzo de una lnea , provee un atajo para insertar una declaracion enlenguaje ensamblador en un programa PBP. Este atajo se puede usar libremente para unircodigo ensamblador con declaraciones PBP .

    http://www.todopic.com.ar/pbp_sp.html#pulsouthttp://www.todopic.com.ar/pbp_sp.html#pulsouthttp://www.todopic.com.ar/pbp_sp.html#pwmhttp://www.todopic.com.ar/pbp_sp.html#pwmhttp://www.todopic.com.ar/pbp_sp.html#randomhttp://www.todopic.com.ar/pbp_sp.html#randomhttp://www.todopic.com.ar/pbp_sp.html#rctimehttp://www.todopic.com.ar/pbp_sp.html#rctimehttp://www.todopic.com.ar/pbp_sp.html#readhttp://www.todopic.com.ar/pbp_sp.html#readhttp://www.todopic.com.ar/pbp_sp.html#resumehttp://www.todopic.com.ar/pbp_sp.html#resumehttp://www.todopic.com.ar/pbp_sp.html#returnhttp://www.todopic.com.ar/pbp_sp.html#returnhttp://www.todopic.com.ar/pbp_sp.html#reversehttp://www.todopic.com.ar/pbp_sp.html#reversehttp://www.todopic.com.ar/pbp_sp.html#serinhttp://www.todopic.com.ar/pbp_sp.html#serinhttp://www.todopic.com.ar/pbp_sp.html#serin2http://www.todopic.com.ar/pbp_sp.html#serin2http://www.todopic.com.ar/pbp_sp.html#serouthttp://www.todopic.com.ar/pbp_sp.html#serouthttp://www.todopic.com.ar/pbp_sp.html#serout2http://www.todopic.com.ar/pbp_sp.html#serout2http://www.todopic.com.ar/pbp_sp.html#shiftinhttp://www.todopic.com.ar/pbp_sp.html#shiftinhttp://www.todopic.com.ar/pbp_sp.html#shiftouthttp://www.todopic.com.ar/pbp_sp.html#shiftouthttp://www.todopic.com.ar/pbp_sp.html#sleephttp://www.todopic.com.ar/pbp_sp.html#sleephttp://www.todopic.com.ar/pbp_sp.html#soundhttp://www.todopic.com.ar/pbp_sp.html#soundhttp://www.todopic.com.ar/pbp_sp.html#stophttp://www.todopic.com.ar/pbp_sp.html#stophttp://www.todopic.com.ar/pbp_sp.html#swaphttp://www.todopic.com.ar/pbp_sp.html#swaphttp://www.todopic.com.ar/pbp_sp.html#togglehttp://www.todopic.com.ar/pbp_sp.html#togglehttp://www.todopic.com.ar/pbp_sp.html#while_wendhttp://www.todopic.com.ar/pbp_sp.html#while_wendhttp://www.todopic.com.ar/pbp_sp.html#writehttp://www.todopic.com.ar/pbp_sp.html#writehttp://www.todopic.com.ar/pbp_sp.html#xinhttp://www.todopic.com.ar/pbp_sp.html#xinhttp://www.todopic.com.ar/pbp_sp.html#xouthttp://www.todopic.com.ar/pbp_sp.html#xouthttp://www.todopic.com.ar/pbp_sp.html#xouthttp://www.todopic.com.ar/pbp_sp.html#xinhttp://www.todopic.com.ar/pbp_sp.html#writehttp://www.todopic.com.ar/pbp_sp.html#while_wendhttp://www.todopic.com.ar/pbp_sp.html#togglehttp://www.todopic.com.ar/pbp_sp.html#swaphttp://www.todopic.com.ar/pbp_sp.html#stophttp://www.todopic.com.ar/pbp_sp.html#soundhttp://www.todopic.com.ar/pbp_sp.html#sleephttp://www.todopic.com.ar/pbp_sp.html#shiftouthttp://www.todopic.com.ar/pbp_sp.html#shiftinhttp://www.todopic.com.ar/pbp_sp.html#serout2http://www.todopic.com.ar/pbp_sp.html#serouthttp://www.todopic.com.ar/pbp_sp.html#serin2http://www.todopic.com.ar/pbp_sp.html#serinhttp://www.todopic.com.ar/pbp_sp.html#reversehttp://www.todopic.com.ar/pbp_sp.html#returnhttp://www.todopic.com.ar/pbp_sp.html#resumehttp://www.todopic.com.ar/pbp_sp.html#readhttp://www.todopic.com.ar/pbp_sp.html#rctimehttp://www.todopic.com.ar/pbp_sp.html#randomhttp://www.todopic.com.ar/pbp_sp.html#pwmhttp://www.todopic.com.ar/pbp_sp.html#pulsout
  • 7/30/2019 PicBasic PRO Compiler Espanol

    33/116

    I var byte

    Rollme var byte

    For i = 1 to 4

    @ rlf _rollme, F : rotar byte a la izquierda una vez

    next i

    El atajo @ tambien se puede usar para incluir rutinas en lenguaje ensamblador en otro archivo.Por ejemplo :

    @ Include fp.asm

    @ resetea a 0 la pgina del registro antes de ejecutar la instruccin en lenguaje ensamblador

    .La pgina del registro no debe ser alterada usando @

    Vea la seccion de programacion del ensamblador para mayor informacion.

    ADCIN

    ADCIN Channel , Var

    Le el conversor analogico del micro y guarda el resultado en el Var. Mientras que los registros

    del ADC se pueden alcanzar directamente, ADCIN hace el proceso un poco ms fcil.

    Antes de que ADCIN pueda ser utilizado,el registro de TRIS se debe fijar como entradas .ADCON1 tambin necesita ser asignado como entradas de informacin analogicas y en algunoscasos para fijar el formato del resultado y la fuente del reloj. Vea las hojas de datos delmicrochip para ms informacin sobre estos registros y cmo fijarlos para el dispositivoespecfico.

    Dependiendo del dispositivo, puede tener 8 -, 10 o 12-bit ADC. El bit alto de ADCON1 controlasi el resultado est a la izquierda o a la derecha. En la mayora de los casos, los resultados 8-bit se deben dejar alineados (ADCON1.7 = 0) y 10 y los resultados 12-bit justificados a la

    derecha (ADCON1.7 = 1).

    Varios DEFINEs pueden tambin ser utilizados. Los valores por defecto se muestran abajo:

    DEFINE ADC_BITS 8 ' Fije el nmero de BITS en el resultado (8, 10 o 12)

    DEFINE ADC_CLOCK 3 'Fije EL CLOCK (rc = 3)

  • 7/30/2019 PicBasic PRO Compiler Espanol

    34/116

    DEFINE ADC_SAMPLEUS 50 ' Fije el tiempo de muestreo en microsegundos

    ADC_SAMPLEUS es el nmero demicrosegundos que el programa espera entre fijar el canal ycomenzar la conversin analogica/digital.

    TRISA = 255 ' Fije PORTA todas entradas

    ADCON1 = 0 ' PORTA es analogico

    ADCIN 0, B0 ' Lea el canal 0 a B0

    ASM ENDASM

    ASM

    ENDASM

    Estas instrucciones le dicen a PBP que el codigo entre estas dos lneas esta en lenguajeensamblador y no debe ser interpretado como declaraciones PBP .Se puede usar estas dosinstrucciones libremente para mezclar cdigo ensamblador con declaraciones PBP .

    El tamao mximo para una seccin de texto ensamblador es 8 K . Este es el tamao mximopara el fuente actual , incluyendo comentarios , no el cdigo generado .Si el bloque de texto esmayor , divdalo en mltiples secciones ASM ..ENDASM o incluyalo en un archivo separado .

    ASM resetea a 0 el registro de pgina .Debe asegurarse que el registro de pgina sea 0 antesde ENDASM si el cdigo de ensamblador lo ha alterado .

    Vea la seccin de programacin de ensamblador para mas informacin .

    ASM

    Bsf PORTA,0 ;setea bit 0 en PORTA

    Bcf PORTB.0 ;setea bit 0 en PORTB

    ENDASM

  • 7/30/2019 PicBasic PRO Compiler Espanol

    35/116

    BRANCH

    BRANCH index , [ etiqueta { ,etiqueta .....} ]

    Causa que el programa salte a una posicin diferente , basada en una variable indexada. Es

    similar al ON...GOTO de otros BASIC.

    Index selecciona una etiqueta de una lista .La ejecucion comienza en la etiqueta especificada.Por ejemplo , si Index es 0 , el programa salta a la primer etiqueta especificada en la lista ,siIndex es 1 , salta a la segunda y as sucesivamente ..Si Index es mayor igual al nmero deetiquetas ,no se toma ninguna accin y la ejecucin contina con la declaracin siguiente alBRANCH .Se pueden usar hasta 256 etiquetas en un BRANCH .

    Etiqueta debe estar en la misma pgina de cdigo que la instruccin BRANCH . Si no estseguro de esto , useBRANCHL.

    BRANCH B4 , [ dog,cat,fish ]

    igual que :

    if B4=0 then dog (goto dog)

    if B4=1 then cat(goto cat)

    if B4=2 then fish (goto fish)

    BRANCHL

    BRANCHL Index , [ etiqueta {, etiqueta ....} ]

    BRANCHL trabaja en forma similar aBRANCH,haciendo que el programa salte a unalocalizacin determinada , basndose en una variable indexada .Las principales diferencias sonque puede saltar a una etiqueta ubicada en otra pgina de cdigo y que genera un cdigo dosveces mayor en tamao al de BRANCH ..Si est seguro que las etiquetas estn en la mismapgina que el BRANCH si el microcontrolador no tiene ms que una pgina de cdigo (2K

    menos de ROM) , use BRANCH para minimizar el uso de memoria .

    Index selecciona una etiqueta de una lista .La ejecucion comienza en la etiqueta especificada.Por ejemplo , si Index es 0 , el programa salta a la primer etiqueta especificada en la lista ,siIndex es 1 , salta a la segunda y as sucesivamente ..Si Index es mayor igual al nmero deetiquetas ,no se toma ninguna accin y la ejecucin contina con la declaracin siguiente alBRANCHL .Se pueden usar hasta 128 etiquetas en un BRANCHL .

    http://www.todopic.com.ar/pbp_sp.html#branchlhttp://www.todopic.com.ar/pbp_sp.html#branchlhttp://www.todopic.com.ar/pbp_sp.html#branchlhttp://www.todopic.com.ar/pbp_sp.html#branchhttp://www.todopic.com.ar/pbp_sp.html#branchhttp://www.todopic.com.ar/pbp_sp.html#branchhttp://www.todopic.com.ar/pbp_sp.html#branchhttp://www.todopic.com.ar/pbp_sp.html#branchl
  • 7/30/2019 PicBasic PRO Compiler Espanol

    36/116

    BRANCHL B4 , [ dog,cat,fish ]

    igual que :

    if B4=0 then dog (goto dog)

    if B4=1 then cat(goto cat)

    if B4=2 then fish (goto fish)

    BUTTON

    BUTTON , Pin , Down , Delay , Rate , Bvar , Action , Etiqueta

    Lee Pin y opcionalmente ejecuta anti-rebote y auto-repeticin . Pin automticamente se tomacomo entrada .Pin debe ser una constante , 0 - 15 , o una variable que contenga un nmero 0 -15 (p.ej. B0) un nmero de pin (p.ej. PORTA ,0)

    Down Estado del pin cuando se oprime el pulsador ( 0 ..1)

    DelayContador de ciclos antes de que comience la auto-repeticin(0..255). Sies 0 ,no se efectua anti-rebote ni auto.repeticin .Si es 255 se eliminanrebotes , pero no auto-repeticin.

    Rate Valor de auto-repeticin (0..255)

    BvarVariable con tamao de byte usada internamente para conteo dedemoras y repeticiones,Dene ser inicializada a 0 antes de ser usada y noser usada en cualquier lugar del programa.

    Action Estado del pulsador a ser actuado.

    Etiqueta La ejecucin comienza en esta etiqueta si es cierto Action.

    goto notpressed if button not pressed on Pin2

    BUTTON PORTB ,2,0,100,10,b2,0,notpressed

    BUTTON necesita ser usado dentro de un loop para auto-repeticin para funcionaradecuadamente.

    BUTTON permite eliminar rebotes , demorando la ejecucin de un programa por un perodo demilisegundos para permitir que los contactos se asienten .La demora por defecto es 10 ms..Para cambiarlo a otro valor use DEFINE .

  • 7/30/2019 PicBasic PRO Compiler Espanol

    37/116

    setea la demora de anti-rebote a 50 ms

    DEFINE BUTTON_PAUSE 50

    BUTTON_PAUSEdebe estar en maysculas.

    En general , es ms fcil leer el estado del pin con unIF..THENque usar el comando BUTTON .

    IF PORTB,2 = 1 THEN notpressed

    CALL

    CALL etiqueta

    Ejecuta la subrutina ensamblador llamada etiqueta.

    Normalmente se usa GOSUB para ejecutar una subrutina PBP .La principal diferenciaentreGOSUBy CALL , es que con sta ltima no se chequea la existencia de etiquetas hasta elmomento de ensamblar .Usando CALL se puede acceder a una etiqueta en una seccin delenguaje ensamblador , lo que es inaccesible mediante PBP .

    CALL pass ejecuta la subrutina ensamblada ,denominada _pass

    CLEAR

    CLEAR

    Coloca en cero todos los registros en cada banco . Coloca en cero todas las variables,incluyendo las del sistema .Esto no se hace automticamente al comenzar un programa en PBP ,como sucede en BASIC Stamps .Por lo general ,las variables deben ser colocadas en un estadoinicial apropiado por el programa , y no usando CLEAR .

    CLEAR Coloca todas las variables en cero

    CLEARWDT

    CLEARWDT

    CLEARWDT borra el temporizador WATCHDOG ( perro guardin ).El temporizador del WATCHDOG se utiliza conjuntamente con las instrucciones

    http://www.todopic.com.ar/pbp_sp.html#if_thenhttp://www.todopic.com.ar/pbp_sp.html#if_thenhttp://www.todopic.com.ar/pbp_sp.html#if_thenhttp://www.todopic.com.ar/pbp_sp.html#gosubhttp://www.todopic.com.ar/pbp_sp.html#gosubhttp://www.todopic.com.ar/pbp_sp.html#gosubhttp://www.todopic.com.ar/pbp_sp.html#gosubhttp://www.todopic.com.ar/pbp_sp.html#if_then
  • 7/30/2019 PicBasic PRO Compiler Espanol

    38/116

    deSLEEP(dormir) y de NAP(siesta) para despertar el PICmicro MCU despus de ciertoperodo de tiempo.

    Las instrucciones de ensamblador (clrwdt) bajo circunstancias normales se insertanautomticamente en los lugares apropiados a travs del programa.

    CLEARWDT permite la colocacin de las instrucciones adicionales del clrwdt en el programa.

    CLEARWDT. 'borra el temporizador del watchdog

    DEFINE puede ser utilizado para quitar todas las instrucciones del clrwdtque el compilador agrega automticamente:

    DEFINE NO_CLRWDT 1 ' no insertar CLRWDTs

    COUNT

    COUNT Pin,Period,Var

    Cuenta el numero de pulsos en un Pin , durante un perodo periodo,y guarda el resultado en Var.Pin es automticamente colocado como entrada .Pin debe ser una constante , 0-15 , unavariable que contenga un nmero de 0 a 15 (p.ej. B0) . un numero de pin .

    La resolucin de periodoest dada en milisegundos .Sigue la frecuencia del oscilador basado

    enDEFINEOSC.

    VCOUNT chequea el estado de Pin mediante un loop y cuenta las transiciones de bajo a alto.Con un oscilador de 4 Mhz chequea el estado del pin cada 20 us .Con un oscilador de 20 Mhzchequea el estado cada 4 us .De esto ,se infiere que la mayor frecuencia de pulsos que puedeser contada ,es de 25 Khz con un oscilador de 4 Mhz y de 125 Khz con un oscilador de 20 Mhzsi la frecuencia tiene un ciclo til del 50 % ( los tiempos altos son iguales a los bajos).

    cuenta el nmero de pulsos en Pin1 en 100 ms

    COUNT PORTB.1,100,W1 determinar la frecuencia en un Pin

    COUNT PORTA.2,1000,W1 contar por 1 segundo

    Serout PORTB.0,N2400, [ W1 ]

    DATA

    http://www.todopic.com.ar/pbp_sp.html#sleephttp://www.todopic.com.ar/pbp_sp.html#sleephttp://www.todopic.com.ar/pbp_sp.html#sleephttp://www.todopic.com.ar/pbp_sp.html#naphttp://www.todopic.com.ar/pbp_sp.html#naphttp://www.todopic.com.ar/pbp_sp.html#efinehttp://www.todopic.com.ar/pbp_sp.html#efinehttp://www.todopic.com.ar/pbp_sp.html#oschttp://www.todopic.com.ar/pbp_sp.html#oschttp://www.todopic.com.ar/pbp_sp.html#oschttp://www.todopic.com.ar/pbp_sp.html#oschttp://www.todopic.com.ar/pbp_sp.html#efinehttp://www.todopic.com.ar/pbp_sp.html#naphttp://www.todopic.com.ar/pbp_sp.html#sleep
  • 7/30/2019 PicBasic PRO Compiler Espanol

    39/116

    DATA { @ location , } constante { ,constante }

    Guarda constantes en un chip EEPROM cuando este dispositivo se programa por primera vez .Sise omite el valor opcional location , la primer declaracin de DATA comienza a almacenarse enla direccin 0 y las declaraciones siguientes , en las direcciones siguientes .Si existe un valor

    location este indica la direccin de comienzo donde se almacenar la informacin .Una etiquetaopcional se le puede asignar a la direccin de comienzo , para futuras referencias del programa

    Constante puede ser una constante numrica una cadena de constantes .Solo se guarda elbyte menos significativo del valor numrico , excepto que se use el modificador WORD . Lascadenas se guardan como bytes consecutivos de valores ASCII .No se agregan terminadores nise completa el largo ,

    DATA solo funciona con micro controladores con EEPROM incorporado como el PIC16F84 yPIC16C84 .Dado que el EEPROM es una memoria no-volatil , los datos permanecen intactos ancuando se quite la energa .

    Los datos se guardan dentro del EEPROM una sola vez en el momento en que se programa elmicro controlador , no cada vez que se ejecuta el programa .

    WRITEse usa para colocar los valores en el EEPROM en el momento de ejecucin .

    guardar 10,20 y 30 comenzando en la posicin 5

    DATA @5,10,20,30

    asignar una etiqueta a un word en la prxima ubicacin

    dlabel DATA word $1234 guarda $34, $12

    saltear 4 posiciones y guardar 10 ceros

    DATA (4) , 0 (10)

    DEBUG

    DEBUG item{ ,item ..}

    Envia uno ms items a un pin predefinido con un baud rate predefinido en formato standardasincrnico , usando 8 bits de datos ,sin paridad y con 1 bit de parada (stop bit) (8N1) ..El pin,automticamente se convierte en salida .

    Si un signo ( # ) precede a un item ,se enva serialmente la representacin ASCII para cadadgito .DEBUG soporta los mismos modificadores de datos queSEROUT2.

    http://www.todopic.com.ar/pbp_sp.html#writehttp://www.todopic.com.ar/pbp_sp.html#writehttp://www.todopic.com.ar/pbp_sp.html#serout2http://www.todopic.com.ar/pbp_sp.html#serout2http://www.todopic.com.ar/pbp_sp.html#serout2http://www.todopic.com.ar/pbp_sp.html#serout2http://www.todopic.com.ar/pbp_sp.html#write
  • 7/30/2019 PicBasic PRO Compiler Espanol

    40/116

    DEBUG es una de varias funciones seriales asincronicas pre-construidas .Es la ms pequea delas rutinas seriales generadas por software .Puede ser usada para enviar informacin dedepuracin (variables ,posicin de marcadores , etc).a un programa terminal como HyperTerm.Tambin se puede usar cuando se desee salida serial sobre un pin determinado y con un baudrate determinado .

    Los pin y baud rate seriales son especificadas usando DEFINEs:

    Set Debug pin port

    DEFINE DEBUG_REG PORTB Set Debug pin bit

    DEFINE DEBUG_BIT 0

    Set Debug baud rate

    DEFINE DEBUG_BAUD 2400

    Set Debug mode: 0= cierto, 1= invertido

    DEFINE DEBUG_MODE 1

    DEBUG asume un oscilador de 4 Mhz, cuando est generando su tiempo de bit. Para mantenerel tiempo apropiado del baud rate con otros valores de osciladores, asegurese deDEFINEelseteo deOSCal valor de oscilador deseado.

    En algunos casos, la tasa de transmisin de las instrucciones de DEBUG podran presentar los

    caracteres demasiado rpidamente al dispositivo receptor. Un DEFINE agrega una demora decaracteres para las transmisiones seriales de salida. Esto permite un tiempo adicional entre loscaracteres a medida que son transmitidos. La demora de caracter DEFINE permite un atrasode 1 a 65,535 microsegundos (.001 a 65.535 milisegundos) entre cada carcter transmitido.

    Por ejemplo, para pausar 1 milisegundo entre la transmisin de cada caracter:

    DEFINE DEBUG_PACING 1000

    Si bien los chips convertidores de nivel RS-232 son comunes y econmicos, gracias a laimplementacin de corriente RS-232 y a las excelentes especificaciones I/O del micro PIC ; la

    mayora de las aplicaciones no requieren convertidores de nivel. Se puede usar TTL invertido(DEBUG_MODE =1) Se sugiere un resistor limitador de corriente (se supone que RS-232 estolerante a los cortocircuitos).

    Enviar el texto B0= seguido por el valor decimal de B0 y un avance de

    lnea (linefeed) serialmente a la salida

    http://www.todopic.com.ar/pbp_sp.html#definehttp://www.todopic.com.ar/pbp_sp.html#definehttp://www.todopic.com.ar/pbp_sp.html#definehttp://www.todopic.com.ar/pbp_sp.html#oschttp://www.todopic.com.ar/pbp_sp.html#oschttp://www.todopic.com.ar/pbp_sp.html#oschttp://www.todopic.com.ar/pbp_sp.html#oschttp://www.todopic.com.ar/pbp_sp.html#define
  • 7/30/2019 PicBasic PRO Compiler Espanol

    41/116

    DEBUG B0= ,dec B0,10

    DEBUGIN

    Debugin { Timeout, etiqueta, }[Item{, Item... } ]

    Reciba unos o ms items de un pin predefinido en una velocidad predefinida en formatoasncrono estndar usando 8 bits de datos, ninguna paridad y 1 bit de stop (8N1). El pinautomticamente se hace una entrada .

    Se pueden incluir un TIMEOUT y una etiqueta opcional para permitir que el programa continesi un carcter no se recibe dentro de cierta cantidad de tiempo.

    TIMEOUT se especifica en unidades de 1 milisegundo. Si el PIN serial de la entrada deinformacin permanece ocioso durante el tiempo del descanso, el programa saldr del comandode DEBUGIN y saltar a la ETIQUETA.

    DEBUGIN (en todos los dispositivos excepto los de 12-bit) utiliza los mismos modificadoresque SERIN2. Obtenga mas informacin en la seccinSERIN2.

    modificadores operacin

    BIN{1..16 } recibir dgito binario

    DEC{1..5 }

    recibir dgitodecimal

    HEX{1..4 } recibir dgito hexadecimal

    SKIP n saltar n caracteres a recibir

    STR ArrayVar\n{\c }recibir cadena de n caracteresopcionalmente terminar en caracter c

    WAIT ( ) espera para secuencia caracter

    WAITSTR ArrayVar{\n } espera para cadena de caracteres

    DEBUGIN Es la ms pequea y ms rpida que de las rutinas seriales asncrono generadas porlgica e software . Puede ser utilizada para recibir la informacin que pone a punto unprograma terminal como Hyperterminal. Puede tambin ser utilizada la entrada de informacinserial en un PIN fijo en una velocidad fija.Se especifican el PIN y la velocidad seriales usando DEFINEs:

    http://www.todopic.com.ar/pbp_sp.html#serin2http://www.todopic.com.ar/pbp_sp.html#serin2http://www.todopic.com.ar/pbp_sp.html#serin2http://www.todopic.com.ar/pbp_sp.html#serin2
  • 7/30/2019 PicBasic PRO Compiler Espanol

    42/116

    ' Fije el port del PIN de Debugin

    DEFINEN DEBUGIN_REG PORTB

    Set Debugin pin bit

    DEFINE DEBUGIN_BIT 0

    Set Debugin baud rate (same as Debug baud)DEFINE DEBUG_BAUD 2400

    Set Debugin mode: 0 =verdadero, 1 = invertidoDEFINE DEBUGIN_MODE 1

    Si cualesquiera de estos DEFINEs no se incluyen en un programa, el puerto, pin o el modo deDEBUGIN se fija a los mismos valores que estn en DEBUGIN (poner a punto). La velocidad deDEBUGIN essiempre igual que DEBUG.s. No puede ser DEFINEd diferentemente.

    DEBUGIN asume un oscilador 4MHz al generar su sincronizacin de bit. Para mantener lasincronizacin apropiada de lavelocidad con otros valores del oscilador, DEFINIR elOSCILADOR.

    Mientras que los IC convertidores de nivel RS-232 (max232)son comunes y baratos, gracias ala actual RS-232 y lasespecificaciones excelentes de la entrada-salida del PICmicro MCU, la mayora de lasaplicaciones pueden no requerir IC convertidores .Puede ser utilizando logica TTL invertida (DEBUGIN_MODE 1). Solo una resistencia limitadorade 22k. es necesaria para disipar el voltaje ms alto y a veces negativo de RS-232.

    ' Espere hasta que el caracter A es recibido en serie y el caracter siguiente es puesto en B0

    DEBUGIN [ WAIT(.A.), b0 ] ' Salte 2 caracteres y grab 4 dgitos un nmero decimal

    DEBUGIN [ SALTO 2, dec4 B0 ]

    DISABLE

    DISABLE

    DISABLE interrumpe el procesamiento siguiente a la instruccin. Pueden ocurrir otrasInterrupciones, pero el manipulador de interrupciones del BASIC en el PBP, no se ejecutarhasta que se encuentre unENABLE.

    DISABLE y ENABLE son pseudo-operaciones en el sentido que dan direcciones de compilador,en lugar de producir cdigo. Vea ON INTERRUPT para ms informacin.

    http://www.todopic.com.ar/pbp_sp.html#oschttp://www.todopic.com.ar/pbp_sp.html#oschttp://www.todopic.com.ar/pbp_sp.html#oschttp://www.todopic.com.ar/pbp_sp.html#enablehttp://www.todopic.com.ar/pbp_sp.html#enablehttp://www.todopic.com.ar/pbp_sp.html#enablehttp://www.todopic.com.ar/pbp_sp.html#enablehttp://www.todopic.com.ar/pbp_sp.html#osc
  • 7/30/2019 PicBasic PRO Compiler Espanol

    43/116

    DISABLE Deshablita interrupciones en el handler

    Myint: led = 1 enciende el LED cuando es interrumpido

    Resume Vuelve al programa principal

    Enable ENABLE interrumpe despus del handler

    DISABLE DEBUG

    DISABLE DEBUG deshabilita el proceso deDEBUGdespus de esta instruccin. el monitoreode DEBUG (poner a punto) no ser llamado hasta que unENABLEoENABLE DEBUGseaencontrado.

    DISABLED DEBUG y ENABLE DEBUG son ms como pseudo-ops que dan al compiladordirectivas, ms que generar cdigo. VeaON DEBUGpara ms informacin.

    DISABLE DEBUG ' Invalide el llamado de monitoreo de DEBUG

    DISABLE INTERRUP

    DISABLE INTERRUPTDISABLE INTERRUPT Se procesa despus de esta instruccin. Las interrupciones pueden

    ocurrir pero no se ejecutarn hastaque un ENABLE o ENABLE INTERRUPT en el programa de PicBasic se encuentra.DISABLE INTERRUPT (INVALIDE LA INTERRUPCIN) y ENABLE INTERRUPT ( PERMITALA INTERRUPCIN )sonms como pseudo-ops que dan al compilador directivas, ms que generan cdigo.VeaON INTERRUPTpara ms informacin.

    DISABLE INTERRUPT' Invalide las interrupciones

    myint: led = 1 'encienda el LED con una interrupcion

    resume ' retorne al programa principal

    enabled interrupt ' Permita al programa verificar las interrupciones

    http://www.todopic.com.ar/pbp_sp.html#debughttp://www.todopic.com.ar/pbp_sp.html#debughttp://www.todopic.com.ar/pbp_sp.html#debughttp://www.todopic.com.ar/pbp_sp.html#enablehttp://www.todopic.com.ar/pbp_sp.html#enablehttp://www.todopic.com.ar/pbp_sp.html#enablehttp://www.todopic.com.ar/pbp_sp.html#enable_debughttp://www.todopic.com.ar/pbp_sp.html#enable_debughttp://www.todopic.com.ar/pbp_sp.html#enable_debughttp://www.todopic.com.ar/pbp_sp.html#on_debughttp://www.todopic.com.ar/pbp_sp.html#on_debughttp://www.todopic.com.ar/pbp_sp.html#on_debughttp://www.todopic.com.ar/pbp_sp.html#on_interrupthttp://www.todopic.com.ar/pbp_sp.html#on_interrupthttp://www.todopic.com.ar/pbp_sp.html#on_interrupthttp://www.todopic.com.ar/pbp_sp.html#on_interrupthttp://www.todopic.com.ar/pbp_sp.html#on_debughttp://www.todopic.com.ar/pbp_sp.html#enable_debughttp://www.todopic.com.ar/pbp_sp.html#enablehttp://www.todopic.com.ar/pbp_sp.html#debug
  • 7/30/2019 PicBasic PRO Compiler Espanol

    44/116

    DTMFOUT

    DTMFOUT Pin, { Onms ,Offms,} [ Tone {,Tone} ]

    Produce una secuencia DTMF Touch Tone en Pin ,Pin automticamente se convierte en salida .

    Pin debe ser una constante , 0 - 15 , una variable que contenga un nmero de 0 a 15 (p.ej. B0)un nmero de pin (p.ej. B0)

    Onms es el nmero de milisegundos que suena cada tono y Offms es el nmero de milisegundosde pausa entre cada tono .Si no estn especificados , por defecto Onms es 200 ms y Offms es50 ms.

    Tones tiene un valor de 0 - 15 .Los tonos de 0 - 9 son los mismos que en un teclado telefnico.Tone 10 es la clave * , Tone 11 es la clave # ,y los Tones 12 - 15 corresponden a las teclasextendidas A -D .

    DTMFOUT usaFREQOUTpara generar los tonos duales .FREQOUT genera tonos usando unaforma de modulacin de ancho de pulso .Los datos en bruto que salen del pin son bastantehorribles .Usualmente se necesita algn tipo de filtro para suavizar la seal hasta una forma deonda senoidal quitndole algunas armnicas generadas:

    DTMFOUT trabaja mejor con un oscilador de 20 Mhz .Tambin puede trabajar con uno de 10Mhz y an con uno de 4 Mhz , aunque ser muy difcil de filtrar y tendr muy baja amplitud.Cualquier otra frecuencia causar que DTMFOUT genere una frecuencia proporcional aloscilador comparado a 20 Mhz , lo que no ser muy til para enviar touch tones .

    enviar DTMF tones para 212 en Pin1

    DTMFOUT PORTB.1 , [ 2,1,2 ]

    EEPROM

    EEPROM {Location ,} [ constante {,constante ...} ]

    Guarda constantes en un chip EEPROM . Si se omite el valor opcional Location ,la primeradeclaracin se guarda en la direccin 0 del EEPROM y las subsiguientes en las siguientesdirecciones del mismo .Si se indica un valor Location , ste indica la direccin de comienzo paraguardar los datos .

    Constante puede ser una constante numrica una cadena de constantes .Solo se guardan losbytes menos significativos de los valores numricos . Las cadenas son guardadas como bytesconsecutivos d valores ASCII .No se agregan automticamente terminadores ,ni se completa ellargo .

    http://www.todopic.com.ar/pbp_sp.html#freqouthttp://www.todopic.com.ar/pbp_sp.html#freqouthttp://www.todopic.com.ar/pbp_sp.html#freqouthttp://www.todopic.com.ar/pbp_sp.html#freqout
  • 7/30/2019 PicBasic PRO Compiler Espanol

    45/116

    EEPROM solo trabaja con micro controladores con EEPROM incorporado como el PIC16F84 yPIC16C84 . Dado que el EEPROM es una memoria no voltil , los datos permanecern intactosan sin alimentacin .

    Los datos son guardados en el EEPROM solo una vez , cuando el micro controlador es

    programado , no cada vez que se ejecuta el programa .Se puede usarWRITEpara colocarvalores en el EEPROM en el momento de la ejecucin .

    Guardar 10 ,20 , 30 comenzando en la direccin 5

    EEPROM 5, [ 10,20,30 ]

    ENABLE

    ENABLE

    ENABLE interrumpe el procesamiento que fue previamente deshabilitado con DISABLE,siguiendo a esta instruccin.

    DISABLEy ENABLE son pseudo-operaciones en el sentido que dan direcciones de compilador,en lugar de producir cdigo. VeaON INTERRUPTpara ms informacin.

    DISABLE Deshablita interrupciones en el handler

    Myint: led = 1 enciende el LED cuando es interrumpido

    Resume Vuelve al programa principal

    Enable ENABLE interrumpe despus del handler

    ENABLE DEBUG

    ENABLE DEBUG proceso previamente DISABLEd despus de esta instruccin.

    DISABLE DEBUGY ENABLE DEBUG son pseudo-ops que dan al compilador dire