Use the state machine model shown in BlinkWithoutDelay
unsigned long minInterval = 60000UL; // Interval for minutes in milliseconds
unsigned long secInterval = 1000UL; // Interval for seconds in milliseconds
unsigned long prevMinMillis = 0UL; // Holds the timestamp of the last time Minute() was called
unsigned long prevSecMillis = 0UL; // Holds the timestamp of the last time Second() was called
void setup()
{
lcd.begin(16, 2);
}
void loop()
{
unsigned long currentMillis = millis();
if (currentMillis - prevMinMillis > minInterval)
{
prevMinMillis = currentMillis;
Minute();
}
if (currentMillis - prevSecMillis > secInterval)
{
prevSecMillis = currentMillis;
Second();
}
}
With this example, Second() is called only when the difference between "now" and the last time it was called is greater than secInterval. Likewise for Minute().
[Note, the code above will not run as-is, but I assume you have initialized the LiquidCrystal library and assigned the pins as per your schematic.]