Topics | PICC Pro lite mode | MPLAB XC8 | Actual use | USART | PWM | LCD | Interrupt | PICkit2 | PIC16F687 | PIC16F689 |
最新のPICマイコンを使用した更に安く実現できる方法はこちら。
ACM1602N1というI2Cで接続できる16桁2行LCDが秋月電子通商より発売されました。少ないピン数で接続が出来るメリットがありますが、これに使用されているコントローラーのPIC16F689を書き換え、僅かな部品を追加するだけで簡単にシリアル入力に対応できます。
電源2本とシリアル入力のたった3本でインターフェースを組むことができます。受信するデータはアスキーコードと一部のコントロールコードですが、LCDの面倒なセットアップや、タイミング合わせの転送は不要です。LCD内部の動作を意識せずに使用可能です。
操作ボタンを追加しなくても、初期値38,400bps、アスキーキャラクターで使用するのであれば、コントラスト調整用半固定抵抗器のみの追加部品で動作します。
付加機能として2つのファームウェア(ビルド済)をご用意しています。スレーブアドレスも変更可能です。
装置名 | ローコストLCDシリアル通信モニター(I2Cインターフェースタイプ改造版) |
対応通信スピード | 1,200/2,400/4,800/9,600/19,200/31,250(midiクロック)/38,400bps(公称値) バッファサイズ 32バイト 初期値 38,400bps |
通信フォーマット | 8ビット、パリティ無し、ストップ1ビット |
表示形式 | ●ASCII表示(初期値) コントロールコードはCRとCL以外は無視されます。 CR(0x0D)表示行を切り替えます。改行された場合は、そのライン以降のテキストは表示されたままとなります。 CL(0x0C)は表示をクリアし、カーソルをホーム位置に戻します。 ●16進表示 アスキーコードを16進数で表示します。 |
各種機能 | 画面初期ボタン、モード切替ボタン、ASCII/16進表示切替ボタン |
MPU | PIC16F689 PIC16F687 |
クロック | 内部クロックの使用±2%の誤差 |
電源 | 3V〜5V 消費電流 T.B.D. |
その他 | PICkit2/ICD2インターフェース搭載 |
ACM1602NIの回路は解析した一部です。
外付け100KΩ抵抗はシリアル入力が何も繋がれていない時のレベル確保用抵抗ですので、取り付けをおすすめします。
ACM1602NIのモジュールを使用しなくても、一般的なLCDモジュールとPIC16F687/689で構成する事も可能です。
LCDシリアル通信
Date | version | Build | Folder | Device | note |
---|---|---|---|---|---|
2012/5/20 | 1.01 | MPLAB8.85,MPLAB XC8 ver 1.00 | C:\picsrc\xc8\lcd_serial_16f68x | PIC16F687 PIC16F689 |
HEXファイル同梱 16F687でビルドしていますが、16F689でも使用できます。 lcd_data_set()上のLCD_STROBEの重複を修正。 |
元に戻す場合は互換ファームウェアを用意しています。
電源を入れると、予め設定されているボーレートで受信可能状態となります。(初期値は38,400bps)
ASCIIモードとBINモードでは、カーソルの表示が異なる事で、モードを表現しています。ASCIIモードは点滅、BINモードはアンダーバーです。変更は右ボタンを押す毎に切り替わります。表示モードは電源を切っても記憶します。
左ボタンを押すと、表示をクリアします。
ボーレートの変更は、モードボタンを押しながら左ボタンを押します。左右ボタンでボーレートを選択し、モードボタンで設定します。
モードボタンを押しながら左ボタンを押して離し、モードボタンが離されるまで、バージョンとLCD種別表示を行います。ボーレートは、次回のボーレート更新まで記憶します。
LCDの濃度調整で、それぞれの電圧で最適になるように半固定抵抗を調整します。
ASCIIモード時 | BINモード時 |
---|---|
カーソル点滅 文字が0x20〜0xffのコードであれば表示 ascii code 12 (ctrl +l) LCD消去 ascii code 0x0b (ctrl +k)カーソル以降の行を消して切替 ascii code 0x0d (Enter) 行の切替のみ ascii code 0x11 (ctrl +q)カーソルを消す ascii code 0x17 (ctrl +w) カーソル表示 |
カーソルがアンダーバーになる 該当するアスキーコードを16進表示 |
エアーバリアブル ブログ 秋月I2C接続キャラクタLCDモジュールをシリアル入力タイプに改造
→I2C接続キャラクタLCDモジュール[16x2行]白色バックライト付
→PICマイコン PIC16F687−I/SS
→PIC16F631/677/685/687/689/690 datasheet (pdf)
2012/9/17 リカバリーソフト類を別ページに分離
2012/7/15 ストロベリー・リナックスI2C LCD互換モードのファームウェア公開
2012/7/12 秋月I2CタイプLCD(ACM1602NI)をリカバリーするオリジナルファームウェア公開
2012/4/19 初版作成
(C)2012 air variable All Rights Reserved..