c -按下按钮时如何返回到初始屏幕?



我在LCD中有三个屏幕连接到8051微控制器,当按下按钮时滚动到不同的屏幕,但我想在再次按下按钮时返回到初始屏幕。我该怎么做呢,谢谢?

#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;       
} 
} 
}

您可以使用余数运算符%

的例子:

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

最新更新