サインボード 回路説明 |
LED制御回路 RA0からRA3のポートはLEDの点灯列の情報出力に使用しています。 RB0からRB7のポートは各列のLED点灯情報の出力に使用しています。 74HC154は"4 to 16 Demultiplexer"で4ビットのバイナリ信号を16本の信号に分解するICです。 左図の場合はRA0からRA3までが全てLレベルで74HC154の出力0のみがLレベルになっている状態を示しています。 この場合、TR1のみがON状態になり、他のトランジスタはOFF状態です。ですから、TR1に接続されているLEDのみが点灯可能状態になります。 LEDが点灯するかどうかはRB0からRB7の状態により決まります。左図の場合、RB0およびRB4がLレベルであるので、D1とD5(図では書いていません)が点灯することになります。 RB0およびRB4には他のLEDも接続されていますが、それらのLEDに電流を供給するトランジスタはOFF状態なので、LEDは点灯しません。 左の図はPIC16F84AのRAポートとRBポートによりLEDの点滅が変化する状況を表しています。 1つのLEDの点灯時間が1/16であることが分かると思います。 各LED列にラッチレジスタを使用して表示する内容を保持すれば、LEDの点灯時間を長くすることができます。 ラッチレジスタは各列(8LED)毎に必要で、16個のレジスタを使う必要があります。 今回はプリント基板のスペースの関係もあり、LEDの明るさは多少暗くなりますが、ラッチレジスタは使わないことにしました。 今回の回路を最初考えたときはラッチレジスタを使うつもりでした。そのため、各LEDに電流制御用の抵抗器を入れています。 けれども、今回作成した回路では各列のLEDは同時に点灯することはないので、抵抗器は一組でOKです。 クロック発振器回路 10MHzのレゾネータを使用した回路です。非常にシンプルです。 電源回路 +12Vの電源から+5Vの出力得るために3端子レギュレータを使用しています。 LEDが同時に点灯するのは最大8個です。その場合、約90mAの電流が流れます。100mAタイプのレギュレータでもギリギリ大丈夫ですが、今回は1Aを使用しました。 |