Ir ao conteúdo
  • Cadastre-se

Simulação Proteus


Posts recomendados

não sei mais o que fazer...tento rodar este código na simulação do proteus e não energiza o RC5...por favor o que está acontecendo? segue o código:

void main() {TRISA = 0b111111;TRISC = 0b000000;// PORTA = 0b000000;PORTC = 0b000000;while(1){if(RA0_bit == 1){RC5_bit = 1;}}}
no proteus liguei RA0 a um botão e depois ao power. e um resistor no ground.
e liguei no RC5 um resistor e um led.
por favor me ajudem? to achando que é problema da licença do proteus já é a 3a versao que instalo...
 

post-781681-0-82637800-1442465051_thumb.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

-verifique se a configuração dos fusíveis está correta

-desbilite o comparador se provavelmente nasce habilitado

-desbilite entrada analógica se provavelmente nasce habilitada

-verifique se RC5 é saída coletor aberto

-inverta tudo: anodo no vcc e catodo em RC5. Se propriedade do led for "digital" não precisa resistor. SÓ NA SIMULAÇÃO

-inverta tudo parte 2: coloque botão pro gnd e PULLUP  - não resistor - pro vcc. Ou troque 220R por PULLDOWN

 

pisca led primordial...

if(!RA0_bit) RC5_bit ^=1;

Próximo passo, dominação do mundo!

Link para o comentário
Compartilhar em outros sites

fiz um teste aqui...
Usando o mikroC o código não funciona, deixei todos os fuses "Disabled" somente o master clear "Enabled".
 
Usando o CCS o código funcionou normalmente então >>APARENTEMENTE/TALVEL/EUACHO<< o problema não é o PROTEUS... Código CCS:
 
#include <16F676.h>#device ADC=10 #FUSES NOPUT                    //No Power Up Timer#FUSES MCLR                     //Master Clear pin enabled#FUSES NOBROWNOUT               //No brownout reset#FUSES NOPROTECT                //Code not protected from reading#FUSES NOCPD                    //No EE protection #use delay(internal=4MHz)#include <PIC16F676_registers.h> #bit LED = MCU_PORTC.5#bit botao = MCU_PORTA.0 void main() {   MCU_TRISA = 0b111111;   MCU_TRISC = 0b000000;      MCU_PORTC = 0b00000000;      while(1) {      if(botao == 1) {         LED = 1;      }   }}
 
Nos dois circuitos usei "Logic state" e "Logic probe" para facilitar.

dzoszeL.gif
 
Dei uma olhada no ASM gerado pelo MikroC (depois de ter alterado um pouco o seu código) e me pareceu tudo OK mas nada de funcionar   :confused: ... Faz um teste com o circuito na prática... õ/
Link para o comentário
Compartilhar em outros sites

EDIT:

 

@Ramiro Peralta Saquei cara... O PIC16F676 é inicializado (POR / BOR / BOD) com as portas analógicas e comparador ativado, assim é preciso desativá-los (o CCS C faz isso sozinho o MikroC e o MPLAB XC8 não)

 

void main() {  ANSEL = 0b00000000;     // DESLIGA AS PORTAS ANALOGICAS =D  CMCON = 0b00000111;     // DESLIGA O COMPARADOR         =)   TRISA = 0b111111;  TRISC = 0b000000;  // PORTA = 0b000000;  PORTC = 0b000000;   while(1){    if(RA0_bit == 1){        RC5_bit = 1;    }  }}

 

falou! õ/

Link para o comentário
Compartilhar em outros sites

Hey Test Man fiz as modificações e não funcionou...mas aprendi alguma coisa já que os pinos podem vir selecionados para input analógico pelo registrador ANSEL e para desligar os comparadores que ainda não sei o que é kkkk bits 0 1 2 tudo em 111! tem mais alguma ideia???

void main() {  ANSEL = 0b00000000;     // DESLIGA AS PORTAS ANALOGICAS =D  CMCON = 0b00000111;     // DESLIGA O COMPARADOR         =)  TRISA = 0b00111111;  TRISC = 0b00000000;  PORTA = 0b00000000;  PORTC = 0b00000000;  while(1){    if(RA0_bit == 1){        RC5_bit = 1;    }  }}
Link para o comentário
Compartilhar em outros sites

A única coisa que posso pensar agora é o MCLR, você desabilitou ele?

 

Jx2VkE1.jpg

 

As páginas 39 e 41 do datasheet fala sobre o CMCON e como desligar o modulo comparador

 

8Bc7ub6.jpg

 

Agora que eu vi, o @Isadora Ferraz já tinha dado a solução HUAhuahuaHU inclusive para esta (FUSES).

 

-verifique se a configuração dos fusíveis está correta

-desbilite o comparador se provavelmente nasce habilitado

-desbilite entrada analógica se provavelmente nasce habilitada

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Olá Galera aproveitando esse tópico,mas o assunto é mesmo.Gostaria de saber dos amigos como eu faço simulação da USB no proteus.Eu já baixei o driver usb virtual no site da labcenter,mas mesmo assim não simular.Sempre aparece mensagem "PLEASE INSTALL VIRTUAL USB DRIVER".Tem outro simulador que possa verificar se estou mandando o valor certo pela porta USB.

Estou fazendo nada mais que mandar 1 em 1 seg um valor pela usb serial,só queria é confirma se o valor está correto antes de montar no protoboard


Desculpe se não posso reaproveitar o tópico.

Link para o comentário
Compartilhar em outros sites

  • 8 meses depois...

Oi pessoal.

Sou novo aq no site, meu projeto de um circuito somador/subtrator para efetuar a soma ou subtração de dois números de 4 bits, com um bit extra no circuito(M) para indicar se a operação em complemento de 2, gerou ou não um overflow, não acende os leds, porque?

 

obs: Postei aq porque todos os outros posts estavam impedidos.

 

 PROJETO_CIRCUITO.pdsprj.Lucas-PC.Lucas.workspace

 

 

 

PROJETO_CIRCUITO.pdsprj

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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!