cambiar mensaje en lcd al presionar pulsador

#1
hola amigos, estoy traando de hacer un programa que al presionar un pulsador que esta en RB0 encienda un led y muestre un mensaje por lcd "led encendido" y cuando vuelva a pulsar se apague el led y muestre por lcd "led apagado", aqui les dejo el codigo


If (input (PIN_B0)) { // verifica si RB0 es uno
output_toggle(PIN_A1) // ON/OFF al led
delay_ms(500);
}

mi pregunta es si existe una instruccion en CCS que me permita cambiar el mensaje en el lcd.
se presiono pulsador? mostrar por LCD "LED encendido"
se volvio a presionar pulsador? mostrar por LCD "led apagado"
 
#2
Hola...
Algo así y funciona:

Código:
void main()
{
   
   set_tris_b(1);  
   lcd_init();
   
   while(TRUE){
      while(!input(PIN_B0));           // Espera al pulsador
      output_toggle(PIN_B1);         // Cambia de estado al LED
      if(input(PIN_B1)){
         lcd_gotoxy(1,1);
         lcd_putc(" LED  Encendido ");
      }
      else{
         lcd_gotoxy(1,1);
         lcd_putc("  LED  Apagado  ");
      }
      while(input(PIN_B0));
      delay_ms(50);              // Anti debounce
   }
}
Lo quieres muy fácil jeje, instrucciones personalizadas no tiene el CCS... claro que hay varias pero sobre LCD no, igual revisa el Help del CCS ahí está todo.

Me avisas si tienes alguna duda.
 
#4
Se me olvido decirte que sin esta línea
#use fast_io(b) en las declaraciones,
el código que puse no funciona.

Al poner esa línea ya puede leer y escribir el mismo pin para determinar
la acción.
 
Arriba