Ir ao conteúdo
  • Cadastre-se

Vinicius Picciani

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. boa tarde seus *****, estou fazendo uma programação do meu tcc, e não está dando certo, já deu certo na primeira vez, mas depois que remontei o circuito, o pic não executa mais a programação, procurei algumas soluções, e testei eu dois pics, um deles tinha acabado de comprar pela net. pelo q eu vi aqui no site pode ser a programação, eu mudei ela um pouco, depois de testar a primeira vez, vou mandá-la aqui, se alguém puder ajudar eu agradeço. // lcd configuração dos pinos sbit lcd_rs at rc2_bit; sbit lcd_en at rc3_bit; sbit lcd_d4 at rc4_bit; sbit lcd_d5 at rc5_bit; sbit lcd_d6 at rc6_bit; sbit lcd_d7 at rc7_bit; // pin direction definindo os pinos sbit lcd_rs_direction at trisc2_bit; sbit lcd_en_direction at trisc3_bit; sbit lcd_d4_direction at trisc4_bit; sbit lcd_d5_direction at trisc5_bit; sbit lcd_d6_direction at trisc6_bit; sbit lcd_d7_direction at trisc7_bit; //variáveis int stop = 0; int conta = 0; //botão int conta2 = 0; //tezoura int conta3 = 0; //pinça int conta4 = 0; //afastador void main() { cmcon =0x07;// desabilita os coparadores do pic (recomendado quando não utilizar os comparadores) lcd_init(); //inicia o display lcd_cmd(_lcd_clear);// limpa o display lcd_cmd(_lcd_cursor_off);// desliga o cursor do display lcd_out(1,5,"semic" ); delay_ms(1000); lcd_cmd(_lcd_clear);// limpa o display //saídas //bisturi //led verde sensor 1 portb.b0 = 0; trisb.b0 = 0; //led amarelo sensor 1 portb.b1 = 0; trisb.b1 = 0; //led vermelho sensor 1 portb.b2 = 0; trisb.b2 = 0; //pinça //led verde sensor 2 portb.b3 = 0; trisb.b3 = 0; //led amarelo sensor 2 portb.b4 = 0; trisb.b4 = 0; //led vermelho sensor 2 portb.b5 = 0; trisb.b5 = 0; //afastador //led verde sensor 3 portb.b6 = 0; trisb.b6 = 0; //led amarelo sensor 3 portb.b7 = 0; trisb.b7 = 0; //led vermelho sensor 3 portd.b0 = 0; trisd.b0 = 0; //entradas //botão inicia/para cirurgia trisd.b4 = 1; //sensor1 trisd.b7 = 1; //sensor2 trisd.b6 = 1; //sensor3 trisd.b5 = 1; while(1){ ///bisturi: antes de começar a cirurgia if ( stop == 0 && conta2 == 0 && portd.b7 == 1 ) { portb.b0 = 1; portb.b1 = 0; portb.b2 = 0; } if ( conta == 0 && conta2 == 0 && portd.b7 == 0 ) { portb.b0 = 0; portb.b1 = 0; portb.b2 = 1; lcd_out(1,3,"bisturi" ); lcd_out(2,3, "em falta"); delay_ms(1000); lcd_cmd(_lcd_clear); } //pinça: antes de começar a cirurgia if ( stop == 0 && conta2 == 0 && portd.b6 == 1 ) { portb.b3 = 1; portb.b4 = 0; portb.b5 = 0; } if ( conta == 0 && conta2 == 0 && portd.b6 == 0 ) { portb.b3 = 0; portb.b4 = 0; portb.b5 = 1; lcd_out(1,3,"pinça" ); lcd_out(2,3, "em falta"); delay_ms(1000); lcd_cmd(_lcd_clear); } //alaragador: antes de começar a cirurgia if ( stop == 0 && conta2 == 0 && portd.b5 == 1 ) { portb.b6 = 1; portb.b7 = 0; portd.b0 = 0; } if ( conta == 0 && conta2 == 0 && portd.b5 == 0 ) { portb.b6 = 0; portb.b7 = 0; portd.b0 = 1; lcd_out(1,3,"afastador" ); lcd_out(2,3, "em falta"); delay_ms(1000); lcd_cmd(_lcd_clear);// limpa o display } //botão liga/desliga if (portd.b4 == 1 && stop == 0 ){ stop = 1; } if (portd.b4 == 0 && stop == 1 ){ conta++; stop = 0; } if (conta == 1 && portd.b7 == 0 || portd.b6 == 0 || portd.b5 == 0){ conta = 0; } //display liga/desliga if( conta == 1 && conta2 == 0 ){ lcd_out(1,3,"cirurgia" ); lcd_out(2,3, "iniciada"); delay_ms(1000); lcd_cmd(_lcd_clear); conta2 = 1; } //bisturi if (conta2 == 1 && portd.b7 == 1 ) { portb.b0 = 1; portb.b2 = 0; portb.b1 = 0; } if( conta2 == 1 && portd.b7 == 0 ){ portb.b0 = 0; portb.b1 = 1; lcd_out(1,3,"tezoura" ); lcd_out(2,3,"em uso"); delay_ms(1000); lcd_cmd(_lcd_clear); } //pinça if (conta2 == 1 && portd.b6 == 1 ) { portb.b3 = 1; portb.b4 = 0; portb.b4 = 0; } if( conta2 == 1 && portd.b6 == 0 ){ portb.b3 = 0; portb.b4 = 1; lcd_out(1,3,"pinca" ); lcd_out(2,3,"em uso"); delay_ms(1000); lcd_cmd(_lcd_clear); } //afastador if (conta2 == 1 && portd.b5 == 1 ){ portb.b6 = 1; portb.b7 = 0; portb.b7 = 0; } if (conta2 == 1 && portd.b5 == 0 ){ portb.b6 = 0; portb.b7 = 1; lcd_out(1,3,"afastador"); lcd_out(2,3,"em uso"); delay_ms(1000); lcd_cmd(_lcd_clear); } //fim da cirurgia if( conta == 2 ) { lcd_out(1,3,"cirurgia" ); lcd_out(2,3,"finalizada"); delay_ms(1000); lcd_cmd(_lcd_clear); conta = 0; conta2 = 0; } } }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!