Você está na página 1de 7

BASIC Step 1

Tato Equipamentos Eletrônicos - http:\\www.tato.ind.br

Introdução:
Esse tutorial tem o objetivo de sanar pequenas duvidas, referentes ao
BASIC Step 1 produzido pela Tato. O compilador que o BASIC Step 1 usa
é o TBASIC, esse poderoso compilador trabalha com a linguagem BASIC,
sendo seus comandos similares aos comandos do QBASIC da Microsoft. O
BASIC Step 1 possui as seguintes características:

Memória de programa: 256 Bytes


I/Os disponíveis: 8 I/Os
Clock: 4 MHz
Alimentação: 7,5V a 15V
Conector: Barra de 14 pinos
Comandos: Inglês/Português
Memória RAM: 16 Bytes
Memória EEPROM: A mesma memória de programa

Compilador:
O compilador usado pode ser adquirido gratuitamente no site da
Tato. O TBasic possui em media 32 comandos, programa o BASIC Step 1
pela porta serial do PC, possui uma janela de Debug e um compilador.
Abaixo se encontra os assuntos que serão abordados nesse tutorial.

- Uso de variáveis
- Comandos para controle de I/Os
- Operações aritméticas básicas
- Comunicação Serial
- Escrita em Display LCD
- Leitura de um Sonar
- Controle de servos motores
- Exemplos de Códigos-fonte

Uso de variáveis:
O BASIC Step 1 possui variáveis, para armazenar valores diversos.
Essas variaveis tem
Nomes fixos.

Variáveis de Bit: de bit0 a bit13


Variáveis de 8 Bits: de b0 a b13
Variáveis de 16 Bits: de w0 a w7

Essas variáveis nos permitem guardar valores para serem utilizados


posteriormente ou para guardar resultados de operações aritméticas.
Podemos atribuir um nome a variável, para tornar mais fácil o
entendimento do código-fonte. Isso pode ser feito usando o comando
symbol.

Exemplo:

Symbol sensor = bit0

Comandos para controle de I/Os:


Um dos mais versáteis recursos de um microcontrolador, é sem
duvida os pinos de I/O (Input = entrada/Output = saida). Para configurar
um pino como saída é extremamente simples, o comando utilizado é
Output n° pino. Onde n° pino varia de 0 a 7 (as 8 I/Os do
microcontrolador).

Exemplo:

Output 0

Para mudar o estado de um pino configurado como saída, deve-se


utilizar o comando pinn°=bit. Onde n° é o numero do pino de I/O a mudar
o seu valor e bit é o valor a colocar no pino (1 ou 0).

Exemplo:

Pin0=0
Pin0=1

Para configurar um pino como entrada é extremamente simples, o


comando utilizado é Input n° pino. Onde n° pino varia de 0 a 7 (as 8 I/Os
do microcontrolador).

Exemplo:

Input 1

Agora que já sabemos configurar os pinos e mudar o estado deles,


vamos partir para algo mais interessante: Ler o pinos configurados como
entrada e tomar decisões, levando em conta o estado em que eles se
encontram. O comando para leitura/comparação é o If pinn° = bit then
label. Onde n° do pino varia de 0 a 7, bit é valor a comparar com o pino (1
ou 0) e label é um local a chamar no programa se o valor no pino for igual
ao valor escrito em bit (no comando If).

Exemplo:

If pin1 = 0 then desligado ‘se pino 1 for igual a 0 vá para label


desligado
If pin1 = 1 then ligado ‘se pino 1 for igual a 1 vá para label ligado

Operações aritméticas básicas:


Quando trabalhamos com microcontroladores, precisamos saber
como fazer operações aritméticas, para elevarmos a complexidade dos
programas e suas utilidades. Com o BASIC Step 1 é muito simples
executar cálculos, porem não descreverei neste momento como fazer esses
cálculos. Um exemplo será mostrado no item Leitura de um Sonar. Para
fazer cálculos deve ser utilizados os operadores =, +, -, / e *

Comunicação Serial:
A comunicação serial é muito importante, quando precisamos trocar
dados com um computador ou outro microcontrolador esse é o meio mais
pratico de fazer a comunicação, pois só utiliza 2 pinos do microcontrolador.
O comando para enviar dados serialmente é esse: Serout n° pino,parâmetro
velocidade,(“caractere”). Onde n° do pino varia de 0 a 7, parâmetro pode
ser N ou T (N = comunicação serial invertida, esse parâmetro é necessário
ao comunicar o BASIC Step 1 com o computador, já o parâmetro T = a
comunicação serial padrão), velocidade pode ser escolhida e caractere é o
dado a ser enviado.

Exemplo:

Serout 0,N2400,(“A”) ‘envia o caractere A

Para receber dados serialmente, deve ser utilizado esse comando:


