Ir ao conteúdo
  • Cadastre-se

Smith Smith

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

Tudo que Smith Smith postou

  1. Obrigado pela dica Isadora, mas meu professor não aceita só a resposta. faço faculdade a distância estou com dificuldade nesse exercício. você pode me ajudar me mostrando alguma formula sei la. Valeu pela ajudamas meu professor não aceita só a resposta. Se puder me ajudar um pouco mais me passando as formulas e mostrando o passo a passo eu agradeço
  2. Analise o programa e a figura com o diagrama esquemático abaixo. O programa é basicamente um pisca-pisca, acionado por botões (B1 a B4). Cada saída (P1 a P4) tem uma frequência quando o botão correspondente é acionado. O outro conjunto de saídas (L1 a L8) é acionada pelo potenciômetro, que está conectado na entrada analógica AN0. Arquivo: Questao.h ============================================================================ #include #device ADC=8 #use delay(crystal=4MHz) #use FIXED_IO( B_outputs=PIN_B7,PIN_B6,PIN_B5,PIN_B4 ) #use FIXED_IO( C_outputs=PIN_C7,PIN_C6,PIN_C5,PIN_C4,PIN_C3,PIN_C2,PIN_C1,PIN_C0 ) #define EA1 PIN_A0 #define B1 PIN_B0 #define B2 PIN_B1 #define B3 PIN_B2 #define B4 PIN_B3 #define P1 PIN_B4 #define P2 PIN_B5 #define P3 PIN_B6 #define P4 PIN_B7 #define L1 PIN_C0 #define L2 PIN_C1 #define L3 PIN_C2 #define L4 PIN_C3 #define L5 PIN_C4 #define L6 PIN_C5 #define L7 PIN_C6 #define L8 PIN_C7 ============================================================================ Arquivo: Questao.c ============================================================================ #include short pisca_1, pisca_2, pisca_3, pisca_4; int ciclo_1, ciclo_2, ciclo_3, ciclo_4; short le_adc; long aux_valor, valor_adc, saida; #define valor_1 25 #define valor_2 75 #define valor_3 125 #define valor_4 225 #define ajuste 131 #INT_RTCC void RTCC_isr(void) { set_timer0(get_timer0() + ajuste); if (pisca_1) { ciclo_1--; if (ciclo_1 == 0) { output_toggle(P1); ciclo_1 = valor_1; } } if (pisca_2) { ciclo_2--; if (ciclo_2 == 0) { output_toggle(P2); ciclo_2 = valor_2; } } if (pisca_3) { ciclo_3--; if (ciclo_3 == 0) { output_toggle(P3); ciclo_3 = valor_3; } } if (pisca_4) { ciclo_4--; if (ciclo_4 == 0) { output_toggle(P4); ciclo_4 = valor_4; } } le_adc = 1; } void main() { port_B_pullups(0xFF); setup_adc_ports(AN0); setup_adc(ADC_CLOCK_INTERNAL); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_8|RTCC_8_bit); output_low(P1); output_low(P2); output_low(P3); output_low(P4); output_c(0); ciclo_1 = valor_1; ciclo_2 = valor_2; ciclo_3 = valor_3; ciclo_4 = valor_4; enable_interrupts(INT_RTCC); enable_interrupts(GLOBAL); while(TRUE) { if (input(B1) == 0) { pisca_1 = 1; } else { pisca_1 = 0; } if (input(B2) == 0) { pisca_2 = 1; } else { pisca_2 = 0; } if (input(B3) == 0) { pisca_3 = 1; } else { pisca_3 = 0; } if (input(B4) == 0) { pisca_4 = 1; } else { pisca_4 = 0; } if (le_adc) { le_adc = 0; valor_adc = read_adc() / 29; aux_valor = valor_adc; saida = 1; while (aux_valor > 0) { saida = saida * 2; aux_valor--; } if (valor_adc > 0) { saida = saida - 1; } else { saida = 0; } output_c(saida); } } } ============================================================================ Pede-se: a) A frequência de acionamento dos LED P1 e P2. O intervalo de interrupção do TIMER0. c) Indicar os LEDS que estarão acesos se o potenciômetro estiver fornecendo 3,5 V na entrada analógica, cuja faixa vai de 0 a 5 V. d) O menor degrau de tensão detectado pelo conversor analógico do PIC.
  3. questão.docx AJUDA Analise o programa e a figura com o diagrama esquemático abaixo. O programa é basicamente um pisca-pisca, acionado por botões (B1 a B4). Cada saída (P1 a P4) tem uma frequência quando o botão correspondente é acionado. O outro conjunto de saídas (L1 a L8) é acionada pelo potenciômetro, que está conectado na entrada analógica AN0. Arquivo: Questao.h ============================================================================ #include #device ADC=8 #use delay(crystal=4MHz) #use FIXED_IO( B_outputs=PIN_B7,PIN_B6,PIN_B5,PIN_B4 ) #use FIXED_IO( C_outputs=PIN_C7,PIN_C6,PIN_C5,PIN_C4,PIN_C3,PIN_C2,PIN_C1,PIN_C0 ) #define EA1 PIN_A0 #define B1 PIN_B0 #define B2 PIN_B1 #define B3 PIN_B2 #define B4 PIN_B3 #define P1 PIN_B4 #define P2 PIN_B5 #define P3 PIN_B6 #define P4 PIN_B7 #define L1 PIN_C0 #define L2 PIN_C1 #define L3 PIN_C2 #define L4 PIN_C3 #define L5 PIN_C4 #define L6 PIN_C5 #define L7 PIN_C6 #define L8 PIN_C7 ============================================================================ Arquivo: Questao.c ============================================================================ #include short pisca_1, pisca_2, pisca_3, pisca_4; int ciclo_1, ciclo_2, ciclo_3, ciclo_4; short le_adc; long aux_valor, valor_adc, saida; #define valor_1 25 #define valor_2 75 #define valor_3 125 #define valor_4 225 #define ajuste 131 #INT_RTCC void RTCC_isr(void) { set_timer0(get_timer0() + ajuste); if (pisca_1) { ciclo_1--; if (ciclo_1 == 0) { output_toggle(P1); ciclo_1 = valor_1; } } if (pisca_2) { ciclo_2--; if (ciclo_2 == 0) { output_toggle(P2); ciclo_2 = valor_2; } } if (pisca_3) { ciclo_3--; if (ciclo_3 == 0) { output_toggle(P3); ciclo_3 = valor_3; } } if (pisca_4) { ciclo_4--; if (ciclo_4 == 0) { output_toggle(P4); ciclo_4 = valor_4; } } le_adc = 1; } void main() { port_B_pullups(0xFF); setup_adc_ports(AN0); setup_adc(ADC_CLOCK_INTERNAL); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_8|RTCC_8_bit); output_low(P1); output_low(P2); output_low(P3); output_low(P4); output_c(0); ciclo_1 = valor_1; ciclo_2 = valor_2; ciclo_3 = valor_3; ciclo_4 = valor_4; enable_interrupts(INT_RTCC); enable_interrupts(GLOBAL); while(TRUE) { if (input(B1) == 0) { pisca_1 = 1; } else { pisca_1 = 0; } if (input(B2) == 0) { pisca_2 = 1; } else { pisca_2 = 0; } if (input(B3) == 0) { pisca_3 = 1; } else { pisca_3 = 0; } if (input(B4) == 0) { pisca_4 = 1; } else { pisca_4 = 0; } if (le_adc) { le_adc = 0; valor_adc = read_adc() / 29; aux_valor = valor_adc; saida = 1; while (aux_valor > 0) { saida = saida * 2; aux_valor--; } if (valor_adc > 0) { saida = saida - 1; } else { saida = 0; } output_c(saida); } } } ============================================================================ Pede-se: a) A frequência de acionamento dos LED P1 e P2. O intervalo de interrupção do TIMER0. c) Indicar os LEDS que estarão acesos se o potenciômetro estiver fornecendo 3,5 V na entrada analógica, cuja faixa vai de 0 a 5 V. d) O menor degrau de tensão detectado pelo conversor analógico do PIC.

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!