Академический Документы
Профессиональный Документы
Культура Документы
MICROPROCESADORES
DIFERENCIA ENTRE UN PROGRAMA EN BASIC Y ASSAMBLER
BASIC
ASSAMBLER
MICROPROCESADORES
CARACTERSTICAS PRINCIPALES DEL LENGUAJE DE PROGRAMACIN BASIC
Similar al uso de cualquier lengua que no est limitada a un procesador o
sistema operativo. Esto puede ser un problema, ya que Basic vara ligeramente
dependiendo de su aplicacin
El Basic tratado a continuacin es especficamente el utilizado para PIC.
El Basic es un lenguaje de programacin simple y fcil de entender. Para
utilizarlo correctamente, basta con conocer slo unos pocos elementos bsicos
en los que consiste cada programa. Estos son:
- Identificadores: Etiquetas , variables , alias , arreglos, constantes, cadena de
constantes y simbolos
- Instrucciones
- Operadores y
- Directivas
MICROPROCESADORES
IDENTIFICADORES DE PIC BASIC
Etiquetas: Son palabras que se utilizan para sealar el inicio de una rutina en el programa
Se debe colocar : luego de la etiqueta. Ej:
Inicio:
Variables: Son palabras que se utilizan para almacenar valores que cambian en la
ejecucin del programa
Syntaxis: label VAR size{.modifiers}
Las etiquetas pueden contener hasta 32 caracteres, La directiva VAR es una palabra
reservada y el tamao (Size) es la cantidad de espacio que se usara de la RAM
Ejemplo s:
Book var word
Page var byte
Letter var bit
MICROPROCESADORES
Alias: Son palabras que tienen igual asignacin que una variable ya declarada.
Ej: page var byte
Letter0 var page.0
MICROPROCESADORES
Constantes : Las llamadas constantes pueden ser creadas de manera similar a las
variables. Puede ser mas conveniente usar un nombre de constante en lugar de un
nmero constante. Si el nmero necesita 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.
Ejemplo: Mice con 3
En Basic Pro se pueden definir constantes numricas en tres bases: decimal, binario y
hexadecimal.
Valores binarios son definidos usando el prefijo % ,
Valores hexadecimales usando el prefijo $.
Y los valores decimales se toman por defecto y no requieren prefijo.
Ej: %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.
La constante debe ser puesta entre comillas y contener slo un carcter (de lo
contrario, ellas son una cadena de constantes).
A ASCII valor para el decimal 65
MICROPROCESADORES
BP no provee capacidad de manejo de cadenas, pero las cadenas pueden ser usados
con algunos comandos.
Una cadena contiene uno o ms caracteres y es delimitado entre comillas.
Hello String (forma abreviada de H, e, l, l, o)
Las cadenas son usualmente tratadas como una lista de valores de caracteres
individuales
SMBOLOS : provee otro mtodo para renombrar (darle alias) a variables y constantes.
Con la directiva SYMBOL, esta no puede ser usado para crear una variable.
Ejemplo:
SYMBOL lion = cat cat fue previamente creada usando VAR
SYMBOL mouse = 1 igual que mouse con 1
MICROPROCESADORES
Las operaciones matematicas usan un formato de hasta 16bits por lo que una
multipliacion puede producir 32, en ese caso con los operadores de multiplicacion se
indica donde se desea se guarde cada word (16 bits)
Ej:
W2 = W1 * W0 la parte LS se coloca en W2
W2 = W1 ** W0 la parte MS de se colaca en W2
Operadores logicos
& AND
| OR
^ XOR
&/ NAND
| / NOR
^ / EXXOR
MICROPROCESADORES
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 dos ejemplos 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. Declaraciones muy largas pueden ser extendidas a la lnea siguiente
usando el carcter ( _ ) al final de cada lnea a ser continuada.
Branch B0 , [label0, label1, label2, _
Label3, label4]
MICROPROCESADORES
INCLUDE
Se puede agregar archivos fuente BASIC a un programa PBP usando INCLUDE. Usted
puede tener 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 archivos pueden ser incluidos en programas donde ser necesario, pero no en
programas donde no se los necesita.
Las lneas de cdigo fuente del archivo incluido son insertadas dentro del programa
exactamente donde se coloca el INCLUDE.
INCLUDE modedefs.bas
MICROPROCESADORES
OPERADORES MATEMTICOS
PBP efecta todas las operaciones matemticas en urden jerrquico .Esto significa que existe
precedencia para los operadores .Multiplicacin y divisin son efectuados antes que suma y resta ,
por ejemplo. Para asegurarse que las operaciones son efectuadas en el orden que se desea , 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 :
MICROPROCESADORES
OPERADORES MATEMTICOS
MICROPROCESADORES
MICROPROCESADORES
MULTIPLICACIN
PBP efecta multiplicaciones 16 x 16 bits .El operador * devuelve los 16 bit inferiores
del resultado de 32 bit. Esta es la multiplicacin tpica encontrada en los lenguajes de
programacin. El operador ** devuelve los 16 bit superiores del resultado de 32 bit.
Estos dos operadores pueden ser utilizados en conjunto para realizar multiplicaciones
de 16 x 16 bit que produzcan resultados de 32 bit .
MICROPROCESADORES
MAX y MIN I
MAX y MIN devuelven el mximo y mnimo ,respectivamente , de dos nmeros . Se usan
normalmente 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 para
encontrar 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 I
REV invierte el orden de los bits inferiores de un valor .El nmero de bits a ser invertidos es de 1 a 16 .
B0 = %10101100 REV 4 setea B0 a %10100011
MICROPROCESADORES
REFERENCIA DE DECLARACIONES
MICROPROCESADORES
REFERENCIA DE DECLARACIONES
MICROPROCESADORES
REFERENCIA DE DECLARACIONES
MICROPROCESADORES
REFERENCIA DE DECLARACIONES
MICROPROCESADORES
MODULO DE CAPTURA, COMPARACION Y PWM
(MEJORADO)(CCP Y ECCP)