giagro Inserito: 30 settembre 2005 Segnala Inserito: 30 settembre 2005 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 16f648AMi 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,fdopo 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 0x71GRAZIE MILLE!!!
giagro Inserita: 30 settembre 2005 Autore Segnala Inserita: 30 settembre 2005 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!!!
giagro Inserita: 30 settembre 2005 Autore Segnala Inserita: 30 settembre 2005 ho risolto... scusate la domanda banale...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora