A simple 128x32 graphical LCD program to quickstart with LCD on ARM mbed IoT Starter Kit. This requires mbed Applciation Shield with FRDM-K64F platform.

Dependencies:   C12832

Committer:
tushki7
Date:
Sun Apr 12 15:45:52 2015 +0000
Revision:
1:eb68c94a8ee5
Parent:
0:60d829a0353a
A simple 128x32 LCD program with ARM mbed IoT Starter Kit;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tushki7 0:60d829a0353a 1 /*___________________________________________________________*/
tushki7 0:60d829a0353a 2 /* A simple LCD program for ARM mbed IoT Starter Kit */
tushki7 0:60d829a0353a 3 /* LCD name : C12832A1Z LCD : 128X32 */
tushki7 0:60d829a0353a 4 /* nCS : D10 : PTD0 */
tushki7 0:60d829a0353a 5 /* A0 : D7 : PTC3 */
tushki7 0:60d829a0353a 6 /* SCK : D13 : PTD1 */
tushki7 0:60d829a0353a 7 /* RESET : D12 : PTD3 */
tushki7 0:60d829a0353a 8 /* MOSI : D11 : PTD2 */
tushki7 0:60d829a0353a 9 /*___________________________________________________________*/
tushki7 0:60d829a0353a 10 /* AUTHOR : mudz */
tushki7 0:60d829a0353a 11 /*___________________________________________________________*/
tushki7 0:60d829a0353a 12
tushki7 0:60d829a0353a 13 #include "mbed.h"
tushki7 0:60d829a0353a 14 #include "C12832.h"
tushki7 0:60d829a0353a 15 #include "Arial12x12.h"
tushki7 0:60d829a0353a 16 #include "Small_7.h"
tushki7 0:60d829a0353a 17
tushki7 0:60d829a0353a 18
tushki7 0:60d829a0353a 19 DigitalOut gpo(D0);
tushki7 0:60d829a0353a 20 DigitalOut led(LED_GREEN);
tushki7 0:60d829a0353a 21 DigitalOut ledR(LED_RED);
tushki7 0:60d829a0353a 22 DigitalOut ledB(LED_BLUE);
tushki7 0:60d829a0353a 23 C12832 lcd(D11, D13, D12, D7, D10);
tushki7 0:60d829a0353a 24
tushki7 0:60d829a0353a 25 /**
tushki7 0:60d829a0353a 26 * Display a message on the LCD screen
tushki7 0:60d829a0353a 27 */
tushki7 0:60d829a0353a 28 void displayMessage(char* message)
tushki7 0:60d829a0353a 29 {
tushki7 0:60d829a0353a 30 lcd.cls();
tushki7 0:60d829a0353a 31 lcd.printf(message);
tushki7 0:60d829a0353a 32 }
tushki7 0:60d829a0353a 33
tushki7 0:60d829a0353a 34 int main()
tushki7 0:60d829a0353a 35 {
tushki7 0:60d829a0353a 36 int i=4;
tushki7 0:60d829a0353a 37 while (true)
tushki7 0:60d829a0353a 38 {
tushki7 0:60d829a0353a 39 lcd.set_contrast(i); // Use i to control Contrast value
tushki7 0:60d829a0353a 40
tushki7 0:60d829a0353a 41 if(i%2==0)
tushki7 0:60d829a0353a 42 {
tushki7 0:60d829a0353a 43 lcd.set_font((unsigned char*) Arial12x12); // Set Arial font for the LCD screen
tushki7 0:60d829a0353a 44 lcd.locate(8,8); // Location of the Text on Screen
tushki7 0:60d829a0353a 45 ledR = !ledR; // toggle led
tushki7 0:60d829a0353a 46 }
tushki7 0:60d829a0353a 47
tushki7 0:60d829a0353a 48 if(i%2==1)
tushki7 0:60d829a0353a 49 {
tushki7 0:60d829a0353a 50 lcd.set_font((unsigned char*) Small_7); // Set Small_7 font for the LCD screen
tushki7 0:60d829a0353a 51 lcd.locate(16,12);
tushki7 0:60d829a0353a 52 ledB = !ledB; // toggle led
tushki7 0:60d829a0353a 53 }
tushki7 0:60d829a0353a 54
tushki7 1:eb68c94a8ee5 55 displayMessage("Hello Sir, I'm Online"); // Message
tushki7 0:60d829a0353a 56 gpo = !gpo; // toggle pin
tushki7 0:60d829a0353a 57 led = !led; // toggle led
tushki7 0:60d829a0353a 58
tushki7 0:60d829a0353a 59 wait(0.8f);
tushki7 0:60d829a0353a 60 i++;
tushki7 0:60d829a0353a 61 if(i==35) // Contrast value after this text will not be visible
tushki7 0:60d829a0353a 62 {
tushki7 0:60d829a0353a 63 i=4; // Contrast value
tushki7 0:60d829a0353a 64 }
tushki7 0:60d829a0353a 65
tushki7 0:60d829a0353a 66 }
tushki7 0:60d829a0353a 67 }