TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Quiz com Microcontrolador

Por:   •  23/2/2019  •  Trabalho acadêmico  •  849 Palavras (4 Páginas)  •  182 Visualizações

Página 1 de 4

Nome:

Atividades : Quiz e Motor de Passo.

  1. Quis:

Template Proteus:

[pic 1]

Código fonte:

/*

 * File:   QUIZ.c

 * Author: 104834

 *

 * Created on 30 de Outubro de 2017, 15:31

 */

#include

#include "delays.h"

#include "lcd.h"

#pragma config WDT=OFF

#pragma config FOSC=HS

#pragma config LVP=OFF

int x;

int y;

void main(void) {

TRISD=0x00;

TRISB=0x00;

TRISC=0x11;

while (x==0){

    boasvindas_();

    Delay10KTCYx(30);

    x=1;

    y=0;

}

while (x==1){

    pergunta1_();

    if (PORTCbits.RC1==1){

        respostacerta_();

        x=2;

    }

    if (PORTCbits.RC0==1){

      respostaerrada_();

    }

}

    while (x==2){

        pergunta2_();

        if(PORTCbits.RC0==1){

            respostacerta_();

            x=3;

        }

         if (PORTCbits.RC1==1){

       respostaerrada_();

    }

    }

while (x==3){

  pergunta3_();

  if(PORTCbits.RC0==1){

            respostacerta_();

            Delay10KTCYx(10);

            venceu_();

            Delay10KTCYx(20);

            x=0;

        }

         if (PORTCbits.RC1==1){

       respostaerrada_();

    }

}

}

 

int pergunta2_()

{

   lcd_inicializa(0x28,0x0F,0x03);

  lcd_limpa_tela();

  lcd_posicao(1,1);

  lcd_LD_cursor(0);

  lcd_posicao(1,16);

  imprime_string_lcd("O escorpiao e um ");

  lcd_posicao(2,18);

  imprime_string_lcd("artropode");

  while (y<40&&PORTCbits.RC1==0&&PORTCbits.RC0==0){

     

 lcd_desloca_mensagem(1);

 y=y+1;

 Delay10KTCYx(10);

 

  if (y>=40){

   y=0;

   

  }

  }

   

}

int pergunta3_()

{

   lcd_inicializa(0x28,0x0F,0x03);

  lcd_limpa_tela();

  lcd_posicao(1,1);

  lcd_LD_cursor(0);

  lcd_posicao(1,16);

  imprime_string_lcd("A paca e um ");

  lcd_posicao(2,18);

  imprime_string_lcd("roedor?");

  while (y<40&&PORTCbits.RC1==0&&PORTCbits.RC0==0){

     

 lcd_desloca_mensagem(1);

 y=y+1;

 Delay10KTCYx(10);

 

  if (y>=40){

   y=0;

   

  }

  }

   

}

int pergunta1_()

{        

  lcd_inicializa(0x28,0x0F,0x03);

  lcd_limpa_tela();

  lcd_posicao(1,1);

  lcd_LD_cursor(0);

  lcd_posicao(1,16);

  imprime_string_lcd("O ornitorrinco e um ");

  lcd_posicao(2,21);

  imprime_string_lcd("marsupial?");

  while (y<40&&PORTCbits.RC1==0&&PORTCbits.RC0==0){

     

 lcd_desloca_mensagem(1);

 y=y+1;

 Delay10KTCYx(10);

 

  if (y>=40){

   y=0;

   

  }

  }

}

int respostaerrada_()

{  

 

  lcd_inicializa(0x28,0x0F,0x03);

  lcd_limpa_tela();

  lcd_posicao(1,1);

  lcd_LD_cursor(0);

  lcd_posicao(1,2);

  imprime_string_lcd("tente de novo");

  lcd_posicao(2,1);

  imprime_string_lcd("resposta errada");

  Delay10KTCYx(50);

  PORTBbits.RB5=1;

  PORTBbits.RB6=1;

  PORTBbits.RB7=1;

  Delay10KTCYx(30);

  PORTBbits.RB5=0;

  PORTBbits.RB6=0;

  PORTBbits.RB7=0;

  Delay10KTCYx(30);

  PORTBbits.RB5=1;

  PORTBbits.RB6=1;

  PORTBbits.RB7=1;

  Delay10KTCYx(30);

  PORTBbits.RB5=0;

  PORTBbits.RB6=0;

  PORTBbits.RB7=0;

  Delay10KTCYx(30);

}

int boasvindas_()

{        

  lcd_inicializa(0x28,0x0F,0x03);

  lcd_limpa_tela();

  lcd_posicao(1,1);

  lcd_LD_cursor(0);

  lcd_posicao(1,16);

  imprime_string_lcd("QUIZ");

  lcd_posicao(2,16);

  imprime_string_lcd("UNIP");

   while (y<8){

 lcd_desloca_mensagem(1);

 y=y+1;

 Delay10KTCYx(50);

   }

 

}

int venceu_()

{        

  lcd_inicializa(0x28,0x0F,0x03);

  lcd_limpa_tela();

  lcd_posicao(1,1);

...

Baixar como (para membros premium)  txt (5 Kb)   pdf (500.4 Kb)   docx (97.8 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com