TM1650(=FD650K)もテスト
R6/5/5:更新![]()
カソードコモン型7seg用インターフェースIC、TM1650(FD650K) のケース
訂正:CT1642はカソードコモン7seg用のドライバであることが判明。Aitendoの説明を信用したばかりにとんだ回り道をしてしまいました。
- TM1637(DIP)が製造中止だそうで、秋月から在庫がなくなりました。探していたらAitendoで見つけました。
- Aitendoから購入(通販)する際に(最低購入金額\500)近くにあったCT1642とFD650kもついでに注文しました。
- ついでに購入したIC(CT1642とFD650k)のデータシートは中国語(簡体)で簡潔過ぎて、それぞれアノードコモンとカソードコモンの7segLEDコントローラーだということ以外は不明で、途方に暮れました。
- arduino用のコード等は見うけられますが、PICに使えるような具体的なデータは得られません。
- ネット情報を探す過程で、FD650kとTM1650が互換品らしいと判明し、TM1650のデータシートをDownLoadしました。
- こちらも中国語でしたが、「プロトコル」の単元があって、翻訳ソフトの力を借りて何とか理解することができる情報を得ました。
- CT1642の方は未だに不明です。
テスト動作中の7セグLED
<使用部品について:>
- ◎PIC:12F683
- ◎4桁7seg:OSL40391-LY カソードコモン型 黄色の発光で2・3桁間のコロンとDPが付いています。 ただ、このLED表示器はコロンのカソード側が独立しているため、Digが4個しかない本ICではコロンは点灯不可です。
- ◎インターフェイスIC:FD650k DIP16本足の小型のICです。
![]()
<テスト回路について>
- 回路図作成ソフト:bsch3v用に4桁7segのパターンを作成しました。
- コロンのカソード側が独立しているため、カソード側(Dig)が4個しかないこのICでは点灯することができず、接続はしていません。
- DPも使用しませんので接続していません。
- SCLとSDAにつながるGP4とGP5は内部プルアップしていますが、念のために10kで電源に接続しています。
- 12F683のGP2にLEDを繋いでいますが、PICの動作確認のためです。
<プログラムについて>==>ソース(Hi_tech_c)
- 開発環境は、MPLAB IDE v8.84 です。(HI-TECH C V9.83)
- プログラムの内容は2分のカウントダウン表示です。
- GP4,GP5ともに内部プルアップを使用しています。
- I2cに似ていますが、スレイブ・アドレスはありません。
- データの送信は、7ビット→0ビットの順番です。
- データシートには『SDAを「1」レベルに保ち、SCLを「0」から「1」にジャンプしてから「1」から「0」にジャンプすると、「1」を書き込んだと見なされます。』『SDAを「0」レベルに維持し、SCLを「0」から「1」にジャンプしてから「1」から「0」にジャンプすると、「0」を書き込んだと見なされます。』とありますので、S7_Out()での書込み手順です。
- 8ビット送信後の空送り(SCL)1回もテータシートの指示です。
- データシートの『開始信号:SCLを「1」レベルに保ち、SDAが「1」から「0」にジャンプします。これは開始信号と見なされます。』『終了信号:SCLを「1」レベルに保ち、SDAは「0」から「1」にジャンプします。これは終了信号と見なされます。』は S7_Start()とS7_Stop()に表しました。
- データの送信前に、48h(モードコマンド)を書込み、輝度+表示モード設定の後データを書き込みます。
- 輝度(明るさ)の調整は8段階で、0b0001がMiniで0b0000がMaxです。プログラムでは3段階目にしましたが、3.3v供給でも室内なら視認性は充分でした。
- 輝度設定(上位4ビット)の下部4ビットは7ビットモード(0b1001)と8ビットモード(0b0001)の指定です。(0x31 は輝度3、8ビットモードの意味です。)
- クロック周波数を8MHzにしてテストしましたが、カウントダウンが速くなるだけで表示は出来ました。
- R6/5/5:プログラム修正