#freeze
 閲覧総計:&counter();  (本日:&counter(today);  昨日:&counter(yesterday);)~
 ~
 【目次】(項目をクリックすると飛べます)
 #contents
 ~
 *LCD表示法(基礎) [#r58272d5]
 
 MikroCには液晶ディスプレイ(LCD:Liquid Crystal Display)の制御関数が
 多数用意されている。簡単なプログラムで情報をLCDに表示させる事が出来る。
 
 先日、東京秋葉原の秋月電子の店頭で 300円という激安のLCDを見付けたので
 LCD制御の練習の為購入した。 06/11/19
 
 16文字×1行LCD
 DMC16117A (OPTREX社製) 制御ICは「日立HD44780準拠品」 電源:5V
 http://www.allelectronics.com/spec/LCD-114.pdf
 
 **4ビット接続例 [#fa8ce341]
 
 制御ICが「HD44780準拠品」のLCDの場合データ4ビット接続が可能な事を知りました。
 早速4ビット接続での稼働テストをしてみました。 07/10/13
 
 【結果】4ビット接続で文字を表示される事が確認できました。
 配線はシンプルになったし、PORTBだけでLCDが動かせ、PORTAがフリーになったので
 自由度が上がりました。また、プログラムもとてもシンプルになりました。
 
 &attachref(P1010555.JPG,zoom,150x150,button){新しい写真添付};
 
  /**
  * LCD表示(基礎) LCD 4bit接続の確認
  * Help:LCD (4-bit interface)Libraryの稼働確認
  *
  * PIC16F628A   内蔵4MHz
  * LCD制御pin R/W:RB0  RS:RB2  E:RB3
  * LCDデータpin D4:RB4 D5:RB5 D6:RB6 D7:RB7 
  * LCD:DMC16117A (OPTREX社製) 秋月@300円 06/11/15
  * http://www.allelectronics.com/spec/LCD-114.pdf
  * 電源:乾電池3本(4.5V)
  *
  * Device Flags: _BODEN_OFF _BOREN_OFF _CP_OFF _PWRTE_ON _WDT_OFF
  *        _LVP_OFF _MCLRE_OFF _INTRC_OSC_NOCLKOUT
  * MikroC 7.0.0.3
  */
  void main()
  {
      PORTB = 0b00000000; //PORTBの中身をきれいにする
      TRISB = 0b00000000; //PORTBを全て0:出力に設定
  
      //Lcd_Config(*port, RS, EN, WR, D7, D6, D5, D4);     
      Lcd_Config(&PORTB,2,3,0,7,6,5,4); //LCDのピン接続設定
      //Lcd_Init(&PORTB); //LCD初期化 この行は削除する必要がある為コメントとした 08/03/23
      
      Lcd_Cmd(LCD_CLEAR); //表示の消去
      Lcd_Out(1, 1, "アイウエaBcD"); //LCD上位文字列表示
      Lcd_Out(2, 1, "(23+45=)"); //LCD下位文字列表示
  }
 
 ~
 ★この情報は役に立ちましたか?
 #vote(はい[92],普通[70],いいえ[79])
 #vote(はい[93],普通[70],いいえ[79])
 
 
 **接続しないLCDデータピンの処理 [#s5f624da]
 
 LCD 4ビット接続の際、PICに接続しない4つのピン(Data0-3ピン)は、GNDに接続するのではなく
 無接続にしておく方が良いそうです。
 今回は、無接続にしました。
 (参考とした情報)
 ↓液晶表示モジュールを4ビットモードで使ったときの空きピン処理
 http://www.oct.zaq.ne.jp/i-garage/trbl/lcd4bit.htm
 
 ~
 ★この情報は役に立ちましたか?
 #vote(はい[22],普通[0],いいえ[1])
 
 
 **8ビット接続例 [#t9703fd8]
 
 06/11/19時点では、このLCDはデータ8ビット接続しか動かないと勘違いしてました。
 当時作成した8ビット接続のプログラムも記録として残しておきます。 07/10/13記
 
 【参照Help】
 「mikroC Libraries」の「LCD8 (8-bit interface) Library」
  06/11/19
 
 &attachref(P1010205.JPG,zoom,150x150,button){新しい写真添付};
 
  /**
  * LCD表示(基礎)
  *
  * PIC16F628A   内蔵4MHz
  * LCD制御pin RA0:R/W  RA2:RS  RA3;E
  * LCD:DMC16117A (OPTREX社製) 秋月@300円 06/11/15 
  * http://www.allelectronics.com/spec/LCD-114.pdf
  * 電源:乾電池3本(4.5V)
  *
  * Device Flags: _BODEN_OFF _BOREN_OFF _CP_OFF _PWRTE_ON _WDT_OFF
  *        _LVP_OFF _MCLRE_OFF _INTRC_OSC_NOCLKOUT
  * MikroC 6.2
  */
  void main() {
    //使用変数の定義 
    char *text1 = "アイウエaBcD"; //LCD上位表示文字
    char *text2 = "(23+45=)"; //LCD下位表示文字
  
    PORTA = 0b00000000; //PORTAの中身をきれいにする
    PORTB = 0b00000000; //PORTBの中身をきれいにする
  
    CMCON = 0b00000111; //PORTAをデジタル入出力で使用 
  
    TRISA = 0b00000000; //PORTAを全て0:出力に設定
    TRISB = 0b00000000; //PORTBを全て0:出力に設定
  
    Lcd8_Config(&PORTA, &PORTB, 2,3,0,7,6,5,4,3,2,1,0); //LCD初期設定 
    Lcd8_Cmd(LCD_CLEAR); //表示の消去 
    Lcd8_Out(1, 1, text1); //LCD上位文字表示
    Lcd8_Out(2, 1, text2); //LCD下位文字表示
  }
 
 関連ページ:A/D値をLCDに表示
 
 ★この情報は役に立ちましたか?
 #vote(はい[11],普通[5],いいえ[4])