Programa Teste PIC16F84A

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Programa Teste PIC16F84A

Mensagempor Ricardo_Franco » 28 Nov 2006 06:41

Ola Senhores.
Sou novo no mundo PIC, mas ja conheço alguns outros microcontroladores.
Estou tentando programar um PIC em C, apenas um programa de teste.

cpp code
#include <16F84.h>
#use delay ( clock = 4000000 )

main()
{
int tempo;
tempo = 100;
while(1)
{
output_high(PIN_B0);
delay_ms (tempo);
output_low (PIN_B0);
delay_ms (tempo);
}
}


Ele compila certinho não da erro (CCS V4.013) mas eu descarrego no IC-PROG ele fala “tudo OK”
E o bixo não roda ....
Alguém pode Ajudar por favor....
Estou utilizando um cristal de 4 Mhz.

Ricardo Franco
Ricardo_Franco
Byte
 
Mensagens: 305
Registrado em: 11 Out 2006 20:53
Localização: Campinas - SP

Mensagempor ric_vas » 28 Nov 2006 08:39

Procure sobre #FUSES no manual do CCS. Devem haver alguns exemplos aqui mesmo no forum.

Algo tipo:

#use delay(clock=20000000, restart_wdt)
#fuses HS,WDT128,PROTECT,NOPUT,NOBROWNOUT,NOLVP,WRT,NOSTVREN

Você deve ajustar os valores para o processador que está utilizando.

Ric

P.S. Eu tb. costumo desabilitar todas as interrupções que não estou utilizando (antes do loop infinito do main).
ric_vas
Nibble
 
Mensagens: 93
Registrado em: 11 Out 2006 22:22
Localização: RS

Mensagempor Ricardo_Franco » 28 Nov 2006 10:39

Obrigado RIC
mas acho que o que eu preciso seria um programa mastigado em C (para CCS) onde eu possa acender um LED que está com o Anodo no pino RB0, a partir dai eu consigo desenvolver alguma coisa.
Se Você puder ajudar ou alguém do Forum será de grande avalia.

Ricardo Franco
Ricardo_Franco
Byte
 
Mensagens: 305
Registrado em: 11 Out 2006 20:53
Localização: Campinas - SP

Mensagempor Hogmoho » 28 Nov 2006 13:12

No forum antigo haviam vários tópicos sobre isso , se alguém puder indicar como acessar esses tópicos você encontrará bastante material
Hogmoho
Bit
 
Mensagens: 9
Registrado em: 13 Out 2006 08:48

Mensagempor zielpunkt » 28 Nov 2006 13:22

Ricardo,

O que o ric_vas disse é correto: vc precisa declarar os fuses logo no inicio do teu programa pra ele funcionar. O PIC tem uma série de dispositivos internos que vc habilita ou não por meio desses fuses. O CCS tem um "wizard" que te mostra isso no inicio de um novo projeto. Inicia por ele e na aba "general" pede pra mostrar o código e vc entenderá.

É isso.
"Talento é mais barato que sal. O que separa a pessoa talentosa da bem-sucedida é muito trabalho duro." [ Stephen King ]
zielpunkt
Byte
 
Mensagens: 376
Registrado em: 12 Out 2006 11:36
Localização: Sao Paulo - SP

Mensagempor Ricardo_Franco » 28 Nov 2006 17:19

Ola Obrigado pelas dicas.
Mas eu achei o defeito
Esqueci de colocar o MCLR um VDD.
Estou a tarde inteira me matando para fazer esse bixo funcionar, e agora enquanto escrevia mais um lamento percebi minha "pequena" distração.
Valeu mesmo pessoal.

Ricardo Franco
Ricardo_Franco
Byte
 
Mensagens: 305
Registrado em: 11 Out 2006 20:53
Localização: Campinas - SP

Mensagempor Ricardo_Franco » 28 Nov 2006 18:16

É Senhores me antecipei um pouco. o programa não rada apenas acende um led de vez em quando já refis todas as ligações. e alterei o código como sugestão do Ric_Vas.
É o PIC parecia mais facil de longe.
Será que alguém tem mais alguma sugestão? Estou realmente precisando.
Obrigado

Ricardo Franco

cpp code
//------------------------------------------------------------------------------

#include <16F84A.h>
#use delay ( clock = 4000000 )
#fuses XT,NOPUT, NOWDT, NOPROTECT

