findrew:
The variable analogIn0 is assigned the value of analogRead(A0) only once, but thereafter each time it is used it has a different value.
No it isn't, you are in a "while" loop:
void loop(void) { // picture loop
...
do {
analogIn0=analogRead(A0);
displayValueStr = String(analogIn0, DEC);
...
}
while( u8g.nextPage() );
delay(500);
}
Also the "loop" function gets called repeatedly.