Primeiramente gostaria de agradecer ao meu colega Anderson Castanho, pois sem ele não conseguiria realizar este desafio... Valeu Anderson.
Este desafio tinha como proposta desenvolver uma maquina panificadora, que iria fazer 3 tipos de pães diferentes.
Programa:
#include <lpc213x.h>
#include "C:\Keil\ARM\lcd.h"
#define liga (1<<17)
#define sensor (1<<16)
#define tipo1 (1<<20)
#define tipo2 (1<<21)
#define tipo3 (1<<22)
#define misturar (1<<16)
#define forno (1<<17)
int tempo (int limite)
{
int t;0;
for (t=0;t<limite;t++);
}
int main (void)
{
IODIR0 = 0xFFFCFFFF;
IODIR1 = 0xFF8FFFFF;
init_lcd ();
if (!(IOPIN0 & (liga)))
{
lcd_clr();
lcd_puts("OFF");
}
while (IOPIN0 & (liga))
{
if (IOPIN0 & (sensor))
{
lcd_clr();
lcd_puts("ESCOLHA");
}
if (!(IOPIN0 & (sensor)))
{
lcd_clr();
lcd_puts("TAMPA ABERTA");
IOCLR1 = (misturar);
IOCLR1 = (forno);
}
while (IOPIN1 & (tipo1))
{
lcd_clr();
lcd_puts("TIPO1");
IOSET1 = (misturar);
tempo(300000);
IOCLR1 = (misturar);
lcd_clr();
lcd_puts("PAUSA");
tempo(3000000);
IOSET1 = (forno);
lcd_clr();
lcd_puts("ASSANDO");
tempo(3000000);
IOCLR1 = (forno);
while(IOPIN1 & (tipo1))
{
lcd_clr();
lcd_puts("PAO PRONTO");
}
}
}
}
while(IOPIN1&(tipo2))
{
lcd_clr();
lcd_puts("TIPO2");
IOSET1 = (misturar);
tempo(6000000);
IOCLR1 = (misturar);
lcd_clr();
lcd_puts("PAUSA");
tempo(6000000);
IOSET1 = (forno);
lcd_clr();
lcd_puts("ASSANDO");
tempo(6000000);
IOCLR1 = (forno);
}
while (IOPIN1 & (tipo2))
{
lcd_clr();
lcd_puts("PAO PRONTO");
}
while (IOPIN1 & (tipo3))
{
lcd_clr();
lcd_puts("TIPO3");
IOSET1 = (misturar);
tempo(9000000);
IOCLR1 = (misturar);
lcd_clr();
lcd_puts("PAUSA");
tempo(9000000);
IOSET1 = (forno);
lcd_clr();
lcd_puts("ASSANDO");
tempo(9000000);
IOCLR1 = (forno);
while (IOPIN1 & (tipo3))
{
lcd_clr();
lcd_puts("PAO PRONTO");
}
}









