Ir ao conteúdo

Problemas com PIC16F628a


skullcrap

Posts recomendados

Postado

Pessoal,

Estou começando agora com PIC, e estou tentando fazer uma coisa básica...

Gravei um programinha simples no pic, através de um gravador pronto assim:


loop: High 0 ' Turn on LED connected to PORTB.0
Pause 500 ' Delay for .5 seconds

Low 0 ' Turn off LED connected to PORTB.0
Pause 500 ' Delay for .5 seconds

Goto loop ' Go back to loop and blink LED forever
End

aí passando para o protoboard, ligando somente:

Vdd --> 5v

Vss --> terra

RB0 --> LED

não dá nada... alguem pode me ajudar ?

não deu erro na gravação do .hex

não precisa utilizar cristal de frequencia nao né ?

Obrigado.

Postado
Pessoal,

Estou começando agora com PIC, e estou tentando fazer uma coisa básica...

Gravei um programinha simples no pic, através de um gravador pronto assim:


loop: High 0 ' Turn on LED connected to PORTB.0
Pause 500 ' Delay for .5 seconds

Low 0 ' Turn off LED connected to PORTB.0
Pause 500 ' Delay for .5 seconds

Goto loop ' Go back to loop and blink LED forever
End

aí passando para o protoboard, ligando somente:

Vdd --> 5v

Vss --> terra

RB0 --> LED

não dá nada... alguem pode me ajudar ?

não deu erro na gravação do .hex

não precisa utilizar cristal de frequencia nao né ?

Obrigado.

Mais precisa declarar na programação que você vai utilizar o clock interno !

Postado

Qual comando é esse ?

não achei nada nos exemplos que procurei por aqui...

Estou usando para gravar o IC-prog. não sei se é necessário pois no

.asm que ele gera, tem tudo, biblioteca, definições, mas nao diz nada de frequencia.

Postado

beleza, valeu pela dica...

mas mesmo assim o pessoal não diz nada sobre clock...

seguinte.... vou colocar um cristal aqui de 4mhz, ao que tudo indica são nos pinos 15 e 16...

agora será que precisa de uns 2 capacitorezinhos pra ajudar ?

o problema é a ligação mesmo... porque gerei o asm direitinho e até simulei... ta certinho...

Obrigado

Postado

Você precisa fazer a configuração dos fusíveis, se for utilizar um cristal de 4MHz, use o fusivel XT. Também precisa definir o clock no compilador, para ele ter a base de tempo correta para gerar o delay.

Postado

então, é em basic

pelo que vi é só isso mesmo... compilou que foi uma beleza!

e funcionou.... só tive que dar um tapinha no pino de reset pra funcionar

Projetos_afg, qual a funcionalidade do fusível XT ?

funcionou utilizando o RC clockout

liguei o cristal de 4mhz e 2 capacitorezinhos de 33pf ... aí funcionou.

Obrigado gente

  • mês depois...
Postado

olá...tava vendo esse post, e tive um problema semelhante...

fiz um programa parecido tmb ( acende led por x seg, e apaga por x seg...)

o negocio é o seguinte...(pelo menos deu certo pra mim...)

a principio você não disse nada sobre qual valor do clock interno você ultilizou...

mas quando fiz o meu programa, declarei um clock = 4MHz...só que o interno do 16f628, acho que não pode ser isso tudo...por isso seu programa vai trabalhar bem mais lento dependendo do valor maximo de clock interno que pode habilitar...

pra testar e ver se tem alguma coisa a ver o q to falando aqui...faz o seguinte...diminui bem esse delay q você ta usando em seu codigo...só pra ver se vai funcionar...diminui ai 10 - 100 vezes...e testa...e me fala o q acontece...por exeplo no meu codigo...coloquei um delay de 5ms, e demora na verdade quase 5 segundo...ahuahua

pelo que tava lendo na net...acho que o clock interno deve ser no maximo 32KHz para esse pic...

bem...pelo menos fucionou aqui...^^

espero ter ajudado...

Postado
olá...tava vendo esse post, e tive um problema semelhante...

