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

Dependencies:   mbed

main.cpp

Committer:
sunifu
Date:
2011-03-02
Revision:
0:e3313a37353c

File content as of revision 0:e3313a37353c:

#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);

}