Trocar segundos por minutos segundos e milisegundos

Boa noite galera sou novo aqui no forum e estou com uma duvida no meu codigo
estou fazendo uma bomba fake para paintball e nao consigo alterar de segundos para minutos e segundos, esta como maxstep
alguem pode me ajudar?
Segue o codigo marcado onde preciso trocar o codigo

#include <LiquidCrystal.h>

LiquidCrystal lcd(13, 12, 11, 10, 9, 8 );
int state=0;
int wire[6] ={A0, A1, A2, A3, A4, A5};
int maxstep = 60;
int timestep = 1000;
int buz = (timestep/6);
int ACCELERATE1 = 1;
int ACCELERATE2 = 1;
int ACCELERATE4 = 1;
int ACCELERATE5 = 1;
unsigned long t, t0;
void setup() {
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print(" ABU R2criacoes ");
lcd.setCursor(0,1);
lcd.print(" BOMBA FAKE");
delay(5000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" AGUARDANDO");
Serial.begin(9600);
pinMode(2, INPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);

}

void loop() {
switch(state) {
case 0:
digitalWrite(7,HIGH);
if (digitalRead(2)) {
state = 1;
digitalWrite(6, HIGH);
lcd.home();
lcd.print(" ATIVANDO");
t = millis();
delay(5000);
}
break;
case 1:
digitalWrite(7, LOW);
if ((millis()-t)>=timestep){
maxstep--;
t = millis();
lcd.home();
lcd.print(" ***** ");
lcd.print(maxstep);
lcd.print(" *****");
tone(4,1000,buz);
delay(timestep*2);
}
if (maxstep<=0) {
digitalWrite(5, HIGH);
state = 3;
}
WireTest();
break;
case 2:
lcd.home();
lcd.print("");
lcd.print("Bomba Desarmada");
lcd.print("
");
state = 5;
break;
case 3:
lcd.home();
lcd.print("");
tone(4,1200,1000);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(2000);
lcd.home();
lcd.print(" Bomba");
tone(4,1200,1000);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(2000);
lcd.home();
lcd.print("");
tone(4,1200,1000);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(1000);
lcd.home();
lcd.print(" Detonada");
tone(4,1200,1000);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(1000);
lcd.home();
lcd.print("");
tone(4,1200,1000);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
delay(1000);
lcd.home();
lcd.print(" Fim de jogo");
tone(4,1200,1000);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(1000);
state=5;
break;
case 5:
maxstep = 900;
timestep = 1000;
buz=800;
ACCELERATE1 = 1;
ACCELERATE2 = 1;
ACCELERATE4 = 1;
ACCELERATE5 = 1;
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
state = 0;
break;

}

}

void WireTest(){
if (analogRead(A0)<100){
state = 2;
}
if ((analogRead(A1)<100)&&(ACCELERATE1==1)){
lcd.home();
lcd.print("");
timestep = timestep/2;
buz=buz/2;
ACCELERATE1++;
}
if ((analogRead(A2)<100)&&(ACCELERATE2==1)){
lcd.home();
lcd.print("");
timestep = timestep/2;
buz=buz/2;
ACCELERATE2++;
}
if (analogRead(A3)<100){
state = 3;
}
if ((analogRead(A4)<100)&&(ACCELERATE4==1)){
lcd.home();
lcd.print("");
timestep = timestep/2;
buz=buz/2;
ACCELERATE4++;
}
if ((analogRead(A5)<100)&&(ACCELERATE2==1)){
lcd.home();
lcd.print("");
timestep = timestep/2;
buz=buz/2;
ACCELERATE5++;
}
}

Indicaste uma linha... que pretendes que a gente faça para te ajudar?

esse projeto da bomba fake esta contando em segundos eu quero colocar em minutos, segundos e milisegundos eu marquei essa linha porque e nela que eu altero o tempo

int minutos = (int) segundos / 60; 
int segundos_display = segundos% 60;