migrando do 18f252 para o 18f2520

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

migrando do 18f252 para o 18f2520

Mensagempor guilherme bauer » 07 Mar 2007 15:09

Olá!

Eu estava com o meu programa redondinho no 18f252 quando o pic parou de funcionar. Não sei ao certo o que aconteceu. O fato é que eu só encontrei o 18f2520 para vender e comprei na inocencia que o programa funcionaria da mesma maneira. Doce ilusão.

Peguei no site da microchip o .pdf de migração mas não me ajudou muito.

Pelo que ví, apenas o LCD funciona, mas nenhuma tecla responde. Não sei se é por que o pic "travou" ou fica reiniciando, ou se as teclas estão mal configuradas.

Alguem sabe por onde eu devo começar a olhar?

PS: eu uso o CCS, simulo no proteus. O mesmo que acontece no proteus acontece na minha placa de testes.

valeu!
guilherme bauer
Bit
 
Mensagens: 7
Registrado em: 22 Fev 2007 17:00

Mensagempor jean » 07 Mar 2007 15:18

estranho guilherme, eu usei o 252 tbm e tive que migrar para 0 2520 e não tive nenhum problema...
Vc ja tentou fazer um programinha básico tipo pisca led pra ver se roda nos dois uC??
Como vc relatou o sistema parou de funcionar de uma hora pra outra..será que não é problema no teu hardware?? ja testou tudo direitinho? As vezes pode ser alguma coisa boba..
[]
Jean

"Quem quer fazer alguma coisa, encontra um meio. Quem não quer fazer nada, encontra uma desculpa."
Roberto Shinyashiki
jean
Byte
 
Mensagens: 134
Registrado em: 12 Out 2006 12:03
Localização: Blumenau-SC

Mensagempor guilherme bauer » 07 Mar 2007 20:52

Acho dificil que seja isso, pois funcionava direitinho com o 18f252, e os sintomas da placa são identicos ao que o proteus mostra..

