pic12f675

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

pic12f675

Mensagempor leandro boni » 02 Set 2009 11:18

olah pessoal estou começando a mexer com pic agora e desde jah encontrei um probleminha bobo mais não consego resolve-lo

estou fazendo um projeto e pra isso preciso colocar um led pra fazer um incação e para acionalo estou fazendo um simples programinha em c

preciso saber se tem algo de errado com o programa pois o acionamento do led não esta ocorrendo..

flows te mais


[b]#include<12f675.h>
#use delay (clock=4000000)MCLR,PUT,NOPUT,RC,EC,RC_IO,INTRC_IO,BROWNOUT,NOBROWNOUT
main()
{

// delay_ms(700);
// OUTPUT_LOW(pin_A2);

//setup_comparator( A1_VR_OUT_ON_A2);
//setup_vref(VREF_LOW | 12);
while(true)
{

// if(c1out) output_high (pin_A2);
// else
// {
output_high(pin_a4);
delay_ms(500);
output_low(pin_a4);
delay_ms(500);
// OUTPUT_LOW(pin_A2);
// }


}
}
[/b]
leandro boni
Bit
 
Mensagens: 5
Registrado em: 26 Jul 2007 14:34

Mensagempor fabim » 02 Set 2009 11:29

ECA no minimo CCS.credu.
output_pin a4 e o escambau. ta doido sô.

while(true)
{

GPIO |= 0x10;
delay_ms(500);
GPIO &= ~0x10;
delay_ms(500);

}
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor ze » 02 Set 2009 13:05

Começou Com Sucata

faça TRISIO=0;

zipando +
for(; ; )
{
GPIO^=0x10;
delay_ms(500);
}
+ ainda
...
GPIO4^=1;
...

não sem antes verificar se tal pino é só entrada ou coletor aberto
abç
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor _blackmore_ » 02 Set 2009 20:40

bom tah estranho essa linha ...

Código: Selecionar todos
#use delay (clock=4000000)MCLR,PUT,NOPUT,RC,EC,RC_IO,INTRC_IO,BROWNOUT,NOBROWNOUT


não seria melhor ... tu saber qual tipo de oscilador vai utilizar?
outra coisa .. não precisa de usar comparador para acender um led atraves de um botao ...

abrax
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor _blackmore_ » 02 Set 2009 21:52

para não abrir um novo tópico sobre este PIC ... eu tb preciso faze um pequeno trabalho com um 12F675 mas tenho 2 dúvidas :

1 - como vou utilizar oscilador interno (INTRC_IO), e não vou utilizar o master clear, gravando com ICD2 existe é necessário um delay ou algo do tipo para compilar e não ter problema de queimar o micro controlador, então pergunto .. como faço esse delay ou este "recurso técnico" e poder compilar o meu programa?

2 - como eu encontro o valor de calibração do PIC para poder colocar no comando #rom ?
utilizo compilador CCS
agradeço qualquer ajuda dos amigos mais experientes.

abrax!
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor aureo.oliveira » 03 Set 2009 00:37

Leandro Boni:
lembre-se de olhar o HELP e os exemplos.

#include <12F675.h>
#fuses INTRC_IO,WDT,PUT,NOBROWNOUT,NOMCLR,CPD,PROTECT
#use delay(clock=4000000,restart_wdt)


void main()
{
port_a_pullups(0b00111111);
setup_comparator(NC_NC_NC_NC);

while (TRUE)
{
RESTART_WDT();

output_high(pin_a4);
delay_ms(500);
output_low(pin_a4);
delay_ms(500);

}
}

fabim & lellis: nao entendo sua aversão ao CCS, nunca tive dificuldades com esse compilador. O seu código ficou legal, mas baixa o nível ao usar hexa.

[quote="_blackmore_"]para não abrir um novo tópico sobre este PIC ... eu tb preciso faze um pequeno trabalho com um 12F675 mas tenho 2 dúvidas :

1 - como vou utilizar oscilador interno (INTRC_IO), e não vou utilizar o master clear, gravando com ICD2 existe é necessário um delay ou algo do tipo para compilar e não ter problema de queimar o micro controlador, então pergunto .. como faço esse delay ou este "recurso técnico" e poder compilar o meu programa?

