Ir ao conteúdo
  • Cadastre-se

Jessica Amorim

Membro Pleno
  • Posts

    36
  • Cadastrado em

  • Última visita

  1. acho que o seu problema ta em umas coisas bobas, por exemplo o MCLR, se no mikroC estiver habilitado no proteus ele vai fica esperando um resistor de pull-up (fica resetando e por isso ele não funciona), não se liga displays sem resistor, no simulador provavelmente funciona, mas o correto é por um resistor pra cada segmento, e dependendo da versão do seu proteus e de como ta a configuração no mikroC tenha outras coisas como oscilador e etc. esse site tem uns tutoriais legais: http://microcontrolandos.blogspot.com.br/
  2. se você estiver usando o mikroc, tente criar as variáveis antes do void main.
  3. Seu código parece certo, isso me parece problema de hardware, você tentou por um cristal oscilador? dependendo da configuração do mikroC você poe o cristal configurado e funciona, outra coisa é o MCLR, tente por um resistor de pull-up e vê se resolve.
  4. ja aconteceu isso comigo e resolvi colocando um zener no pino 9, como da imagem em anexo:
  5. o seu if esta errado. if(condicao){ comandos; comandos; } if(condicao)comando unico; Qual o mic que você ta usando? Vamos la, na verdade tem bastante coisa errada. não consegui abrir seu arquivo, por favor poste um JPG ou BITMAP. tem uma forma bem simples na verdade. void main() { ADCON1=0x0F; TRISB=0b00000010; PORTB=0; while{ if (PORTB.F1==1)PORTB.F0=!PORTB.F0; //nao lembro se é ! ou ~ } }
  6. nunca precisei, acho que se você deletar o componente e colocar um novo, tem como?
  7. se for só pra simular os CI's e Mic's não precisam ser diretamente ligados você só precisa fazer uma referencia com o power e o ground e todos vão ligar a este VCC e GND.
  8. quer dizer que ele não pode simular os conectores, clique com o botão direito do mouse - Edit Properties, no canto inferior esquerdo desta configuração clique em "Exclude from simulation" e ele vai funcionar.
  9. O tópico pode ser fechado, o problema foi resolvido. Obrigada a todos.
  10. Funcionou @Isadora Ferraz. Fiz assim: int baud_rat; unsigned int B_R[5]={1665,415,207,51,25}; void main() { CMCON=0x07; ADCON1=0x0F; TRISA=0; TRISB=0B00000111; TRISC=0b01000000; TRISD=0; TRISE=0; PORTA=0; PORTB=0; PORTC=0; PORTD=0; PORTE=0; baud_rat = EEPROM_Read(0x01); TXSTA.F2=0; TXSTA.F4=0; RCSTA.F7=1; RCSTA.F4=1; BAUDCON.F3=1; SPBRG=B_R[baud_rat]; while(1){ if(PORTB.F0==0){ baud_rat++; if(baud_rat>=5)baud_rat=0; SPBRG=B_R[baud_rat]; } } Postei apenas a parte de configuração da serial, mas foi isso que funcionou pra mim. Muito obrigada!
  11. @kifirefox não se deve emolhar placas eletrônicas, nem pra limpar, como o @Miguel A Santos disse usa-se álcool isopropílico.
  12. obrigada @Isadora Ferraz, infelizmente não posso postar o código ou o circuito por que é da empresa o projeto. Mas você me deu boas ideias, vou testar a sua solução, o SBPRG e o auto baud e com certeza dou um retorno com a solução.
  13. Ola Isadora, o switch case também trava. E não é preguiça de "googla", eu achei o registrador que se chama SBPRG para mudança e calculo de baud, mas não funciono corretamente em C, acho que terei que colocar um bloco em asm no meu código pra esta parte. Vi algo sobre isso também, e seria ate melhor, mas não achei literatura em português para isso então estou lendo alguns artigos e fóruns em inglês pra ver se acho. obrigada.

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