SDA VAR PORTC.6 'SDA DEL PWM SCL VAR PORTC.7 'SCL DEL PWM PWM_R VAR BYTE 'REGISTRO 5 BIT DEL ROSSO PWM_G VAR BYTE 'REGISTRO 5 BIT DEL VERDE PWM_B VAR BYTE 'REGISTRO 5 BIT DEL BLU LED_R CON %01010000 'INDIRIZZO PWM GENERATOR ROSSO LED_G CON %01011100 'INDIRIZZO PWM GENERATOR VERDE LED_B CON %01011110 'INDIRIZZO PWM GENERATOR BLU PWM_ON CON %10000000 'VALORE DI OFF PER PWM GENERATOR MASK_5BIT CON %00011111 'MASCHERA I BIT 7,6,5 '---------------------------------------------------------------------------- I2CWRITE SDA, SCL, LED_R, [PWM_ON] 'INIZIALIZZO IL PWM ROSSO I2CWRITE SDA, SCL, LED_R, [0] I2CWRITE SDA, SCL, LED_G, [PWM_ON] 'INIZIALIZZO IL PWM VERDE I2CWRITE SDA, SCL, LED_G, [0] I2CWRITE SDA, SCL, LED_B, [PWM_ON] 'INIZIALIZZO IL PWM BLU I2CWRITE SDA, SCL, LED_B, [0] '---------------------------------------------------------------------------- '---------------------------------------------------------------------------- MAIN: PAUSE 250 '250 MILLISECONDI DI PAUSA PWM_R = PWM_R + 1 'INCREMENTO LA VARIABILE DEL ROSSO 'SOLO PER PURO ESEMPIO... GOSUB PWM_I2CBUS 'GESTIONE DEI TRE PWM GENERATORS GOTO MAIN 'LOOPING INFINITO END '---------------------------------------------------------------------------- '---------------------------------------------------------------------------- '---------------------------------------------------------------------------- PWM_I2CBUS: 'INVIA I DATI AI TRE PWM GENERATORS '--------------------- PWM_R = (PWM_R & MASK_5BIT) I2CWRITE SDA, SCL, LED_R, [PWM_R] 'SCRIVE IL VALORE PER IL ROSSO PWM_G = (PWM_G & MASK_5BIT) I2CWRITE SDA, SCL, LED_G, [PWM_G] 'SCRIVE IL VALORE PER IL VERDE PWM_B = (PWM_B & MASK_5BIT) I2CWRITE SDA, SCL, LED_B, [PWM_B] 'SCRIVE IL VALORE PER IL BLU RETURN '----------------------------------------------------------------------------