Muito bem-vindo prezado leitor e leitora a mais um artigo sobre microcontroladores. Hoje vamos dar início aos nossos primeiros estudos sobre o MSP430, um microcontrolador de propriedade da Texas Instruments.

Para isso nós iremos utilizar uma plataforma de desenvolvimento, também conhecida como MSP430 LaunchPad. Considerado um kit de baixo custo, vendido por cerca de dez dólares, essa plaquinha pode ser conectada ao seu computador através da porta USB, sendo que possui os circuitos necessários para a gravação e o debug na plataforma.

Observe na figura abaixo uma foto da placa:

Na plataforma você pode utilizar diferentes tipos de microcontroladores referente a família. No meu caso estarei utilizando o MSP430G2553. Confira algumas das características do mesmo:

 

Características:

Arquitetura Von Neumann, RISC

16 KB de memória Flash

512 Bytes de memória RAM

24 GPIOs

2 Timers de 16 bits

Módulos ADC e comparadores

UART, SPI, I2C

 

Você poderá encontrar maiores detalhes no datasheet do componente, que pode ser baixado no site da Texas.

 

Ambiente de desenvolvimento

 

Obviamente, para desenvolvermos na plataforma, necessitamos de um ambiente compatível. Existem algumas plataformas de desenvolvimento que podemos utilizar na programação do MSP430, como o IAR, CCS ou ENERGIA por exemplo. Este último é baseado na mesma em que foi desenvolvido a IDE do Arduino por exemplo.

Para os nossos estudos, estaremos utilizando o CCS, ou Code Composer Studio, que é uma plataforma desenvolvida e mantida pela própria Texas Instruments.

Então o primeiro passo é efetuar o download do programa. Ele pode ser baixado neste link. Caso não tenha um usuário, terá que fazer um pequeno cadastro.

Na instalação entre outras informações típicas, será solicitado quais os componentes referentes aos produtos que você deseja instalar. Selecione como você acha melhor, sabendo apenas que estamos trabalhando com o MSP430. No meu caso deixei assinalado as seguintes opções:

 

Criando um novo projeto

Após instalar o programa, logo ao inicia-lo, será solicitado o local para salvar o Workspace ou área de trabalho. É o local onde ficará os arquivos dos seus projetos.

 

Em seguida, vamos iniciar um novo projeto.

File >> New >> CCS Project

Na próxima tela você deve configurar para qual microcontrolador você estará programando. No meu caso estou utilizando o MSP430G2553, portanto ficará desta forma:

 

 

Primeiro exemplo – Saídas digitais

Agora que iniciamos um novo projeto, vamos fazer nosso primeiro exemplo. E Claro, será o nosso clássico pisca led. Antes de ir diretamente para o código, vamos entender os registradores que vamos utilizar. Acompanhe:

 

PxDIR = Através deste registrador, estaremos configurando determinado bit da porta como entrada ou saída. O “x” diz respeito ao número do PORT. No caso do MSP430 temos o PORT1 e o PORT2.

Se desejarmos que o pino atue como entrada, atribuímos o valor de 0 ao registrador.

Caso contrário, se desejamos que o pino atua como saída, atribuímos o valor de 1 ao registrador.

PxOUT = Aqui usaremos este registrador para escrever o valor que queremos na saída. Assim se atribuirmos 1 a ele, teremos nível lógico alto, e 0 teremos nível lógico baixo.

 

Código

Agora, vamos ao código para o nosso primeiro exemplo.

 

 

Ao compilar e gravar o código, um pequeno led deverá estar piscando na sua launchpad com intervalo de aproximadamente 1 segundo.

Ao escrever valores nos registradores, você pode fazê-lo de formas diferentes. No código acima utilizei valores em hexadecimais. Porém você pode utilizar em outras notações, como binário por exemplo. Basta apenas fazer a conversão. Para compreender o porquê de escrevermos o valor de 0x40, continue acompanhando abaixo.

 

Antes disso, é interessante mencionar outra forma que você pode fazer essa atribuição de valores, que é utilizando a comando BIT. Observe abaixo como ficaria esse código com esta forma.

 

 

Porque BIT6 ?

 

Se observar no manual da sua placa de desenvolvimento, ou mesmo na própria placa, você verá que temos um led conectado em P1.0 e outro led conectado em P1.6. No exemplo acima estou utilizando o que está ligado ao P1.6. Se eu quisesse utilizar o outro led que no meu caso é o vermelho, simplesmente poderia escrever BIT0 ao invés de BIT6.

Agora você entendeu porque utilizamos 0x40 em P1OUT. Se você efetuar a conversão deste valor em hexadecimal para a notação binária por exemplo, encontrará o valor de 0b01000000. Ou seja, estamos atribuindo o valor de 1 para o bit6, o que por consequência acenderá o nosso led o qual está conectado no PORT1.

A mesma coisa efetuamos no comando anterior no registrador P1DIR, dizendo ao mesmo que só queremos que o bit6 do PORT1 seja configurado como saída.

 

Esse primeiro artigo fica apor aqui. Acompanhe o vídeo abaixo onde efetuamos essa programação e testamos na prática. Abraço e até a próxima!