I have three screens in the LCD connected to the 8051-microcontroller that scroll to the different screen when the button is pressed but I want to return back to the initial screen when again button is pressed. How can I do that, thank you?
#include <stdio.h>
#include <string.h>
#include <stdint.h>
void change_screen(void);
int count = 0;
void change_screen(void)
{
if (modebutton == 1) { // when button is pressed
if (count == 0) {
count ;
delay(100);
display_screen1();
modebutton=0;
}
else if (count == 1) {
count ;
delay(100);
display_screen2();
modebutton=0;
}
else if (count == 2) {
display_screen3();
count = 0;
}
}
}
CodePudding user response:
You can use the remainder operator %
for this.
Example:
void change_screen(void) {
static unsigned count = 0;
if(modebutton) {
delay(100);
modebutton = 0;
switch(count) {
case 0: display_screen1(); break; // first fourth ...
case 1: display_screen2(); break; // second fifth
case 2: display_screen3(); break; // third sixth
}
count = (count 1) % 3; // 0,1,2 then 0,1,2 etc...
}
}