main(void)
{
while(true)
{
output_high(PIN_B0);
delay_ms (1000);
output_low (PIN_B0);
delay_ms (1000);
}
}
Ricardo_Franco
Byte
 
Mensagens: 305
Registrado em: 11 Out 2006 20:53
Localização: Campinas - SP

Mensagempor Ricardo_Franco » 28 Nov 2006 19:14

Apenas uma dúvida, eu posso montar o circuito com PIC em protoboard?
pois o meu está montado em um.

Ricardo Franco
Ricardo_Franco
Byte
 
Mensagens: 305
Registrado em: 11 Out 2006 20:53
Localização: Campinas - SP

Mensagempor lucaszampar » 28 Nov 2006 19:36

Poder pode, mas já tive problemas montando circuitos com PIC em protoboard... Mal contato e capacitancia são sérios problemas.
Se possível monte o circuito em uma placa padrão, já fica bem melhor.
Aparentemente o fonte está correto, creio que seja algum problema com hardware mesmo.
Avatar do usuário
lucaszampar
Byte
 
Mensagens: 105
Registrado em: 11 Out 2006 22:30
Localização: Limeira - SP

Mensagempor ric_vas » 28 Nov 2006 20:59

Realmente protoboard é complicado para algumas coisas....mas eu tenho pequeno circuito com memória i2c, leds, canal serial rs232 e clock de 20Mhz rodando em um protoboard...as vezes tenho que resetar, mas normalmente roda :D

Ric

P.S. Se você puder dar mais alguma info. de seu circuito pode ajudar...
ric_vas
Nibble
 
Mensagens: 93
Registrado em: 11 Out 2006 22:22
Localização: RS

Mensagempor Ricardo_Franco » 29 Nov 2006 05:33

Um Amigo meu trabalha com PIC a algum tempo já, e tem bastante material sobre o 16F84A, me passou alguns Hexa's prontos para eu isolar o problema, vamos ver se é software, ou hardware.
Obrigado pela pronta ajuda pessoal

Ricardo Franco
Ricardo_Franco
Byte
 
Mensagens: 305
Registrado em: 11 Out 2006 20:53
Localização: Campinas - SP

Mensagempor zielpunkt » 29 Nov 2006 08:48

Só pra conferir: vc colocou capacitores entre o cristal e GND? Já trocou de cristal? A sua protoboard não está com problemas de contato? Está parecendo que o teu oscilador não está funcionando. Afinal, problemas em protoboard com 4MHz não seriam muito comuns...e o teu programa parece ok.
"Talento é mais barato que sal. O que separa a pessoa talentosa da bem-sucedida é muito trabalho duro." [ Stephen King ]
zielpunkt
Byte
 
Mensagens: 376
Registrado em: 12 Out 2006 11:36
Localização: Sao Paulo - SP

Mensagempor alessandro » 29 Nov 2006 09:12

De uma olhada nas ligações e tenha certeza que o MCLR esta aliementado com o 5V, o cristal correto com os capacitores para GND.
Porque seu codigo esta funcionando aqui sem problemas (no protoboard).

Alessandro
Alessandro
Avatar do usuário
alessandro
Byte
 
Mensagens: 278
Registrado em: 12 Out 2006 19:32

Mensagempor Ricardo_Franco » 30 Nov 2006 22:31

Obrigado pela ajuda.
Eu vou conferir o hardware de novo e trocar de proto, mais uma dúvida eu useu capacitores diferentes dos recomendados, estou usando capacitores de 100 nF, quando o recomendado é de 33pF, será que isso pode estar atrapalhando?, digo atrapalhando ao ponto do cara nem oscilar?

Ricardo Franco
Ricardo_Franco
Byte
 
Mensagens: 305
Registrado em: 11 Out 2006 20:53
Localização: Campinas - SP

Mensagempor ric_vas » 30 Nov 2006 23:01

Acredito que sim...os capacitores do circuito oscilador estão muito fora do range recomendado.

Aproveitando segue um link com informações sobre este assunto na família PIC:

http://forum.microchip.com/printable.aspx?m=49934

Ric
ric_vas
Nibble
 
Mensagens: 93
Registrado em: 11 Out 2006 22:22
Localização: RS

Próximo

Voltar para PIC

Quem está online

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

cron

x