📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

 
(同じ利用者による、間の6版が非表示)
41行目: 41行目:
*: 多くのSC1604 / SC2004モジュールは、バックライト機能を備えている。
*: 多くのSC1604 / SC2004モジュールは、バックライト機能を備えている。
*: バックライトの制御は、別の信号線や専用のコマンドを使用して行う。
*: バックライトの制御は、別の信号線や専用のコマンドを使用して行う。
<br><br>
== SC1602 / SC2004の文字コード ==
HD44780コントローラを搭載したLCDモジュールは、以下に示す文字コードセットをサポートしている。<br>
また、内蔵キャラクタジェネレータ (CGROM) の他にも、CGRAMによりユーザが任意のパターンを定義することができる。<br>
<br>
* 基本ラテン文字 (英数字および一般的な記号)
*: ASCIIコードの0x20〜0x7F (スペース、アルファベット、数字、一般的な記号)
* 日本語カタカナ
*: ASCII拡張セットの0xA0〜0xDF (半角カタカナ)
* ユーザ定義文字
*: 8つのカスタムキャラクタ (CGRAM) を作成可能
*: アドレスは0x00〜0x07
<br>
[[ファイル:HD44780 1.png|フレームなし|中央]]
<br><br>
<br><br>


98行目: 113行目:
  {
  {
     P1DIR |= RS_PIN | E_PIN | DB4_PIN | DB5_PIN | DB6_PIN | DB7_PIN;
     P1DIR |= RS_PIN | E_PIN | DB4_PIN | DB5_PIN | DB6_PIN | DB7_PIN;
    // LCDの電圧が立ち上がるまで40[mS]以上待機する必要がある
    __delay_cycles(40000);
    // 特定の命令を実行する前にBF(Busy Flag)をチェックしてはいけない
    // HDDまたはLCD制御の分野では、BFはデバイスが現在の命令を処理中かどうかを示すフラグ
    // BFが1の場合は命令処理中、0の場合は命令処理完了を表す
    // これは、"ある命令を送信する前にBFをチェックしてはいけない"ということを示唆している
    lcd_cmd(0x30);
DELAY_US(4100);
lcd_cmd(0x30);
DELAY_US(100);
lcd_cmd(0x30);
   
   
     // LCDの初期化
     // LCDの初期化
155行目: 185行目:


== SC2004 / I2C通信 ==
== SC2004 / I2C通信 ==
==== ATmega328とI2C ====
==== MSP430G2553とI2C ====
MSP430G2553において、I2Cのシリアルクロック線(SCL)とシリアルデータ線(SDA)で一般的によく使用されるピンは、以下の通りである。<br>
MSP430G2553において、I2Cのシリアルクロック線(SCL)とシリアルデータ線(SDA)で一般的によく使用されるピンは、以下の通りである。<br>
原則として、以下に示すピンをI2C通信に使用することが推奨される。<br>
原則として、以下に示すピンをI2C通信に使用することが推奨される。<br>
186行目: 216行目:
<u>多くのモジュールには、プルアップ抵抗が内蔵されているが、必要に応じて外部にプルアップ抵抗を追加する必要がある。</u><br>
<u>多くのモジュールには、プルアップ抵抗が内蔵されているが、必要に応じて外部にプルアップ抵抗を追加する必要がある。</u><br>
<br>
<br>
==== MSP430G2553の設定 ====
==== MSP430G2553の設定 ====
以下の設定を適切に行うことにより、MSP430G2553でI2C通信を正常に動作させることができる。<br>
以下の設定を適切に行うことにより、MSP430G2553でI2C通信を正常に動作させることができる。<br>
398行目: 429行目:
== ST7735 ==
== ST7735 ==
==== ハードウェア接続 ====
==== ハードウェア接続 ====
ST7735のVCC、GNDをMSP430G2553の適切な電源ピンに接続する。<br>
* ST7735のVCC、GND
ST7735のSCL、SDAをMSP430G2553のSPIピン (UCB0SCL、UCB0SDA)に接続する。
*: MSP430G2553のVCC、GNDピンに接続する。
ST7735のRESET、D/C、CS (チップセレクト) をMSP430G2553の任意のGPIOピンに接続する。<br>
*: <br>
* ST7735のSCL、SDA
*: MSP430G2553のSPIピン (UCB0SCL、UCB0SDA)に接続する。
*: <br>
*: SPI (UCB0) のピン配置
*:* UCB0SIMO (SDA) : P1.7 (14番ピン)
*:* UCB0SCLK (SCL) : P1.5 (12番ピン)
*: <br>
* ST7735のRESET、D/C、CS (チップセレクト)
*: MSP430G2553の任意のGPIOピンに接続可能であるが、一般的に以下に示すような接続を推奨する。
*:* RESET : P2.0 (8番ピン)
*:* D/C (データ/コマンド) : P2.1 (9番ピン)
*:* CS (チップセレクト) : P2.2 (10番ピン)
*: <br>
*: P2.0〜P2.2は連続したピンであるため、配線が整理しやすい。
*: P2.xポートのピンはデジタル入出力専用であるため、アナログ機能との競合が無い。
*: <br>
*: P1.0〜P1.4の中から選択することも可能であるが、P1.6はクリスタル用に予約されている可能性があるため、避けることを推奨する。
<br>
<br>
==== SPIの設定 ====
==== SPIの設定 ====
まず、SPIモジュール (USCI_B0) を初期化して、マスターモードで動作するように設定する。<br>
まず、SPIモジュール (USCI_B0) を初期化して、マスターモードで動作するように設定する。<br>
429行目: 478行目:
一方、反転表示の有効 / 無効を設定するコマンドの場合、ディスプレイがコマンドを処理するのに掛かる時間は非常に短いため、明示的な待機時間を入れる必要はない。<br>
一方、反転表示の有効 / 無効を設定するコマンドの場合、ディスプレイがコマンドを処理するのに掛かる時間は非常に短いため、明示的な待機時間を入れる必要はない。<br>
しかし、もし、ディスプレイの応答が遅い場合や表示の乱れが見られる場合には、短い待機時間 (数[uS]〜数[mS]) を入れることを検討すること。<br>
しかし、もし、ディスプレイの応答が遅い場合や表示の乱れが見られる場合には、短い待機時間 (数[uS]〜数[mS]) を入れることを検討すること。<br>
<br>
==== コントローラの判別 ====
TFT LCDコントローラの判別方法を以下に示す。<br>
* ST7735
*: 解像度は128x160が標準的
* ILI9225
*: 解像度は176x220が標準的
* ILI9341
*: 解像度は240x320が標準的
<br>
例えば、PCB上に1.8 TFTという表記がある場合は、ST7735コントローラが最も一般的に使用される。<br>
また、ST7735コントローラはSPIインターフェースを使用する代表的なコントローラであるため、PCB上にCS、MOSI、MISO、SCKというSPIピンの表記がある可能性が高い。<br>
<br>
その他、確認する箇所を以下に示す。<br>
* 基板上の表記 (解像度、型番)
* ピン配置やインターフェースの種類
* 物理的なサイズと解像度の組み合わせ
<br>
<br>


647行目: 713行目:
<br><br>
<br><br>


{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:MSP430]]
[[カテゴリ:MSP430]]