Problema no proteus utilizando oscilador interno

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Problema no proteus utilizando oscilador interno

Mensagempor ÁgioFelipe » 11 Nov 2009 16:25

Pessoal, fiz um programinha só para testar o PIC12F675 no proteus e o que aconteceu foi o seguinte: Se eu habilitar o oscilador interno para usar os pinos OSC1 e OSC2 como IO a simulação vai a 100% e trava, se não habilitar o oscilador interno funciona normalmente.
Será que no proteus não simula com oscilador interno?
ÁgioFelipe
Word
 
Mensagens: 626
Registrado em: 27 Out 2006 20:04

Mensagempor jorgeluiz » 12 Nov 2009 00:48

aqui tambem acontece. Deve se um bug do Proteus.
Avatar do usuário
jorgeluiz
Byte
 
Mensagens: 448
Registrado em: 26 Mar 2007 02:26

Mensagempor _blackmore_ » 12 Nov 2009 07:15

eu utilizo e não tenho problemas ... agora qdo coloco alguns transístores TJB ou FET ... ae o bixo pega ...
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor lpagano » 12 Nov 2009 07:30

Tenho um programinha no Proteus que usa exatamente esse uc e um resistor na saída só para gerar uma onda quadrada e não tenho problemas na simulação.

Já deu uma verificada nos fusíveis de configuração do PIC?
lpagano
Byte
 
Mensagens: 393
Registrado em: 06 Nov 2006 14:23

Mensagempor ÁgioFelipe » 12 Nov 2009 08:57

Veja a aqui o programa:

#include <12F675.h>
#fuses NOWDT
//#fuses INTRC_IO //Com essa linha em comentario funciona normalment
#fuses NOCPD
#fuses NOPROTECT
#fuses PUT
#fuses NOBROWNOUT
#use delay(clock=4000000)

void main()
{
set_tris_a(0b00000000);
setup_comparator(NC_NC_NC_NC);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);

while(1)
{
output_high(PIN_A0);
delay_ms(500);
output_low(PIN_A0);
delay_ms(500);
}
}

Se retiro aquele comentario o programa não funciona.
ÁgioFelipe
Word
 
Mensagens: 626
Registrado em: 27 Out 2006 20:04

Mensagempor lpagano » 12 Nov 2009 12:57

Vou dar uma olhada no meu programa lá em casa hoje a noite e depois eu te falo como ele está.

Na verdade não pode esquecer de que no Proteus a gente coloca o hexa de configuração dos fusíveis.

Valeu!
lpagano
Byte
 
Mensagens: 393
Registrado em: 06 Nov 2006 14:23

Mensagempor ÁgioFelipe » 12 Nov 2009 14:03

Estou no aguardo, obrigado!
ÁgioFelipe
Word
 
Mensagens: 626
Registrado em: 27 Out 2006 20:04

Mensagempor lpagano » 12 Nov 2009 22:14

Você está utilizando MCLR? Eu aqui deixei desabilitado no Proteus, assim como o PUT.
Outra coisa, no Program Configuration Word do Proteus não esqueça do código hexa correspondente (configuração dos fusíveis do PIC), nesse caso é 0x3184 . Funcionou bem.

Tenta aí e depois me fala.

Valeu!!!
lpagano
Byte
 
Mensagens: 393
Registrado em: 06 Nov 2006 14:23

Mensagempor ÁgioFelipe » 13 Nov 2009 09:41

Bem, de inicio coloquei esse palavra de configuração que vc em passou (0x3184) no proteus, retirei o resistor de pullup do master clear que vc disse que está sem MCLR e colcoquei em comentario todos os fuses no MPLAB, compilei e botei pra rodar no proteus, funcionou!

Depois, fui no MPLAB e configurei meus fuses (consultando o datasheet) para resultar nessa mesma palavra de configuração (0x3184) e compilei, no proteus apaguei o campo Program Configuration Word coloquei pra rodar e nada!
Consultando o Help do proteus lá fala:

Dialogue Form Field : Program Configuration Word
Default Value : 0x3FFF
Units/Type : 14-bit integer
Applies To Devices : All

This property specifies an initial configuration word for the PIC processor.
The configuration word is a set of bits burnt in to program memory location 2007h. The value of this property specifies an initial value for the configuration word but this will be over-ridden by any value specified for location 2007h in the program code (hex) file.
Use this property to supply a configuration word where your Intel Hex file doesn’t contain one.
Note that the meaning of the bits within the configuration word is specific to the PIC device.

Quer dizer, era para esse campo(Program Configuration Word) só significar algo se vc não configurar os fuses, se configurar esse campo deixa de valer, mas não é o que está acontecendo.
Por último fiz as duas coisas juntas, configurei os fuses para resultar em 0x3184 no MPLAB e no proteus tambem coloquei 0x3184 também, novamente não funcionou.
ÁgioFelipe
Word
 
Mensagens: 626
Registrado em: 27 Out 2006 20:04

Mensagempor lpagano » 13 Nov 2009 12:38

Essa simulação minha foi só no Proteus, inclusive usando o 12F629, com configuração diferente.

Para se fazer o software eu usei o MikroC. Como não uso o CCS, infelizmente fica difícil para mim te ajudar mais a fundo, mas no caso da simulação não tive problemas.

O software que simulei é um gerador de trem de pulsos só para visualizar no osciloscópio do Proteus. Se quiser eu te passo ele para testar.
lpagano
Byte
 
Mensagens: 393
Registrado em: 06 Nov 2006 14:23

Mensagempor ÁgioFelipe » 13 Nov 2009 13:33

Não cara, você já ajudou bastante. É só agora eu simular no proteus colocando os fuses em comentário no MPLAb. Por mim esse tópico já foi resolvido, valeu mesmo cara!
ÁgioFelipe
Word
 
Mensagens: 626
Registrado em: 27 Out 2006 20:04

Mensagempor lpagano » 13 Nov 2009 14:37

Ok, se eu puder ajudar em mais alguma coisa, fique a vontade.
lpagano
Byte
 
Mensagens: 393
Registrado em: 06 Nov 2006 14:23


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x