Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@3:d4b979f6f27e, 2019-06-08 (annotated)
- Committer:
- tontoko
- Date:
- Sat Jun 08 15:25:18 2019 +0000
- Revision:
- 3:d4b979f6f27e
- Parent:
- 2:d2d66ce72529
- Child:
- 4:0f29c512e03d
Ver0.6
Who changed what in which revision?
| User | Revision | Line number | New 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 | 3:d4b979f6f27e | 12 | |
| tontoko | 0:224a2b438db4 | 13 | int main() |
| tontoko | 0:224a2b438db4 | 14 | { |
| tontoko | 0:224a2b438db4 | 15 | |
| tontoko | 3:d4b979f6f27e | 16 | lcd.init(); //各種設定を初期値に。画面も消去。カーソル位置(0,0) |
| tontoko | 3:d4b979f6f27e | 17 | |
| tontoko | 3:d4b979f6f27e | 18 | // 単純な文字列表示 |
| tontoko | 2:d2d66ce72529 | 19 | lcd.printf("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); |
| tontoko | 3:d4b979f6f27e | 20 | |
| tontoko | 3:d4b979f6f27e | 21 | wait(1); |
| tontoko | 2:d2d66ce72529 | 22 | |
| tontoko | 3:d4b979f6f27e | 23 | // カーソル位置を(0,1)に指定 |
| tontoko | 0:224a2b438db4 | 24 | lcd.locate(0,1); |
| tontoko | 0:224a2b438db4 | 25 | lcd.printf("abcdefghijklmnopqrstuvwxyz"); |
| tontoko | 0:224a2b438db4 | 26 | |
| tontoko | 3:d4b979f6f27e | 27 | //表示内容はそのままで、カーソル位置を0,0に。画面のシフトも初期位置に |
| tontoko | 0:224a2b438db4 | 28 | lcd.home(); |
| tontoko | 0:224a2b438db4 | 29 | wait(1); |
| tontoko | 3:d4b979f6f27e | 30 | |
| tontoko | 0:224a2b438db4 | 31 | lcd.noDisplay(); //ディスプレイ表示OFF |
| tontoko | 0:224a2b438db4 | 32 | |
| tontoko | 2:d2d66ce72529 | 33 | lcd.printf("0123");//表示OFFのままprint |
| tontoko | 3:d4b979f6f27e | 34 | wait(1); |
| tontoko | 0:224a2b438db4 | 35 | |
| tontoko | 3:d4b979f6f27e | 36 | lcd.display(); //ディスプレイ表示ON(画面OFFのままprintしても反映されている) |
| tontoko | 0:224a2b438db4 | 37 | |
| tontoko | 0:224a2b438db4 | 38 | wait(1); |
| tontoko | 3:d4b979f6f27e | 39 | |
| tontoko | 0:224a2b438db4 | 40 | lcd.cursor(); //カーソル表示ON |
| tontoko | 0:224a2b438db4 | 41 | |
| tontoko | 3:d4b979f6f27e | 42 | lcd.blink(); //カーソルブリンクON |
| tontoko | 0:224a2b438db4 | 43 | |
| tontoko | 0:224a2b438db4 | 44 | wait(5); |
| tontoko | 0:224a2b438db4 | 45 | |
| tontoko | 3:d4b979f6f27e | 46 | lcd.noBlink(); //カーソルブリンクOFF |
| tontoko | 0:224a2b438db4 | 47 | |
| tontoko | 0:224a2b438db4 | 48 | lcd.noCursor(); //カーソル表示OFF |
| tontoko | 3:d4b979f6f27e | 49 | |
| tontoko | 3:d4b979f6f27e | 50 | |
| tontoko | 3:d4b979f6f27e | 51 | //表示内容はそのままで、画面を左にシフト 4回 |
| tontoko | 3:d4b979f6f27e | 52 | for (int i = 0; i < 4; i++) { |
| tontoko | 3:d4b979f6f27e | 53 | lcd.shiftDisplayLeft(); |
| tontoko | 3:d4b979f6f27e | 54 | wait(1); |
| tontoko | 3:d4b979f6f27e | 55 | } |
| tontoko | 3:d4b979f6f27e | 56 | //表示内容はそのままで、画面を右にシフト 4回 |
| tontoko | 3:d4b979f6f27e | 57 | for (int i = 0; i< 4; i++) { |
| tontoko | 3:d4b979f6f27e | 58 | lcd.shiftDisplayRight(); |
| tontoko | 3:d4b979f6f27e | 59 | wait(1); |
| tontoko | 3:d4b979f6f27e | 60 | } |
| tontoko | 3:d4b979f6f27e | 61 | |
| tontoko | 3:d4b979f6f27e | 62 | lcd.cls(); //画面消去、カーソルは(0,0)へ |
| tontoko | 0:224a2b438db4 | 63 | |
| tontoko | 3:d4b979f6f27e | 64 | //カーソル位置を10,0へ |
| tontoko | 0:224a2b438db4 | 65 | lcd.locate(10,0); |
| tontoko | 3:d4b979f6f27e | 66 | |
| tontoko | 3:d4b979f6f27e | 67 | //表示位置をカーソルから右方向へ設定(デフォルト) |
| tontoko | 1:5c99971e3ee5 | 68 | lcd.leftToRight(); |
| tontoko | 2:d2d66ce72529 | 69 | lcd.printf("5678"); |
| tontoko | 2:d2d66ce72529 | 70 | wait(1); |
| tontoko | 3:d4b979f6f27e | 71 | |
| tontoko | 3:d4b979f6f27e | 72 | //カーソル位置を4,0へ |
| tontoko | 3:d4b979f6f27e | 73 | lcd.locate(4,0); |
| tontoko | 3:d4b979f6f27e | 74 | |
| tontoko | 3:d4b979f6f27e | 75 | //表示位置をカーソル位置から左方向へ設定 |
| tontoko | 2:d2d66ce72529 | 76 | lcd.rightToLeft(); |
| tontoko | 3:d4b979f6f27e | 77 | lcd.printf("1234"); //画面上では "4321"とカーソル位置から左方向に表示される |
| tontoko | 3:d4b979f6f27e | 78 | wait(1); |
| tontoko | 2:d2d66ce72529 | 79 | |
| tontoko | 3:d4b979f6f27e | 80 | //表示位置をカーソルから右方向へ設定(デフォルト |
| tontoko | 2:d2d66ce72529 | 81 | lcd.leftToRight(); |
| tontoko | 2:d2d66ce72529 | 82 | |
| tontoko | 2:d2d66ce72529 | 83 | lcd.cls(); |
| tontoko | 2:d2d66ce72529 | 84 | lcd.home(); |
| tontoko | 0:224a2b438db4 | 85 | wait(1); |
| tontoko | 2:d2d66ce72529 | 86 | |
| tontoko | 3:d4b979f6f27e | 87 | //オートスクロール カーソル位置に文字を表示する度に、設定した方向に画面をシフト |
| tontoko | 2:d2d66ce72529 | 88 | lcd.AutoScroll(); |
| tontoko | 2:d2d66ce72529 | 89 | lcd.locate(8,0); |
| tontoko | 3:d4b979f6f27e | 90 | lcd.printf("1"); //わかりやすく1文字ずつ描画 |
| tontoko | 2:d2d66ce72529 | 91 | wait(1); |
| tontoko | 2:d2d66ce72529 | 92 | lcd.printf("2"); |
| tontoko | 2:d2d66ce72529 | 93 | wait(1); |
| tontoko | 2:d2d66ce72529 | 94 | lcd.printf("3"); |
| tontoko | 2:d2d66ce72529 | 95 | wait(1); |
| tontoko | 2:d2d66ce72529 | 96 | lcd.printf("4"); |
| tontoko | 2:d2d66ce72529 | 97 | wait(1); |
| tontoko | 3:d4b979f6f27e | 98 | |
| tontoko | 3:d4b979f6f27e | 99 | |
| tontoko | 3:d4b979f6f27e | 100 | lcd.init(); |
| tontoko | 3:d4b979f6f27e | 101 | |
| tontoko | 3:d4b979f6f27e | 102 | // 表示する最大桁数を設定 1 〜 40(画面は16文字まで。DDRAMは最大40文字×2行) |
| tontoko | 3:d4b979f6f27e | 103 | lcd.set_max_cols(12); //12文字で折返しになる設定 |
| tontoko | 3:d4b979f6f27e | 104 | lcd.locate(4,0); |
| tontoko | 3:d4b979f6f27e | 105 | lcd.rightToLeft(); |
| tontoko | 3:d4b979f6f27e | 106 | lcd.printf("1234567890123456789012"); |
| tontoko | 3:d4b979f6f27e | 107 | wait(5); |
| tontoko | 3:d4b979f6f27e | 108 | |
| tontoko | 3:d4b979f6f27e | 109 | lcd.init(); |
| tontoko | 3:d4b979f6f27e | 110 | |
| tontoko | 3:d4b979f6f27e | 111 | // CGRAM(外字)の設定 bitを設定した配列を用意 |
| tontoko | 3:d4b979f6f27e | 112 | char bell[8] = {0x4,0xe,0xe,0xe,0x1f,0x0,0x4}; |
| tontoko | 3:d4b979f6f27e | 113 | char note[8] = {0x2,0x3,0x2,0xe,0x1e,0xc,0x0}; |
| tontoko | 3:d4b979f6f27e | 114 | char clock[8] = {0x0,0xe,0x15,0x17,0x11,0xe,0x0}; |
| tontoko | 3:d4b979f6f27e | 115 | char heart[8] = {0x0,0xa,0x1f,0x1f,0xe,0x4,0x0}; |
| tontoko | 3:d4b979f6f27e | 116 | char duck[8] = {0x0,0xc,0x1d,0xf,0xf,0x6,0x0}; |
| tontoko | 3:d4b979f6f27e | 117 | char check[8] = {0x0,0x1,0x3,0x16,0x1c,0x8,0x0}; |
| tontoko | 3:d4b979f6f27e | 118 | char cross[8] = {0x0,0x1b,0xe,0x4,0xe,0x1b,0x0}; |
| tontoko | 3:d4b979f6f27e | 119 | char retarrow[8] = {0x1,0x1,0x5,0x9,0x1f,0x8,0x4}; |
| tontoko | 3:d4b979f6f27e | 120 | |
| tontoko | 3:d4b979f6f27e | 121 | //CGRAMに格納 0番〜7番までの8文字 |
| tontoko | 3:d4b979f6f27e | 122 | lcd.createChar(0, bell); |
| tontoko | 3:d4b979f6f27e | 123 | lcd.createChar(1, note); |
| tontoko | 3:d4b979f6f27e | 124 | lcd.createChar(2, clock); |
| tontoko | 3:d4b979f6f27e | 125 | lcd.createChar(3, heart); |
| tontoko | 3:d4b979f6f27e | 126 | lcd.createChar(4, duck); |
| tontoko | 3:d4b979f6f27e | 127 | lcd.createChar(5, check); |
| tontoko | 3:d4b979f6f27e | 128 | lcd.createChar(6, cross); |
| tontoko | 3:d4b979f6f27e | 129 | lcd.createChar(7, retarrow); |
| tontoko | 3:d4b979f6f27e | 130 | |
| tontoko | 3:d4b979f6f27e | 131 | lcd.home(); |
| tontoko | 3:d4b979f6f27e | 132 | |
| tontoko | 3:d4b979f6f27e | 133 | //設定した外字を表示 |
| tontoko | 3:d4b979f6f27e | 134 | for (int j=0; j<8; j++) { |
| tontoko | 3:d4b979f6f27e | 135 | lcd.putc(j); |
| tontoko | 3:d4b979f6f27e | 136 | } |
| tontoko | 2:d2d66ce72529 | 137 | |
| tontoko | 2:d2d66ce72529 | 138 | |
| tontoko | 3:d4b979f6f27e | 139 | |
| tontoko | 0:224a2b438db4 | 140 | while(1) { |
| tontoko | 0:224a2b438db4 | 141 | myled = 1; |
| tontoko | 0:224a2b438db4 | 142 | wait(LED_TIME); |
| tontoko | 0:224a2b438db4 | 143 | myled = 0; |
| tontoko | 0:224a2b438db4 | 144 | wait(LED_TIME); |
| tontoko | 0:224a2b438db4 | 145 | } |
| tontoko | 0:224a2b438db4 | 146 | } |
| tontoko | 0:224a2b438db4 | 147 | |
| tontoko | 0:224a2b438db4 | 148 |