マイコンの出力ポートが足りないことはありがちです。そんな時によく使われるのがシリアルパラレル変換のロジックIC。似たようなICでNJU3711Dというのも有りますが、連結できない点や上位グレードも入手性が悪い点もあり、こちらのほうが一般的だと思います。写真はTPIC6B595Nで組んでいます。
74HC595が35mAに対し、150mA流せるので7セグのコモンにも使用できます。さらに350mA流せるTPIC6A595NEでも使用できると思います。
使用機器は下記のとおり。他、パソコンや電源、PICKIT2も当然ながら必要です。
ロジックIC 74HC595 or TPIC6B595N
(実験時には東芝製TC74HC595を使用しました)
マイコンボード(PIC16F1947搭載)
ZEATEC co.,ltd. ZT-PIC16F194701(5V仕様)
接続は下記のとおりでロジックICから各LEDへの配線は記載を省略しています。SIにシリアル信号、SCKにクロック信号を送信し、RCKのラッチ信号で出力ポートへ適用します。
接続は下記のとおりでロジックICから各LEDへの配線は記載を省略しています。SIにシリアル信号、SCKにクロック信号を送信し、RCKのラッチ信号で出力ポートへ適用します。
74HC595用ライブラリ tc74hc595.zip
TC74HC595データシート TC74HC595AP.pdf
TPIC6B595Nデータシート TPIC6B595N.pdf
プロジェクトファイルも含めたサンプル ZT-PIC16F194701_tc74hc595.zip
開発環境:MPLAB_IDE_8_92 + CCS-C PCMコンパイラVer.4.132
/******************************************************************
74HC595用ライブラリ 2015/4/1作成
□提供元
ZEATEC co.,ltd.
□ご利用について
転載・無断使用可です。このライブラリを使用した上での不具合等に関しては、いかなる内容におい
ても一切の責任を追わないものとします。
□使用方法
出力する値を入れてtc74hc595(0x1234);というように使います。
******************************************************************/
//シリアルパラレル変換
void tc74hc595_16(long setdata){
<span style="color: #009900;">//PIN_E0 SI or SER シリアルデータ</span>
<span style="color: #009900;">//PIN_E1 SCK クロック</span>
<span style="color: #009900;">//PIN_E2 RCK ラッチ</span>
int tmp1 = 0;
for(tmp1=0;tmp1<17;tmp1++){
output_bit(PIN_E0,bit_test(setdata,16-tmp1));
output_bit(PIN_E1,1);
output_bit(PIN_E1,0);
}
output_bit(PIN_E2,1);
output_bit(PIN_E2,0);
}
©ZEATEC co.,ltd.