A TextLCD interface for driving 4-bit 16x2 KS0066U LCD

Dependents:   KS0066U4_16x2 LAB05_Oppgave4 LAB05_Oppgave2 LAB05_Oppgave3 ... more

Import program

00001  #include "mbed.h"
00002  #include "TextLCD.h"
00003  
00004  TextLCD lcd(D11,D10,D9,D5,D4,D3,D2);
00005  int main()
00006  {    
00007     lcd.gotoxy(1,1);
00008     lcd.printf("Hello");
00009  
00010     lcd.gotoxy(4,2);
00011     lcd.printf("World");
00012     
00013     while(1) {
00014         wait_ms(300);
00015     }
00016  }

Import library

Public Member Functions

TextLCD (PinName rs, PinName rw, PinName e, PinName d4, PinName d5, PinName d6, PinName d7, const char *name=NULL)
Create a TextLCD interface and initiated 16x2 char mode.
void lcdComand (unsigned char cmd)
Writes a Command to the LCD-module.
void lcdData (unsigned char data)
Writes charecters to the LCD display.
void gotoxy (int, int)
moves text cursor to a screen column and row
int putc (int c)
Write a character to the LCD.
int printf (const char *format,...)
Write a formatted string to the LCD.

Protected Member Functions

void writeLcdBitD4toD7 (char data)
Writes the low nible of data to the LCD-module.
void pulseEn ()
Causes the LCD-module to read the data on the data input pins EN = 1 for L-to-H / EN = 0 for H-to-L.
void init_4BitMode2LinesDisplayOn ()
Enable 4 bit mode From KS0066U Documentation.

/media/uploads/rlanghbv/lcdmoduletop.jpg /media/uploads/rlanghbv/lcdmodulebottom.jpg

Committer:
rlanghbv
Date:
Sun Sep 20 10:42:51 2015 +0000
Revision:
2:f0a520c95838
Parent:
1:8902f6be12a5
Child:
3:d2f70de20dbe
gotoxy changed params to int

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rlanghbv 1:8902f6be12a5 1 /*
rlanghbv 1:8902f6be12a5 2 * LCD.h
rlanghbv 1:8902f6be12a5 3 *
rlanghbv 1:8902f6be12a5 4 * Created: 20.01.2012 13:05:14
rlanghbv 1:8902f6be12a5 5 * Author: rul
rlanghbv 1:8902f6be12a5 6 */
rlanghbv 1:8902f6be12a5 7 #ifndef LCD_H_
rlanghbv 1:8902f6be12a5 8 #define LCD_H_
rlanghbv 1:8902f6be12a5 9 class TextLCD : public Stream
rlanghbv 1:8902f6be12a5 10 {
rlanghbv 1:8902f6be12a5 11 public:
rlanghbv 1:8902f6be12a5 12
rlanghbv 1:8902f6be12a5 13 //Enables the LCD Module for use 2-Lines...
rlanghbv 1:8902f6be12a5 14 TextLCD();
rlanghbv 1:8902f6be12a5 15 // EN = 1 for L-to-H /
rlanghbv 1:8902f6be12a5 16 // EN = 0 for H-to-L
rlanghbv 1:8902f6be12a5 17 // Causes the LCD-module to read the data on the data input pins
rlanghbv 1:8902f6be12a5 18 void pulseEn();
rlanghbv 1:8902f6be12a5 19
rlanghbv 1:8902f6be12a5 20 //Writes the low lible of data to the LCD-module data pins D4 to D7
rlanghbv 1:8902f6be12a5 21 void writeLcdBitD4toD7(char );
rlanghbv 1:8902f6be12a5 22
rlanghbv 1:8902f6be12a5 23 //Writes the byte comand to the LCD-module using 4 bits mode
rlanghbv 1:8902f6be12a5 24 void lcdComand(unsigned char);
rlanghbv 1:8902f6be12a5 25
rlanghbv 1:8902f6be12a5 26 //Writes charecters to the LCD display
rlanghbv 1:8902f6be12a5 27 void lcdData(unsigned char);
rlanghbv 1:8902f6be12a5 28
rlanghbv 1:8902f6be12a5 29 //Enable 4 bit mode From KS0066U Documentation
rlanghbv 1:8902f6be12a5 30 void init_4BitMode2LinesDisplayOn();
rlanghbv 1:8902f6be12a5 31
rlanghbv 1:8902f6be12a5 32
rlanghbv 1:8902f6be12a5 33 //Moves cursor to the X,Y position
rlanghbv 2:f0a520c95838 34 void gotoxy(int , int );
rlanghbv 1:8902f6be12a5 35
rlanghbv 1:8902f6be12a5 36 //Writes a string to the LCD Display
rlanghbv 1:8902f6be12a5 37 void lcd_print(char *);
rlanghbv 1:8902f6be12a5 38
rlanghbv 1:8902f6be12a5 39 protected:
rlanghbv 1:8902f6be12a5 40 // Stream implementation functions
rlanghbv 1:8902f6be12a5 41 virtual int _putc(int value);
rlanghbv 1:8902f6be12a5 42 virtual int _getc();
rlanghbv 1:8902f6be12a5 43 };
rlanghbv 1:8902f6be12a5 44
rlanghbv 1:8902f6be12a5 45 #endif /* LCD_H_ */