No desafio dois, teremos que projetar uma Máquina de Lavar Roupa. Com base nas diretrizes montei este programa:
#include <lpc213x.h>
#include "C:/keil/lcd.h"//lê o arquivo lcd.h
#define valvula_admissao (1<<16)//define os pinos
#define bomba_expurgo (1<<17)
#define sensor_nivel (1<<20)
#define sensor_porta (1<<16)
#define motor_1 (1<<18)
#define motor_2 (1<<19)//define os pinos
int tempo (void)//função tempo
{
int d;
for(d=0;d<100000;d++);
}
int main (void)
{
IODIR0 = 0XFFFEFFFF;
IODIR1 = 0XFFEFFFFF;
init_lcd();
if(IOPIN0&(sensor_porta))
{
IOCLR1 = valvula_admissao;
lcd_clr();
lcd_puts("Porta Aberta");
while(1);
}
if(IOPIN1&(sensor_nivel))
{
lcd_clr();
lcd_puts("Agua Disponivel");
}
else
{
IOCLR1 = valvula_admissao;
lcd_clr();
lcd_puts("Sem Agua");
while(1);
}
if(!(IOPIN0&(sensor_porta)))
{
IOSET1 = valvula_admissao;
lcd_clr();
lcd_puts("Admitindo Agua");
IOCLR1 = valvula_admissao;
IOSET1 = motor_1;
lcd_clr();
lcd_puts("Lavando Direita");
tempo();
IOCLR1 = motor_1;
IOSET1 = motor_2;
lcd_clr();
lcd_puts("Lavando Esquerda");
tempo();
IOCLR1 = motor_2;
IOSET1 = motor_1;
lcd_clr();
lcd_puts("Lavando Direita");
tempo();
IOCLR1 = motor_1;
IOSET1 = motor_2;
lcd_clr();
lcd_puts("Lavando Esquerda");
tempo();
IOCLR1 = motor_2;
IOSET1 = motor_1;
lcd_clr();
lcd_puts("Lavando Direita");
tempo();
IOCLR1 = motor_1;
IOSET1 = motor_2;
lcd_clr();
lcd_puts("Lavando Esquerda");
tempo();
IOCLR1 = motor_2;
IOSET1 = motor_1;
lcd_clr();
lcd_puts("Lavando Direita");
tempo();
IOCLR1 = motor_1;
IOSET1 = motor_2;
lcd_clr();
lcd_puts("Lavando Esquerda");
tempo();
IOCLR1 = motor_2;
IOSET1 = bomba_expurgo;
lcd_clr();
lcd_puts("Enxaguando");
IOCLR1 = bomba_expurgo;
IOSET1 = valvula_admissao;
lcd_clr();
lcd_puts("Agua Novamente");
IOCLR1 = valvula_admissao;
IOSET1 = bomba_expurgo;
lcd_clr();
lcd_puts("Tirando Agua");
tempo();
IOCLR1 = bomba_expurgo;
IOSET1 = motor_1;
IOSET1 = motor_2;
lcd_clr();
lcd_puts("Centrifugando");
tempo();
IOCLR1 = motor_1;
IOCLR1 = motor_2;
lcd_clr();
lcd_puts("Roupa Limpa");
while (1);
}
}
O circuito no Proteus ficará assim:
Quando o circuito e o programa ja estiverem prontos, basta colocar o programa no LPC e ver o funcionamento do programa.

Nenhum comentário:
Postar um comentário