Ir ao conteúdo
  • Cadastre-se

Michel Almeida

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

Reputação

0
  1. fazer aparecer mas uma linha abaixo eu simulo aqui no proteus e a outra parte e criar uma função tipo esse que funcione no micro c primeiro eu tenho que resolver esses bugs que estão dando depois fazer funcionar a parte que simula os sinais
  2. incluir outra biblioteca so debugando erecompilando o micro c as que ja tem e interna do progamador chequei todas as pastas so tem as que sao da limguagem c e nao tipo LCD mas se voce quiser testar na pasta do micro c tem tem bibliotecas.h na pasta <include> vê se te ajuda ai exemplo do WR PIC087_files_WR.rar
  3. amigo primeiro qual versão do micro c você usa para mim saber segundo quais são as bibliotecas você quer incluir e explica melhor esse registro e para ficar fixo ou para fazer compara coes
  4. no caso tem como simular tudo no Ísis proteus mas já valeu o retorno fera obrigado
  5. bom amigos eu trabalho com reparos de ecu automotiva mas não tenho simulador para testá-las na bancada ai resolvi fazer um a parte eletrônica nao e tão simples mas eu consigo resolver a parte complicada e fazer o injetor de sinais eu comecei com a parte do menu só que eu estou utilizando um código que eu adaptei para o pic 18f4520 e o compilador eu estou utilizando Micro C eu quero adicionar mas opções para o menu EX: >GM nessa opção existem vários modelos de centrais no sub menu gm EX multec 7000, multec tbi, motronic M151, motronic M152, IEFI - 6, OMEGA 3.8 V6 e outras eu vou deixar um manual com detalhes e só executar os pdf para cada montadora eu sei que e complicado mas por partes da para ser feito na parte para gerar os sinais eu queria fazer uma função fixa para quando eu selecionar o tipo de sinal na case tivesse um sinal fixo e seria injetado na função, para não ter varias funções com tipos de sinais diferentes eu vou por um exemplo de uma funcao que eu não consegui adaptar gera_sinal_rpm_X ( ) char sinal_rpm [18]= {0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,1 }; char sinal_fase [18]= {0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,1 }; unsigned long tempo ; char sinal=0; char fase=0; { tempo = adc_read( 0 ); delay us(10); tempo = tempo*5000/1023; portb.f0= gera_sinal_60x2 [sinal]; portb.f1= sinal_fase[ fase ]; delay ms(tempo); sinal++; fase ++; if (sinal >18 && fase > 18 ) { sinal=0; fase =0; } while(!botao_ret); } o menu esta dessa forma tem uns erros eu preciso da ajuda de vocês para concluir esse projeto quem poder me ajudar eu serei muto grato por toda ajuda que vier ULTILIZADO´MICRO C 6 PODE SER SIMULADO PROTEUS 7,8 MENU INTERATIVO.rar
  6. amigo como seria esse mesmo código escrito em micro c já tentei mas não entendi essa logica eu sei que funciona já testei no proteus só que meu código e no micro c a parte do menu e eu queria entender para fazer uma função e inserir essa belezinha Veja se é esse o resultado que espera: /*===================== Inicialização do PIC =======================*/ #include <16F877A.h> #FUSES NOWDT //No Watch Dog Timer #FUSES HS //Crystal osc > 4mhz #FUSES PUT //Power Up Timer #FUSES NOPROTECT //Code not protected from reading #FUSES NODEBUG //No Debug mode for ICD #FUSES BROWNOUT //Reset when brownout detected #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O #FUSES NOCPD //No EE protection #use delay(clock=20000000) //meu clock /*===================== Minhas variáveis: =======================*/ int8 periodo=0; int8 ciclo1=0; int8 p1 = 1; int16 delay = 65478; //65478 = 4960Hz e 60000 = 57Hz int1 aux; /*===================== A interrupção: =======================*/ #int_timer1 void TIMER1_isr (void) { p1++; aux++; set_timer1(delay); } /*============================== Rotina Principal: ================================*/ void main() { output_low (PIN_B7); SETUP_TIMER_1 (T1_INTERNAL|T1_DIV_BY_8); //Configurar timer1 para clock iterno/8 enable_interrupts (INT_TIMER1); //Habilitar Interrupções enable_interrupts (global); set_timer1(delay); //Preload do timer1 while (TRUE) { if (aux) { if (p1 < 118) { output_toggle (PIN_B7); } else { output_high (PIN_B7); } if (p1 == 120) { p1 = 0; } aux++; } } }

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