Home > database >  How to return back to the initial screen when button is pressed?
How to return back to the initial screen when button is pressed?

Time:10-28

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...
    }
}
  • Related