ニキシー管のドライバーICのK155のA~Dに、
PD4~7を割り振りました。
ポートDを二進数で現すと0b00000000となります。
4~7なので上位4ビットに値を入れると、その値の足に接続してあるニキシー管の数値が
ーに接続され他の足は絶縁状態になります。このときにそのニキシー管に+の負荷が
かかると点灯されます。
ニキシー管などの表示させるやり方としては、ダイナミック点灯方式が一般的です。
これは全ての管に常時電気を与えるわけではなく、常に一つだけ点灯させるやり方です。
常に一つだけど言っても、これを高速に管を切り替えてやれば全ての管が光って見えるのです。
これは消費電力を小さくするためなどに使います。
今回、フォトカプラを使用して管を切り替えています。
使用ポートはPB0~PB7です。同じポートをなぜ使うかというと、ビットをシフトさせるのに簡単だからです。
たとえば、
for(i = 0 ; i < 8; i++){
PORTB = 0x00; // 全管への入力ストップ
_delay_us(50); // ゴースト対策消灯時間
PORTD = (PORTD & 0x0c) + (i << 4); //割込みの場所をマスク後、
//上位4ビットに表示数字を入力
PORTB = 0b10000000 >> i; // 表示管の設定
}
このようにするだけで、ワンセットの管の表示ができます。
たぶん 01234567と表示されるはず・・・
(めちゃくちゃ省いてます。)
こんなかんじです。
0 件のコメント:
コメントを投稿