R2/12/28:新規
テスト動作中の4桁7セグ疑似I2c_7seg(TM1640)もテスト
カソードコモン型7seg用のインターフェースIC、TM1640 のケース
<使用部品について:>
- ◎PIC : 12F683:前回のI2c_7segのセットを流用
- ◎4桁7seg : OSL40391-LG カソードコモン型 緑色の発光で2・3桁間のコロンとDPが付いています。
- ◎インターフェイスIC:TM1640 SOP28表面実装パッケージです。DIP変換基板も購入してブレッドボードにささるようにしました。老眼の目には1.27mmピッチの足を基板にハンダ付けするのは、非常に大変です。
<テスト回路について>
- 回路図作成ソフト:bsch3v用に4桁7segのパターンを作成しました。
- コロンのカソード側はGRID5に繋ぎました。DPはSEG8に繋いでありますがプログラム上では表示させていません。
- 7segLEDの仕様で、コロンのアノード側はaとbのセグメントにつながっています。したがってGRID5のアドレスに03hを送れば、コロンが点灯します。
- TM1640の標準の供給電圧は+5vですが、供給電圧3.3vのときも視認性は十分で消費電流は4~6mA程度です。
<プログラムについて>==>ソース(Hi_tech_c)
- 開発環境は、MPLAB IDE v8.84 です。(HI-TECH C V9.83)
- プログラムの内容は10分のカウントダウン表示です。
- TM1640には、SCLKとDINの制御用のピンがあります。
- GP4,GP5ともに内部プルアップを使用しています。
- 今回はTM1630のように空送りする必要がないので、自動アドレス増加モード(40h)を選択しました。C0hにデータを送った後、アドレスを指定せずに順にデータ送信できます。
- データの送信は、0ビット→7ビットの順番です。
- TM1630では、DIOにデータ(0 or 1)を送っておいて、CLKを0→1にして1ビットを送信しましたが、TM1640はSCLKを0にしておいて、DINにデータ(0 or 1)をセットしてからSCLKを1にするようです。
- 微妙な違いですが、『データ入力中、CLK(=SCLK)がハイレベルの場合、DINの信号は変更されません。 CLKのクロック信号がローレベルの場合にのみ変更できます。』という説明が記載されています。
- 今回この順序(CLK→0,DIOをセット,CLK→1)をTM1630でも試したところ、こちらもOKでした。
- コロンのカソードはGRID5に接続しました。アノード側は a と b セグに接続されていますので、03hを送信します。
- 輝度(明るさ)の調整は8段階で、88hがMiniで8FhがMaxです。プログラムでは"4/16(8Ah)"の下から3段階目にしましたが、3.3v供給でも室内なら視認性は充分でした。
- ◎参照させていただいたページ
ありがとうございました。
- http://nullnuma.hatenablog.com/entry/2018_08_12_tm1640