Decodificar HT6P20B

Circuitos eletrônicos, topologias, diagramas elétricos, etc...

Moderadores: 51, Renie, gpenga

Mensagempor fabim » 14 Dez 2009 13:02

é, pode ser.. mimimi...
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!!!?

compilador

Mensagempor carneiro » 04 Fev 2010 04:09

ola. sou novo em microcontrolador. gostaria de saber qual compilador estao usando.
carneiro
 
Mensagens: 2
Registrado em: 02 Fev 2010 07:40
Localização: belo horizonte

poderiam me ajudar

Mensagempor carneiro » 06 Fev 2010 10:57

ola fabin. poderiam me exolicar o que possui aquela parte da rotina do delay no final do programa. fiz algumas modificaçoes e compilou.

Código: Selecionar todos
;ROTINA DE DELAY DE 500 MS

PDELAY       
PLOOP1  MOVLW     .232     
             MOVWF     PDELL1 
PLOOP2  NOP                               
PDELL1  GOTO       PDELL2         
PDELL2  GOTO       PDELL3         
PDELL3  NOP
            DECFSZ    PDELL1 
            GOTO       PLOOP2   
            DECFSZ    PDELL1
            GOTO       PDELL4   
PDELL4  GOTO      PDELL5         
PDELL5  GOTO      PDELL6         
PDELL6  GOTO      PDELL7         
PDELL7  NOP     
         
        RETURN   


deu:

MPLINK 4.31, Linker
Copyright (c) 2009 Microchip Technology Inc.
Errors : 0

Loaded C:\Documents and Settings\rodrigo\Desktop\teste\1.cof.
----------------------------------------------------------------------
Debug build of project `C:\Documents and Settings\rodrigo\Desktop\teste\1.mcp' succeeded.
Language tool versions: MPASMWIN.exe v5.31, mplink.exe v4.31
Preprocessor symbol `__DEBUG' is defined.
Sat Feb 06 11:51:54 2010
----------------------------------------------------------------------
BUILD SUCCEEDED



grato: rodrigo
carneiro
 
Mensagens: 2
Registrado em: 02 Fev 2010 07:40
Localização: belo horizonte

Mensagempor fabim » 06 Fev 2010 15:10

poisé rodrigo. mais porque compilou não quer dizer que funciona....
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 Diego_Oliveira » 26 Jul 2010 08:57

Bom dia

Seguinte, estou tentando testar este código postado por um amigo do forum mas não estou tento muito sucesso:

Um coisa que percebi era que o flag de interrupção externa não estave sendo limpo. Com isso toda a vez que se precionava o botão learn ele não ligava o led de indicação de aprendizagem de codigo e caso ficasse com ele precionado por um tempo maior ele iria piscar o led de indicação e voltar a ficar apagado.

Até ai tudo bem, comessei a limpar o flag de interrupção externa e o botão comessou a funcionar como o descrito pelo autor do codigo, ele ligava por +- 6 segundos esperando detectar um codigo valido caso encontre esse codigo valido ele grava na EEPROM interna.

Ai é que está o problema ele não recebe um codigo valido de forma alguma por exemplo :

Neste treço de codigo abaixo é onde ele verifica se pe para comparar com os dados da EEPROM ou para aprender o codigo valido recebido, porém creio que ele não esteja recebendo este codigo valido visto que coloquei comandos para ele acender um led toda a vez que passar por este treço do codigo, e no caso ele nunca passa por ai .

Código: Selecionar todos
RECEBEU_OK:
   BTFSS APRENDER  ; É PARA APRENDER ?
   GOTO COMPARA    ; N- COMPARA APENAS E TOMA A DECISÃO
   GOTO APRENDE    ; S- GRAVA NA EEPROM


Tambem coloquei uma indicação para saber se ele estava recebendo algum ruido ou se estava recebendo codigos errados e tal e notei que o led de indicação que coloquei sempre ficava ligado. o trecho onde coloquei a indicação de um led foi este :
Código: Selecionar todos
FIM_RC:
   BTFSS APRENDER
   GOTO  $+2
        GOTO  ESPERANDO     
   BSF   CHAVE
   GOTO  PP


Gostaria de ajuda pois não estou conseguindo detectar este problema.

Grato pela atenção.

Att

Diego Bittencourt de Oliveira


O codigo que estou tentando usar é este :

Código: Selecionar todos

    LIST P=12F629, R=HEX
    #INCLUDE <P12F629.INC>
   ERRORLEVEL -302

  __CONFIG   _CP_OFF & _BODEN_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_OFF & _INTRC_OSC_NOCLKOUT
; criado POR FABIO RICARDO DA SILVA
; PRO ENERGY SISTEMAS LTDA
; 06/06/2003 - 14:58 HRS
; LEITURA DE CÓDIGO/ APRENDISAGEM (GRAVAÇÃO E2PROM )
; ENCODER HT6P20B COM R/OSC DE 1,4 A 2,2 M-OHMS

