当ブログをご覧いただき、ありがとうございます。
ご注意事項:
記載内容には、十分注意しておりますが、勘違い、記憶違い、理解不足、思い込み等が無いとは限りませんので、申し訳ありませんが、 記載内容の正確性は保障致しません(出来ません)。
従いまして、このブログの内容を参考にする事に起因して生じる、または 生じた、いかなる事態にも、当方は何の責任も取れませんので、 参考にされる場合は、自己責任にてお願い致します。
このブログのC言語に関する説明には、PICで電子工作するのに必要な事柄以外(私のレベルで)は出てきません、出てこないことの方が多いと思いますので、ご了承願います。

7セグメントLEDを点灯するプログラム。

 今回から、7セグメントLEDを点灯するプログラムを書きます。

まず、7セグメントLED表示器の各セグメントを点灯させるために、ポートBに書き込む値を決めます。前回で7セグメント表示器をポートBに下のように接続しました。

f:id:higonohimajin:20210319083409p:plain

これを表にして、ポートBに書き込む値を決めたのが下の図です。

f:id:higonohimajin:20210319150735p:plain

 一行目と二行目は、セグメントとPORTBのビットとの対応です。

左側に、点灯する数字と点灯するセグメントの対応を書きました。

その右側に対応するビットのH(1)L(0)を書き、これがポートBに設定する2進数の値となります。
一番右側が、ポートBに設定する2進数の値を16進数に変換したものです。

例;

 1を表示する場合は、ビット7とビット1に1をセット、他は0をセットすればよいので、”0b 1000 0010" となり、16進数では0x82となります。

もし、単独でDPを点灯したいなら、0x01 を書き込み、数字と一緒に点灯したいなら、数字の設定値に1を加えて(1.にしたいなら0x82に1足して0x83)書き込めばよい。

 

下が、7セグメントLED表示器の点灯プログラムです、LEDチカチカのプログラムを少し書き換えて作成しました、基本的には同じことなのです。

f:id:higonohimajin:20210319133240p:plain

LEDチカチカプログラムからの変更は、ポートAは使わないので、0x00を指定、7セグメントLED表示器の数字の変化が分かりやすいように、待ち時間を長くしました、

ポートBに設定した0x76と0xFFは、5と8.を交互に表示します。

PICに焼いて、動作させてみました。

youtu.be

上手くいきましたが、プログラムは簡単でした、次回は、プログラムを変えて、数字を1から順番に9へ、そして、0を表示し、元に戻って、同じ表示を繰り返すプログラムを作りたいと思います、今回は、ここまでです。