Autor Tema: Receptor experimental mandos a distancia RC5  (Leído 2857 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado mmonterei

  • PIC10
  • *
  • Mensajes: 49
Receptor experimental mandos a distancia RC5
« en: 01 de Diciembre de 2005, 17:00:00 »
Buenas noches Foro.
Bueno, aquí pongo mi primer programa para que deis vuestra opinión y me indiquéis los posibles errores y lo que se podría mejorar.
Se trata de un lector de mandos a distancias RC5, en este programa solo pretendo comprender el concepto de lectura de este tipo de mandos. Las temporizaciones usadas en el no son las reales, las he usado solo para facilitar la depuración en el MPLAB. En estos mandos el estado se transmiten con un pulso bajo y otro alto para el bit 1 y al contrario para el bit 0,  el pulso de START esta compuesto de dos bit 1 consecutivos. Es la siguiente direccion se encuentra informacion sobre estos mandos.
http://www.xs4all.nl/~sbp/knowledge/ir/rc5.htm
En fin, espero vuestra opinión.

Saludos.

   LIST   P=16F84A
   include   "P16F84.INC"
   
contador                   EQU      0X0E
ONE      EQU      B"00000001"
ZERO      EQU      B"00000010"
bit_1      EQU      0X11
bite      EQU      0X12
bit      EQU      0X13
DATO      EQU      0X14

      org      0X00
      goto   inicio
   
      org      0x04
      nop

   
inicio      
   
      bsf   STATUS,5
      movlw   b"01000000"
      movwf   OPTION_REG
      movlw   b"00000001"
      movwf   TRISB
      movlw   b"00000000"
      movwf   TRISA
      bcf   STATUS,5
      movlw   b"00000000"
      movwf   INTCON   
      clrf   bit
      clrf   bite   
      clrf   bit_1


read      

      btfsc   PORTB,0
      goto   read
      call   timer_1
      btfsc   PORTB,0
      goto   read
      call   timer
      btfss   PORTB,0
      goto   read
      call   lee_bit
      btfss   bit_1,0
      goto   bad_data
      call   lee_bite
      movlw   DATO
      movwf   FSR
      movf   bite,w
      movwf   INDF
      movwf   PORTA
      CALL    lee_bite
      INCF   FSR+1,F
      MOVF   bite,W
      movwf   INDF
      movwf   PORTB
      goto   fin


lee_bit

      call   timer
      btfsc   PORTB,0
      bsf   STATUS,0
      rlf   bit,F
      call   timer
      btfsc   PORTB,0
      bsf   STATUS,0
      rlf   bit,F
      call   compare
      movwf   bit_1
      return


compare

      clrw
      movlw   ONE
      xorwf   bit,F
      btfsc   STATUS,2
      retlw   d"1"
      movlw   ZERO
      xorwf   bit,F   
      btfsc   STATUS,2
      retlw   d"0"
      goto   bad_data


lee_bite

      movlw   d"6"
      movwf   contador


loop

      call   lee_bit
      btfsc   bit_1,0
      bsf   STATUS,C
      rrf   bite,F
      decfsz   contador,F
      goto   loop
      return


bad_data

      clrf   bit
      clrf   bite   
      clrf   bit_1
      bcf   INTCON,2
      bcf   STATUS,0
      goto   read


timer_1
   
      movlw   d"120"      ;temporizacion de medio ciclo
      movwf   TMR0


timer      
               
      btfss   INTCON,2
      goto   timer
      movlw   d"240"      ;temporizacion de ciclo completo
      movwf   TMR0
      bcf   INTCON,2
      bcf   STATUS,0
      return   

   
fin   
   
      nop
      nop
      end
      



Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: Receptor experimental mandos a distancia RC5
« Respuesta #1 en: 21 de Diciembre de 2005, 10:20:00 »
Antes de leer o de intentar semejante código, no podrias subirlo como .zip?

O al menos tener la delicadeza de enmarcar el código usando los tags [ code ] y [ / code ] ?

Y por supuesto usando tabulaciones en lo preferente de 12 o 14 espacios para leer el código con mayor facilidad

Saludos

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado mmonterei

  • PIC10
  • *
  • Mensajes: 49
RE: Receptor experimental mandos a distancia RC5
« Respuesta #2 en: 22 de Diciembre de 2005, 06:13:00 »
Hola Maunix, la verdad es que empiezo en esto y no se exactamente que me quieres decir con lo de los [code]. Cuando escribi este mensaje me aparecia todo bien tabulado y al mostrarlo me aparece tal como lo ves y no se la causa.
Intentare averiguar como presentar correctamente los mensajes.
Un saludo


 

anything