Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Victor  222222

tenho que fazer um radar com o pic 18f4520

Recommended Posts

Meu programa e basicamente  assim quando aperto B1 o tempo começa  a contar e se pulsar B2  a contagem para e o display muda de frase mostrando o tempo da velocidade .Estou tentando esse codigo so que nao ta dando certo

#include <p18f4520.h>     //bibiblioteca do PIC18f4550
       
#include <stdio.h>        //bibilioteca  de entradas e saídas
#include <delays.h>          //Adiciona a bibilioteca de funcões do delay 
#include <adc.h>          //Adiciona a bibilioteca de funções para o conversor A/D
#include <timers.h>       //Adiciona a bibilioteca de funções do timer 
#include "lcd_lib.h"        // lib.lcd

#pragma config OSC = HS      //Oscilador e cristal 20Mhz
#pragma config PWRT = ON     //Power Up Time Enable 
#pragma config BORV = 1         //tensão do BOR é 4,33v
#pragma config WDT = OFF     //Desabilita o Watchdog Timer
#pragma config PBADEN = OFF  //RB0:RB4 I/O Digital
#pragma config LVP = OFF     //ICSP. Low power programming Digital
#pragma config LPT1OSC = ON  //programado pra operar no modo Low-power
#define B1 PORTBbits.RB0
#define B2 PORTCbits.RC0

char lcd[17];
unsigned  long conta_100ms =0, segundo=0, velocidade=0,aa=0, KMH=0;
float cont,VELOCIDADE;
void ISR_alta_prioridade(void); //Protótipo da função de interrupção
#pragma code int_alta=0x08      //Vetor de interrupção de alta prioridade 
void int_alta(void)
{
    _asm goto ISR_alta_prioridade _endasm  //Desvia o programa para a função ISR_alta_prioridade

#pragma code 
#pragma interrupt ISR_alta_prioridade
void ISR_alta_prioridade(void)
{
    WriteTimer1(40535);
    if(PIR1bits.TMR1IF){
     if(aa){
      conta_100ms++;
     } 
      PIR1bits.TMR1IF = 0;
    }
    if(B1){
        aa=1;
        segundo=0;
        ClearLCD();
    
    }        
    if(conta_100ms == 10){
      segundo++;
      conta_100ms = 0;
    }
    if(B2){
        aa=0; 
    cont=(1/1000000);
    VELOCIDADE=cont/segundo;
    }    
}          
      
    
void main (void)
{
    TRISA = 0x00;
    TRISB = 0x00;
    TRISC = 0x00;
    TRISD = 0x00;
    TRISE = 0x00;
    ADCON1 = 0x0F;
    OpenTimer1(TIMER_INT_OFF
                 &T1_8BIT_RW
                 &T1_SOURCE_INT
                 &T1_OSC1EN_ON
                 &T1_SYNC_EXT_OFF
                 &T1_PS_1_1);
     PORTD = 0x00;
     PORTE = 0x00;
     Delay10KTCYx(100);
     
     PIR1bits.TMR1IF = 0;
     IPR1bits.TMR1IP = 1;
     PIE1bits.TMR1IE = 1;
     RCONbits.IPEN = 1;
    INTCONbits.GIEH = 1;
    INTCONbits.GIEL = 1;
    TMR1H = 0x80;
    TMR1L = 0x00; 
    
     InitLCD();
  while(1){
     } 
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×