Código correto CCS Compiler

Olá pessoal. Sou novato em programação e estou utilizando o CCS compiler para fazer meu código. Estou utilizando o PIC 16F877A e o port B para acionar dois botões. Quando aperto em sequência o pushbutton(B4), o LCD vai mudando o texto até que no ultimo pressionamento, ele retorna para o primeiro texto. Para isso utilizei um 'switch-case'. Necessito que quando apertar um outro botão(B5), aa numerações que constam abaixo dos respectivos textos sejam incrementadas em 10 unidades. Já tentei com 'if' entre os cases mas não está funcionando. Alguém poderia me dizer qual código devo escrever para que quando estiver em cada texto determinado, quando apertar o botão B5 em sequência, este vá incrementando em 10 unidades o contador abaixo do respectivo texto?
Abaixo consta o codigo que programei para rolar os textos sem a inclusão do B5 para fazer os incrementos em cada contador. Muito obrigado pela ajuda.
cpp code
Abaixo consta o codigo que programei para rolar os textos sem a inclusão do B5 para fazer os incrementos em cada contador. Muito obrigado pela ajuda.
cpp code
#include <button.c>
#include <LCD.C>
#define LCD_ENABLE_PIN PIN_D0
#define LCD_RS_PIN PIN_D1
#define LCD_RW_PIN PIN_D2
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#include <lcd.c>
#int_rb
int Cont;
INT1 SW1;
BOOLEAN ISPRESSED=FALSE; // Boolean logic=0;
// Declare variable
void main()
{
port_B_pullups(0xFF);
setup_adc_ports(AN0);
lcd_init();
lcd_init();
int8 cont;
cont = 0;
WHILE(true)
{
SW1=INPUT(PIN_B4); // Positive input
SET_ADC_CHANNEL(0); // INPUT AN0
DELAY_US(50);
IF (SW1 && !ISPRESSED)
{
DELAY_MS(10);
SW1=INPUT(PIN_B4);
{
ISPRESSED=TRUE;
{
{
switch(cont)
{
case 1:
lcd_putc("\f TEXTO1");
lcd_gotoxy(7,2);
lcd_putc("1000");
if (SW2)
break;
case 2:
lcd_putc("\f TEXTO2");
lcd_gotoxy(7,2);
lcd_putc("2500");
break;
case 3:
printf(lcd_putc,"\f");
lcd_gotoxy(2,1);
lcd_putc("TEXTO3");
lcd_gotoxy(7,2);
lcd_putc("15000");//mensagem e posicionamento no LCD
break;
}
cont++;
if(cont >= 4)
cont = 1;
}
delay_ms(50); // Required for button() function
}
}
}
}
IF(!SW1) // This line must be here
{
ISPRESSED=FALSE; // This line must be here
}
}
}
}
}