Página 1 de 1

pic12f675

MensagemEnviado: 02 Set 2009 11:18
por leandro boni
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]

MensagemEnviado: 02 Set 2009 11:29
por fabim
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);

}

MensagemEnviado: 02 Set 2009 13:05
por ze
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ç

MensagemEnviado: 02 Set 2009 20:40
por _blackmore_
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

MensagemEnviado: 02 Set 2009 21:52
por _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!

MensagemEnviado: 03 Set 2009 00:37
por aureo.oliveira
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

MensagemEnviado: 03 Set 2009 00:52
por _blackmore_
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!

MensagemEnviado: 03 Set 2009 08:53
por fabim
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 !!

MensagemEnviado: 03 Set 2009 11:41
por ze
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!!!

MensagemEnviado: 03 Set 2009 13:15
por Djalma Toledo Rodrigues
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!
.

MensagemEnviado: 03 Set 2009 13:19
por fabim
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!! ...

MensagemEnviado: 03 Set 2009 13:55
por Djalma Toledo Rodrigues
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
.