51单片机与独立按键与lcd1602

要用2个按键控制独立显示1,2行,怎么改
附程序:

#include 
#include 

#define out P0

sbit RS = P3^0;
sbit RW = P3^1;
sbit E = P3^2;
sbit S1 = P1^0;
sbit S2 = P1^1;

void lcd_w_cmd(unsigned char com);
void lcd_w_dat(unsigned char dat);
unsigned char lcd_r_start();
void lcd_int();
void delay(unsigned int i);
void delay1();

void word()
{
lcd_w_cmd(0x80);
lcd_w_dat('h');
lcd_w_cmd(0x81);
lcd_w_dat('e');
lcd_w_cmd(0x82);
lcd_w_dat('l');
lcd_w_cmd(0x83);
lcd_w_dat('l');
lcd_w_cmd(0x84);
lcd_w_dat('o');
lcd_w_cmd(0x86);
lcd_w_dat('w');
lcd_w_cmd(0x87);
lcd_w_dat('o');
lcd_w_cmd(0x88);
lcd_w_dat('r');
lcd_w_cmd(0x89);
lcd_w_dat('l');
lcd_w_cmd(0x8A);
lcd_w_dat('d');
}

void number()
{
lcd_w_cmd(0xc0);
lcd_w_dat('0');
lcd_w_cmd(0xc1);
lcd_w_dat('1');
lcd_w_cmd(0xc2);
lcd_w_dat('2');
lcd_w_cmd(0xc3);
lcd_w_dat('3');
lcd_w_cmd(0xc4);
lcd_w_dat('4');
lcd_w_cmd(0xc5);
lcd_w_dat('5');
lcd_w_cmd(0xc6);
lcd_w_dat('6');
lcd_w_cmd(0xc7);
lcd_w_dat('7');
lcd_w_cmd(0xc8);
lcd_w_dat('8');
lcd_w_cmd(0xc9);
lcd_w_dat('9');
}
void main()
{
   P1=0xff;
   lcd_int();
   delay(255);
   word();
   number();

   if (S1==0)
   {  delay(100);
         if(S1==0)
      P1=word;
   }
     if (S2==0)
   {  delay(100);
         if(S2==0)
      P1=number;
   }

  while(1);
}

void delay1()       
{  
  _nop_();
  _nop_();
  _nop_();
}

void lcd_int()           
{
  lcd_w_cmd(0x3c);
  lcd_w_cmd(0x0e);
  lcd_w_cmd(0x01);
  lcd_w_cmd(0x06);
  lcd_w_cmd(0x80);
}

unsigned char lcd_r_start()          
{
  unsigned char s;
  RW=1;
  delay1();
  RS=0;
  delay1();
  E=1; 
  delay1();
  s=out;
  delay1();
  E=0;
  delay1();
  RW=0;
  delay1(); 
  return(s);
}

void lcd_w_cmd(unsigned char com)   
{
  unsigned char i;
  do{
    i=lcd_r_start();
    i=i&0x80;
    delay(2);
     }while(i!=0);
  RW=0;
  delay1();
  RS=0;
  delay1();
  E=1;
  delay1();
  out=com;
  delay1();
  E=0;
  delay1();
  RW=1;
  delay(255);
}

void lcd_w_dat(unsigned char dat)   
{
  unsigned char i;
  do{
    i=lcd_r_start();
    i=i&0x80;
    delay(2);            
      }while(i!=0);
  RW=0;
  delay1();
  RS=1;
  delay1();
  E=1;
  delay1();
  P0=dat;
  delay1();
  E=0;
  delay1();
  RW=1;
  delay(255);
}


void delay(unsigned int i)
{
  unsigned int k;
 for(k=0;k