KEMBAR78
_LCD display-mbed.pdf
LCD display-MBED
Dr.M.Vidhyalakshmi
SRMIST/RMP
LCD DISPLAY
PC1602F
HD44780 communication lines
Using modular coding to interface the LCD display Our LCD.h header
/* Program Example 8.1: LCD.h header file
*/
#ifndef LCD_H
#define LCD_H
#include "mbed.h"
void toggle_enable(void); //function to toggle/pulse the enable bit void
LCD_init(void); //function to initialise the LCD void
display_to_LCD(char value); //function to display characters
#endif
Initialising the display
wait a short period (approximately 20 ms), then set the RS and E lines to zero and
then send a number of configuration messages to set up the LCD.
We then need to send configuration data to the
• Function Mode register
• Display Mode register
• Clear Display register
In order to initialise the display.
Initialising the display
Function Mode
To set the LCD function mode, the RS, R/|W and DB0-7 bits should be set as
shown below. Remember in 4-bit mode, data bus values are sent as two
nibbles.
Display Mode
The Display Mode control register must also be set up during initialisation. Here we
need to send a command to switch the display on, and to determine the cursor
function. The Display Mode register is defined as shown below.
Clear Display
Before data can be written to the display, the display must be cleared, and the
cursor reset to the first character in the first row (or any other location that you
wish to write data to). The Clear Display command is shown below.
Sending display data to the LCD
The mbed TextLCD library
The TextLCD definition also tells the LCD object which pins are used for which functions.
The object definition is defined in the following manner:
TextLCD lcd(int rs, int e, int d0, int d1, int d2, int d3);
TextLCD lcd(p19, p20, p21, p22, p23, p24);
Using the mbed TextLCD library
/*Program Example 8.5: TextLCD library Helo World example
*/ #include "mbed.h"
#include "TextLCD.h"
TextLCD lcd(p19, p20, p21, p22, p23, p24); //rs,e,d0,d1,d2,d3
int main() {
lcd.printf("Hello World!");
}
/* Program Example 8.6: LCD Counter example
*/ #include "mbed.h“
#include "TextLCD.h“
TextLCD lcd(p19, p20, p21, p22, p23, p24); // rs, e, d0, d1, d2, d3 int x=0;
int main() {
lcd.printf("LCD Counter");
while (1) {
lcd.locate(5,1);
lcd.printf("%i",x);
wait(1);
x++;
}
}
/*Program Example 8.8: Displaying a formatted string on the NHD-C12832 */
#include "mbed.h" // Basic Library required for onchip peripherals #include
"C12832.h"
C12832 lcd(p5, p7, p6, p8, p11); // Initialize lcd
int main(){
int j=0;
lcd.cls(); // clear screen
while(1){
lcd.locate(10,10); // set location to x=10, y=10 lcd.printf("Counter :
%d",j); // print counter value j++; // increment j
wait(0.5); // wait 0.5 seconds }
}

_LCD display-mbed.pdf

  • 1.
  • 2.
  • 6.
  • 9.
  • 10.
    Using modular codingto interface the LCD display Our LCD.h header /* Program Example 8.1: LCD.h header file */ #ifndef LCD_H #define LCD_H #include "mbed.h" void toggle_enable(void); //function to toggle/pulse the enable bit void LCD_init(void); //function to initialise the LCD void display_to_LCD(char value); //function to display characters #endif
  • 11.
    Initialising the display waita short period (approximately 20 ms), then set the RS and E lines to zero and then send a number of configuration messages to set up the LCD. We then need to send configuration data to the • Function Mode register • Display Mode register • Clear Display register In order to initialise the display.
  • 12.
    Initialising the display FunctionMode To set the LCD function mode, the RS, R/|W and DB0-7 bits should be set as shown below. Remember in 4-bit mode, data bus values are sent as two nibbles.
  • 13.
    Display Mode The DisplayMode control register must also be set up during initialisation. Here we need to send a command to switch the display on, and to determine the cursor function. The Display Mode register is defined as shown below.
  • 14.
    Clear Display Before datacan be written to the display, the display must be cleared, and the cursor reset to the first character in the first row (or any other location that you wish to write data to). The Clear Display command is shown below.
  • 15.
  • 18.
    The mbed TextLCDlibrary The TextLCD definition also tells the LCD object which pins are used for which functions. The object definition is defined in the following manner: TextLCD lcd(int rs, int e, int d0, int d1, int d2, int d3); TextLCD lcd(p19, p20, p21, p22, p23, p24);
  • 19.
    Using the mbedTextLCD library /*Program Example 8.5: TextLCD library Helo World example */ #include "mbed.h" #include "TextLCD.h" TextLCD lcd(p19, p20, p21, p22, p23, p24); //rs,e,d0,d1,d2,d3 int main() { lcd.printf("Hello World!"); }
  • 20.
    /* Program Example8.6: LCD Counter example */ #include "mbed.h“ #include "TextLCD.h“ TextLCD lcd(p19, p20, p21, p22, p23, p24); // rs, e, d0, d1, d2, d3 int x=0; int main() { lcd.printf("LCD Counter"); while (1) { lcd.locate(5,1); lcd.printf("%i",x); wait(1); x++; } }
  • 21.
    /*Program Example 8.8:Displaying a formatted string on the NHD-C12832 */ #include "mbed.h" // Basic Library required for onchip peripherals #include "C12832.h" C12832 lcd(p5, p7, p6, p8, p11); // Initialize lcd int main(){ int j=0; lcd.cls(); // clear screen while(1){ lcd.locate(10,10); // set location to x=10, y=10 lcd.printf("Counter : %d",j); // print counter value j++; // increment j wait(0.5); // wait 0.5 seconds } }