Autor Tópico: mover byte para o PIC com LDmicro  (Lida 5894 vezes)

Description:

0 Membros e 1 Visitante estão vendo este tópico.

P77

  • Visitante
mover byte para o PIC com LDmicro
« Online: 01 de Novembro de 2009, 13:03 »
 ;)Fala ai pessoal beleza, a alguns dias estou brincando com o LDmicro, programinha Ladder que gera codigo HEX para PIC, pois bem, sei das limitações deste software e os problemas gerados por ele, o grande objetivo é mais por hobby mesmo, e a pergunta é, eu consigo mover um byte para um porto do PIC utilizando este software, tipo quero mover 0xFF para (D) e depois mover (D) para o (portb), isso é possivel? ainda não consegui encontrar uma instrução que poderia ser o (D)....sei que existe escolas técnicas que utilizam este programa, se alguem o conhece melhor e sabe de algumas manhas eu agradeço, pois eu já li o help inteiro do programa e não encontrei nenhum exemplo para isso, ou não entendi corretamente, mandei um e-mail para o autor do software mais até agora ele não me respondeu.

Offline Blackmore

  • CNCMASTER
  • ******
  • Posts: 1568
  • Sexo: Masculino
  • Profissão: Projetista Mecânico/Automação
Re: mover byte para o PIC com LDmicro
« Resposta #1 Online: 01 de Novembro de 2009, 13:48 »
P77

boa tarde.
Pelo que conheço da linguagem ladder ela é para programação de CLP´s (universal) onde imagino que para o nível de manipulação de bytes que tu quer não seja possível apenas pelos comandos Ladder.
Mas a matemática é uma caixinha doidimais, e se tu manipular matematicamente+comandos Ladder pode até conseguir, veja que teve um camarada aqui no fórum que disse ter conseguido controlar um LCD16x2 programando em Ladder, não acho que tecnicamente seja aceitável, mas didaticamente é bem interessante!
Espero que consiga seu objetivo, boa sorte.

abrax!

P77

  • Visitante
Re: mover byte para o PIC com LDmicro
« Resposta #2 Online: 01 de Novembro de 2009, 15:35 »
Boa tarde Blackmore, como você mesmo disse linguagem ladder é focada a programação de CLP's, e eu concordo, porém existem varios softwares que eu conheço e utilizo profissionalmente que fazem este tipo de função mesmo sendo programado em ladder, por exemplo o Mitsubishi GX Developer, uma vez que eu coloquei um byte na saida Y100, isso ira gerar uma sequência e todas as proximas 7 saidas como Y101,Y102...etc vão receber o byte de forma a setar as saidas de Y100 a Y107 conforme o byte, isso é claro falando de um PLC Mitsubishi, porém varios outros programas que conheço tambem fazem, e como eu vi que o LDmicro e bem completinho em relação a intruções mais utilizadas em PLC, acredito que exista alguma forma de fazer isso.

Jose Carlos Felix

  • Visitante
Re: mover byte para o PIC com LDmicro
« Resposta #3 Online: 01 de Novembro de 2009, 17:36 »
p77

  O LDMICRO não executa operação de bits, logo ja por ai não pode ser chamado de bem completo.

   mas é possivel transferir sim o registro executando instruções matemáticas simples
   
10/2=5
5*2=10
10>10 não-- bit 0 = 0

5/2 =2
2*2=4
5>4=sim--bit 1 = 1

2/2=1
2*1=2
2>2=não--bit 3 = 0 (não testado no exemplo abaixo)

   Veja só

                                                                           {PORTB_REG:=}
   \--------------------------------------------------------{10           MOV }  ; MOVE 10 PARA REGISTO PORTA B
   
    {PORTB_REG >=}                                         {DIV PORT_T := }
  \{2                     }---------------------------------{PORTB_REG / 2  } ;INICIA TESTE DO BIT 0

    {PORTB_REG >=}                                         {MUL PORT_T_T :=}
  \{2                     }---------------------------------{PORT_T * 2          } ;VERIFICA SE TEM RESTO DIVISÃO

    {PORTB_REG >=}   {PORTB_REG>}                                   yPORTB_0
  \{2                     }---{PORT_T_T       }---------------------------------( )        ;TEM RESTO DIVISÃO SET BIT 0

                                                                               {PORTB_REG:=}
   /------------------------------------------------------------{PORT_T   MOV} ;  INICIA TESTE BIT 1

  {PORTB_REG >=}                                         {DIV PORT_T :=     }
  \{2                     }---------------------------------{PORTB_REG / 2    } ;INICIA TESTE DO BIT 1

    {PORTB_REG >=}                                         {MUL PORT_T_T :=}
  \{2                     }---------------------------------{PORT_T * 2       } ;VERIFICA SE TEM RESTO DIVISÃO

    {PORTB_REG >=}   {PORTB_REG >}                                   yPORTB_1
  \{2                     }---{PORT_T_T       }---------------------------------( )        ;TEM RESTO DIVISÃO SET BIT 1

                                                                               {PORTB_REG:=}
   /------------------------------------------------------------{PORT_T   MOV} ;  INICIA TESTE BIT 2 E ASSIM POR DIANTE

Espero ter ajudado.

Abraços

Jose Carlos Felix

  • Visitante