; bt learn com pull up de 10K
;
;I/O defininições para PIC12F629
;                   +--------------------------------------------+
;VDD             -(01)-|VDD                                     VSS-|-(08)-  GND
;N/U          -(02)-|GP5/T1CKI/OSC1/CLKIN        GP0/CIN+/ICSPDAT|-(07)-  LED-LEARN
;OUT1             -(03)-|GP4/T1G-/OSC2/CLKOUT        GP1/CIN-/ICSPCLK|-(06)-  LEARN
;Reset            -(04)-|GP3/MCLR-/VPP             GP2/TOCKI/INT/COUT|-(05)-  RFin
;                 +--------------------------------------------+     
;%%%%%%%%%%%%%%%%%%%% PAGINAÇÃO DE BANCOS DE MEMÓRIA %%%%%%%%%%%%%%%%%%%%%%%%%%%%
#DEFINE BANK0 BCF STATUS, RP0
#DEFINE BANK1 BSF STATUS, RP0
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;***********************************************
;************  PROGRAMA INICIAL  ***************
;***********************************************
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PAGINAÇÃO DE VARIAVEIS %%%%%%%%%%%%%%%%%%%%%%%%%%
   CBLOCK     0X20
   CNTL     ;SINC DECODER LOW   
   CNTH    ;SINC DECODER HIG
   BTEMPO   ;CONTADOR DE TEMPO
   AUX2     ;CONTADOR TEMPO   
   AUX       ;CONTADOR TEMPO
   BYTE1    ;LSB  DADOS
   BYTE2   
   BYTE3    ;MSB  DADOS
   TEMP     ; VARIAVEL DO TEMPO DE ESPERA PARA APRENDIZAGEM
   DADO     ; PARA LEITURA E GRAVAÇÃO DA EEPROM
   AUXILIAR ; ENDEREÇO PARA LEITURA E GRAVAÇÃO
   NBITS    ;VARIAVEL DO N° DE BITS A SEREM LIDOS
   MAX      ;VARIAVEL DO N° MÁXIMO DE CONTROLES A GRAVAR NA MEMORIA
   FLAGS    ;SINALIZAÇÕES DE LÓGICA DO SISTEMA
   PDel0    ; VÁRIAVEL DELAY
   PDel1    ;VARIAVEL DELAY
   VAR      ;VARIAVEL DE TEMPORISAÇÃO DE GRAVAÇÃO OU APAGAR
   W_TEMP      ; WORKS TEMPORÁRIO PARA INTERRUPÇÃO
   STATUS_TEMP ; STATUS TEMPORÁRIO PARA INTERRUPÇÃO
   ENDC
;%%%%%%%%%%%%%%%%%%%%%%% CONSTANTES DO SISTEMA ENTRADAS E SAIDAS %%%%%%%%%%%%%%%   
     
#DEFINE LED    GPIO,0    ; LED INDICATIVO DE ROTINA DE GRAVAÇÃO
#DEFINE LEARN  GPIO,1   ; BOTÃO PARA APRENDISADO OU APAGAR MEMORIA
                  ; R DE 10K PULL-UP E CHAVE PULL-DOWN
#DEFINE RFin   GPIO,2    ; ENTRADA DO SINAL DIGITAL ( PINO 7 RECEPTOR )
#DEFINE OUT1   GPIO,4   ; SAÍDA DO RELÊ
;###############################################################################
#DEFINE CHAVE         INTCON, GIE  ; CHAVE GERAL DE INTERRUPÇÃO
#DEFINE APRENDER      FLAGS, 1     ;FLAG PARA INFORMAR SE É PARA APRENDER
#DEFINE B0_FLAG       FLAGS, 2     ;FLAG DE CONTROLE DA SAIDA DO RELÊ
#DEFINE TEMPO         INTCON, T0IE ; flag para ligar a interrupção TMR0
#DEFINE FOI_TEMPO     INTCON, T0IF  ; FLAG DE ESTOURO POR TMR0

;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
INICIAL EQU    0X01     ; ENDEREÇO INICIAL DE LEITURA E COMPARAÇÃO DA EEPROM
POS_MEM EQU    0X00     ; ENDEREÇO QUE INDICA A ULTIMA CASA GRAVADA NA EEPROM


;&&&&&&&&&&&&&&&&&&INICIALIZAÇÃO DA EEPROM &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
   ORG  H'2100'+POS_MEM
   DE     0X00
;%%%%%%%%%%%%%%%%%%% INICIO DE MEMÓRIA DE PROGRAMA %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    ORG  0X00
    GOTO INICIO
;%%%%%%%%%%%%%%%%%%% VETOR DE INTERRUPÇÃO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   ORG  0X04
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
; ROTINA DE LEITURA DE CÓDIGO DO RECEPTOR DE RF. QUANDO CHAMADA, FAZ A LEITURA DO ENCODER
; E COMPARAÇÃO COM EEPROM, LIGANDO OU DESLIGANDO O RELÊ.E SE O FLAG APRENDER ESTIVER LIGADO
;ELE CAI NA ROTINA DE MEMORIZAÇÃO DO CÓDIGO.
;*********************************************   
   BANK0                  ; HOUVE INTERRUPÇÃO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      BCF    CHAVE               ; DESLIGA chave global de interrupção
      BTFSS  FOI_TEMPO           ; FOI ESTOURO DE TMR0 ?
      GOTO   RECEIVE      ; NÃO ENTÃO É INT RB0
TIMER     
      BCF    FOI_TEMPO           ; SIM, !!! LIMPA FLAG TEMPO
      CLRF   TMR0               ; LIMPA VARIAVEL TMR0
      BCF    TEMPO               ; DESLIGA CHAVE DE INTERRUPÇÃO TMR0
      DECFSZ TEMP,F            ; DECREMENTA VARIAVEL DE TEMPO = 6.535s   
      GOTO   ESPERANDO           ; VAI PARA ESPERAR NOVA INTERRUPÇÃO
      GOTO   SAI_LEARN           ; VAI PARA SAIR DA APRENDISAGEM

ESPERANDO
      ;BCF    FOI_TEMPO
      BSF    TEMPO               ; LIGA CHAVE DE INTERRUPÇÃO DE TMR0
      BSF    CHAVE               ; LIGA CHAVE GERAL DE INTERRUPÇÃO
      NOP                        ; NÃO FAZ NADA
      GOTO   $-1                 ; LOOPING ESPERANDO INT TMR0 OU RB0

