Nokia 1100-世界で最も人気のある電話。これは私たちを作るのに十分幸運でした。 2003年後半の販売開始以来、Nokia 1100は2億5,000万台以上の量で販売されています。これは、携帯電話だけでなく、すべての家電製品で最も売れている製品です。

聴衆の広い地理に合わせて設計されたこの電話は、非常にシンプルですが、すべての大陸の居住者にとって実用的なデザインでした。 Nokia 1100には、モノリシックシリコンキーボードと、湿気やほこりの多い気候での損傷から電話を保護するリブ付きの滑り止めのエッジ、街灯が不十分な国の居住者向けに特別に設計された内蔵懐中電灯がありました。 携帯電話の外観は、ブルガリア系アメリカ人のデザイナー、ミキ・メハンジスキー氏によってカリフォルニア州ノキアデザインセンターで開発されました。
「これらすべての機能を利用する唯一の方法は、消費者と多くの時間を過ごし、消費者とコミュニケーションを取り、消費者の生活を見ることです。 たとえば、懐中電灯機能を考えてみましょう。 「誰がそれを必要としているのでしょうか?!」 (Alex Lambeek)、Nokiaの副社長、予算電話セグメントを担当。
Nokia 1100は、緑色のLEDバックライトを備えた安価なモノクログラフィックスクリーンを使用し、非常に明るい日差しの下でも完全に読みやすくしました。 画面解像度は96 x 65ピクセルで、1つのサービスと3つのユーザー行を表示しました。 一部の職人は、Nokia 1100ディスプレイを自分の目的に使用する方法を学びました。次に、その方法を説明します。
分解して使用
Nokia 1100は、PCF8814 ICドライバーを備えたPhilipsディスプレイを使用しました。PCドライバーは、I2Cプロトコルのサポートにもかかわらず、後者を使用しませんでした。 代わりに、単純なビット交換メカニズムが使用されました。

Nokia 1100ディスプレイのピン配列
ディスプレイを操作するには、PIC、AVR、MSP 430、8051など、ほぼすべてのマイクロコントローラーを使用できますが、PIC 18F458マイクロチップに基づくマイクロコントローラーを使用します。 MPLAB IDEの純粋なCでプロジェクトのソフトウェアを作成します。
画面について
Nokia 1100のグラフィックディスプレイは、背面に9入力(後者は使用されません)のCOGガラス(チップオンガラス)にコントローラーを取り付ける技術を使用して作られています。 興味がある場合は、メーカーのコントローラーの説明を読むことができます。 アイデアの実装に必要ないくつかの重要なポイントについて説明します。

このサイズは96x65ピクセルで、以下の画像に示すように、RAMメモリから直接アクセスできます。
典型的なRAMの例を以下に示します。 縦軸は、横軸と組み合わせた場合、各アドレスに8ビットの0〜8のセルを表示します。 水平軸は0から95までのアドレス指定を表示し、各ビットはX軸に沿って対応するピクセルを担当します。

アドレス指定モード
このディスプレイには、水平と垂直の2つのアドレス指定モードがあります。
垂直アドレッシングモード
垂直アドレッシングモードでは、各書き込み命令はアドレスをY方向にインクリメントし、開始アドレスに戻ります。
水平アドレス指定モード
各命令は、アドレスをX方向にインクリメントし、開始アドレスに戻ります。
PCF8814命令セット


シリアル通信



ビットは次のようにLCDに送信されます。
- SCをGNDにインストール
- GNDにSCLKをインストール
- D / Cビット(データまたはコマンド)をSDAに送信
- SCLKを1に設定
- SCLKを0に設定
- データビットをSDAに送信
- SCLKを1に設定
- 残りの7ビットについて、ステップ5.6と7を繰り返します。
初期化シーケンスを表示
- CSをGroundに設定して、ディスプレイをアクティブにします。
- RSTをLowに設定
- しばらく待ってから5ms。
- RSTをハイに設定します。
- 0x20コマンドをシリアルバスのLCDに書き込みます。 Vopレジスタの書き込み
- 0x90コマンドをシリアルバスのLCDに書き込みます。
- 0xA4コマンドをシリアルバスのLCDに書き込みます。 ディスプレイを通常モードに設定します
- 0x2FコマンドをシリアルバスのLCDに書き込みます。 電源管理(チャージポンプの有効化/無効化)
- 0x40コマンドをシリアルバスのLCDに書き込みます。 開始行アドレス= 0に設定
- 0xB0コマンドをシリアルバスのLCDに書き込みます。 軸Y = 0に沿ってアドレスを設定します
- 0x10コマンドをシリアルバスのLCDに書き込みます。 X軸のアドレス、下位3ビットを設定します
- 0x00コマンドをシリアルバスのLCDに書き込みます。 X軸にアドレスを設定、上位3ビット
- 0xC8コマンドをシリアルバスのLCDに書き込みます。 Y軸を反転(X軸に対して)
- 0xA1コマンドをシリアルバスのLCDに書き込みます。 横軸で画面を反転
- 0xACコマンドをシリアルバスのLCDに書き込みます。 ディスプレイの最初の行(R0)を設定します
- 0x07コマンドをシリアルバスのLCDに書き込みます。
- 0xF9コマンドをシリアルバスのLCDに書き込みます。
- 0xAFコマンドをシリアルバスのLCDに書き込みます。 ディスプレイのオン/オフ
- クリアな表示
- 0xA7コマンドをシリアルバスのLCDに書き込みます。 反転表示
- 約500ミリ秒待機します
- 0xA7コマンドをシリアルバスのLCDに書き込みます。 表示を通常に戻す
ディスプレイのクリーニング :初期化後、SCEをアースに設定してディスプレイをオンにします。 D / CをHighに設定して、データをディスプレイに送信します。 「バイト0x00の書き込み」操作を繰り返してディスプレイに864回書き込み、すべてのピクセルをクリアします。
回路をまとめる

回路の理解は非常に簡単ですが、ディスプレイへの配線の接続は簡単な作業ではなく、3Vを超える電圧を供給できないことに注意してください。 さらに電圧を印加すると、ディスプレイが使用できなくなる場合があります。 プロトタイプを以下に示します。

ソフトウェア
ソフトウェアは、MPLABおよびMicrochip C18コンパイラを使用してCで記述されています。 ソースコードと既にコンパイルされたファームウェアはリンクで利用可能です。

これで、Nokia 1100画面を自分の目的に使用できるようになりました。 確かに、あなたは私たちのプロンプトなしで歴史上最も衝撃に強い携帯電話の1つを分解しなければなりません。