Vai al contenuto
PLC Forum


Protocollo Rc5


giagro

Messaggi consigliati

Finalmente son riuscito a scrivere un codice che mi fa funzionare il mio telecomando universale per utilizzarlo nel modo voluto.

Il pic che utilizzo è il pic16f628 o 16f648A

Mi spiegate solo una cosa riguardo a queste pochissime righe???

clrf data1 ; data1=0

clrf data2 ; data2=0

movlw 13 ; 13 bits da catturare

movwf Loop3 ;

call Tempo888 ;si posiziona a 1/4 del 2° Bit

nextbit

rlf data1,f

rlf data2,f

bcf data1, 0

btfsc PORTB,0

bsf data1, 0

decfsz Loop3,f

goto nextbit

;recupero dei 5 bit dell'address e 6 bit del command

movfw data1 ; recupero 6 bit del COMMAND

andlw b'00111111'

movwf RC5_DATA

rlf data1,f

rlf data2,f

rlf data1,f

rlf data2,f

movfw data2

andlw b'00011111'

movwf RC5_ADR

clrf RC5_CTRL

btfss data2, 5

bsf RC5_CTRL, 0

________________________________________________________

Quando faccio per ben 13 volte (n° di bit ancora da acquisire )

: rlf data1,f

rlf data2,f

dopo l'ottavo ciclo il bit piu significativo di data1 va a finire nel 1° bit di data2 come se fossero 2 byte in serie????

Vi prego rispondete a questa domanda,è importante!!!

Li ho dichiarati così:

data1 EQU 0x70

data2 EQU 0x71

GRAZIE MILLE!!!

Link al commento
Condividi su altri siti


inoltre:

l'istruzione movfw data1; cosa fa?

mette il contenuto di data1 in W? Lo chiedo perchè nel data sheet del pic16f628 non esiste questa istruzione ma io l'ho trovata spesso!!!

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...