SAI_LEARN
      BTFSS  LEARN               ; O BOTÃO LEARN ESTA APERTADO
      GOTO   APAGA_TUDO          ; sim APAGA TODA A MEMORIA
      CLRF   VAR               ; não sai int   
      BCF    LED                 ; APAGA LED DE SINALIZAÇÃO DE ESTADO DE PROGRAMAÇÃO   
      BCF    APRENDER            ; LIMPA FLAG QUE INFORMA QUE É PARA APRENDER
      BCF    TEMPO               ; DESLIGA CHAVE DE TMR0
      BCF    FOI_TEMPO
      BSF    CHAVE               ; LIGA CHAVE GERAL DE INTERRUPÇÃO   
      GOTO   PP                  ; VAI PARA LOOPING PRINCIPAL
;*********************************************
RECEIVE:   ;SINCRONISMO
   MOVLW   .8 ; 4 MHZ / .16 ;8 MHZ             ;.4
   MOVWF   CNTH
   MOVLW   .200
   MOVWF   CNTL
   BTFSS   RFin  ; <<XXXXXXX estava com logica invertida. aff
   GOTO   FIM_RC
   DECFSZ   CNTL,F
   GOTO   $-3
   DECFSZ   CNTH,F
   GOTO   $-7
   
SINCRONISMO_OK
   MOVLW   018H         ;(24D)
   MOVWF   NBITS
   CLRF   BYTE1
   CLRF   BYTE2
   CLRF   BYTE3
   
   
   MOVLW   .8 ; 4 MHZ / .16 ;8 MHZ            ;.5
   MOVWF   CNTH
   MOVLW   .200
   MOVWF   CNTL
   BTFSC   RFin         ;Espera entrada ficar 1
   GOTO   LERBITBASE      ;
   DECFSZ   CNTL,F
   GOTO   $-3
   DECFSZ   CNTH,F
   GOTO   $-7
   GOTO   FIM_RC
   
LERBITBASE
   MOVLW   0x7F ; 4 MHZ  / 0X3D ;8 MHZ
   MOVWF   BTEMPO
   BTFSS   RFin         ;[2]
   GOTO   CALC_TBASE      ;[0]
   INCFSZ   BTEMPO,F      ;[1]
   GOTO   $-3             ;[2]
   GOTO   FIM_RC
   
CALC_TBASE
   MOVLW   0x7F ; 4 MHZ / 0X3D ;8 MHZ
   SUBWF   BTEMPO,F   ;Recupera Base de Tempo Bit Inteiro
   
AGUARDAR_LW
   CLRC
   RRF      BTEMPO,W      ;
   MOVWF   CNTL         ;
   MOVF   BTEMPO,W      ;
   MOVWF   CNTH         ;
   RLF      CNTH,W
   MOVWF   AUX2         ;AUX2=1/2 Te
   BCF      STATUS,C      ;
   RRF      BYTE3,F         ;
   RRF      BYTE2,F         ;
   RRF      BYTE1,F         ;
   
   BTFSS   RFin         ; [2]
   GOTO   RECEBENDO_BITS   ; [0]
   DECFSZ   AUX2,F         ; [1]
   GOTO   $-3            ; [2]
   GOTO   FIM_RC
   
RECEBENDO_BITS
   GOTO   DL1
D_DL1
   BTFSC   RFin
   GOTO    FIM_RC
   GOTO   DL2
D_DL2
   BCF      BYTE3,7
   BTFSS   RFin
   BSF      BYTE3,7
   GOTO   DL3
D_DL3
   BTFSS   RFin
   GOTO    FIM_RC
   DECFSZ   NBITS,F
   GOTO   AGUARDAR_LW
   GOTO    RECEBEU_OK

;|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DL1:
   DECFSZ   CNTL,F         ;[1]
   GOTO   $+2            ;[2]
   GOTO   $+2
   GOTO   $-3            ;[2]
   CLRC
   RRF      CNTH,W         ;
   MOVWF   CNTL         ;Meio bit
   GOTO    D_DL1
;|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DL2
   MOVFW   CNTH
   MOVWF   AUX
   DECFSZ   AUX,F         ;[1]
   GOTO   $+2            ;[2]
   GOTO    D_DL2
   GOTO   $-3            ;[2]
;***************************************************************
DL3
   MOVFW   CNTH
   MOVWF   AUX
   DECFSZ   AUX,F         ;[1]
   GOTO   $+2            ;[2]
   GOTO    D_DL3
   GOTO   $-3            ;[2]

;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
   ; ATÉ AQUI:
   ; Recebeu todos os 24 bits em Byte1,Byte2,Byte3
   ; Byte1=LSB
   ; Byte3=MSB
   ; Os botões do controle estarão nos bit's 6,7 do
   ; byte3
RECEBEU_OK:
   BTFSS APRENDER  ; É PARA APRENDER ?
   GOTO COMPARA    ; N- COMPARA APENAS E TOMA A DECISÃO
   GOTO APRENDE    ; S- GRAVA NA EEPROM
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
   ;NÃO RECEBEU NADA
   ;FOI ERRO DE LEITURA
   ;APENAS UM RUIDO
   ;OU O CODIGO NÃO É DO HT6P20B
FIM_RC:
   BTFSS APRENDER
   GOTO  $+2
        GOTO  ESPERANDO     
   BSF   CHAVE
   GOTO  PP

   

