20 de jan. de 2012

Curso de Microcontroladores PIC em linguagem "C"


Lançamento!!!


Hoje venho apresentar a vocês o meu mais recente trabalho, uma idéia que se concretizou depois de muito tempo de dedicação e persistência.Trata se do curso de microcontroladores PIC em linguagem "C" baseado totalmente na placa PK2Lab e no compilador MikroC PRO!!!




A proposta inicial deste trabalho era criar um pequeno guia sobre a linguagem C para que as pessoas que adquiriram a placa PK2Lab pudessem rapidamente se familiarizar com os comandos da linguagem, porém, com o uso do compilador MikroC PRO, o resultado ficou melhor do que esperado, resultando em uma apostila muito completa que trata desde o princípio básico de programação incluíndo os laços de repetição e controle de fluxo até o uso de interrupções de Timers e comunicação serial entre microcontrolador e PC. 

São ao todo 13 exemplos de programas comentados linha a linha, o que torna o processo de aprendizagem simples e eficiente, muitos deles implementados em mais de uma maneira para que seja possível a observação das várias formas de escrever o mesmo código.

O conteúdo do curso foi exaustivamente estudado para proporcionar um aprendizado rápido de muitos dos periféricos da placa PK2Lab, incluindo muitas imagens e fórmulas para cálculo de registradores referentes aos Timers e modulo de PWM.

Todos os registradores relacionados as interrupções estão bit a bit comentados em português, facilitando ao máximo o entendimento e configuração deste processo.

Foi inserido um tópico relacionado a criação de novos projetos, sendo efetuado um passo a passo para esclarecer a principal dúvida dos que iniciam o uso do compilador MikroC PRO, que é a etapa de configuração dos Fuse Bits do dispositivo, neste processo é feita a configuração do microcontrolador PIC18F4550 para operar em modo PLL de 48MHz.

Bom pessoal, este curso acompanha a placa PK2Lab, portanto ao adquirir a placa automaticamente receberão uma cópia do mesmo sem custo adicional, aos que tenham interesse em adquirir apenas o curso, podem o fazer através do site www.esquemas.org

A placa PK2Lab a partir de agora será disponibilizada apenas em uma única versão completa com todos os periféricos prontos para uso, e pode ser obtida através do link abaixo.





Bom por hoje é isto, em breve mais novidades e postagems sempre com um conteúdo diferente envolvendo esta fantástica área da eletrônica chamada MICROCONTROLADORES.


16 de jan. de 2012

Caracteres especiais no LCD


Olá galera, ano novo, férias, nada melhor que começar 2012 com um post bacana para dar uma alegrada... E em breve novidades sobre o curso da PK2Lab em C... Aguardem!!!

Hoje vamos conhecer um pouco mais sobre os displays LCDs e aprender a criar nossos próprios caracteres customizados.

Bom, mais qual é a utilidade disto???

Imaginem o quão interessante seria mostrar o valor de uma grandeza, como o valor de tensão correspondente a um sensor, ou mesmo o tempo restante de um processo, em uma escala de barras customizada no display LCD. Para isto podemos utilizar vários caracteres disponíveis na tabela de caracteres do próprio controlador do LCD que contém muitos simbolos interessantes, porém, quando realmente a criatividade aflora, vimos que esta tabela não resolve muita coisa e ai é que entra a criação de caracteres na CGRAM do display.

O Controlador HD44780, possui internamente uma área destinada a criação de 8 caracteres especiais, estes caracteres situam se a partir do endereço 0 da CGRAM e são formados por um conjunto de 8 bytes cada, dispostos a formar a imagem apresentada no LCD.

O compilador MikroC PRO, possui uma ferramenta muito útil para a criação destes caracteres e está localizada na aba Tools -> Lcd Custon Caracter.


 



Vamos utilizar esta ferramenta para criar duas setas laterais que formarão o cursor de ajuste de um sistema de som em que as funções serão ajustadas pelo teclado e os valores poderão ser visualizados em uma barra no LCD.

Para começar a criar nosso caractere, basta clicar nos pontos em que desejamos que o display acenda, até formar a imagem pretendida, assim que terminar, devemos clicar em generate code para que o software gere a função que é responsável pela criação e envio dos dados para a CGRAM do controlador.

Esta ferramenta pode gerar códigos em C, Pascal e Basic, para tanto basta selecionar a linguagem antes de clicar em generate code.

Depois de gerado, o código deve ser inserido como uma função qualquer dentro do programa que ira utilizá-la. Normalmente neste ponto eu altero um pouco este procedimento para facilitar a escrita do código, porém, nada impede de utilizar a função criada pela ferramenta de forma direta.


//**********************************************************************************************************
// Rotinas Auxiliares

const char character1[] = {24,28,30,30,30,28,24,0};  // Seta Esquerda
const char character2[] = {3,7,15,15,15,7,3,0};         // Seta Dir eita

void Caracter_Especial()       // Função que cria os caracteres especiais na CGRAM.    
{
  char i;
    Lcd_Cmd(64);                  // Entra em modo de criação de caracter e...         
    for (i = 0; i<=7; i++) Lcd_Chr_CP(character1[i]);  // Envia os bytes que formam o...
    for (i = 0; i<=7; i++) Lcd_Chr_CP(character2[i]);  // caracter um a um sequencialmente.
}


Para apresentação dos caracteres apenas posicione o cursor do display onde o caracter deverá aparecer e use a função Lcd_Chr_CP(ENDEREÇO DA CGRAM).


Exemplo:

while(1)
{
 Caracter_Especial();         // Chama a função que cria os caracteres na CGRAM.
 Lcd_Out(2,1,"---");
 Lcd_Chr_CP(1);                // Insere seta para esquerda. (Endereço 0 da CGRAM)
 Lcd_Chr_CP(0);               
// Insere seta para direita.    (Endereço 1 da CGRAM)
 Lcd_Out(2,6,"-----------");
 ....

}//while(1)


Veja como fica o resultado:

 
Bom, esta é apenas uma das situações onde os caracteres especiais podem ser utilizados, com o tempo vocês verão como é importante este recurso.

Por falar nisto... alguém já viu um LCD que escreve palavras com acentuação como no bom e velho português??? fica a idéia !!!

Grande abraço a todos...

 EM BREVE...

Curso de microcontroladores PIC em linguagem C !!!