Holtek Encoder HT6P20


Closed Thread
Results 1 to 22 of 22

Hybrid View

  1. #1
    Join Date
    Jul 2005
    Posts
    6

    Default Holtek Encoder HT6P20

    Hello for everybody.

    My name is Carlos, and I writing from Brazil.
    This is my first time in this forum, and I would like to anticipate my excuses for my poor English.

    Well, my problem is:
    How can I decode the HT6P20B of efficient form with PBP?

    Certain time, I used the code below to decode the HT12E, but this code is very slow and not very efficient, and the HT6P20B has more code bits that the HT12E .




    '------------
    'Variables

    IRCONT VAR BYTE
    BITVALUE VAR BYTE
    DEVICECODE VAR BYTE
    DEVICEDATA VAR BYTE
    IRIN VAR PORTA.1


    '------------------
    LEIR:

    DEVICECODE = 0
    DEVICEDATA = 0

    BITVALUE = 0
    PULSIN IRIN,0,BITVALUE

    IF BITVALUE > 150 THEN

    BITVALUE = 0
    PULSIN IRIN,1,BITVALUE
    GOSUB TESTABIT
    DEVICECODE.7 = BITVALUE

    BITVALUE = 0
    PULSIN IRIN,1,BITVALUE
    GOSUB TESTABIT
    DEVICECODE.6 = BITVALUE

    BITVALUE = 0
    PULSIN IRIN,1,BITVALUE
    GOSUB TESTABIT
    DEVICECODE.5 = BITVALUE

    BITVALUE = 0
    PULSIN IRIN,1,BITVALUE
    GOSUB TESTABIT
    DEVICECODE.4 = BITVALUE

    BITVALUE = 0
    PULSIN IRIN,1,BITVALUE
    GOSUB TESTABIT
    DEVICECODE.3 = BITVALUE

    BITVALUE = 0
    PULSIN IRIN,1,BITVALUE
    GOSUB TESTABIT
    DEVICECODE.2 = BITVALUE

    BITVALUE = 0
    PULSIN IRIN,1,BITVALUE
    GOSUB TESTABIT
    DEVICECODE.1 = BITVALUE

    BITVALUE = 0
    PULSIN IRIN,1,BITVALUE
    GOSUB TESTABIT
    DEVICECODE.0 = BITVALUE

    BITVALUE = 0
    PULSIN IRIN,1,BITVALUE
    GOSUB TESTABIT
    DEVICEDATA.0 = BITVALUE

    BITVALUE = 0
    PULSIN IRIN,1,BITVALUE
    GOSUB TESTABIT
    DEVICEDATA.1 = BITVALUE

    BITVALUE = 0
    PULSIN IRIN,1,BITVALUE
    GOSUB TESTABIT
    DEVICEDATA.2 = BITVALUE

    BITVALUE = 0
    PULSIN IRIN,1,BITVALUE
    GOSUB TESTABIT
    DEVICEDATA.3 = BITVALUE

    ENDIF

    RETURN

    '-------------
    TESTABIT:

    IF BITVALUE > 60 THEN
    BITVALUE = 0
    ELSE
    BITVALUE = 1
    ENDIF

    RETURN
    '--------------


    Thank you, and again, sorry for my english.

    Carlos
    Last edited by picdev; - 25th July 2005 at 23:03.

  2. #2
    Join Date
    Jul 2005
    Posts
    6


    Did you find this post helpful? Yes | No

    Thumbs up Ht6p20b

    Hello....
    If someone have interest in HT6P20B decoding, feel free to use the code below.
    Is ugly to see, but works fine.
    And if someone help me to let this code more short and clean, antecipately thanks.

    Carlos W. Rett

    ________________________________________________
    INCLUDE "BS2DEFS.BAS"
    DEFINE CHAR_PACING 1000 'Serout character pacing in us
    DEFINE PULSIN_MAX 6200
    DEFINE OSC 20 'Oscilator Speed

    ADCON1 = 7 ' Set PORTA and PORTE to digital

    ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    'Define nome de variáveis

    BITVALUE VAR WORD
    ADDRESS VAR WORD
    CODE VAR BYTE
    BTRES VAR BIT
    IRIN1 VAR PORTA.0
    SERPC VAR PORTA.1

    pause 100
    CLEAR 'Clear All Variables

    ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    'Port Adjust

    TRISA = %11111101 'PortA Adjusted .

    SEROUT2 SERPC,16390,["--Program initialized--",13,10] 'SERIAL Speed = 38400

    Start:
    CLEAR
    PULSIN IRIN1,0,BITVALUE
    IF (BITVALUE > 5400) and (bitvalue < 6100) THEN
    Goto LEDADOS
    else
    goto Start
    endif


    LEDADOS:
    GOSUB TESTABIT
    ADDRESS.15 = BTRES
    GOSUB TESTABIT
    ADDRESS.14 = BTRES
    GOSUB TESTABIT
    ADDRESS.13 = BTRES
    GOSUB TESTABIT
    ADDRESS.12 = BTRES
    GOSUB TESTABIT
    ADDRESS.11 = BTRES
    GOSUB TESTABIT
    ADDRESS.10 = BTRES
    GOSUB TESTABIT
    ADDRESS.9 = BTRES
    GOSUB TESTABIT
    ADDRESS.8 = BTRES
    GOSUB TESTABIT
    ADDRESS.7 = BTRES
    GOSUB TESTABIT
    ADDRESS.6 = BTRES
    GOSUB TESTABIT
    ADDRESS.5 = BTRES
    GOSUB TESTABIT
    ADDRESS.4 = BTRES
    GOSUB TESTABIT
    ADDRESS.3 = BTRES
    GOSUB TESTABIT
    ADDRESS.2 = BTRES
    GOSUB TESTABIT
    ADDRESS.1 = BTRES
    GOSUB TESTABIT
    ADDRESS.0 = BTRES
    GOSUB TESTABIT
    CODE.7 = BTRES
    GOSUB TESTABIT
    CODE.6 = BTRES
    GOSUB TESTABIT
    CODE.5 = BTRES
    GOSUB TESTABIT
    CODE.4 = BTRES
    GOSUB TESTABIT
    CODE.3 = BTRES
    GOSUB TESTABIT
    CODE.2 = BTRES
    GOSUB TESTABIT
    CODE.1 = BTRES
    GOSUB TESTABIT
    CODE.0 = BTRES
    GOSUB TESTABIT

    SEROUT2 SERPC,16390,["Address= ",BIN16 ADDRESS," Code = ",BIN8 CODE,13,10]
    GOTO Start



    TESTABIT:
    BITVALUE = 0
    PULSIN IRIN1, 1, BITVALUE
    IF (BITVALUE < 200) OR (BITVALUE > 600) THEN
    SEROUT2 SERPC,16390,["Interrupted Code or Garbage ",13,10]
    GOTO Start
    ENDIF
    IF BITVALUE < 400 THEN
    Btres = 1
    ELSE
    Btres = 0
    ENDIF
    RETURN

    End

  3. #3
    leko's Avatar
    leko Guest


    Did you find this post helpful? Yes | No

    Lightbulb ht6p20b

    Hi Carlos!! You know the manchester code!!Some small alterations based on the examples of manchester code can be useful!

    Você conhece o codigo manchester? Algumas pequenas alterações baseadas nos exemplos do codigo manchester podem ser interessantes!Vc ja olhou os exemplos para codificacao manchester!! No codigo da Melaine me parece que ela monta os dados seriais. Olhei muito rápido!! Qualquer coisa me manda um email [email protected]

    http://www.picbasic.co.uk/forum/show...ght=Manchester

  4. #4


    Did you find this post helpful? Yes | No

    Red face

    Hi Carlos,

    Utilizei o seu código para decodificar o sinal enviado por um sensor de presença sem fio que utiliza o padrão 6p20b. O código compilou direitinho mas não consegui a decodificação do sinal. O meu receptor de RF está recebendo o sinal mas não consigo decodificá-lo. O que será que pode estar acontecendo?

  5. #5
    Join Date
    Jul 2005
    Posts
    6


    Did you find this post helpful? Yes | No

    Lightbulb 6p20b

    Olá MARCANTONIO,

    Especifique melhor o seu projeto para que eu possa entender o que pode estar acontecendo, como o tipo de PIC utilizado, se está utilizando Display, o tipo de receptor, e poste a sua rotina ou parte dela para que eu possa estar dando uma olhada.

    Já adiantando, você pode olhar algumas coisinha básicas, como a configuração correta das portas do PIC, se estão definidas como entrada ou saída corretamente, se estão setadas como entrada/saída DIGITAL e não analógica, se você está usando a saída digital do seu receptor de RF e não a analógica, se as variáveis de programa estão com o tamanho correto (Byte,Word, Bit) etc.

    Espero que tenha sucesso, depois poste aqui os resultados.

    [ ]s
    C.W.Rett
    Last edited by picdev; - 10th June 2007 at 18:32.

  6. #6


    Did you find this post helpful? Yes | No

    Default

    Hi Carlos,

    Estou utilizando o seu código com quase nenhuma alteração. As alterações que fiz foram basicamente na apresentação dos dados via LCD. O PIC utilizado é um 16f877 - 20MHz, conforme você tinha sugerido.
    O meu receptor de rf é este comercializado na Tato
    http://www.tato.ind.br/files/RxD1.pdf

    Estou pretendendo decoficar os sinais enviados via RF para sistemas de alarme sem fio. Se pelo menos eu conseguisse fazer a decodificação já seria de grande ajuda pois era só ir adaptando o código.
    Você conseguiu fazer a decodificação do ht6p20B com o exemplo acima? Como os dados eram apresentados? Você teria mais alguma dica ou exemplo?

    Você pode entrar em contato direto comigo pelo e-mail abaixo

    [email protected]

    Um grande abraço.

Similar Threads

  1. Quadrature encoder and ASM Interrupts. questions..
    By godfodder in forum mel PIC BASIC Pro
    Replies: 10
    Last Post: - 17th March 2013, 15:45
  2. Instant Int and encoder (Elect. Gearing)
    By boroko in forum mel PIC BASIC Pro
    Replies: 13
    Last Post: - 29th November 2009, 03:29
  3. encoder HEDL 5540
    By kutsi in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 11th June 2007, 15:00
  4. Holtek - HT6012 Encoder
    By ero in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 9th March 2006, 14:02
  5. encoder wowes
    By wallaby in forum mel PIC BASIC Pro
    Replies: 16
    Last Post: - 6th December 2005, 22:56

Members who have read this thread : 1

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts