...
...
Meu programa ficou o seguinte:
#include <lpc213x.h>
#include "C:\Keil\ARM\lcd.h" // Ajuda para escrever no display//
#define valvulaadmissao (1<<16)
#define bombaexpurgo (1<<17)
#define sensornivel (1<<20)
#define sensorporta (1<<16)
#define motor_direita (1<<18)
#define motor_esquerda (1<<19)
// aqui é a rotina de tempo//
int tempo (void)
{
int d;
for(d=0;d<1000;d++);
}
//inicio da função main//
int main (void)
{
IODIR0 = 0XFFFEFFFF;
IODIR1 = 0XFFEFFFFF;
init_lcd();
if(IOPIN0&(sensorporta))
{
IOCLR1 = valvulaadmissao;
lcd_clr(); // esse comando zera o display//
lcd_puts("Porta Aberta"); //essa função serva para escrever no display//
while(1);
}
if(IOPIN1&(sensornivel))
{
lcd_clr();
lcd_puts("Iniciando");
}
else
{
IOCLR1 = valvulaadmissao;
lcd_clr();
lcd_puts("Falta Agua");
while(1);
}
if(!(IOPIN0&(sensorporta)))
{
IOSET1 = valvulaadmissao;
lcd_clr();
lcd_puts("Admitindo Agua");
IOCLR1 = valvulaadmissao;
IOSET1 = motor_direita;
lcd_clr();
lcd_puts("Lavando");
tempo();
IOCLR1 = motor_direita;
IOSET1 = motor_esquerda;
lcd_clr();
lcd_puts("Lavando");
tempo();
IOCLR1 = motor_esquerda;
IOSET1 = motor_direita;
lcd_clr();
lcd_puts("Lavando");
tempo();
IOCLR1 = motor_direita;
IOSET1 = motor_esquerda;
lcd_clr();
lcd_puts("Lavando");
tempo();
IOCLR1 = motor_esquerda;
IOSET1 = motor_direita;
lcd_clr();
lcd_puts("Lavando");
tempo();
IOCLR1 = motor_direita;
IOSET1 = motor_esquerda;
lcd_clr();
lcd_puts("Lavando");
tempo();
IOCLR1 = motor_esquerda;
IOSET1 = motor_direita;
lcd_clr();
lcd_puts("Lavando");
tempo();
IOCLR1 = motor_direita;
IOSET1 = motor_esquerda;
lcd_clr();
lcd_puts("Lavando");
tempo();
IOCLR1 = motor_esquerda;
IOSET1 = bombaexpurgo;
lcd_clr();
lcd_puts("Enxaguando");
IOCLR1 = bombaexpurgo;
IOSET1 = valvulaadmissao;
lcd_clr();
lcd_puts("Admitindo agua");
IOCLR1 = valvulaadmissao;
IOSET1 = bombaexpurgo;
lcd_clr();
lcd_puts("Evacuando agua");
tempo();
IOCLR1 = bombaexpurgo;
IOSET1 = motor_direita;
IOSET1 = motor_esquerda;
lcd_clr();
lcd_puts("Centrifugando");
tempo();
IOCLR1 = motor_direita;
IOCLR1 = motor_esquerda;
lcd_clr();
lcd_puts("Roupa Limpa");
while (1);
}
}
Demonstração no Proteus:



Nenhum comentário:
Postar um comentário