;$$$$$$$$$$$$$$ configurações dos sfr's do sistema $$$$$$$$$$$$$$$$$$$$$$$$$$$
INICIO
configuracoes:
    BANK1               ; banco 1
   MOVLW   B'00001110'     ;S = SAIDA / E= ENTRADA
   MOVWF   TRISIO          ;GPIO/0-S/1-E/2-E/3-E/4-S/5-S
      MOVLW    B'11000111'       
   MOVWF    OPTION_REG      ; desliga pull ups, INTERRUPÇÃO RB0 SUBIDA , PRESCALER 1/256
   MOVLW   B'10000000'
   MOVWF   OSCCAL          ;oscilador interno de 4 mhz -- ofset de 1/2 clock aprox 4mhz
   BANK0                   ; banco 0
   MOVLW    B'10010000'     
   MOVWF    INTCON         ; chave global de interrupção ligada
   MOVLW    B'00000111'   
   MOVWF    CMCON         ; desliga comparadores do porta
   CLRF    GPIO         ; coloca GPIO toda a 0
   CLRF     BYTE1           ; limpeza de variáveis
   CLRF     BYTE2
   CLRF     BYTE3
   CLRF    VAR
   CLRF    FLAGS
   

;$$$$$$$$$$$$$$$$$$$$$$$ looping principal $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$     
PP:
   BTFSS   LEARN
   GOTO    PP1
   GOTO    $-2
PP1
   BCF     CHAVE
        MOVLW   .100
   MOVWF   TEMP
   BSF     APRENDER
   BSF     LED
   BSF     TEMPO
   BSF     CHAVE
   NOP
   GOTO    $-1

APAGA_TUDO
   BCF     CHAVE
   BCF     APRENDER
   BCF     LED
   CALL    PDelay
   BSF     LED
   CALL    PDelay
   BCF     LED
   CLRF    VAR
   MOVLW   .90
   MOVWF   MAX
   MOVLW   0X00
   MOVWF   AUXILIAR
   MOVLW   0X00
   MOVWF   DADO
   CALL    GRAVA_E2PROM
APAGANDO
   INCF    AUXILIAR, F
   MOVLW   0XFF
   MOVWF   DADO
   CALL    GRAVA_E2PROM
   DECFSZ  MAX, F
   GOTO    APAGANDO
   BSF     LED
   CALL    PDelay
   BCF     LED
   CALL    PDelay
   BSF     INTCON, GIE
   GOTO    PP

;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;ROTINA DE APRENDIZADO DO CÓDIGO DO CONTROLE GRAVAÇÃO NA EEPROM   
APRENDE:
   MOVLW   0X00
   MOVWF   AUXILIAR
   CALL   LE_E2PROM
   MOVF    DADO,W
   MOVWF   AUXILIAR
   INCF    AUXILIAR, F
   MOVF    BYTE1, W
   MOVWF   DADO
   CALL    GRAVA_E2PROM
   INCF    AUXILIAR, F
   MOVF    BYTE2, W
   MOVWF   DADO
   CALL    GRAVA_E2PROM
   INCF    AUXILIAR, F
   MOVF    BYTE3, W
   MOVWF   DADO
   CALL    GRAVA_E2PROM
   MOVF    AUXILIAR, W
   MOVWF   DADO
   MOVLW   0X00
   MOVWF   AUXILIAR
   CALL    GRAVA_E2PROM
   BCF     APRENDER
   BCF     LED
   CALL    PDelay
   BSF     INTCON, GIE
   GOTO   PP
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
; ROTINA DE COMPARAÇÃO DO CÓDIGO RECEBIDO E COMPARAÇÃO COM A EEPROM
COMPARA:
   
   CLRF    AUXILIAR
   CLRF    MAX
   MOVLW   0X01
   MOVWF   AUXILIAR
   MOVLW   .90
   MOVWF   MAX

LENDO_E2PROM
   CALL    LE_E2PROM
   MOVF    DADO, W
   BCF     STATUS, Z
   XORWF   BYTE1, W
   BTFSS   STATUS, Z
   GOTO    OUTRO
   GOTO    COMP

OUTRO
   INCF    AUXILIAR, F
   DECFSZ  MAX, F
   GOTO    LENDO_E2PROM
   BSF     INTCON, GIE
   GOTO    PP
   
COMP
   INCF    AUXILIAR, F
   CALL    LE_E2PROM
   MOVF    DADO, W
   CLRZ
   XORWF   BYTE2, W
   BTFSS   STATUS, Z
   GOTO    OUTRO
   INCF    AUXILIAR, F
   CALL    LE_E2PROM
   MOVF    DADO, W
   CLRZ
   XORWF   BYTE3, W
   BTFSS   STATUS, Z
   GOTO    OUTRO
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;ROTINA DE EXECUÇÃO DOS BOTÕES CASO A COMPARAÇÃO COM EEPROM FOI OK
MAIN_LOOP
    BSF      OUT1
    CALL    PDelay
    BCF     OUT1
    BSF     CHAVE
    GOTO    PP


;B1_BT
;   BTFSC   B0_FLAG;
;   GOTO    BAIXO_1
;   GOTO    ALTO_1
;BAIXO_1;
;   BCF     B0_FLAG
;   BSF     OUT1
;   GOTO    FINAL
;ALTO_1
;   BSF     B0_FLAG
;   BCF     OUT1
;   GOTO    FINAL   
   


;FINAL
;      CALL    PDelay
;        BSF     CHAVE
;      GOTO   PP


;#####################################################################


;#####################################################################

;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;ROTINA DE GRAVAÇÃO DA EEPROM - CHAMADA COM ENDEREÇO EM AUXILIAR E DADO EM DADO

