信太朗 羽入田 / Mbed 2 deprecated TextLCD_FULL

Dependencies:   mbed

Committer:
tontoko
Date:
Sat Jun 22 11:44:01 2019 +0000
Revision:
4:0f29c512e03d
Parent:
3:d4b979f6f27e
TextLCD FULL version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tontoko 0:224a2b438db4 1 #include "mbed.h"
tontoko 0:224a2b438db4 2 #include "TextLCD.h"
tontoko 0:224a2b438db4 3
tontoko 2:d2d66ce72529 4 #define LED_TIME 0.2
tontoko 0:224a2b438db4 5
tontoko 0:224a2b438db4 6 DigitalOut myled(P0_22);
tontoko 0:224a2b438db4 7 Serial pc(USBTX, USBRX);
tontoko 0:224a2b438db4 8
tontoko 3:d4b979f6f27e 9 // TextLCDの使用宣言
tontoko 0:224a2b438db4 10 TextLCD lcd(p15,p16,p17,p18,p19,p20); //接続ポートの設定(rs,e,d4,d5,d6,d7)
tontoko 0:224a2b438db4 11
tontoko 0:224a2b438db4 12 int main()
tontoko 0:224a2b438db4 13 {
tontoko 4:0f29c512e03d 14 //各種設定を初期値に。画面も消去。カーソル位置(0,0)
tontoko 4:0f29c512e03d 15 lcd.init();
tontoko 3:d4b979f6f27e 16
tontoko 3:d4b979f6f27e 17 // 単純な文字列表示
tontoko 4:0f29c512e03d 18 lcd.printf("RoBoCon 2019!");
tontoko 3:d4b979f6f27e 19
tontoko 3:d4b979f6f27e 20 wait(1);
tontoko 2:d2d66ce72529 21
tontoko 3:d4b979f6f27e 22 // カーソル位置を(0,1)に指定
tontoko 0:224a2b438db4 23 lcd.locate(0,1);
tontoko 4:0f29c512e03d 24 lcd.printf("Run Run Laundry");
tontoko 4:0f29c512e03d 25 wait(5);
tontoko 3:d4b979f6f27e 26 //表示内容はそのままで、カーソル位置を0,0に。画面のシフトも初期位置に
tontoko 0:224a2b438db4 27 lcd.home();
tontoko 4:0f29c512e03d 28 wait(0.5);
tontoko 3:d4b979f6f27e 29
tontoko 0:224a2b438db4 30 lcd.noDisplay(); //ディスプレイ表示OFF
tontoko 0:224a2b438db4 31
tontoko 4:0f29c512e03d 32 wait(0.5);
tontoko 4:0f29c512e03d 33
tontoko 4:0f29c512e03d 34 lcd.display(); //ディスプレイ表示ON
tontoko 4:0f29c512e03d 35
tontoko 4:0f29c512e03d 36 wait(0.5);
tontoko 0:224a2b438db4 37
tontoko 4:0f29c512e03d 38 lcd.noDisplay(); //ディスプレイ表示OFF
tontoko 0:224a2b438db4 39
tontoko 4:0f29c512e03d 40 wait(0.5);
tontoko 4:0f29c512e03d 41
tontoko 4:0f29c512e03d 42 lcd.display(); //ディスプレイ表示ON
tontoko 4:0f29c512e03d 43
tontoko 4:0f29c512e03d 44 wait(0.5);
tontoko 3:d4b979f6f27e 45
tontoko 0:224a2b438db4 46 lcd.cursor(); //カーソル表示ON
tontoko 0:224a2b438db4 47
tontoko 3:d4b979f6f27e 48 lcd.blink(); //カーソルブリンクON
tontoko 0:224a2b438db4 49
tontoko 0:224a2b438db4 50 wait(5);
tontoko 0:224a2b438db4 51
tontoko 3:d4b979f6f27e 52 lcd.noBlink(); //カーソルブリンクOFF
tontoko 0:224a2b438db4 53
tontoko 0:224a2b438db4 54 lcd.noCursor(); //カーソル表示OFF
tontoko 3:d4b979f6f27e 55
tontoko 3:d4b979f6f27e 56
tontoko 3:d4b979f6f27e 57 //表示内容はそのままで、画面を左にシフト 4回
tontoko 3:d4b979f6f27e 58 for (int i = 0; i < 4; i++) {
tontoko 3:d4b979f6f27e 59 lcd.shiftDisplayLeft();
tontoko 3:d4b979f6f27e 60 wait(1);
tontoko 3:d4b979f6f27e 61 }
tontoko 3:d4b979f6f27e 62 //表示内容はそのままで、画面を右にシフト 4回
tontoko 3:d4b979f6f27e 63 for (int i = 0; i< 4; i++) {
tontoko 3:d4b979f6f27e 64 lcd.shiftDisplayRight();
tontoko 3:d4b979f6f27e 65 wait(1);
tontoko 3:d4b979f6f27e 66 }
tontoko 3:d4b979f6f27e 67
tontoko 3:d4b979f6f27e 68 lcd.cls(); //画面消去、カーソルは(0,0)へ
tontoko 0:224a2b438db4 69
tontoko 3:d4b979f6f27e 70 //カーソル位置を10,0へ
tontoko 0:224a2b438db4 71 lcd.locate(10,0);
tontoko 3:d4b979f6f27e 72
tontoko 3:d4b979f6f27e 73 //表示位置をカーソルから右方向へ設定(デフォルト)
tontoko 1:5c99971e3ee5 74 lcd.leftToRight();
tontoko 2:d2d66ce72529 75 lcd.printf("5678");
tontoko 2:d2d66ce72529 76 wait(1);
tontoko 3:d4b979f6f27e 77
tontoko 3:d4b979f6f27e 78 //カーソル位置を4,0へ
tontoko 3:d4b979f6f27e 79 lcd.locate(4,0);
tontoko 3:d4b979f6f27e 80
tontoko 3:d4b979f6f27e 81 //表示位置をカーソル位置から左方向へ設定
tontoko 2:d2d66ce72529 82 lcd.rightToLeft();
tontoko 3:d4b979f6f27e 83 lcd.printf("1234"); //画面上では "4321"とカーソル位置から左方向に表示される
tontoko 3:d4b979f6f27e 84 wait(1);
tontoko 2:d2d66ce72529 85
tontoko 3:d4b979f6f27e 86 //表示位置をカーソルから右方向へ設定(デフォルト
tontoko 2:d2d66ce72529 87 lcd.leftToRight();
tontoko 2:d2d66ce72529 88
tontoko 2:d2d66ce72529 89 lcd.cls();
tontoko 2:d2d66ce72529 90 lcd.home();
tontoko 0:224a2b438db4 91 wait(1);
tontoko 2:d2d66ce72529 92
tontoko 3:d4b979f6f27e 93 //オートスクロール カーソル位置に文字を表示する度に、設定した方向に画面をシフト
tontoko 2:d2d66ce72529 94 lcd.AutoScroll();
tontoko 2:d2d66ce72529 95 lcd.locate(8,0);
tontoko 3:d4b979f6f27e 96 lcd.printf("1"); //わかりやすく1文字ずつ描画
tontoko 2:d2d66ce72529 97 wait(1);
tontoko 2:d2d66ce72529 98 lcd.printf("2");
tontoko 2:d2d66ce72529 99 wait(1);
tontoko 2:d2d66ce72529 100 lcd.printf("3");
tontoko 2:d2d66ce72529 101 wait(1);
tontoko 2:d2d66ce72529 102 lcd.printf("4");
tontoko 2:d2d66ce72529 103 wait(1);
tontoko 3:d4b979f6f27e 104
tontoko 3:d4b979f6f27e 105
tontoko 3:d4b979f6f27e 106 lcd.init();
tontoko 3:d4b979f6f27e 107
tontoko 3:d4b979f6f27e 108 // 表示する最大桁数を設定 1 〜 40(画面は16文字まで。DDRAMは最大40文字×2行)
tontoko 3:d4b979f6f27e 109 lcd.set_max_cols(12); //12文字で折返しになる設定
tontoko 3:d4b979f6f27e 110 lcd.locate(4,0);
tontoko 3:d4b979f6f27e 111 lcd.rightToLeft();
tontoko 3:d4b979f6f27e 112 lcd.printf("1234567890123456789012");
tontoko 3:d4b979f6f27e 113 wait(5);
tontoko 3:d4b979f6f27e 114
tontoko 3:d4b979f6f27e 115 lcd.init();
tontoko 3:d4b979f6f27e 116
tontoko 3:d4b979f6f27e 117 // CGRAM(外字)の設定 bitを設定した配列を用意
tontoko 3:d4b979f6f27e 118 char bell[8] = {0x4,0xe,0xe,0xe,0x1f,0x0,0x4};
tontoko 3:d4b979f6f27e 119 char note[8] = {0x2,0x3,0x2,0xe,0x1e,0xc,0x0};
tontoko 3:d4b979f6f27e 120 char clock[8] = {0x0,0xe,0x15,0x17,0x11,0xe,0x0};
tontoko 3:d4b979f6f27e 121 char heart[8] = {0x0,0xa,0x1f,0x1f,0xe,0x4,0x0};
tontoko 3:d4b979f6f27e 122 char duck[8] = {0x0,0xc,0x1d,0xf,0xf,0x6,0x0};
tontoko 3:d4b979f6f27e 123 char check[8] = {0x0,0x1,0x3,0x16,0x1c,0x8,0x0};
tontoko 3:d4b979f6f27e 124 char cross[8] = {0x0,0x1b,0xe,0x4,0xe,0x1b,0x0};
tontoko 3:d4b979f6f27e 125 char retarrow[8] = {0x1,0x1,0x5,0x9,0x1f,0x8,0x4};
tontoko 3:d4b979f6f27e 126
tontoko 3:d4b979f6f27e 127 //CGRAMに格納 0番〜7番までの8文字
tontoko 3:d4b979f6f27e 128 lcd.createChar(0, bell);
tontoko 3:d4b979f6f27e 129 lcd.createChar(1, note);
tontoko 3:d4b979f6f27e 130 lcd.createChar(2, clock);
tontoko 3:d4b979f6f27e 131 lcd.createChar(3, heart);
tontoko 3:d4b979f6f27e 132 lcd.createChar(4, duck);
tontoko 3:d4b979f6f27e 133 lcd.createChar(5, check);
tontoko 3:d4b979f6f27e 134 lcd.createChar(6, cross);
tontoko 3:d4b979f6f27e 135 lcd.createChar(7, retarrow);
tontoko 3:d4b979f6f27e 136
tontoko 3:d4b979f6f27e 137 lcd.home();
tontoko 3:d4b979f6f27e 138
tontoko 3:d4b979f6f27e 139 //設定した外字を表示
tontoko 3:d4b979f6f27e 140 for (int j=0; j<8; j++) {
tontoko 3:d4b979f6f27e 141 lcd.putc(j);
tontoko 3:d4b979f6f27e 142 }
tontoko 4:0f29c512e03d 143 wait(5);
tontoko 2:d2d66ce72529 144
tontoko 4:0f29c512e03d 145 lcd.locate(0,0);
tontoko 4:0f29c512e03d 146
tontoko 4:0f29c512e03d 147 lcd.set_max_cols(16);
tontoko 2:d2d66ce72529 148
tontoko 3:d4b979f6f27e 149
tontoko 4:0f29c512e03d 150 lcd.kana_print("カタカナ モ ヒョウジデキル");
tontoko 4:0f29c512e03d 151
tontoko 4:0f29c512e03d 152 lcd.kana_print("サシスセソ");
tontoko 4:0f29c512e03d 153 lcd.kana_print("タチツテト");
tontoko 4:0f29c512e03d 154 lcd.kana_print("ナニヌネノ");
tontoko 4:0f29c512e03d 155 /* for (int i = 0; i < 15;i++) {
tontoko 4:0f29c512e03d 156 lcd.printf("%x",s[i]);
tontoko 4:0f29c512e03d 157 }
tontoko 4:0f29c512e03d 158 */
tontoko 0:224a2b438db4 159 while(1) {
tontoko 4:0f29c512e03d 160
tontoko 4:0f29c512e03d 161
tontoko 4:0f29c512e03d 162 lcd.set_max_cols(16);
tontoko 4:0f29c512e03d 163 lcd.cls();
tontoko 4:0f29c512e03d 164
tontoko 4:0f29c512e03d 165 for (int x = 0;x < 99 ;x++) {
tontoko 4:0f29c512e03d 166 lcd.locate(0,0);
tontoko 4:0f29c512e03d 167 lcd.printf("count = %02d\n",x);
tontoko 4:0f29c512e03d 168 wait(0.5);
tontoko 4:0f29c512e03d 169 }
tontoko 4:0f29c512e03d 170
tontoko 0:224a2b438db4 171 }
tontoko 0:224a2b438db4 172 }
tontoko 0:224a2b438db4 173
tontoko 0:224a2b438db4 174