(K7) PIC16F819 LED 9Digits表示器V1 

UP dated 2014.01.28

●PIC16F819 LED9桁/6桁表示器=プログラム呼称mV10DA

マイコンチップPIC16F819で7セグメントLED9桁(第8桁〜第0桁)をダイナミックドライブ表示します。周波数カウンターの検出部と組み合わせて、その表示部として使います。

基板サイズ 40mmx26mm。PIC16F819@電圧計と同じ基板です。
3桁ダイナミック点灯7セグメントLED、アノードコモンELT-512GEA(緑)は、数字面サイズが横38mmxたて19mm。3個(9桁)を横に並べると114mm幅です。

外部検出部からシリアル信号で送られた11桁数字および Dot位置情報(計56bit)を受け取り 表示は、上位桁、下位桁の9文字づつをDIP-SWで切替えて表示することができます。
DIP-SWの切り替え機能は、回路図の表を参照ください。

 

・左写真は、外部からの信号がないときの、電源投入直後の表示状態です。この数字が表示されれば、表示器単体は、回路・プログラムが正常に動作していることを示します。
・右写真は、アルミパネル(奥行き40mm)に取り付け、周波数カウンター検出部(TD7104F+PIC12F629)を接続し、128MHzを表示しているところ。

・表示器 PIC16F819プログラム済みのものをご入用の方は、以下ページをご覧ください。

◇PICの頒布基板付

●回路

・7セグメントLEDのダイナミックドライブ回路は、基本的に(K1)PIC電圧計と同じで、同じプリント基板を使っています。最上位3桁の第8,7,6桁は、74AC00によってドライブしています。

・LEDの各エレメントのカソード側は、76Ω(100Ω+330Ω並列)経由、PICの各ポートに接続しています。今回使用した3桁LED、ELT-512は、高輝度型ではないので、十分な電流(望ましくは30mA)を流す必要がありますので、PICの連続定格、ぎりぎり一杯(瞬間的には絶対定格をこえることもある)の設計をしています。PICは、ほんのり あったかくなりますが、誤動作しておりませんので 大丈夫だと思います。

・6桁表示器とするときは、第8,7,6の桁関連の部品、配線を省略すれば、6桁表示になります。

左の写真;
・LEDドライブ用の2SA1015、74AC00F、3桁LED等の部品は、専用プリント基板をキットに準備しています。



●PIC16F819の RA3ピン トライステートで 7セグメントLEDを点灯

・PIC16F819のRA3ピンは、K3としてLEDの第5桁 および 74AC00のPin.9-10(第8桁)に接続し、RA3ピン=L(K3=L)のとき、当該の2SA1015のベース(B)から電流が流れ出し、コレクターがON、5桁LEDが点灯します。PIC16F819のRA3ピン=Hのとき、74AC00の出力Pin.8(8桁)がLとなり、8桁が点灯します。

すなわち、トライステート動作をさせています。(回路図の右下参照)
・H;RA3ピン=出力H・・74AC00入力 PinをHとしてLEDの第8桁を点灯。
・N;RA3ピン=High Impedance入力・・8桁も5桁も点灯しない。
・L;RA3ピン=出力L・・LEDの5桁の2SA1015をONとして 第5桁を点灯。

同様にPIC16F819のRA2ピン、RA0ピンは、LEDの4桁(および7桁)、LEDの3桁(および6桁)を担当します。

●PIC16F819へのシリアル信号

・PICの RA5(MCLR)=SER、RA1=ACK をシリアル信号の入/出力ピンとしています。GND線を含めて 3本の線です。SER、ACK、GNDの3線は、普通の線で3m程度に延長したテストで正常に動作していますので 検出部(周波数カウンタ検出)と数字表示部を3m離すこともできます。

・PIC16F819の RA5(SER)ポートは、ST(シュミトトリガー)レベルとなっており、H/Lの Threshold電圧を 左図に示します。カタログ値では、H;Vin>4.0V、L;Vin>1.0Vですが、実際に測定すると H;Vin>2.82V、L;Vin<1.69V でした。 またSTですので ヒステリシス特性を持っています。自分で設計した機器をつなぎ、シリアル信号を送るときは、この電圧(実測値に 0.3V以上余裕をもった電圧)を確保してください。

シリアル信号の受信(送信)タイミングは、回路図左下に記載していますが、ダイナミックドライブの途中で時々SER portを読み、Hであれば、周波数カウンタ側の信号送り出し準備が整っていることを知り、ACK portをH出力として、acknowledgeを返します。そのACK=Hに促されて、カウンタ検出部(信号送り手)は、データを1bitずつ、MSBより順に送出します。合計56bitを受信後、最後の4bit=B'1101'であれば、正常に受信できたと判断し、ダイナミックドライブに戻ります。56bitの受信に約1msecを要します。

さて、ここで寄り道になりますが、後述の周波数カウンター(TMR0)が組み込まれているポート(T0CKI)は、STレベルとなっているので、上図のthreshold L=1.69V / H=2.82を横切らないとカウントしない。別の言い方をすると 2.3Vを中心に、+/-0.6V以上でスウィングしなければカウントしないことになります。
実測では、前段の2SC1906の無信号時コレクター電圧をテスターで計り、2.4〜2.5Vのときにもっとも高感度となりました。2.3Vとの誤差は、STレベルのPICでのばらつき、2SC1906の出力電圧の正側、負側への振幅の非線形の影響によるものと思われます。

●赤色LEDの役目、PIC16F819ピンの TRISTATE動作 

・赤色LEDの順方向電圧降下は、Vf=2.0V(@5mA)ですが、微小電流では少し下がりVf=1.65V(@0.1mA)となる特性があります。
・回路図の右下説明図のように、アイドル電流用抵抗を27kΩとすると、H/HighInpeadace/Lのどの状態でも常に、微小電流Vf≒1.65Vとなりますので、うまくトライステート動作します。

● プログラムソース

プログラムソースは、マウス右クリックで「対象をファイルに保存」を選んで、ダウンロード。
 ◇ダウンロードPIC16F819 mv10DA.hex & PIC12F629 mv10Dsub.hex

● 本 9桁LED表示器の適用例

◇周波数カウンター(その1)PIC16F84Aの工作例
◇周波数カウンター(その2)PIC12F629の工作例

"ひとつ前に戻る"には、ブラウザの「戻る」で戻ってください。
◇ホームページ インデックスへ戻る