
function delay() {
    buttons = gpio_port & BUTTON_BITS;
    if (buttons == BUTTON_UP) {
        // Up button pressed - speed up display frequency (i.e. reduce delay)
        if (delay > MIN_DELAY) delay -= DELAY_STEP;
    } else if (buttons == BUTTON_DOWN) {
        // Down button pressed - slow down display frequency (i.e. increase delay)
        if (delay < MAX_DELAY) delay += DELAY_STEP;
    } else {
       // Zero or multiple buttons pressed - do nothing.
    }

    count = delay;
    while (count > 0) {
        count--;
        do_microdelay();
    }
}