fiz um programa parecido tmb ( acende led por x seg, e apaga por x seg...)

o negocio é o seguinte...(pelo menos deu certo pra mim...)

a principio você não disse nada sobre qual valor do clock interno você ultilizou...

mas quando fiz o meu programa, declarei um clock = 4MHz...só que o interno do 16f628, acho que não pode ser isso tudo...por isso seu programa vai trabalhar bem mais lento dependendo do valor maximo de clock interno que pode habilitar...

pra testar e ver se tem alguma coisa a ver o q to falando aqui...faz o seguinte...diminui bem esse delay q você ta usando em seu codigo...só pra ver se vai funcionar...diminui ai 10 - 100 vezes...e testa...e me fala o q acontece...por exeplo no meu codigo...coloquei um delay de 5ms, e demora na verdade quase 5 segundo...ahuahua

pelo que tava lendo na net...acho que o clock interno deve ser no maximo 32KHz para esse pic...

bem...pelo menos fucionou aqui...^^

espero ter ajudado...

Então eu nem precisei declarar o clock... o padrão com q esse pic trabalha é 4MHz

e tb retirei os capacitores do cristal... alguns defendem q tem q usar por x e por y, mas eu tirei e não vi nenhuma diferença em contagens maiores...

Postado

mas você tentou diminuir o tempo de delay só pra ver se funciona? coloca assim:

loop: High 0

Pause 10

Low 0

Pause 10

Goto loop

End

só pra saber se funciona...

Postado

Amigos, boa tarde.

Quanto ao uso de capacitores do cristal, creio que deveria dar uma lida no datasheet do microcontrolador. Se um dia seu código não rodar bem ou mesmo haver atrasos/adiantamentos em temporizações, saberá a importância deles.

Quanto ao tipo de fuses, seu projeto é quem determinará a necessidade.

Exemplo que mais uso:

XT = cristal <= 4Mhz

HS = cristal > 4Mhz

Interno (sem saída de clock) = (RA6 e RA7 podem ser configurados como I/O).

Precisa ver como fica isso em seu compilador. Em caso de dúvida consulte o datasheet em Special Features of the CPU (fica neste capítulo a parte que fala dos osciladores).

bit 4,1-0: FOSC2:FOSC0: Oscillator Selection bits(4)

111 =RC oscillator: CLKOUT function on RA6/OSC2/CLKOUT pin, Resistor and Capacitor on RA7/OSC1/CLKIN

110 =RC oscillator: I/O function on RA6/OSC2/CLKOUT pin, Resistor and Capacitor on RA7/OSC1/CLKIN

101 =INTOSC oscillator: CLKOUT function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN

100 =INTOSC oscillator: I/O function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN

011 =EC: I/O function on RA6/OSC2/CLKOUT pin, CLKIN on RA7/OSC1/CLKIN

010 =HS oscillator: High speed crystal/resonator on RA6/OSC2/CLKOUT and RA7/OSC1/CLKIN

001 =XT oscillator: Crystal/resonator on RA6/OSC2/CLKOUT and RA7/OSC1/CLKIN

000 =LP oscillator: Low power crystal on RA6/OSC2/CLKOUT and RA7/OSC1/CLKIN

Uma pequena nota quanto ao uso dos capacitores:

Note: Higher capacitance increases the stability of the oscillator but also increases the start-up time. These values are for design guidance only. A series resistor (RS) may be required in HS mode as well as XT mode to avoid overdriving crystals with low drive level specification. Since each crystal has its own characteristics, the user should consult the crystal manufacturer for

appropriate values of external components.

Em tempo, aprendi que é vital para o sucesso de um projeto, uma leitura apropriada do datasheet. Acho que a melhor forma de trabalhar em um projeto, é saber tudo o que ele deverá fazer, depois ver qual o hardware interno ao microcontrolador necessário e como configurar, sem esquecer também o hardware que obrigatoriamente deve ser "desligado" para não impedir o funcionamento normal da programação.

Abraço.

Arquivado

Este tópico foi arquivado e está fechado para 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!