Escolar Documentos
Profissional Documentos
Cultura Documentos
$regfile
Esta instruccin va siempre al inicio de cualquier proyecto que
realicemos, ya que es la encargada de direccionar el respectivo
microcontrolador que vamos a usar.
Por ejemplo:
Atmega 8: $regfile=m8def.dat
Atmega 16: $regfile=m16def.dat
Atmega 32: $regfile=m32def.dat
$crystal
Esta instruccin va especificar la frecuencia de oscilacin con la que va
a funcionar el microcontrolador.
Por ejemplo:
$crystal=1000000 para 1MHZ
$crystal=4000000 para 4MHZ
$crystal=8000000 para 8MHZ
Config
Esta instruccin especifica la configuracin de un pin, un puerto o un
dispositivo, ya que pueden ser configuradas como entrada o salida de
datos.
Por ejemplo:
Config portb=output Puerto B como salida
Config pina.0=input
Pin A.0 como entrada
Config lcd=16*2
LCD de 16 caracteres y 2 lneas
Wait,waitms,waitus
Esta instruccin sirve para crear un retardo, ya sea en segundos,
milisegundos y microsegundos respectivamente.
Por ejemplo:
Wait 3
Espera 3 segundos
Waitms 7
Espera 7 milisegundo
Waitus 500
Espera 500 microsegundos
Do-loop
Esta instruccin es un lazo cerrado, en el cual se ejecuta un conjunto
de instrucciones de forma indefinida.
Do
Instrucciones
Loop
Do-loop until
Es un lazo definido por la condicin de una variable que est dentro del
lazo, la cual define cuando termina de ejecutarse el conjunto de
instrucciones.
Por ejemplo:
Do
A=A+1
Loop until A =10 termina el lazo cuando A=10
Toggle
Este comando sirve para complementar el estado anterior de alguna
variable o pin de algn puerto.
Por ejemplo:
Toggle portb.0
complementa el portb.0
Dim
Dim sirve para dimensionar el tipo de variable que se va utilizar, entre
los tipos de variables estn los siguientes:
TIPO
DIMENSION
BIT
0-1
BYTE
0 a 255
WORD
0 a 65535
LONG
-2147483648 a 2147483647
INTEGER
-32768 a 32767
SINGLE
1.5
a 3.4
STRING
CADENA DE CARACTERES MAXIMO 254
ARRAY
MATRIZ 65535
DOUBLE
5.0*
a 1.7*
DIM var as tipo
Ejemplo: DIM A as byte
Alias
Sirve para dar un nombre general dentro de un proyecto ya sea un
puerto o un pin de un puerto.
Ejemplo:
Foco Alias portb.0
El portb.0 ahora se llama el foco
Declare sub nombre ( )
Sirve para declarar subrutinas que en el programa principal, se las
llamara con la instruccin CALL nombre.
Goto
Salto incondicional a una etiqueta.
Gosub
Llama a una subrutina. La subrutina debe escribirse despus de END y
terminar con la instruccin RETURN.
SET,RESET
Pone a 1Ly 0L respectivamente un pin de salida
Ejemplo: SET PORTD.0 pone a uno el pind.0
Incr
Incrementa en una unidad una variable.
Ejemplo: Incr x
IF-THE; ELSE
Son sentencias condicionales, las cuales responden a un estado de
voltaje (0L, 1L), de contenido (caracteres), etc.
IF (condicin) THEN
Instruccin1
ELSE
Instruccion2
END IF
FOR-NEXT
Son instrucciones de repeticin, ya que ejecutan un conjunto de
instrucciones, dependiendo de una variable incremental dentro del
lazo.
FOR var=val_inicial to val_final
Instrucciones (mientras val_inicial var val_final)
Next var
WHILE WEND
Lazo de repeticin con el cumplimiento de una condicin.
Var
While <condicin>
Instrucciones si condicin es verdadera
Wend
SELECT CASE
Son sentencias que se pueden ejecutar, dependiendo del estado de
una variable de seleccin. Nos sirve para realizar diferentes acciones
en funcin del valor de una variable, en nuestro caso, el valor ledo por
el puerto de entrada.
Var
Select case var
Case1: instruccin 1
Case2: instruccin 2
..
Case else: instrucciones otros casos
End select
SIMBOLOS Y OPERADORES
Dentro de los operadores, pueden utilizarse los matemticos, de
relacin y lgicos. Adems se deben tomar en cuenta que Bascom nos
permite realizar operaciones nicamente con dos variables a la vez.
A continuacin podremos observar los operadores ms comunes.
Operadores matemticos
Suma: a =b+c
Resta: a =b-c
Multiplicacin: a=b*c
Divisin: x=a \ b
Residuo= a MOD b
Operadores de relacin
= igual x=y
<> No es igual x<>y
< Menor que x<y
> Mayor que x>y
<= menor igual x<=y
>=mayor igual x>=y
Operadores lgicos
NOT complemento (negacin)
AND conjuncin (y)
OR disyuncin (o)
XOR or exclusiva
Numero hexadecimal
Portb=&b10001100
Numero binario
Porta=129
Numero decimal
ShiftLcd
Sirve para mover todo el texto del Lcd, ya sea para la izquierda o
derecha, con las instrucciones:
ShiftLcd left
ShiftLcd right
INTERRUPCIONES EXTERNAS
A igual que la interrupcin del prtico serial no proporciona ventajas
para ejecutar un programa principal, la interrupcin externa tambin
permite ejecutar una subrutina solo si cumple o se detecta alguna
seal externa, ya sea por el pin INT0 o INT1.
Open
Sirve para habilitar cualquier pin del microcontrolador, para que
funcione como entrada o salida de datos.
Por ejemplo:
Open comd.1:9600, 8, n, 1 For output As #1, para transmisin
Open comd.1:9600, 8, n, 1 For input As #2, para recepcin
Close
Sirve para cerrar la utilizacin de los pines de recepcin y transmisin.
Por ejemplo:
Close#1, para cerrar la transmisin
Close#2, para cerrar la recepcin
Print #1
Sirve para transmitir por el pin de trasmisin virtual
Input #2
Sirve para recibir por el pin de recepcin virtual
Con la ayuda de estas instrucciones se puede tener la versatilidad de 2
puertos seriales dentro de un mismo microcontrolador.