microprocessor-based BMS