Re: mover byte para o PIC com LDmicro
« Resposta #4 Online: 01 de Novembro de 2009, 17:51 »
P77

Tem que fazer uma implementação no final da comparação do bit e se o valor da divisão for igual a 2 o  segundo proximo bit tem que ser setado como no caso acima ficaria assim

10/2=5
5*2=10
10.10 não  bit 0 = 0

5/2 =2
2*2=2
5>2 sim bit 1 = 1

       Opa o resutado da divisão é 2 , seta o segundo bit a diante que no caso é o bit 4,
creio que vc conseguirá executar esta sequencia que é bem simples tambem.
se não conseguir eu posto depois pra vc como ficaria. blz

P77

  • Visitante
Re: mover byte para o PIC com LDmicro
« Resposta #5 Online: 01 de Novembro de 2009, 21:41 »
e ai Jc felix beleza, cara depois que o Blackmore fez seu comentário eu comecei a pensar em como eu faria isso, cara ficou muito bom sua lógica, vou começar a fazer no LDmicro, porém se você quiser postar toda a sequência seria bem legal, por hora obrigado.

P77

  • Visitante
Re: mover byte para o PIC com LDmicro
« Resposta #6 Online: 01 de Novembro de 2009, 22:50 »
JC felix comecei até que bem apartir do rb4 deu  zica!!! se você tiver o arquivo ladder do LDmicro me manda, obrigado.
« Última modificação: 02 de Novembro de 2009, 12:35 por P77 »

Jose Carlos Felix

  • Visitante
Re: mover byte para o PIC com LDmicro
« Resposta #7 Online: 02 de Novembro de 2009, 10:09 »
P77


Citar
JC felix comecei até que bem apartir do rb4 deu  zica!!! se você tiver o arquivo ladder do LDmicro me manda

     Meu objetivo era de mostrar que é possivel a conversão de word em bit de uma forma simples, convertendo o valor decimal em binario.
     Esperava que não fosse dificil pra vc, afinal esta é uma converção que exige pouco conhecimento e dedicação do programador.
    Realmente não acho que vale apena programar um Microconrolador com esse LDmicro. Já cai nessa robada .
   Seria muito mais facio em assembly
 

   PIC LINHA 16; MOVF  PORT_REG
                         MOVWF  PORTB, F ; só isso e pronto movido o valor de port_reg para a porta B

   PIC LINHA 18; MOVFF PORT_REG, PORTB ; mais facil ainda

       Sem contar que com o LDmicro vc tem que converter o arquivo em .ex e usar um programador que em varios casos é mais caro que um ICD2.



      Mas didaticamente falando vc pode, se tiver tempo, divertirs-se com o LDmicro.

      Espero que este arquivo possa te ajudar, não éra meu objetivo, esperava que vc chegasse lá sozinho.

      boa sorte!!!


     PS; (set o CONV no simulador do programa e coloque valores em PORT_R na primeira linha e veja o resultado das conversões, que estão apenas em 4 bits mas que pode ser mudada para quantos quiser. No caso do exemplo só da pra escrever um valor até 15, outros valores superiores podem ser transportados tambem mas terão apenas 4 bits de resposta pelo exemplo)

P77

  • Visitante
Re: mover byte para o PIC com LDmicro
« Resposta #8 Online: 02 de Novembro de 2009, 12:32 »
Jc felix me desculpe pelo incomo, não era minha intenção, entro "numas" viagens inuteis com microcontroladores e acabo me perdendo, infelismente não tenho tempo disponivel para estudar microcontroladores como eu gostaria, e também meu raciocinio lógico é  lento, mais eu pego com algum tempo o que eu quero entender, gostaria de entender assembly já li alguns tópicos e uma apostila mais não foram o suficiente....mais uma vez obrigado e me desculpe pelo seu tempo perdido.

Jose Carlos Felix

  • Visitante
Re: mover byte para o PIC com LDmicro
« Resposta #9 Online: 02 de Novembro de 2009, 15:12 »
P77

Descupe se te fiz achar que vc me fez perder tempo.
To aqui pra ajudar mesmo(dentro do possivel). É que achei que vc tava afim de tentar a solução de forma academica.
Não foi minha intenção te chatear com nada . Espero que vc possa tirar suas proprias conclusões com o LDMICRO. Como ja disse pra mim naum deu certo.
Se tiver duvidas e quiser ajuda não se preocupe em pedir. com tempo, e se tiver ao meu alcance eu ajudo com certeza.


   Um Grande Abraço. Bom trabalho.

P77

  • Visitante
Re: mover byte para o PIC com LDmicro
« Resposta #10 Online: 02 de Novembro de 2009, 22:46 »
OK, e mais uma vez obrigado..

Offline giovane

  • Novato
  • *
  • Posts: 1
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: caçador sc
  • Nome:: giovane
  • Profissão: tecnico eletroeletronico
Re:mover byte para o PIC com LDmicro
« Resposta #11 Online: 07 de Setembro de 2012, 11:56 »
pessoal preciso de ajuda,,primeiro quero alterar o valor do meu temporizador via teclas isto e nao quero ele com tempo fixo,,segundo como faço para escrever na segunda linha do display  tudo isto em ladder  obrigado

 

/** * */