PREVIEW
Pixel Screen (16x16)

Pixel Screen (16x16)

Visualization signal_cellular_alt Advanced schedule 30 min

ピクセルスクリーン (16x16)

概要

  • 目的: ピクセルスクリーン (16x16) は、16x16のピクセルグリッドを表示する可視化コンポーネントで、各ピクセルの状態はメモリ値によって決定されます。このコンポーネントは、シンプルなグラフィックスの作成、パターンの表示、またはデジタル回路のメモリ内容の可視化に役立ちます。
  • シンボル: ピクセルスクリーンは矩形ディスプレイグリッドとして表されます。外部接続ピンはなく、接続されたRAMコンポーネントの内部メモリから直接表示データを読み取ります。
  • DigiSim.io での役割: デジタル回路にグラフィックス表示、パターン可視化、およびメモリ内容監視などの視覚的出力機能を提供します。

Pixel Screen 16x16 component

機能説明

ピクセルスクリーンコンポーネントは、接続されたRAMコンポーネントから表示データを読み取り、メモリ内の各ビットをオンまたはオフのピクセルとして解釈します。コンポーネントは16x16ピクセル(合計256ピクセル)の解像度を提供し、表現するために32バイトのメモリ(1ピクセルあたり1ビット)が必要です。

ピン

ピクセルスクリーンには入力0個、出力0個のピンがあります。外部接続ピンはありません。代わりに、接続されたRAMコンポーネントの内部メモリから直接表示データを読み取り、設定された開始アドレスを使用してピクセルデータを特定します。

設定

ピクセルスクリーンにはいくつかの設定可能なプロパティがあります:

  1. 開始アドレス: 表示データが始まるメモリの開始アドレス(デフォルト: 0xE0)
  2. 前景色: アクティブ(ON)ピクセルの色
  3. 背景色: 非アクティブ(OFF)ピクセルの色
  4. ピクセルスケール: 表示における各ピクセルのサイズ

メモリマッピング

16x16ピクセルグリッドは以下のようにメモリにマッピングされます:

  • メモリ内の各バイトは8つの水平ピクセルを表す
  • 32の連続バイト(256ビット)がディスプレイ全体に使用される
  • ビットは各バイト内でMSBからLSBへマッピングされる

例えば、開始アドレスが0xE0の場合:

Address Byte 説明
0xE0 [76543210] 行0の最初の8ピクセル
0xE1 [76543210] 行0の最後の8ピクセル
0xE2 [76543210] 行1の最初の8ピクセル
0xE3 [76543210] 行1の最後の8ピクセル
... ... ...
0xFE [76543210] 行15の最初の8ピクセル
0xFF [76543210] 行15の最後の8ピクセル

注: 各バイト内のビット7-0は、MSBからLSBへマッピングされた8つの水平ピクセルを表します

使い方

ピクセルスクリーンコンポーネントを使用するには:

  1. RAMコンポーネントと一緒に回路にコンポーネントを追加

  2. ピクセルスクリーンは接続されたRAMコンポーネントのメモリから自動的に読み取ります — ピン配線は不要

  3. コンポーネントのプロパティで開始アドレスを設定して、RAM内の表示データの開始位置を指定

  4. メモリアドレスにビットパターンを書き込んで表示を作成:

    • 1を書き込むとピクセルがON
    • 0を書き込むとピクセルがOFF
  5. RAM内容が変更されると表示は自動的に更新

応用例

シンプルなパターン表示

// チェッカーボードパターンの格納
// 最初の行(交互ピクセル)
RAM[0xE0] = 0b10101010;
RAM[0xE1] = 0b10101010;
// 2番目の行(反転パターン)
RAM[0xE2] = 0b01010101;
RAM[0xE3] = 0b01010101;
// 残りの行もパターンを繰り返し...

16x16スプライト表示

// シンプルな顔の表示
// 目(行4-5)
RAM[0xE8] = 0b00100100;
RAM[0xE9] = 0b00000000;
RAM[0xEA] = 0b00100100;
RAM[0xEB] = 0b00000000;
// 口(行10)
RAM[0xF4] = 0b00011000;
RAM[0xF5] = 0b00100100;

アニメーションの作成

アニメーションを作成するには:

  1. 各フレームのRAM内容を更新
  2. クロック分周器を使用してリフレッシュレートを制御
  3. ちらつきを防ぐために、RAMの書き込みをディスプレイのリフレッシュサイクルと同期

ヒントとコツ

  • ちらつきを防ぐために、別のRAM領域を「バックバッファ」として使用して次のフレームを準備し、それを表示領域にコピー
  • 適切なビットとバイトを計算して個々のピクセルを設定する描画ルーチンを作成
  • カラー効果のために、コンポーネントのプロパティを通じて前景色と背景色を変更可能
  • カウンタや制御ユニットなどの他のコンポーネントと組み合わせて自律的なディスプレイを作成
  • スムーズなアニメーションのために、回路が一定のレートでディスプレイを更新することを確認

school 学習パス

arrow_forward 次のステップ

help_outline よくある質問

ピクセルスクリーンはどのように動作しますか?

16x16スクリーンは256ピクセルを持ち、それぞれがバイナリ信号で制御されます。XとY座標をアドレス指定してピクセル値を設定します。

ピクセルデータはどのように編成されますか?

通常、XとYのアドレス入力を使用してピクセルを選択し、データ入力でその状態(オン/オフまたはカラー値)を設定します。

play_arrow 回路を実行する

他のコンポーネントを見る