This is a test program for TEXT LCD (HD44780) , 40 char x 2 lines.

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
kenjiArai
Date:
Sat Mar 27 07:05:32 2010 +0000
Commit message:

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sat Mar 27 07:05:32 2010 +0000
@@ -0,0 +1,83 @@
+//
+//  Text LCD Control Program
+//          Kenji Arai / JH1PJL
+//          March 7th,2010  Started
+//          March 27th,2010  
+//
+
+#include "mbed.h"
+#include "TextLCD.h"
+
+#define LINE_40_2
+
+#define BLINK_PERIOD 1.8        // LED on period (Initial data)
+#define END_PERIOD 0.0001       // Finish period
+
+DigitalOut myled1(LED1);        // Assign LED output port LED1 to LED4
+DigitalOut myled2(LED2);
+DigitalOut myled3(LED3);
+DigitalOut myled4(LED4);
+
+#ifdef LINE_40_2
+TextLCD lcd(p22, p28, p27, p26, p25, p24, p23, 40, 2); // rs,rw,e,d0,d1,d2,d3,40char's x 2 lines
+#else
+TextLCD lcd(p22, p28, p27, p26, p25, p24, p23, 16, 2); // rs,rw,e,d0,d1,d2,d3,16char's x 2 lines
+#endif
+
+int main() {
+    float tim;
+    long count;
+    char buf[40];
+
+    tim = BLINK_PERIOD;
+    count = 0;
+    lcd.cls();
+    lcd.locate(0, 0);
+#ifdef LINE_40_2
+    //          0         1         2         3        40
+    lcd.printf("1234567890123456789012345678901234567890");
+    lcd.locate(0, 1);
+    lcd.printf("0987654321098765432109876543210987654321");
+#else
+    //          0         1     
+    lcd.printf("1234567890123456");
+    lcd.locate(0, 1);
+    lcd.printf("6543210987654321");
+#endif
+    // If you have implemented the "Windows USB Serial Port Driver", you can use follows.
+    // http://mbed.org/projects/handbook/wiki/WindowsSerialConfiguration
+    printf("\r\n  Start LCD Test Program\r\n");
+    while (1) {
+        for (tim =BLINK_PERIOD; tim >=  END_PERIOD; tim /= 3) {
+            myled1 = 1;
+            wait(tim);
+            myled1 = 0;
+            myled2 = 1;
+            wait(tim);
+            myled2 = 0;
+            myled3 = 1;
+            wait(tim);
+            myled3 = 0;
+            myled4 = 1;
+            wait(tim);
+            myled4 = 0;
+        }
+        lcd.cls();
+        lcd.locate(0, 0);   // 1st line top
+#ifdef LINE_40_2
+        //                   1         2         3         4
+        //          1234567890123456789012345678901234567890
+        lcd.printf("This is a test program for checking LCD ");
+        lcd.locate(0, 1);   // 2nd line top
+        sprintf(buf," Current loop count number = %d ", count);
+#else
+        //          1234567890123456
+        lcd.printf("LCD test program");
+        lcd.locate(0, 1);   // 2nd line top
+        sprintf(buf,"loop # = %d", count);
+#endif
+        lcd.printf(buf);
+        printf(" Current loop count number = %d \r\n", count);
+        count++;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sat Mar 27 07:05:32 2010 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/49a220cc26e0