GRAVA_E2PROM
   MOVF    AUXILIAR, W   
   BANK1
   MOVWF   EEADR
   BANK0
   MOVF    DADO, W
   BANK1
   CLRF   EEDATA
   MOVWF   EEDATA
   BSF      EECON1,WREN
   MOVLW   0X55
   MOVWF   EECON2
   MOVLW   0XAA
   MOVWF   EECON2
   BSF      EECON1,WR
   BCF      EECON1,WREN
   BTFSC   EECON1,WRERR
   GOTO   $-9 ; GRAVA_E2PROM+4
   BTFSC   EECON1,WR
   GOTO   $-3
   BANK0
   RETURN
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;ROTINA DE LEITURA DA EEPROM - CHAMADA COM ENDEREÇO EM AUXILIAR E RETORNA COM DADO
;EN DADO
LE_E2PROM
   CLRF    DADO
   MOVF   AUXILIAR, W
   BANK1
   MOVWF   EEADR
   BSF      EECON1, RD
   NOP
   NOP
   MOVF   EEDATA, W
   BANK0
   MOVWF   DADO
   RETURN
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;ROTINA DE DELAY DE 500 MS
PDelay  movlw     .239     
        movwf     PDel0     
PLoop1  movlw     .232     
        movwf     PDel1     
PLoop2  NOP             
PDelL1  goto      PDelL2         
PDelL2  goto      PDelL3         
PDelL3  NOP             
        decfsz    PDel1, 1
        goto      PLoop2   
        decfsz    PDel0, 1
        goto      PLoop1   
PDelL4  goto      PDelL5         
PDelL5  goto      PDelL6         
PDelL6  goto      PDelL7         
PDelL7  NOP             
        return     
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
       END
Avatar do usuário
Diego_Oliveira
Nibble
 
Mensagens: 79
Registrado em: 05 Abr 2008 15:18
Localização: Rio Grande do Sul

Re: Decodificar HT6P20B

Mensagempor barão » 01 Mai 2013 08:43

Olá pessoal, se você esta cansando de blá-blá-blá nestes foruns, com muita gente falando que sabe mas não ensina, ai esta algo que o nosso amigo José Nei Assis disponibilizou e funciona. Bom uso!

Nome do arquivo: * Jn controle
; Data: 27/07/2011 *
; Versão do arquivo: 1.0.0 *
*;
, Autor: Josê Nei Assis *

, Autorizado Free!!!

Código: Selecionar todos
;;;;;;;;;;;;;;;;;;;;;;;;;;;;Manual de Instruções;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;   Ao ser energizado um LED acende por alguns segundos sinalizando que o sistema está em funcionamento.
;   Existe um botão localizado na placa que ao ser pressionado aguarda um sinal do
;controle remoto para realizar o aprendizado. Esse mesmo botão se pressionado e segurado
;realiza o apagamento da memória

versão / mantendo os leds acesos enquanto botão estiver pressionado sem pisca!!!
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


LIST P=16F84A, R=HEX
#INCLUDE <P16F84A.INC>

ERRORLEVEL -302

__CONFIG  _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC


;%%%%%%%%%%%%%%%%%%%% PAGINAÇÃO DE BANCOS DE MEMÓRIA %%%%%%%%%%%%%%%%%%%%%%%%%%%%
BANK0   MACRO
   BCF   STATUS,RP0
   BCF   STATUS,RP1
   ENDM

BANK1   MACRO
   BSF   STATUS,RP0
   BCF   STATUS,RP1
   ENDM

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;***********************************************
;************  PROGRAMA INICIAL  ***************
;***********************************************
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PAGINAÇÃO DE VARIAVEIS %%%%%%%%%%%%%%%%%%%%%%%%%%
   CBLOCK     0X0C

   CNTL     ;SINC DECODER LOW   
   CNTH    ;SINC DECODER HIG
   BTEMPO   ;CONTADOR DE TEMPO
   AUX2     ;CONTADOR TEMPO   
   AUX       ;CONTADOR TEMPO
   BYTE1    ;LSB  DADOS
   BYTE2   
   BYTE3    ;MSB  DADOS
   TEMP     ; VARIAVEL DO TEMPO DE ESPERA PARA APRENDIZAGEM 
   DADO     ; PARA LEITURA E GRAVAÇÃO DA EEPROM
   AUXILIAR ; ENDEREÇO PARA LEITURA E GRAVAÇÃO
   NBITS    ;VARIAVEL DO N° DE BITS A SEREM LIDOS
   MAX      ;VARIAVEL DO N° MÁXIMO DE CONTROLES A GRAVAR NA MEMORIA
   FLAGS    ;SINALIZAÇÕES DE LÓGICA DO SISTEMA
   PDel0    ; VÁRIAVEL DELAY
   PDel1    ;VARIAVEL DELAY
   VAR      ;VARIAVEL DE TEMPORISAÇÃO DE GRAVAÇÃO OU APAGAR
   W_TEMP      ; WORKS TEMPORÁRIO PARA INTERRUPÇÃO
   STATUS_TEMP ; STATUS TEMPORÁRIO PARA INTERRUPÇÃO
   
   
   TEMP2      ;Variável temporária
   cont1      ;Variável que controla se o botão está segurado
   cont2      ;Variável que controla se o botão está segurado
   
   ENDC
;%%%%%%%%%%%%%%%%%%%%%%% CONSTANTES DO SISTEMA ENTRADAS E SAIDAS %%%%%%%%%%%%%%%   
       
