Ir ao conteúdo

Posts recomendados

Postado

Como que eu faço para acionar 3 display com frequência 90Hz, 70Hz e 150Hz usando interrupção no PIC 16F877A ? 

Alguém poderia ajudar e postar seu código aqui !

 

<Como que eu faço para acionar 3 display com frequência 90Hz, 70Hz e 150Hz usando interrupção no PIC 16F877AAlguém poderia ajudar e postar seu código aqui !>

 

  • Membro VIP
Postado

Antes mostre o que já fez ou tentou fazer. . também mostre esquemas. desenhos e fotos.

Tenho pronto mas to com preguiça de procurar e montar algo personalizado pra você. A essência é "simples": crie uma tabela com o "desenho" do display, crie uma interrupção com a frequência que deseja, nela incremente um indexador até o número de displays, a cada passagem por ela ponha a tabela indexada na porta e ...

 

Postado

@1hsouza1 ,

 

A dica já foi dada pela@.if , vou dar um reforço:

Como você não forneceu nenhuma informação adicional, a ideia também vai genérica :

 

Você tem 3 Timers nesse PIC, certo ?

Crie uma interrupção para cada um deles, no período de tempo equivalente a cada uma das frequências , e atualize o display em cada uma delas.

O correto é você apenas sinalizar via Flag para o programa principal fazer as atualizações, porque pode demorar essa atualização de display, e não é bom uma interrupção demorar muito tempo.

 

Paulo

 

  • Membro VIP
Postado

Eu (eu) não entendi direito a ideia do garoto.. se for algo como freq de varredura, a do Paulão não me parece ser fácil de implementar/entender/sincronizar... se é que entendi direito.

Outra interpretação seria algo como.. o garoto quer identificar 3 freq diferentes e fazer algo com elas no display.. de fato tem gente confusa por aqui e acho que só pode ser eu.. só pode... .😜

  • Haha 1
Postado
3 horas atrás, .if disse:

Eu (eu) não entendi direito a ideia do garoto.. se for algo como freq de varredura, a do Paulão não me parece ser fácil de implementar/entender/sincronizar... se é que entendi direito.

Outra interpretação seria algo como.. o garoto quer identificar 3 freq diferentes e fazer algo com elas no display.. de fato tem gente confusa por aqui e acho que só pode ser eu.. só pode... .😜

 

Pois é, eu não interpretei como varredura de um display não .... ainda mais que isso me lembra do tempo que o display tinha varredura num tubo de raios catódicos kkkkkkk !

 

E cá entre nós, se isso for um display tipo LCD moderno essa taxa é impossível ....  

 

Bom, pelo que foi dado de informação , as respostas estão excelentes kkk !

 

Paulo

 

Postado
Em 08/04/2022 às 00:39, 1hsouza1 disse:

Como que eu faço para acionar 3 LEDS com frequência 90Hz, 70Hz e 150Hz usando interrupção no PIC 16F877A ? 

Alguém poderia ajudar e postar seu código aqui !

Minha resolução ficou da seguinte forma, porém não sei se está correto.

CÓDIGO FEITO EM CCS C Compiler

 

#include <16F877A.h>
#FUSES NOWDT
#FUSES HS
#FUSES NOPROTECT
#FUSES NODEBUG
#FUSES NOBROWNOUT
#FUSES NOLVP
#FUSES NOCPD
#FUSES NOWRT
#use delay(crystal = 20MHz)

// PISCAR NAS FREQUENCIAS F1 = 90Hz, F2 = 70Hz e F3 = 150Hz
// FREQUENCIA = 1/T 

unsigned int8 tempo1 = 1000/90, tempo2 = 1000/70, tempo3 = 1000/150;

#INT_RTCC
void  RTCC_isr(void) {
   output_toggle(PIN_B0); //pisca a cada 13.1 ms
   delay_ms(tempo1);
   
   output_toggle(PIN_B1);
   delay_ms(tempo2);
   
   output_toggle(PIN_B2);
   delay_ms(tempo3);
   
}

void main(){
   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256); //overflow en 13.1 
   
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED, 0, 1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   enable_interrupts(INT_RTCC); // habilita a chave RTCC
   enable_interrupts(GLOBAL);   // habilita a chave geral

   while(TRUE) ; 

}
 

 

 

 

Em 08/04/2022 às 00:39, 1hsouza1 disse:

 

<Como que eu faço para acionar 3 LEDS com frequência 90Hz, 70Hz e 150Hz usando interrupção no PIC 16F877AAlguém poderia ajudar e postar seu código aqui !>

 

 

image.png

  • Confuso 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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!