Serin n° pino,parâmetro velocidade,(“caractere”),#variável. Onde n° do
pino varia de 0 a 7, parâmetro pode ser N ou T (N = comunicação serial
invertida, esse parâmetro é necessário ao comunicar o BASIC Step 1 com o
computador, já o parâmetro T = a comunicação serial padrão), velocidade
pode ser escolhida, caractere é o primeiro caractere que o BASIC Step 1
vai esperar e variável é o local em que o dado enviado em seguida ao
caractere vai ficar armazenado.
Exemplo:

Serin 1,N2400,(“A”),#b0 ‘espera pelo caractere A e depois espera


pelo dado

Escrita em Display LCD:


A escrita em display LCD serial, é muito simples. O comando para
tal feito, foi apresentado no item anterior. Comando: Serout

Exemplo:

Serout 0,N2400,(“By: DHL Tato”) ‘escreve no display

Para limpar o display LCD deve ser enviado um comando 254 em


decimal e depois um outro comando, 1 em decimal.

Exemplo:

Serout 0,N2400,(254,1) ‘limpa display

Para posicionar o cursor na primeira linha deve ser enviado o


comando 128 em decimal, para posicionar na segunda linha o comando é
192 em decimal.

Exemplo:

Serout 0,N2400,(254,128) ‘posiciona display na 1° linha


Serout 0,N2400,(254,192) ‘posiciona display na 2° linha

Antes de escrever no display, deve ser adicionado uma pausa de no


mínimo 40 ms, para os dados serem exibidos corretamente.

Exemplo:

Pause 40 ‘pausa por 40 ms


Serout 0,N2400,(254,1) ‘limpa display
Pause 40 ‘pausa por 40 ms
Serout 0,N2400,(254,128) ‘posiciona display na 1° linha
Pause 40 ‘pausa por 40 ms
Serout 0,N2400,(“By: DHL Tato”) ‘escreve no display

Para obter mais informações sobre os displays da Tato, consulte os


Datasheets dos displays
No site: www.tato.ind.br

Leitura de um Sonar:
O sonar é um sensor para medir distancias (aproximadamente) e
envia-las ao microcontrolador. Comando utilizado: Pulsin n°
pino,1,variável. Onde numero do pino varia de 0 a 7 e variável é o local a
ser armazenado o dado recebido do sonar. O comando Pulsin lê um pulso e
armazena sua duração em uma variável de 16 Bits (w0 a w7).

Exemplo:

Pulsin 1,1,w0 ‘lê pulsos no pino 1

Controle de servos motores:


O servo motor é um tipo especial de motor, a grande diferença é que
um servo usa pulsos digitais de duração pré-definida e trabalha em
posicionamento a base de graus. Usaremos o comando Pulsout para
controlar o movimento do servo, desta maneira: Pulsout n° pino,valor.
Onde n° pino varia de 0 a 7 e valor varia de 0 a 255.

Exemplo:

Pulsout 0,100 ‘posiciona o servo em um extremo


Pulsout 0,200 ‘posiciona o servo no outro extremo

Exemplos de Códigos-fonte:
Abaixo encontra os exemplos, separados pelos itens.

Comandos para controle de I/Os:


Pisca LED:
Output 0
ini: ‘label ini
Pin0=0
pause 200
Pin0=1
pause 200
goto ini ‘vai para label ini
end

Lê pino 1 e mostra em um LED ligado no pino 0:


Output 0
Input 1
Ini:
If pin1 = 0 then desligado
If pin1 = 1 then ligado
Goto ini
Desligado:
Pin0=1
Return
Ligado:
Pin0=0
Return

Comunicação Serial:
Envia caractere 1 se o pino 1 estiver em 1:
Output 0
Input 1
Ini:
If pin1 = 1 then ligado
Goto ini
Ligado:
Serout 0,N2400,(“1”)
Return

Escrita em Display LCD:


Pause 40
Serout 0,N2400,(254,1)
Pause 40
Serout 0,N2400,(254,128)
Pause 40
Serout 0,N2400,(“Seu texto”)

Leitura de um Sonar (Exemplo valido também para o item operações


aritméticas):
Input 1
Loop:
Pulsin 1,1,w0 ‘mede o pulso do sonar
W0=w0*34 ‘velocidade do som 340m/s
W0=w0/2 ‘o tempo medido é de ida e volta
W0=w0/100 ‘acerta a escala
Debug b0 ‘manda resultado p/ PC
Goto loop

Controle de servos motores:


symbol x=w0
output 6
aqui:
for x=1 to 100
Pulsout 6,100
Low 0 ‘este comando é similar ao comando pin0=0 (tem a
mesma finalidade)
Pause 10
Next
Pause 500
For x=1 to 100
Pulsout 6,200
High 0 ‘este comando é similar ao comando pin0=1 (tem a
mesma finalidade)
Pause 10
Next
Pause 500
Goto aqui

- FIM -

Uma boa leitura do arquivo Help do compilador ajuda bastante, então


sugiro que vocês leiam o Help e tirem suas duvidas no Fórum do BASIC
Step.

Escrito por Vinicius Fernandes – Doutor HL


Tato Equip.

Você também pode gostar