#DEFINE LED    PORTB,2    ; LED INDICATIVO DE ROTINA DE GRAVAÇÃO
#DEFINE BOTÃO  PORTB,1   ; BOTÃO PARA APRENDIZADO OU APAGAR MEMORIA
                         ; R DE 10K PULL-UP E CHAVE PULL-DOWN
#DEFINE RFin   PORTB,0    ; ENTRADA DO SINAL DIGITAL ( PINO 7 RECEPTOR )


#DEFINE RELE1 PORTA,0    ; SAÍDA PARA o RELÉ1
#DEFINE RELE2 PORTA,1    ; SAÍDA PARA o RELÉ2
#DEFINE RELE3 PORTA,2    ; SAÍDA PARA o RELÉ3
;###############################################################################
#DEFINE CHAVE         INTCON, GIE  ; CHAVE GERAL DE INTERRUPÇÃO
#DEFINE APRENDER      FLAGS, 1     ;FLAG PARA INFORMAR SE É PARA APRENDER
#DEFINE TEMPO         INTCON, T0IE ; flag para ligar a interrupção TMR0
#DEFINE FOI_TEMPO     INTCON, T0IF  ; FLAG DE ESTOURO POR TMR0
#DEFINE SINAL        INTCON, INTF  ; FLAG DE ESTOURO POR TMR0

;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
INICIAL EQU    0X01     ; ENDEREÇO INICIAL DE LEITURA E COMPARAÇÃO DA EEPROM
POS_MEM EQU    0X00     ; ENDEREÇO QUE INDICA A ULTIMA CASA GRAVADA NA EEPROM


;&&&&&&&&&&&&&&&&&&INICIALIZAÇÃO DA EEPROM &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
   ORG  H'2100'+POS_MEM
   DE     0X00
;%%%%%%%%%%%%%%%%%%% INICIO DE MEMÓRIA DE PROGRAMA %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    ORG  0X00
    GOTO INICIO
;%%%%%%%%%%%%%%%%%%% VETOR DE INTERRUPÇÃO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   ORG  0X04

     BANK0                  ; HOUVE INTERRUPÇÃO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   
        
      BCF    FOI_TEMPO           ; SIM, !!! LIMPA FLAG TEMPO
      CLRF   TMR0               ; LIMPA VARIAVEL TMR0
     
      
      DECFSZ TEMP,F            ; DECREMENTA VARIAVEL DE TEMPO = 6.535s   
      retfie         
     BCF    TEMPO     

      BTFSS  BOTÃO               ; O BOTÃO de aprendizado ainda permanece pressionado?
      GOTO   APAGA_TUDO          ; sim APAGA TODA A MEMORIA
   
SAI_INT                      ; não sai interrupção     
   clrf   VAR                  
    bcf    LED                 ; APAGA LED DE SINALIZAÇÃO DE ESTADO DE PROGRAMAÇÃO   
    bcf    APRENDER            ; LIMPA FLAG QUE INFORMA QUE É PARA APRENDER
    bcf    TEMPO               ; DESLIGA CHAVE DE TMR0
    bcf    FOI_TEMPO
   retfie            
;*********************************************

   
   

;$$$$$$$$$$$$$$ configurações dos sfr's do sistema $$$$$$$$$$$$$$$$$$$$$$$$$$$
INICIO
configuracoes:
   CLRF      PORTA
      CLRF      PORTB

   BANK1             
   CLRF   TRISA
   MOVLW   B'00000011'
   MOVWF   TRISB
    MOVLW   B'10000111'     
    MOVWF   OPTION_REG      ; desliga pull ups, INTERRUPÇÃO RB0 borda de descida , PRESCALER 1/256
    BANK0                   
   
   
   CLRF     BYTE1           ; limpeza de variáveis
   CLRF     BYTE2
   CLRF     BYTE3
   CLRF    VAR
   CLRF    FLAGS
   
   
   
   bsf   LED            ;Aguarda 3s com o LED aceso
   movlw   .6
   movwf   TEMP2
   call   PDelay
   decfsz   TEMP2
   goto   $-2
   bcf   LED

   
   bsf     CHAVE       ;Habilitação geral das interrupções

;$$$$$$$$$$$$$$$$$$$$$$$ looping principal $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$       
PRINCIPAL
   
   ;Aguarda mudança borda de descida em RB0, o que indica presença de sinal
   btfsc   SINAL       ;Sinal?
   goto   RECEIVE      ;Sim
                  ;Não
   
   ;Decrementa variáveis de controle dos relés
   decfsz   cont1
   goto   $+6
   decfsz   cont2
   goto   $+4
   bcf     RELE1   
   bcf     RELE2   
   bcf     RELE3

   
   btfss   BOTÃO        ;Botão de aprendizagem foi pressionado?
    GOTO    APRENDIZAGEM ;sim
                       ;não
      
   goto    PRINCIPAL
   
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;   

APRENDIZAGEM
   BTFSC   APRENDER   ;Entrou nessa subrotina anteriormente?
   goto    PRINCIPAL   ;SIM
                     ;NÃO
   MOVLW   .100
   MOVWF   TEMP
   CLRF      TMR0
   BCF     FOI_TEMPO   
   BSF     APRENDER     ;FLAG que informa que é para aprender
   BSF     LED
   BSF     TEMPO       ;Habilita a interrupção do TIMER0
   NOP
   GOTO    PRINCIPAL   ;Irá aguardar a presença de sinal ou o estouro do TIMER0