2 - como eu encontro o valor de calibração do PIC para poder colocar no comando #rom ?
utilizo compilador CCS
agradeço qualquer ajuda dos amigos mais experientes.

abrax![/quote]

1 - estou usando um clone PICSTART Plus, e nao é necessário esse delay ou este "recurso técnico".
2 - o valor de calibração ja esta na rom no endereço 0x3FF.

PS: se precisar alterar nao se esqueca de anotar o valor original, tem que setar no MPLAB/Programmer/Settings/Calibration Memory
HEHEHEHE!!!!!!
aureo.oliveira
Bit
 
Mensagens: 27
Registrado em: 11 Out 2006 19:28
Localização: Goiânia-Goiás

Mensagempor _blackmore_ » 03 Set 2009 00:52

aureo.oliveira

1 - estou usando um clone PICSTART Plus, e nao é necessário esse delay ou este "recurso técnico".

eu utilizo o ICD2BR ... e nele fala sobre o delay a ser acrescentado no programa ... ( http://www.mosaico-eng.com.br/arquivos/ ... ev._09.pdf na pagina 42 item 7 )
a minha dúvida é que não entendi exatamente ONDE no início do programa deve ser colocado o delay de 10ms, só isso.
obrigado por me mostrar como ver esse valor na memoria do PIC.

abrax!
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor fabim » 03 Set 2009 08:53

aureo. Cesqueça não.
Tu esta programando uControladores e não sistemas para SO.
Em sistemas uControlados, eu jamais confio em compiladores que não gostam do ANSI, e não os utilizo jamais.
se eu quero setar um pino de uma port, porque raios de motivo eu iria usar uma sub rotina ou uma macro ?
Claro existem coisas que facilita, mais generalizar é ridiculo.
output_high(sei lá o que.

poxa veja bem.

GPIO.2 = X;
GPIO |= 0x04;

a linha uXip tem uma certa facilidade em acesso binario, mais se você se acostumar apenas com isso, como vai fazer quando pegar um uC que não tenha ? vai ficar apanhando ?
O meu costume de HEX, vem de sistemas para SO´s.

blablabla rsrsrs

cabo a tinta!!

BRação cara !!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor ze » 03 Set 2009 11:41

agora a minha:
Com uma áurea sobre a cabeça de nosso homônimo amigo, tenho dificuldade em contra argumentar com ser de tão "alto nível" visto que estou ainda sob domínio de bits e hexas. A não ser um ctrl-c e ctrl-v nas letras do fabin.
e o + importante: rs
+ 1 abraço amigo! e num skenta kb ça cum nói não!!!
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor Djalma Toledo Rodrigues » 03 Set 2009 13:15

fabim escreveu: ... se eu quero setar um pino de uma port, porque raios de motivo eu iria usar uma sub rotina ou uma macro ?
Claro existem coisas que facilita, mais ...
cabo a tinta!! ...


Colocado assim parece Fabim mas, se houver necessidade de repetir uma sequência de instruções diversas vezes ?

cabo a tintaaa!
.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor fabim » 03 Set 2009 13:19

Djalma Toledo Rodrigues escreveu:
fabim escreveu: ... se eu quero setar um pino de uma port, porque raios de motivo eu iria usar uma sub rotina ou uma macro ?
Claro existem coisas que facilita, mais ...
cabo a tinta!! ...


Colocado assim parece Fabim mas, se houver necessidade de repetir uma sequência de instruções diversas vezes ?

cabo a tintaaa!
.


aí usa-se sub rotina, para uma sequencia - não indicado para macros.
E dependendo da sequencia e onde ela vai ficar, a sequencia so é digitada uma vez e não centenas!!!

fabim escreveu: Claro existem coisas que facilita, mais ...
vorto a tinta!! ...
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor Djalma Toledo Rodrigues » 03 Set 2009 13:55

Mas, Fabim as vezes essa sequência não é bem uma subrotina.

Se colocar como subrotina pode ficar esquisito, pois não tera a lógica de uma sub.

Aí cria a Macro X apenas uma vez. E pode repitir apenas indicando Macro X
quantas necessárias vezes for.

Assim óh:

Mov qualquer coisa
Macro X
Goto Fim

Fim: End
.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22


Voltar para PIC

Quem está online

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

cron

x