Tutorial BASIC Step 1(2)

10
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

Transcript of Tutorial BASIC Step 1(2)

Page 1: Tutorial BASIC Step 1(2)

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 BytesI/Os disponíveis: 8 I/OsClock: 4 MHzAlimentação: 7,5V a 15VConector: Barra de 14 pinosComandos: Inglês/PortuguêsMemória RAM: 16 BytesMemó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 temNomes fixos.

Variáveis de Bit: de bit0 a bit13Variáveis de 8 Bits: de b0 a b13

Page 2: Tutorial BASIC Step 1(2)

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=0Pin0=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

Page 3: Tutorial BASIC Step 1(2)

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 desligadoIf 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.

Page 4: Tutorial BASIC Step 1(2)

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° linhaSerout 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 msSerout 0,N2400,(254,1) ‘limpa displayPause 40 ‘pausa por 40 msSerout 0,N2400,(254,128) ‘posiciona display na 1° linhaPause 40 ‘pausa por 40 msSerout 0,N2400,(“By: DHL Tato”) ‘escreve no display

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

Page 5: Tutorial BASIC Step 1(2)

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 extremoPulsout 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 0ini: ‘label iniPin0=0pause 200Pin0=1pause 200goto ini ‘vai para label iniend

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

Page 6: Tutorial BASIC Step 1(2)

If pin1 = 0 then desligadoIf pin1 = 1 then ligadoGoto iniDesligado:Pin0=1ReturnLigado:Pin0=0Return

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

Escrita em Display LCD:Pause 40Serout 0,N2400,(254,1)Pause 40Serout 0,N2400,(254,128)Pause 40Serout 0,N2400,(“Seu texto”)

Leitura de um Sonar (Exemplo valido também para o item operações aritméticas):Input 1Loop:Pulsin 1,1,w0 ‘mede o pulso do sonarW0=w0*34 ‘velocidade do som 340m/sW0=w0/2 ‘o tempo medido é de ida e voltaW0=w0/100 ‘acerta a escalaDebug b0 ‘manda resultado p/ PCGoto loop

Controle de servos motores:symbol x=w0

Page 7: Tutorial BASIC Step 1(2)

output 6aqui:for x=1 to 100Pulsout 6,100Low 0 ‘este comando é similar ao comando pin0=0 (tem a mesma finalidade)Pause 10NextPause 500For x=1 to 100Pulsout 6,200High 0 ‘este comando é similar ao comando pin0=1 (tem a mesma finalidade)Pause 10NextPause 500Goto 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 HLTato Equip.