LCD

Dependencies:   LCDLib mbed

Fork of KS0066U4_16x2 by Rune Langoy

Committer:
madmonkeyman82
Date:
Thu Oct 15 16:00:29 2015 +0000
Revision:
4:279192a7a5e3
Parent:
3:81d65a2a1920
first;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rlanghbv 1:be0ba4cb6c5d 1 #include "mbed.h"
rlanghbv 1:be0ba4cb6c5d 2 #include "TextLCD.h"
rlanghbv 1:be0ba4cb6c5d 3
madmonkeyman82 4:279192a7a5e3 4 TextLCD lcd(D11,D10,D9,D5,D4,D3,D2);
madmonkeyman82 4:279192a7a5e3 5
madmonkeyman82 4:279192a7a5e3 6 InterruptIn MenuButton(USER_BUTTON);
rlanghbv 1:be0ba4cb6c5d 7
madmonkeyman82 4:279192a7a5e3 8 //Variables
madmonkeyman82 4:279192a7a5e3 9 static char cMessageToLcdDisplay[80]; // variables to store message from serial
madmonkeyman82 4:279192a7a5e3 10 static bool blink = false;
madmonkeyman82 4:279192a7a5e3 11 static int menu = 0;
madmonkeyman82 4:279192a7a5e3 12
madmonkeyman82 4:279192a7a5e3 13 //Prototypes
madmonkeyman82 4:279192a7a5e3 14 void BlinkCursor(bool);
madmonkeyman82 4:279192a7a5e3 15 void ClearDisplay();
madmonkeyman82 4:279192a7a5e3 16 void GetMessageFromSerial();
madmonkeyman82 4:279192a7a5e3 17 void PrintToLcd();
madmonkeyman82 4:279192a7a5e3 18
madmonkeyman82 4:279192a7a5e3 19 void trigger()
madmonkeyman82 4:279192a7a5e3 20 {
madmonkeyman82 4:279192a7a5e3 21 switch (menu)
madmonkeyman82 4:279192a7a5e3 22 {
madmonkeyman82 4:279192a7a5e3 23 case 0:
madmonkeyman82 4:279192a7a5e3 24 {
madmonkeyman82 4:279192a7a5e3 25 ClearDisplay();
madmonkeyman82 4:279192a7a5e3 26 lcd.printf("Meny 1");
madmonkeyman82 4:279192a7a5e3 27 printf("Du er na i meny %d\r\n", menu +1);
madmonkeyman82 4:279192a7a5e3 28 menu++;
madmonkeyman82 4:279192a7a5e3 29 break;
madmonkeyman82 4:279192a7a5e3 30 }
madmonkeyman82 4:279192a7a5e3 31
madmonkeyman82 4:279192a7a5e3 32 case 1:
madmonkeyman82 4:279192a7a5e3 33 {
madmonkeyman82 4:279192a7a5e3 34 ClearDisplay();
madmonkeyman82 4:279192a7a5e3 35 lcd.printf("Meny 2");
madmonkeyman82 4:279192a7a5e3 36 printf("Du er na i meny %d\r\n", menu +1);
madmonkeyman82 4:279192a7a5e3 37 menu++;
madmonkeyman82 4:279192a7a5e3 38 break;
madmonkeyman82 4:279192a7a5e3 39 }
madmonkeyman82 4:279192a7a5e3 40
madmonkeyman82 4:279192a7a5e3 41 case 2:
madmonkeyman82 4:279192a7a5e3 42 {
madmonkeyman82 4:279192a7a5e3 43 ClearDisplay();
madmonkeyman82 4:279192a7a5e3 44 lcd.printf("Meny 3");
madmonkeyman82 4:279192a7a5e3 45 printf("Du er na i meny %d\r\n", menu +1);
madmonkeyman82 4:279192a7a5e3 46 menu = 0;
madmonkeyman82 4:279192a7a5e3 47 break;
madmonkeyman82 4:279192a7a5e3 48 }
madmonkeyman82 4:279192a7a5e3 49 }
madmonkeyman82 4:279192a7a5e3 50 /*
madmonkeyman82 4:279192a7a5e3 51 if(blink)
madmonkeyman82 4:279192a7a5e3 52 {
madmonkeyman82 4:279192a7a5e3 53 BlinkCursor(false);
madmonkeyman82 4:279192a7a5e3 54 blink = false;
madmonkeyman82 4:279192a7a5e3 55 }
madmonkeyman82 4:279192a7a5e3 56 else
madmonkeyman82 4:279192a7a5e3 57 {
madmonkeyman82 4:279192a7a5e3 58 BlinkCursor(true);
madmonkeyman82 4:279192a7a5e3 59 blink = true;
madmonkeyman82 4:279192a7a5e3 60 }
madmonkeyman82 4:279192a7a5e3 61 */
madmonkeyman82 4:279192a7a5e3 62 }
madmonkeyman82 4:279192a7a5e3 63
madmonkeyman82 4:279192a7a5e3 64 int main()
madmonkeyman82 4:279192a7a5e3 65 {
madmonkeyman82 4:279192a7a5e3 66 MenuButton.rise(&trigger);
rlanghbv 3:81d65a2a1920 67
madmonkeyman82 4:279192a7a5e3 68 while(1)
madmonkeyman82 4:279192a7a5e3 69 {
madmonkeyman82 4:279192a7a5e3 70 printf("Velkommen skriv inn tekst som skal vises pa lcd skejerm.\r\n");
madmonkeyman82 4:279192a7a5e3 71
madmonkeyman82 4:279192a7a5e3 72 GetMessageFromSerial();
madmonkeyman82 4:279192a7a5e3 73
madmonkeyman82 4:279192a7a5e3 74 ClearDisplay();
madmonkeyman82 4:279192a7a5e3 75
madmonkeyman82 4:279192a7a5e3 76 wait_ms(2);
madmonkeyman82 4:279192a7a5e3 77
madmonkeyman82 4:279192a7a5e3 78 PrintToLcd();
madmonkeyman82 4:279192a7a5e3 79
madmonkeyman82 4:279192a7a5e3 80 BlinkCursor(true);
madmonkeyman82 4:279192a7a5e3 81
madmonkeyman82 4:279192a7a5e3 82 /*
madmonkeyman82 4:279192a7a5e3 83 lcd.gotoxy(1,1);
madmonkeyman82 4:279192a7a5e3 84 lcd.printf("Nr: %d", iCounter);
madmonkeyman82 4:279192a7a5e3 85 lcd.gotoxy(1,2);
madmonkeyman82 4:279192a7a5e3 86 lcd.printf("Nr: %d", iCounter+1);
madmonkeyman82 4:279192a7a5e3 87 iCounter++;
madmonkeyman82 4:279192a7a5e3 88 ClearDisplay();
madmonkeyman82 4:279192a7a5e3 89 wait_ms(500);
madmonkeyman82 4:279192a7a5e3 90 */
rlanghbv 0:92dd50c69b90 91 }
madmonkeyman82 4:279192a7a5e3 92 }
madmonkeyman82 4:279192a7a5e3 93
madmonkeyman82 4:279192a7a5e3 94
madmonkeyman82 4:279192a7a5e3 95 void BlinkCursor(bool OnOff)
madmonkeyman82 4:279192a7a5e3 96 {
madmonkeyman82 4:279192a7a5e3 97 if(OnOff)lcd.lcdCommand(0x0F);
madmonkeyman82 4:279192a7a5e3 98 else lcd.lcdCommand(0x0C);
madmonkeyman82 4:279192a7a5e3 99 }
madmonkeyman82 4:279192a7a5e3 100
madmonkeyman82 4:279192a7a5e3 101 void ClearDisplay()
madmonkeyman82 4:279192a7a5e3 102 {
madmonkeyman82 4:279192a7a5e3 103 lcd.lcdCommand(0x01);
madmonkeyman82 4:279192a7a5e3 104 wait_ms(2);
madmonkeyman82 4:279192a7a5e3 105 }
madmonkeyman82 4:279192a7a5e3 106
madmonkeyman82 4:279192a7a5e3 107 void GetMessageFromSerial()
madmonkeyman82 4:279192a7a5e3 108 {
madmonkeyman82 4:279192a7a5e3 109 scanf("%[^\r\n]s", cMessageToLcdDisplay);
madmonkeyman82 4:279192a7a5e3 110 getchar();
madmonkeyman82 4:279192a7a5e3 111 }
madmonkeyman82 4:279192a7a5e3 112
madmonkeyman82 4:279192a7a5e3 113 void PrintToLcd()
madmonkeyman82 4:279192a7a5e3 114 {
madmonkeyman82 4:279192a7a5e3 115 lcd.printf(cMessageToLcdDisplay);
madmonkeyman82 4:279192a7a5e3 116 }