
mbed/ARM 活用事例 第2章 キャラクタLCDを極めよう mbedで初めてのマイコン開発 LCDを極める!<4/5> 文字コード表に載っていない文字や記号を登録し、LCDに表示するプログラムです。 自分だけのオリジナル記号を作成し、LCDに表示してみましょう。 http://www.eleki-jack.com/arm/2010/11/mbed-lcd-3.html
Diff: main.cpp
- Revision:
- 0:e3313a37353c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Mar 02 13:38:56 2011 +0000 @@ -0,0 +1,127 @@ +#include "mbed.h" +#include "TextLCD.h" + +TextLCD lcd(p24, p26, p27, p28, p29, p30); + +int main() { + lcd.cls(); + + // Gaiji no touroku + // hiragana e + lcd.writeCommand(0x40) ; + wait(0.000040f) ; + lcd.writeData((int)0x08) ; + lcd.writeData((int)0x04) ; + lcd.writeData((int)0x00) ; + lcd.writeData((int)0x1F) ; + lcd.writeData((int)0x02) ; + lcd.writeData((int)0x04) ; + lcd.writeData((int)0x0E) ; + lcd.writeData((int)0x19) ; + wait(0.000040f); + + // hiragana re + lcd.writeCommand(0x48); + wait(0.000040f); + lcd.writeData((int)0x08) ; + lcd.writeData((int)0x1E) ; + lcd.writeData((int)0x0C) ; + lcd.writeData((int)0x0B) ; + lcd.writeData((int)0x0E) ; + lcd.writeData((int)0x1A) ; + lcd.writeData((int)0x0A) ; + lcd.writeData((int)0x09) ; + wait(0.000040f); + + // hiragana ki + lcd.writeCommand(0x50); + wait(0.000040f); + lcd.writeData((int)0x04) ; + lcd.writeData((int)0x1F) ; + lcd.writeData((int)0x04) ; + lcd.writeData((int)0x1F) ; + lcd.writeData((int)0x02) ; + lcd.writeData((int)0x09) ; + lcd.writeData((int)0x08) ; + lcd.writeData((int)0x04) ; + wait(0.000040f); + + // hiragana no ji + lcd.writeCommand(0x58); + wait(0.000040f); + lcd.writeData((int)0x10) ; + lcd.writeData((int)0x10) ; + lcd.writeData((int)0x15) ; + lcd.writeData((int)0x15) ; + lcd.writeData((int)0x10) ; + lcd.writeData((int)0x11) ; + lcd.writeData((int)0x0A) ; + lcd.writeData((int)0x04) ; + wait(0.000040f); + + // hiragana no xya + lcd.writeCommand(0x60); + wait(0.000040f); + lcd.writeData((int)0x00) ; + lcd.writeData((int)0x00) ; + lcd.writeData((int)0x00) ; + lcd.writeData((int)0x0A) ; + lcd.writeData((int)0x1F) ; + lcd.writeData((int)0x0A) ; + lcd.writeData((int)0x08) ; + lcd.writeData((int)0x08) ; + wait(0.000040f); + + // hiragana no xtu + lcd.writeCommand(0x68); + wait(0.000040f); + lcd.writeData((int)0x00) ; + lcd.writeData((int)0x00) ; + lcd.writeData((int)0x00) ; + lcd.writeData((int)0x00) ; + lcd.writeData((int)0x1E) ; + lcd.writeData((int)0x01) ; + lcd.writeData((int)0x01) ; + lcd.writeData((int)0x02) ; + wait(0.000040f); + + // hiragana no ku + lcd.writeCommand(0x70); + wait(0.000040f); + lcd.writeData((int)0x01) ; + lcd.writeData((int)0x02) ; + lcd.writeData((int)0x04) ; + lcd.writeData((int)0x08) ; + lcd.writeData((int)0x08) ; + lcd.writeData((int)0x04) ; + lcd.writeData((int)0x02) ; + lcd.writeData((int)0x01) ; + wait(0.000040f); + + // original ! + lcd.writeCommand(0x78); + wait(0.000040f); + lcd.writeData((int)0x04) ; + lcd.writeData((int)0x0E) ; + lcd.writeData((int)0x0E) ; + lcd.writeData((int)0x0E) ; + lcd.writeData((int)0x04) ; + lcd.writeData((int)0x00) ; + lcd.writeData((int)0x0E) ; + lcd.writeData((int)0x0E) ; + wait(0.000040f); + + + // LCD ni hyouji + lcd.cls(); + lcd.locate(5,0); + lcd.putc(0x00); + lcd.putc(0x01); + lcd.putc(0x02); + lcd.putc(0x03); + lcd.putc(0x04); + lcd.putc(0x05); + lcd.putc(0x06); + lcd.putc(0x07); + +}