;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
; ROTINA DE LEITURA DE CÓDIGO DO RECEPTOR DE RF. QUANDO CHAMADA, FAZ A LEITURA DO ENCODER
; E COMPARAÇÃO COM EEPROM, LIGANDO OU DESLIGANDO O RELÉ.E SE O FLAG APRENDER ESTIVER LIGADO
; ELE CAI NA ROTINA DE MEMORIZAÇÃO DO CÓDIGO.
;*********************************************   

RECEIVE:      ;SINCRONISMO
   bcf        TEMPO            ; DESLIGA CHAVE DE TMR0
   bcf      INTCON,INTF

   MOVLW   .8       ; 4 MHZ / .16 ;8 MHZ         
   MOVWF   CNTH
   MOVLW   .200
   MOVWF   CNTL
   BTFSc   RFin 
   GOTO   FIM_RC
   DECFSZ   CNTL,F
   GOTO   $-3
   DECFSZ   CNTH,F
   GOTO   $-7
   

SINCRONISMO_OK
   MOVLW   018H         ;(24D)
   MOVWF   NBITS
   CLRF   BYTE1
   CLRF   BYTE2
   CLRF   BYTE3
   
   
   MOVLW   .8          ; 4 MHZ / .16 ;8 MHZ           
   MOVWF   CNTH
   MOVLW   .200
   MOVWF   CNTL
   BTFSC   RFin         ;Espera entrada ficar 1
   GOTO   LERBITBASE       
   DECFSZ   CNTL,F
   GOTO   $-3
   DECFSZ   CNTH,F
   GOTO   $-7
   GOTO   FIM_RC
   
LERBITBASE
   MOVLW   0x7F       ; 4 MHZ  / 0X3D ;8 MHZ
   MOVWF   BTEMPO
   BTFSS   RFin         ;[2]
   GOTO   CALC_TBASE      ;[0]
   INCFSZ   BTEMPO,F      ;[1]
   GOTO   $-3             ;[2]
   GOTO   FIM_RC
   
CALC_TBASE
    
   MOVLW   0x7F ; 4 MHZ / 0X3D ;8 MHZ
   SUBWF   BTEMPO,F   ;Recupera Base de Tempo Bit Inteiro
   
AGUARDAR_LW
   CLRC
   RRF      BTEMPO,W      ;
   MOVWF   CNTL         ;
   MOVF   BTEMPO,W      ;
   MOVWF   CNTH         ;
   RLF      CNTH,W
   MOVWF   AUX2         ;AUX2=1/2 Te
   BCF      STATUS,C      ;
   RRF      BYTE3,F         ;
   RRF      BYTE2,F         ;
   RRF      BYTE1,F         ;
   
   BTFSS   RFin         ; [2]
   GOTO   RECEBENDO_BITS   ; [0]
   DECFSZ   AUX2,F         ; [1]
   GOTO   $-3            ; [2]
   GOTO   FIM_RC
   
RECEBENDO_BITS
   GOTO   DL1
D_DL1
   BTFSC   RFin
   GOTO    FIM_RC
   GOTO   DL2
D_DL2
   BCF      BYTE3,7
   BTFSS   RFin
   BSF      BYTE3,7
   GOTO   DL3
D_DL3
   BTFSS   RFin
   GOTO    FIM_RC
   DECFSZ   NBITS,F
   GOTO   AGUARDAR_LW
   GOTO    RECEBEU_OK

;|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DL1:
   DECFSZ   CNTL,F         ;[1]
   GOTO   $+2            ;[2]
   GOTO   $+2
   GOTO   $-3            ;[2]
   CLRC
   RRF      CNTH,W         ;
   MOVWF   CNTL         ;Meio bit
   GOTO    D_DL1
;|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DL2
   MOVFW   CNTH
   MOVWF   AUX
   DECFSZ   AUX,F         ;[1]
   GOTO   $+2            ;[2]
   GOTO    D_DL2
   GOTO   $-3            ;[2]
;***************************************************************
DL3
   MOVFW   CNTH
   MOVWF   AUX
   DECFSZ   AUX,F         ;[1]
   GOTO   $+2            ;[2]
   GOTO    D_DL3
   GOTO   $-3            ;[2]

;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
   ; ATÉ AQUI:
   ; Recebeu todos os 24 bits em Byte1,Byte2,Byte3
   ; Byte1=LSB
   ; Byte3=MSB
   ; Os botões do controle estarão nos bit's 6,7 do
   ; byte3
RECEBEU_OK:
   BTFSS APRENDER  ; É PARA APRENDER ?
   GOTO COMPARA    ; N- COMPARA APENAS E TOMA A DECISÃO
   GOTO APRENDE    ; S- GRAVA NA EEPROM
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
   ;NÃO RECEBEU NADA
   ;FOI ERRO DE LEITURA
   ;APENAS UM RUIDO
   ;OU O CODIGO NÃO É DO HT6P20B
FIM_RC:
   btfsc    APRENDER 
   bsf        TEMPO               ; LIGA CHAVE DE INTERRUPÇÃO DE TMR0
   goto       PRINCIPAL       


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



APAGA_TUDO
   BCF     CHAVE
   BCF     APRENDER
   BCF     LED
   CALL    PDelay
   BSF     LED
   CALL    PDelay
   BCF     LED
   CLRF    VAR
   MOVLW   .90
   MOVWF   MAX
   MOVLW   0X00
   MOVWF   AUXILIAR
   MOVLW   0X00
   MOVWF   DADO
   CALL    GRAVA_E2PROM