:(
guilherme bauer
Bit
 
Mensagens: 7
Registrado em: 22 Fev 2007 17:00

Mensagempor microeletronica » 08 Mar 2007 21:12

cara - tive um monte de paus na migracao do 252 pro 2525 e 2520.
tem um monte de diferencas sim... umas capciosas.

Vou me lembrar e te falo.
Quais pinos vc nota que deu os paus?
microeletronica
Byte
 
Mensagens: 158
Registrado em: 05 Dez 2006 18:22

Mensagempor microeletronica » 08 Mar 2007 21:30

TRISA
ADCON1 <3:0>

Do datasheet do 2520: pagina 234
CMCON <2:0> => 000 (Eles comecam em 1)

Do datasheet do 2520: pagina 253
CONFIG3H - > PBADEN = 00

Do datasheet do 2520: pagina 236
"20.8 Effects of a Reset
A device Reset forces the CMCON register to its Reset
state, causing the comparator modules to be turned off
(CM2:CM0 = 111). However, the input pins (RA0
through RA3) are configured as analog inputs by
default on device Reset. The I/O configuration for these
pins is determined by the setting of the PCFG3:PCFG0
bits (ADCON1<3:0>). Therefore, device current is
minimized when analog inputs are present at Reset
time."


TRISE(PSPMODE) no caso do 4520!!!

Espero que tenha ajudado.!
microeletronica
Byte
 
Mensagens: 158
Registrado em: 05 Dez 2006 18:22

Re: migrando do 18f252 para o 18f2520

Mensagempor luisaoho » 09 Mar 2007 10:52

Oi Guilherme,

Vc pode encontrar o 18f252 na Evatron (011 32212680) eles enviam pelo correio

abraços,
Luis
luisaoho
Bit
 
Mensagens: 21
Registrado em: 13 Fev 2007 13:29

Mensagempor guilherme bauer » 09 Mar 2007 11:26

Muito obrigado pela ajuda de todos.

Eu não estou conseguindo setar os pinos da porta A como entrada, no 252 funcinava, mas agora não funciona mais.


Estou apanhando nas configurações mesmo, pois o projeto que eu fiz para o 252 eu parti de um exemplo do fábio pereira, com as configurações feitas.. =[
O mais estranho de tudo é que o LCD funciona direitinho, ou seja, os pinos da porta C que eu configurei como saída para o LCD estão OK. Mas tem um pino da porta C que é saída e eu configurei da mesma maneira que os do LCD, mas é o meu programa quem o manipula, e não mod_lcd.c, e esse passou a não funcionar mais.

Ou seja, existe um problema com a maneira que eu estou manipulando os pinos.

Estou usando as rotinas output_bit(); e input(pin_xx);


luisaoho, muito obrigado, mas agora eu já comprei o maledeto 2520. Tenho que me virar com esse.


Tá dificil o negócio aqui... =[
guilherme bauer
Bit
 
Mensagens: 7
Registrado em: 22 Fev 2007 17:00

Mensagempor guilherme bauer » 09 Mar 2007 11:28

microeletronica, resetando eu já vi que o pic não está, pois o LCD está mudando aquilo que ele mostra. Tanto no prototipo quanto no proteus.

Agora, por algum motivo, o programa acha que o botão que controla a razão ciclica do meu programa está sempre apertado... =[


Se alguem quiser eu mando o programa para darem uma analisada.

valeu!
guilherme bauer
Bit
 
Mensagens: 7
Registrado em: 22 Fev 2007 17:00

Mensagempor microeletronica » 09 Mar 2007 21:57

Fala guilherme, Beleza?

" Mas tem um pino da porta C que é saída e eu configurei da mesma maneira que os do LCD, mas é o meu programa quem o manipula, e não mod_lcd.c, e esse passou a não funcionar mais. "

Qual eh o pino?


"Eu não estou conseguindo setar os pinos da porta A como entrada"

Que pinos vc usa?


Faca isso no comecinho do seu programa, antes ate de setar as direcoes dos pinos:

ADCON0 = 0x00;
Voce tem que fazer isso pois o bit 0 (ADON - A/D On Bit) tem que estar desabilitado

ADCON1 = 0x0F;
Voce tem que fazer isso pois o bits 0 1 2 3 (Configuration Control bits pro A/D tem que estar de tal forma que seu A/D seja desabilitado e que os pinos RA0 RA1 RA3 RA2 RA5 RB0 RB1 RB4 funcionem como entrada e saida).

:P

falou...
microeletronica
Byte
 
Mensagens: 158
Registrado em: 05 Dez 2006 18:22

Mensagempor microeletronica » 12 Mar 2007 20:18

Funcionou?
Falai
microeletronica
Byte
 
Mensagens: 158
Registrado em: 05 Dez 2006 18:22

Mensagempor Ander_sil » 13 Mar 2007 11:10

Já verificou os fuses, esse chip tem mais fuses do que o 18F252.

Código: Selecionar todos
#include <18F2520.h>
#device adc=8
WDT,
#FUSES WDT1                     //Watch Dog Timer uses 1:1 Postscale
#FUSES HS                       //High speed Osc (> 4mhz)
#FUSES NOPROTECT                //Code not protected from reading
#FUSES BROWNOUT                 //Reset when brownout detected
#FUSES BORV27                   //Brownout reset at 2.7V
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOCPD                    //No EE protection
#FUSES STVREN                   //Stack full/underflow will cause reset
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES LVP                      //Low Voltage Programming on B3(PIC16) or B5(PIC18)
#FUSES NOWRT                    //Program memory not write protected
#FUSES NOWRTD                   //Data EEPROM not write protected
#FUSES IESO                     //Internal External Switch Over mode enabled
#FUSES FCMEN                    //Fail-safe clock monitor enabled
#FUSES PBADEN                   //PORTB pins are configured as analog input channels on RESET
#FUSES NOWRTC                   //configuration not registers write protected
#FUSES NOWRTB                   //Boot block not write protected
#FUSES NOEBTR                   //Memory not protected from table reads
#FUSES NOEBTRB                  //Boot block not protected from table reads
#FUSES NOCPB                    //No Boot Block code protection
#FUSES LPT1OSC                  //Timer1 configured for low-power operation
#FUSES MCLR                     //Master Clear pin enabled
#FUSES NOXINST                  //Extended set extension and Indexed Addressing mode disabled (Legacy mode)

#use delay(clock=20000000,RESTART_WDT)


até+
Anderson Chrispim da Silva
chrispimdasilva@gmail.com
Ander_sil
Byte
 
Mensagens: 368
Registrado em: 30 Out 2006 09:58
Localização: Campinas - SP

Mensagempor guilherme bauer » 14 Mar 2007 14:59

microeletronica, Ander_sil, vou ficar fora até segunda feira. Assim que testar essas dicas eu posto aqui.


Muito obrigado pela atenção! E desculpa por não ter respondido antes.


Amplexos
guilherme bauer
Bit
 
Mensagens: 7
Registrado em: 22 Fev 2007 17:00

Mensagempor guilherme bauer » 19 Mar 2007 16:18

"Qual eh o pino?"

Pino RC6 como saída.

"Que pinos vc usa?"

Agora estou usando como entrada os pinos RB1, RB2, RB3,RB4, RB5
O RA0 está sendo usado para entrada do AD.


ADCON0 = 0x00;
ADCON1 = 0x0F;

O ccs não reconheceu esses endereços ADCON0 e ADCON1, é assim que esses pinos são chamados na biblioteca 18f2520.h??
guilherme bauer
Bit
 
Mensagens: 7
Registrado em: 22 Fev 2007 17:00

Mensagempor microeletronica » 19 Mar 2007 20:32

Entao....
Pro AN0 - ou seja, RA0 ser analogico....
e os outros A/Ds deste canal serem digitais,
coloque 0x0E em ADCON1 e
coloque 0x01 em ADCON0.

Dai coloque os TRIS confome vc conhece...

TRISB - bits 1 2 3 4 5 como 1
TRISA - nao interessa...
TRISC - bit 6 como 0
microeletronica
Byte
 
Mensagens: 158
Registrado em: 05 Dez 2006 18:22

Mensagempor guilherme bauer » 21 Mar 2007 16:56

microeletronica, muito obrigado mesmo!!!!

O problema era com esse ADCON. Eu vou dar uma olhada no que ele faz, mas por hora vi que isso resolveu o meu problema!!


Muito obrigado!
guilherme bauer
Bit
 
Mensagens: 7
Registrado em: 22 Fev 2007 17:00

Próximo

Voltar para PIC

Quem está online

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

x