Aproveitando as características de alta corrente de l/O, baixo consumo e dimensões reduzidas, a PARALLAX© desenvolveu o BASIC Stamp.

 

Nota: este artigo é de 1997, quando o Basic Stamp era ainda muito popular como microcontrolador de uso geral. O artigo ainda é válido como introdução aos microcontroladores e também para as versões mais novas do Basic Stamp e suas variações.

 

Observando a figura 1a temos o esquema elétrico em conjunto com a montagem física dos componentes na placa, na tabela 1 são descritos os pinos do BASIC Stamp. Começando da esquerda para a direita, o leitor observa o componente LM2936M que é um regulador de tensão que utiliza a técnica de chaveamento.

Esse regulador possui características muito desejáveis para o BASIC Stamp, entre elas: proteção contra tensão reserva, sobre tensão e sobre corrente, além de ser excelente em ambientes onde a tensão de entrada é muito ruidosa, pois a técnica de chaveamento minimiza a possibilidade de ruído na tensão regulada. Antigamente na versão BS1-IC Rev A o regulador de tensão era do tipo série (como o LM7805) que não incorporava essas vantagens e era mais suscetível a danos.

O segundo componente que aparece é o TC54VN43, um sistema de Reset com “BROWN OUT” que fica monitorando a tensão regulada de +5 V através do pino "IN". Esta tensão pode ser gerada pelo regulador interno do BASIC Stamp ou por uma fonte externa (nunca simultaneamente). Uma vez que essa tensão esteja abaixo de 4,5 V o circuito irá gerar um RESET através do pino "OUT".

 


| Clique na imagem para ampliar |

 

 

 


| Clique na imagem para ampliar |

 

 

 

 


 

 

 

 

Na sequência temos uma memória EEPROM 93Lo56 de 256 bytes, que tem como função armazenar o programa do usuário. O processo de gravação e leitura de dados dessa EEPROM é serial, diferente das memórias tipo EEP ROM convencionais, onde a gravação de dados é feita paralelamente. Como o leitor pode notar ela não possui linhas de endereço, para setar os endereços desejados são utilizados comandos especiais que são transmitidos para EEPROM como se fossem dados. A partir daí a cada dado transmitido é incrementado automaticamente o endereço.

O pino “DI' é para a entrada dos dados e o “DO” para a saída, podemos notar no circuito que eles estão unidos e que através de um resistor são conectados ao pino 19 (EED) do PIC (PBASIC1/SS). Isso é possível, pois os pinos de I/Os do PIC podem ser programados tanto para a entrada como para a saída. Em nosso caso, para programar a EEPROM o pino de I/O é configurado para saída e na leitura do EEPROM é configurado para entrada. O pino CLK é o “clock" que valida o dado no pino “DI” ou “DO” (esse pino está ligado diretamente no PIC).

Por último, temos o próprio PIC (PBASIC1/SS) um PIC 16C56 que possui internamente gravado um programa interpretador BASIC desenvolvido pela Parallax que ocupa a área de 1024 bytes de memória de programa do PIC. Como a tecnologia do PIC é EEPROM e o encapsulamento OTP não podemos apagar ou gravar novamente o PIC e estrategicamente o fusível de proteção (CP) está gravado, evitando-se assim a leitura do programa interpretador e sua reprodução sem autorização. Outro fusível que está programado é do Watch Dog Timer (WDT) que é utilizado para “acordar" o PIC quando ele está em modo ”Power Down“ que reduz o consumo de energia. No Basic Stamp o PIC entra em modo “POWER DOWN” através das instruções “SLEEP", “NAP” e “END”.

Podemos notar que no PORT B estão designadas todas as funções I/O do BASIC Stamp (P0 a P7) e o PORT A é utilizado para controle da EEPROM e interface com o PC. O sistema de RESET já foi discutido e o sistema de clock é gerado por um ressonador cerâmico com frequência da 4 Mhz.

 

 

