problema pra escrever no portD do pic 16F877A

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

problema pra escrever no portD do pic 16F877A

Mensagempor Rickmascar » 01 Abr 2014 11:45

estou tentando mover um motor de passo, mas não estou nem conseguindo dar sinal no portD do pic, abaixo esta o codigo que eu usei.

Código: Selecionar todos
#define SAIDA1  RD0_BIT
#define SAIDA2  RD1_BIT
#define SAIDA3  RD2_BIT
#define SAIDA4  RD3_BIT

 void main()
{
  ADCON0 = 0;
  //ADCON1 = 0x07;    //desativa a porta analogica
  CMCON  = 0x07;
 // PCON = 0x13;
  TRISD = 0x00; //PORTD configurado como saida
  //TRISE = 0x00;
  TRISB = 0x00;
  PORTD = 0;
  PORTB = 1;
 


while (1){
             
              SAIDA1 = 1;
               SAIDA2 = 1;
               SAIDA3 = 1;
               SAIDA4 = 0;
               delay_ms(500);
               SAIDA1 = 0;
               SAIDA2 = 1;
               SAIDA3 = 0;
               SAIDA4 = 0;
               delay_ms(500);
               SAIDA1 = 0;
               SAIDA2 = 0;
               SAIDA3 = 1;
               SAIDA4 = 0;
               delay_ms(500);
               SAIDA1 = 0;
               SAIDA2 = 0;
               SAIDA3 = 0;
               SAIDA4 = 1;
               delay_ms(500);
               

               
}
}

preciso de ajuda urgente, agradecido
Rickmascar
Bit
 
Mensagens: 23
Registrado em: 27 Nov 2013 22:27

Re: problema pra escrever no portD do pic 16F877A

Mensagempor ze2 » 01 Abr 2014 14:08

ainda bem que vc falou que é urgente senão nem ia responder...
a sequencia está esquisita. além dela: confira as ligações, se o portd trabalha e está habilitado como i/o, não é coletor aberto, se voce não o está sobrecarregando e o tradicional etc.
ze2
Byte
 
Mensagens: 193
Registrado em: 09 Fev 2009 13:37

Re: problema pra escrever no portD do pic 16F877A

Mensagempor Rickmascar » 01 Abr 2014 14:21

Já troquei de PIC e também de port, mas mesmo assim a bagaça não quer funcionar... como assim a sequencia esta esquisita ?
Rickmascar
Bit
 
Mensagens: 23
Registrado em: 27 Nov 2013 22:27

Re: problema pra escrever no portD do pic 16F877A

Mensagempor xultz » 01 Abr 2014 14:30

Qual compilador você está usando?
Sabe dizer se RD0_BIT aponta para o latch de saída? Isto é muito importante.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Re: problema pra escrever no portD do pic 16F877A

Mensagempor Rickmascar » 01 Abr 2014 15:05

estou usando o mikro C Pro. Pelo datasheet da microchip ele tem duas funções PORD e TRISD Registradores... que esta na pag 48 desse link
Rickmascar
Bit
 
Mensagens: 23
Registrado em: 27 Nov 2013 22:27

Re: problema pra escrever no portD do pic 16F877A

Mensagempor ze2 » 01 Abr 2014 15:14

alguns etc...
voce gravou o mc antes de ligar? (rs) voce alimentou ele direitinho? e o pisca led? queimou esta etapa? e na simulação funciona? e qual programador? vc está carregando com o tipo certo de arquivo? bin ou hex? e o pino reset esta correto? por acaso não esqueceu dele né? R pro + e C pro gnd. o clock está operante? fusíveis coerentes com o circuito de clock?

a sequencia de acionamento de motor de passo sua parece não estar correta. mas se nem aciona nada depois vc vai notar isso. volte ao pisca led temporariamente
ze2
Byte
 
Mensagens: 193
Registrado em: 09 Fev 2009 13:37

Re: problema pra escrever no portD do pic 16F877A

Mensagempor tcpipchip » 01 Abr 2014 15:42

Faz o seguinte, usar PORTD.Fx = y

Onde x é o bit de 0 a 7.

Abraços

TCPIPCHIP
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: problema pra escrever no portD do pic 16F877A

Mensagempor tcpipchip » 01 Abr 2014 19:45

Simulei no PROTEUS e o programa esta "outputing" os dados no PORTD
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: problema pra escrever no portD do pic 16F877A

Mensagempor Rickmascar » 02 Abr 2014 10:07

Consegui resolver o problema, era que eu estava chamando errado a saída do port. era para utilizar PORTD.B0 e eu estava utilizando RD0_BIT.
esta a baixo o código usado funcionado.
Código: Selecionar todos
void main()
{
  ADCON0 = 0;
  CMCON  = 0x07;
  TRISD = 0x00; //PORTD configurado como saida
  PORTD = 0;

 

while (1){
                 
                  PORTD.B0 = 1;
                  PORTD.B1 = 0;
                  PORTD.B2 = 0;
                  PORTD.B3 = 0;
                  delay_us(6500);
                  PORTD.B0 = 1;
                  PORTD.B1 = 1;
                  PORTD.B2 = 0;
                  PORTD.B3 = 0;
                  delay_us(6500);
                  PORTD.B0 = 0;
                  PORTD.B1 = 0;
                  PORTD.B2 = 0;
                  PORTD.B3 = 1;
                  delay_us(6500);
                  PORTD.B0 = 1;
                  PORTD.B1 = 0;
                  PORTD.B2 = 0;
                  PORTD.B3 = 1;
                  delay_us(6500);
                  PORTD.B0 = 0;
                  PORTD.B1 = 0;
                  PORTD.B2 = 1;
                  PORTD.B3 = 0;
                  delay_us(6500);
                  PORTD.B0 = 0;
                  PORTD.B1 = 0;
                  PORTD.B2 = 1;
                  PORTD.B3 = 1;
                  delay_us(6500);
                  PORTD.B0 = 0;
                  PORTD.B1 = 1;
                  PORTD.B2 = 0;
                  PORTD.B3 = 0;
                  delay_us(6500);
                  PORTD.B0 = 0;
                  PORTD.B1 = 1;
                  PORTD.B2 = 1;
                  PORTD.B3 = 0;
                  delay_us(6500);

}
}
Rickmascar
Bit
 
Mensagens: 23
Registrado em: 27 Nov 2013 22:27

Re: problema pra escrever no portD do pic 16F877A

Mensagempor tcpipchip » 02 Abr 2014 10:40

:shock:!!!!!!!!!!!!!!!!
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: problema pra escrever no portD do pic 16F877A

Mensagempor ze2 » 02 Abr 2014 12:13

tcpipchip escreveu::shock:!!!!!!!!!!!!!!!!

2!!
(de nada...)

ok. funcionou... mas nativamente, apenas pro mikroc
abç
ze2
Byte
 
Mensagens: 193
Registrado em: 09 Fev 2009 13:37

Re: problema pra escrever no portD do pic 16F877A

Mensagempor Rickmascar » 03 Abr 2014 08:57

obrigado a todos por terem ajudado :D
Rickmascar
Bit
 
Mensagens: 23
Registrado em: 27 Nov 2013 22:27


Voltar para PIC

Quem está online

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

cron

x