segunda-feira, 24 de setembro de 2012

Criar um arquivo .hex

O Arquivo .hex é usado para passar o programa criado no Keil para o Proteus.

Depois de criado todo o programa como fizemos no primeiro post. Vamos criar o arquivo .hex
Pressione as teclas Alt + F7, vai abrir o menu Options for Target lá vc encontra aba output clique nela e selecione a opção creat HEX file. Após feito isso clique em rebuild para gerar o arquivo e pronto.

domingo, 16 de setembro de 2012

Desafio 1.1

Desafio 1.1 é uma melhoria do 1.0.
Colocamos um sensor antes da bomba que enche a caixa de água, assim quando falta água a bomba é desligada.

Link do desafio 1.1
http://www.4shared.com/office/kzMn6I-t/desafio_11.html?



#include <lpc213x.h>
#define maximo (1<<2)
#define minimo (1<<3)
#define bomba (1<<7)
#define dmae (1<<14)
int main (void)
{
IODIR0 = 0XFFFFBFF3;
if (!(IOPIN0&(dmae)))
{
IOCLR0 = bomba;
}
else
{
if (IOPIN0&(maximo))
{
IOCLR0 = bomba;
}
else
if(!(IOPIN0&(minimo)))
{
IOSET0 = bomba;
}
}
}

Identificamos aqui que se o P0.14 estiver ligado quando o nível da caixa estiver baixo a bomba ligará automaticamente, porém se eu desligar o P0.14 e o nível da caixa estiver baixo, ele não ligará a bomba para evitar a queima.

Desafio 1.0

Conforme desafio 1.0 iremos colocar um controlador de nível em uma caixa de água, quando o nível esta baixo o microcontrolador ligará a bomba até encher.

Link do Desafio para quem tiver a curiosidade e vontade de fazer.
http://www.4shared.com/office/neEOuc_k/desafio_10_2.html?



  • Como já vimos anteriormente iremos abrir um novo projeto.
  • Após aberto escrever os seguintes comandos.
#include <lpc213x.h>
#define maximo (1<<2)
#define minimo (1<<3)
#define bomba (1<<7)

int main (void)
{
IODIR0 = 0XFFFFFFF3;
if (IOPIN0&(maximo))
{
IOCLR0 = bomba;
}
else
{
if(!(IOPIN0&(minimo)))
{
IOSET0 = bomba;
}
}
}

Após digitar, abra o simulador e teste o funcionamento.
Será visto que o P0.2 será o sensor máximo da caixa, se ele estiver desligado a caixa está esvaziando, quando  o P0.3 desligar também o P0.7 liga a bomba de água enchendo a caixa novamente. Quando o nível de água atingir o sensor máximo o P0.2 vai ligar novamente e o P0.7 desligará.