Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
void main() { int i,x; const char BCD_7SEG[10] = { 0x3f, //0 0x06, //1 0x5b, //2 0x4f, //3 0x66, //4 0x6d, //5 0x7d, //6 0x07, //7 0x7f, //8 0x6f, //9 }; adcon1 = 0xff; //Config do ADC trisa = 0x00; //Define o portal A como saída trisc = 0x00; //Define o portal C como saída trisb = 0b00001111; //Define o portal B como entrada trisd = 0x00; //Define o portal D como saída i = 2; x = 0; // Sistema inicia com 4 pessoas dentro portd = 0x00; // Mostra o correspondente do display nos lads. portb = 0x00; // Vai ser usado para os alertas - Inicia desligado portc.RC1 = 1; //Config Buzzer while(1) { if(x==0) { if( portb.RB1 == 0) { i++; delay_ms(200); //Atraso para contagem } if( portb.RB2 == 0) { i--; delay_ms(200); //Atraso para contagem } PORTA.F5 = 1; PORTA.F4 = 0; portd = BCD_7SEG[i]; //Mostra i no DIS1 if(i == 3) portb = 0b00010000; //Quando o numero de pessoas na sala foi de 3 acender um lad de alerta. // 5º Lad do portal B; if(i != 3) portb = 0b00000000; if(i<4) portc.RB1 = 1; if (i>4) portc.RB1 = 0; if(i == 8) portb = 0b00100000; //Quando o numero de pessoas na sala foi de 8 acender um lad de alerta. // 6º Lad do portal B; if(i != 8) portb = 0b00000000; if(i > 3) portc.RB2 = 1; if (i < 4) portc.RB2 = 0; if (i < 2 || i > 9){ portc.RC1 = 0; //Liga Buz delay_ms(1000); //Início e fim da contagem portc.RC1 = 1; // Desliga Buz x = 1; // Manda i = 1 de maneira que a buz vai ficar ativo ate que o numero de pessoas // suba para mais de 2; } if(x == 1) { PORTA.F5 = 0; PORTA.F4 = 0; PORTA.F3 = 0; PORTA.F2 = 0; } } } }
Compartilhar