Ir ao conteúdo
  • Cadastre-se

192el

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

0
  1. Pessoal, Estou fazendo uma rotina que faça primeiramente a leitura de 3 botões, PR1,PR2 e PR3. Após um desses ser pressionado ele cai numa condição que deve ser pressionado um dos botões ch1,ch2,ch3,ch4,ch5. ele deve ficar nessa rotina até ser pressionado um desses 5 botões. Caso seja pressionado um desses ele volta para a rotina principal para fazer a leitura do PR1,PR2 e PR3 novamente. #define ch1 porta.f1 // chave 1 #define ch2 porta.f2 // chave 2 #define ch3 porta.f3 // chave 3 #define ch4 porta.f4 // chave 4 #define ch5 portd.f7 // chave 5 #define prof1 portd.f4 //professor 1 #define prof2 portd.f5 //professor 2 #define prof3 portd.f6 //professor 3 /***************************************************************************** MODULO DE CONEXÃO DO LCD *****************************************************************************/ sbit LCD_RS at RB4_bit; sbit LCD_EN at RB5_bit; sbit LCD_D4 at RB0_bit; sbit LCD_D5 at RB1_bit; sbit LCD_D6 at RB2_bit; sbit LCD_D7 at RB3_bit; sbit LCD_RS_Direction at TRISB4_bit; sbit LCD_EN_Direction at TRISB5_bit; sbit LCD_D4_Direction at TRISB0_bit; sbit LCD_D5_Direction at TRISB1_bit; sbit LCD_D6_Direction at TRISB2_bit; sbit LCD_D7_Direction at TRISB3_bit; /***************************************************************************** ROTINAS *****************************************************************************/ void professor(void); void limpalcd3(void); void limpalcd4(void); /***************************************************************************** Variaveis *****************************************************************************/ /***************************************************************************** Rotina Principal *****************************************************************************/ void main(void) { trisa = 0b11011111; //Configura PORTA trisc = 0b11011000; //Configura PORTC trisd = 0b11111111; cmcon = 0b00000111; adcon1 = 0b00001110; porta=0; portc=0; portd=0; trava_lig; lcd_init();// inicializa lcd lcd_cmd (_lcd_clear); // limpa lcd lcd_cmd (_lcd_cursor_off); // desliga cursor delay_ms(2000); lcd_out (1,5, "teste"); delay_ms(2000); lcd_out (2,6, "teste"); while(1) //Loop infinito { if (prof1 == 1){ lcd_out(3,1, "PROF: um"); trava_des; delay_ms(2000); lcd_out(4,1, "Escolha a chave"); delay_ms(5000); limpalcd3(); limpalcd4(); trava_lig; professor(); } if (prof2 == 1){ lcd_out(3,1, "PROF: dois"); trava_des; delay_ms(2000); lcd_out(4,1, "Escolha a chave"); delay_ms(5000); limpalcd3(); limpalcd4(); trava_lig; professor(); } if (prof3 == 1){ lcd_out(3,1, "PROF:tres"); trava_des; delay_ms(2000); lcd_out(4,1, "Escolha a chave"); delay_ms(5000); limpalcd3(); limpalcd4(); trava_lig; professor(); } } } void professor(void) { if (ch1 == 1){ lcd_out (4,1, "CHAVE LABORATORIO 1"); delay_ms(2000); limpalcd4(); lcd_out (4,1, "FECHE A PORTA"); delay_ms(2000); limpalcd4();} if (ch2 == 1){ lcd_out (4,1, "CHAVE LABORATORIO 2"); delay_ms(2000); limpalcd4(); lcd_out (4,1, "FECHE A PORTA"); delay_ms(2000); limpalcd4();} if (ch3 == 1){ lcd_out (4,1, "CHAVE LABORATORIO 3"); delay_ms(2000); limpalcd4(); lcd_out (4,1, "FECHE A PORTA"); delay_ms(2000); limpalcd4();} if (ch4 == 1){ lcd_out (4,1, "CHAVE LABORATORIO 4"); delay_ms(2000); limpalcd4(); lcd_out (4,1, "FECHE A PORTA"); delay_ms(2000); limpalcd4();} if (ch5 == 1){ lcd_out (4,1, "CHAVE LABORATORIO 5"); delay_ms(2000); limpalcd4(); lcd_out (4,1, "FECHE A PORTA"); delay_ms(2000); limpalcd4();} } void limpalcd3(void) { lcd_out(3,1, " ");} void limpalcd4(void) { lcd_out(4,1, " ");} /***************************************************************************** Fim do Programa *****************************************************************************/
  2. Olá pessoal, Estou tentando fazer uma comunicação entre um pic e um leitor de codigo de barras via PS2 da marca Minyscan. Tambem estou usando um placa da vw soluçoes o CLP PIC 40. abaixo segue a ligação no proteus, levando em conta que o conector PS2 no proteus não é simulado, apenas para simbolizar. Gostaria de receber os dados que serão lidos pelo leitor e mostrar-los no displays. Estou usando o MicroC.

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...