Elevador smp linguagem c
#include
#use delay (clock=4000000)
#define andar1 pin_b0
#define andar2 pin_b1
#define andar3 pin_b2
#define chama1 pin_b3
#define chama2 pin_b4
#define chama3 pin_b5
#define sensor1 pin_a0
#define sensor2 pin_a1
#define sensor3 pin_a2
#define para de emergencia pin_a3
#define motor pin_a5
#define manutencao pin_a3
void main()
{
while (true)
{
while(input(manutencao))
{
}
if((input(chama1)||input(andar1))&& (input(sensor2)||input(sensor3)))//botão chama
{
while(!input(sensor1)) { output_high(motor);//motor desce output_low(pin_e0);//motor desce lcd_init();//limpa lcd lcd_gotoxy(4,1);//digito e linha lcd_putc("descendo 1 andar");//escreve no lcd } output_low(motor);//motor desce lcd_init();//limpa lcd lcd_gotoxy(4,1);//digito e linha lcd_putc(" 1º andar");//escreve no lcd
}
//////////////////////////////////////////////////////////////////////////////// if((input(chama3)||input(andar3))&& (input(sensor1)||input(sensor2)))//botão chama
{
while(!input(sensor3)) { output_low(motor);//motor sobe output_high(pin_e0);//motor sobe lcd_init();//limpa lcd lcd_gotoxy(4,1);//digito e linha lcd_putc("sobe 3 andar");//escreve no lcd } output_low(pin_e0);//motor desce lcd_init();//limpa lcd lcd_gotoxy(4,1);//digito e linha lcd_putc(" 3º andar");//escreve no lcd
}
//////////////////////////////////////////////////////////////////////////////// if((input(chama2)||input(andar2))&&(input(sensor1))) { while(!input(sensor2)) { output_low(motor);//motor sobe output_high(pin_e0);//motor sobe