LCD display with interrupt

Hello to everyone,
I am new to Arduino and I'm trying as a first project to create a weather station.
The idea is that every hour I get measurements from a DHT11 and I memorize the Tmax and Tmin.
The rest of the time, the arduino is in sleep mode . I managed thanks to some tutorials to wake up my arduino every hour with an external interrupt generated from a RTC. But I want to create another interuption (from a push button this time) that displays on a LCD the measurements .
I've read that when using interrupts it's impossible to use delay() and the function called has to be the smallest possible.
How can I display for about 30 secondes my LCD screen with an interrupt ? Knowing that I have to use delay() to get my LCD scrolling.

Thank you for your replies !


Since you haven’t provided your code, I can only provide a general answer.

Presumably, the code that puts the processor to sleep is somewhere in the loop() function. So, when an interrupt fires, the ISR will run and then return to the location in loop() following this location. So, if your ISRs set a (volatile) global variable to indicate which interrupt occurred (RTC or push button), then the loop() function can act accordingly before going back to sleep.

And, you don’t need delay() for LCD scrolling. Learn how to do it with millis() timing.

Non-blocking timing tutorials:
Several things at a time.
Beginner's guide to millis().
Blink without delay().

Thank you I've managed to do it using a volatile variable!