Vai al contenuto
PLC Forum


Protocollo Rc5


Messaggi consigliati

Inserito:

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!!!


Inserita:

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!!!

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...