mbed/ARM 活用事例 第2章 キャラクタLCDを極めよう mbedで初めてのマイコン開発 LCDを極める!<4/5> 文字コード表に載っていない文字や記号を登録し、LCDに表示するプログラムです。 自分だけのオリジナル記号を作成し、LCDに表示してみましょう。 http://www.eleki-jack.com/arm/2010/11/mbed-lcd-3.html

Dependencies:   mbed

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);
+
+}