I/O PORT E VARIÁVEIS

 

O BASIC Stamp tem 16 bytes de RAM dedicados para o I/O e armazenamento de variáveis. Os dois primeiros bytes são usados para l/O (um para dados e outro para controle de direção) e os outros 14 bytes são para dados. O arranjo das variáveis é mostrado na tabela 2.

Portanto, dos 25 registradores disponíveis do PIC16056 são utilizados 16 para as variáveis do BASIC Stamp, o que significa que o programa interpretador trabalha somente com 9 registradores.

 

 

COMUNICANDO COM O PC.

 

A comunicação com o PC é feita através dos pinos “PCO"(PC OUT) 9 “PCI” (PC IN) onde PCO faz a comunicação do PC para o BASIC Stamp e PCI do BASIC Stamp para o PC. A conexão no PC é feita na porta paralela no DB25 mostrada na tabela 3. Então, quando pressionamos “Alt-R” na tela do editor do BASIC Stamp, ele irá transferir o programa para o BASIC Stamp através dessa comunicação serial. Os dados são enviados serialmente pelo PC e o PIC os grava na EEPROM.

Quando a instrução DEBUG, que é utilizada para depuração do programa e para mostrar variáveis internas na tela do PC. é executada. o BASIC Stamp se comunica através do pino PCI com o PC enviando variáveis internas e bytes de controle.

 

 

Otimizando o espaço na EEPROM

 

A EEPROM utilizada é de 256 bytes e o leitor deve estar pensando como armazenar programas de 80 a 100 linhas de programa BASIC nesta capacidade. A resposta é que o editor compila o programa em BASIC que escrevemos e gera um código compactado que será escrito na EEPROM, onde cada instrução equivale a 2 ou 3 bytes.

É esse código compactado que o interpretador BASIC irá analisar e após, executar as instruções desejadas.

Para exemplificar vamos considerar o programa:

 


 

 

 

Na tabela 4 são mostrados os dados que serão armazenados na EEPROM após o programa ser compilado. Notamos que o programa consome somente 9 bytes.

 


| Clique na imagem para ampliar |

 

 

 

Conclusão

 

Como podemos analisar, o BASIC Stamp possui um hardware bem compacto e simples. O grande diferencial está na programação que o torna um produto poderoso e sofisticado, seguindo a tendência mundial de miniaturização para redução de custos e o uso de dispositivos programáveis para flexibilização de desenvolvimento e produção.

O BASIC Stamp está sendo utilizado na indústria em automação de processos e em escolas como recurso de laboratório. Há um grande número de pessoas entusiasmadas com o poder de programação do BASIC Stamp que vem desenvolvendo excelentes trabalhos. Como exemplo citamos o leitor Márcio Soares que disponibilizou uma home page para assuntos relacionados à Eletrônica, onde o BASIC Stamp é um destaque. E a Escola Técnica Federal de Goiás, onde o BASIC Stamp foi introduzido no conteúdo programático como recurso didático para a inicialização no ensino de programação.

Vale a pena conferir http:/lwww.interclubnet.com.br/us/arne/index.htm e http:/lwwwetfgobr

 

 

BASIC Stamp

 

É um microcontrolador programável (veja anúncio na pg. 21 através da porta paralela de qualquer IBM PC compatível, utilizando a linguagem de programação PBASIC que é muito próxima ao BASIC tradicional e contém funções especiais tais como: comunicação serial, conversão analógico, digital (malha RC), conversão digital analógica (PWM), geração de som e medição de largura de pulso.

Possui 8 pinos de I/Os programáveis tanto para saída como para entrada que suportam correntes de 20 mA. De dimensões e consumo de energia extremamente reduzidos, e ideal para inúmeras aplicações educativas e industriais.

Para obter maiores informações consulte artigos do site sobre o Basic Stamp onde encontrados todo o sistema do BASIC Stamp.

 

 

NO YOUTUBE


NOSSO PODCAST