Exemplo n.º 1
0
void LCDSecondLine(void)
{
    /* Setup the R/W for writing (PTGD), Initialize EN and RS to 0  */    

    LCD_RW = 0;
    LCD_REG_SEL = 0;     

    /* DD Ram Address Set - 1st Digit */
    LCDWrite4bits(0xC0);
    LCDToggleEN();
    LCDWaitShort(1);
    LCDWrite4bits(0x00);
    LCDToggleEN();
    LCDWaitShort(4);
}
Exemplo n.º 2
0
void LCDClearDisplay(void)
{
    /* Setup the R/W for writing (PTGD), Initialize EN and RS to 0 */
    LCD_REG_SEL = 0;
    LCD_RW = 0; 
  
    LCDWrite4bits(0x00);
    LCDToggleEN();
    LCDWaitShort(1);
    LCDWrite4bits(0x10);
    LCDToggleEN();
    LCDWaitLong(3);
}
Exemplo n.º 3
0
void LCDWriteChar(UINT8 ch)
{
    
    LCD_RW = 0;
    LCD_EN = 0;
    LCD_REG_SEL = 1;
      
    LCDWrite4bits(ch);
    
    LCDToggleEN();
      
    LCDWrite4bits(ch << 4);
      
    LCDToggleEN();
      
    LCDWaitShort(2);
}
Exemplo n.º 4
0
void LCD_Init
  (
  void
  )
{
  LCDWaitLong( Wait5mSec ); 
  /* This function setup Bits 6-7 as outputs (EN & RS) (PTEDD) */
  Setup_EN_RS;
  /* Setup the XX Port (4-7 data bits, 3 R/W ) (PTGDD)
     data is output (default), r/w is output */
  SetupDataBit;
  /* Initialize data port */
  InitDataPort;
  /* Setup the R/W for writing (PTGD) */
  Setup_R_W_Write;
  /* Initialize EN and RS to 0 */
  Init_EN_RS;

  /* Send the reset sequence */
  LCD_Write4bits( 0x30 );
  LCDToggleEN;

  LCDWaitLong( Wait5mSec );

  LCD_Write4bits( 0x30 );
  LCDToggleEN;

  LCDWaitShort( Wait30uSec );

  LCD_Write4bits( 0x30 );
  LCDToggleEN;

  LCDWaitShort( Wait30uSec );

  LCD_Write4bits( 0x20 );
  LCDToggleEN;

  LCDWaitShort( Wait15uSec );

  /* Function, 4 bit data length */
  LCD_Write4bits( 0x20 );
  LCDToggleEN;

  LCDWaitShort( Wait15uSec );

  /* 2 lines, 5x7 dot format */
  LCD_Write4bits( 0x80 );
  LCDToggleEN;

  LCDWaitShort( Wait60uSec );

  /* Entry Mode Inc, No Shift */
  LCD_Write4bits( 0x00 );
  LCDToggleEN;
  LCDWaitShort( Wait15uSec );
  LCD_Write4bits( 0x60 );
  LCDToggleEN;
  LCDWaitShort( Wait75uSec );

  /* Display ON/OFF Control - Display On, Cursor Off, Blink Off */
  LCD_Write4bits( 0x00 );
  LCDToggleEN;
  LCDWaitShort( Wait15uSec );
  LCD_Write4bits( 0xC0 );
  LCDToggleEN;
  LCDWaitShort( Wait75uSec );

  /* Display Clear */
  LCD_ClearDisplay();

  LCDLine(LineOne);
}
Exemplo n.º 5
0
void LCD_Init
  (
  void
  )
{
   /* Wait 15 ms */
  LCDWaitLong( Wait15mSec ); 
  
  /* This function setup Bits 5-7 as outputs (RS, EN & R/W) (PTDDD) */
  Setup_EN_RS_R_W;
  /* Setup the XX Port (4-7 data bits) (PTFDD)
     data is output (default) */
  SetupDataBit;
  /* Initialize data port */
  InitDataPort; 
  
  /* Send the reset sequence */
  
  Setup_R_W_Write;
  LCDToggleEN;
  
  /* Function, 8 bit data length */
  LCD_Write4bits( 0x30 );
  LCDToggleEN;  
  
  /* Wait more than 4.1 ms */
  LCDWaitLong( Wait5mSec );
  
  /* Function, 8 bit data length */
  LCD_Write4bits( 0x30 );
  LCDToggleEN;

  /* Wait more than 100 us */
  LCDWaitShort( Wait105uSec );

  /* Function, 8 bit data length */
  LCD_Write4bits( 0x30 );           
  LCDToggleEN;
  LCDWaitShort( Wait45uSec );
  
  /* Function, 4 bit data length */
  LCD_Write4bits( 0x20 );
  LCDToggleEN;
  LCDWaitShort( Wait45uSec );
  
  /* Function, 4 bit data length */
  LCD_Write4bits( 0x20 );
  LCDToggleEN;
  LCDWaitShort( Wait15uSec );
  /* 2 lines, 5x8 dot format */
  LCD_Write4bits( 0x80 );
  LCDToggleEN;
  LCDWaitShort( Wait45uSec );
  
  /* Display on */
  LCD_Write4bits( 0x00 );
  LCDToggleEN;
  LCDWaitShort( Wait15uSec );
  LCD_Write4bits( 0xC0 );
  LCDToggleEN;
  LCDWaitShort( Wait45uSec );
  
  /* Display clear */
  LCD_Write4bits( 0x00 );
  LCDToggleEN;
  LCDWaitShort( Wait15uSec );
  LCD_Write4bits( 0x10 );
  LCDToggleEN;
  LCDWaitLong( Wait2mSec );
  
  /* Entry mode set */
  LCD_Write4bits( 0x00 );
  LCDToggleEN;
  LCDWaitShort( Wait15uSec );
  LCD_Write4bits( 0x60 );
  LCDToggleEN;
  LCDWaitShort( Wait45uSec );
  

}
Exemplo n.º 6
0
void LCDInit(void)
{
    LCDWaitLong(5);
  
  
    LCD_INIT_MACRO;
    
  
    /* Initialize data port */
    
    LCD_DATA1 = 0;
    LCD_DATA2 = 0;
    LCD_DATA3 = 0;
    LCD_DATA4 = 0;// PTBD = PTBD & 0x0F;    

    /* Setup the R/W for writing (PTBD) */
    
    LCD_RW = 0; 

    /* Initialize EN and RS to 0 */
    
    LCD_REG_SEL = 0;
    LCD_EN = 0;
    
    /* Send the reset sequence */
    LCDWrite4bits(0x30);
    LCDToggleEN();
      
    LCDWaitLong(5);
  
    LCDWrite4bits(0x30);
    LCDToggleEN();
  
    LCDWaitShort(2);
  
    LCDWrite4bits(0x30);
    LCDToggleEN();
  
    LCDWaitShort(2);

    LCDWrite4bits(0x20);
    LCDToggleEN();
  
    LCDWaitShort(1);
  
    /* Function, 4 bit data length */
    LCDWrite4bits(0x20);
    LCDToggleEN();
  
    LCDWaitShort(1);
  
    /*  2 lines, 5x7 dot format  */
    LCDWrite4bits(0x80);
    LCDToggleEN();
  
    LCDWaitShort(4);
  
    // Entry Mode Inc, No Shift
    LCDWrite4bits(0x00);
    LCDToggleEN();
    LCDWaitShort(1);
    LCDWrite4bits(0x60);
    LCDToggleEN();
    LCDWaitShort(5);
  
    // Display ON/OFF Control - Display On, Cursor Off, Blink Off
    LCDWrite4bits(0x00);
    LCDToggleEN();
    LCDWaitShort(1);
    LCDWrite4bits(0xC0);
    LCDToggleEN();
    LCDWaitShort(5);
  
    // Display Clear
    LCDClearDisplay();
  
    //LCDFirstLine();
}