APAGANDO
   INCF    AUXILIAR, F
   MOVLW   0XFF
   MOVWF   DADO
   CALL    GRAVA_E2PROM
   DECFSZ  MAX, F
   GOTO    APAGANDO
   BSF     LED
   CALL    PDelay
   BCF     LED
   CALL    PDelay
   GOTO    SAI_INT
   
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;ROTINA DE APRENDIZADO DO CÓDIGO DO CONTROLE GRAVAÇÃO NA EEPROM   
APRENDE:
   MOVLW   0X00
   MOVWF   AUXILIAR
   CALL   LE_E2PROM
   MOVF    DADO,W
   MOVWF   AUXILIAR
   INCF    AUXILIAR, F
   MOVF    BYTE1, W
   MOVWF   DADO
   CALL    GRAVA_E2PROM
   INCF    AUXILIAR, F
   MOVF    BYTE2, W
   MOVWF   DADO
   CALL    GRAVA_E2PROM
   INCF    AUXILIAR, F
   MOVF    BYTE3, W
   MOVWF   DADO
   CALL    GRAVA_E2PROM
   MOVF    AUXILIAR, W
   MOVWF   DADO
   MOVLW   0X00
   MOVWF   AUXILIAR
   CALL    GRAVA_E2PROM
   BCF     APRENDER
   BCF     LED
   CALL    PDelay
   GOTO   PRINCIPAL
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
; ROTINA DE COMPARAÇÃO DO CÓDIGO RECEBIDO E COMPARAÇÃO COM A EEPROM
COMPARA:
   
   CLRF    AUXILIAR
   CLRF    MAX
   MOVLW   0X01
   MOVWF   AUXILIAR
   MOVLW   .90
   MOVWF   MAX

LENDO_E2PROM
   CALL    LE_E2PROM
   MOVF    DADO, W
   BCF     STATUS, Z
   XORWF   BYTE1, W
   BTFSS   STATUS, Z
   GOTO    OUTRO
   GOTO    COMP

OUTRO
   INCF    AUXILIAR, F
   DECFSZ  MAX, F
   GOTO    LENDO_E2PROM
   GOTO    PRINCIPAL
   
COMP
   INCF    AUXILIAR, F
   CALL    LE_E2PROM
   MOVF    DADO, W
   CLRZ
   XORWF   BYTE2, W
   BTFSS   STATUS, Z
   GOTO    OUTRO
   INCF    AUXILIAR, F
   CALL    LE_E2PROM
   MOVF    DADO, W
   CLRZ
   XORWF   BYTE3, W
   BTFSS   STATUS, Z
   GOTO    OUTRO



;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;ROTINA DE EXECUÇÃO DOS BOTÕES CASO A COMPARAÇÃO COM EEPROM FOI OK

   movlw   b'11000000'
   andwf   BYTE3
   movlw   b'10000000'
   xorwf   BYTE3,w
   btfsc   STATUS,Z    ;O Botão pressionado foi o 1? (10)
   goto   botao1      ;sim
                  ;não

   
   movlw   b'01000000'   
   xorwf   BYTE3,w
   btfsc   STATUS,Z    ;00?
   goto   botao2      ;sim
                  ;não
   
   movlw   b'11000000'   
   xorwf   BYTE3,w
   btfsc   STATUS,Z    ;00?
   goto   botao3      ;sim
                  ;não   

    GOTO    PRINCIPAL       
   


botao1
   clrf   cont1
   movlw   .30
   movwf   cont2
   BSF     RELE1
    goto    PRINCIPAL     

botao2
   clrf   cont1
   movlw   .30
   movwf   cont2
   BSF     RELE2
    goto    PRINCIPAL     

botao3
   clrf   cont1
   movlw   .30
   movwf   cont2
   BSF     RELE3
    goto    PRINCIPAL     
   


;##############################################################################

;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;ROTINA DE GRAVAÇÃO DA EEPROM - CHAMADA COM ENDEREÇO EM AUXILIAR E DADO EM DADO

GRAVA_E2PROM
   MOVF    AUXILIAR, W   
   MOVWF   EEADR
   MOVF    DADO, W
   CLRF   EEDATA
   MOVWF   EEDATA
   BANK1
   BCF   EECON1,WRERR
   BSF      EECON1,WREN
   MOVLW   0X55
   MOVWF   EECON2
   MOVLW   0XAA
   MOVWF   EECON2
   BSF      EECON1,WR
   BCF      EECON1,WREN
   BTFSC   EECON1,WRERR
   GOTO   $-9 ; GRAVA_E2PROM+4
   BTFSC   EECON1,WR
   GOTO   $-3
   BANK0
   RETURN
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
;ROTINA DE LEITURA DA EEPROM - CHAMADA COM ENDEREÇO EM AUXILIAR E RETORNA COM DADO
;EM DADO
LE_E2PROM
   CLRF    DADO
   MOVF   AUXILIAR, W
   MOVWF   EEADR
   BANK1
   BSF      EECON1, RD
   NOP
   NOP
   BANK0
   MOVF   EEDATA, W
   MOVWF   DADO
   RETURN
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;ROTINA DE DELAY DE 500 MS
PDelay  movlw     .239     
        movwf     PDel0     
PLoop1  movlw     .232     
        movwf     PDel1     
PLoop2  NOP             
PDelL1  goto      PDelL2         
PDelL2  goto      PDelL3         
PDelL3  NOP             
        decfsz    PDel1, 1 
        goto      PLoop2   
        decfsz    PDel0, 1
        goto      PLoop1   
PDelL4  goto      PDelL5         
PDelL5  goto      PDelL6         
PDelL6  goto      PDelL7         
PDelL7  NOP             
        return     
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5

       

       END
barão
Bit
 
Mensagens: 6
Registrado em: 13 Nov 2011 18:22

Anterior

Voltar para Circuitos Diversos

Quem está online

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

x