Si infatti, peccato per questo modulo aggiuntivo!
Quando avrò tempo e terminati i PIC16F648A cerco un PIC che non necessiti di tali adattatori.
Ti informo che il problema nel codice è stato risolto, ora il software sembra non avere più pecche!
Anche se voglio sottoporre il problema poiché molto strano (sicuramente colpa mia):
alcune delle variabili utilizzate nel "CALL LETTURA_TEMPERATURE" erano dichiarate nel banco 1 come segue:
- Codice: Seleziona tutto
BANCO0 UDATA 0x20
; UART BYTE TRASMISSIONE
T_TX_B00 RES 1 ;BYTE00: RPM FAN1
T_TX_B01 RES 1 ;BYTE01: RPM FAN2
T_TX_B02 RES 1 ;BYTE02: RPM FAN3
T_TX_B03 RES 1 ;BYTE03: RPM FAN4
T_TX_B04 RES 1 ;BYTE04: RPM FAN5
T_TX_B05 RES 1 ;BYTE05: FEEDBACK PWM FAN1
.........
ecc ecc........
.........
BANCO1 UDATA 0xA0
; DS18S20+ CODICE ID DELLA SONDA SELEZIONATA DA LEGGERE
DS18_CODICE_BYTE1 RES 1 ;BYTE1 CODICE ID 64BIT ATTUALMENTE SELEZIONATO
DS18_CODICE_BYTE2 RES 1 ;BYTE2 CODICE ID 64BIT ATTUALMENTE SELEZIONATO
DS18_CODICE_BYTE3 RES 1 ;BYTE3 CODICE ID 64BIT ATTUALMENTE SELEZIONATO
DS18_CODICE_BYTE7 RES 1 ;BYTE7 CODICE ID 64BIT ATTUALMENTE SELEZIONATO
Queste variabili esistono perché leggo contemporaneamente la temperatura da 6 sonde diverse (che ho denominato A, B, C, D, E, F), quindi ogni volta richiedo la temperatura ad una singola sonda... nel caso di seguito la sonda "C".
Nel codice le seguenti variabili, trovandosi nel banco 1, le utilizzavo spostandomi di banco con i seguenti comandi (che credo giusti, correggetemi se sbaglio):
- Codice: Seleziona tutto
BSF STATUS,RP0
MOVF DS18_C_CODICE_BYTE1,W
MOVWF DS18_CODICE_BYTE1
MOVF DS18_C_CODICE_BYTE2,W
MOVWF DS18_CODICE_BYTE2
MOVF DS18_C_CODICE_BYTE3,W
MOVWF DS18_CODICE_BYTE3
MOVF DS18_C_CODICE_BYTE7,W
MOVWF DS18_CODICE_BYTE7
BCF STATUS,RP0
CALL DS18S20_LETTURA_TEMPERATURA
.........
ecc ecc........
Ora penso sia chiaro che ho semplicemente spostato le variabili nel BANCO0, rimosso i BSF e BCF del STATUS,RP0 e tutto funziona perfettamente!

perché
Spero più di trovare una risposta al problema visto che il giorno che ho necessità di utilizzare variabili sul banco 1 non ne sarei in grado. Grazie!