電子書籍の厳選無料作品が豊富!

7セグLEDの74HC595を用いたプログラムに
0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe4,0xfe,0xf6,0xee,0x3e,0x9c,0x7a,0x9e,0x8e
をunsiginedで入れて0から9まで順番に点灯させようとしましたが、結局点灯したのはどれもが変な文字でした。多分、74HC595の出力ピンに7セグLED8辺をうまく対応させられなかった事が原因かと思われました。
74HC595の出力ピンをそれぞれQ1~Q8とした時、Q1~Q8は7セグLEDのA~Hとどのように対応させれば良いでしょうか。適切な組み合わせを教えて頂けるとありがたいです。

「7セグLEDに表示された文字がおかしい」の質問画像

A 回答 (6件)

シフトレジスタだからプログラムでパラシリ変換


してるはずだけど、どうやってるの
LSBファースト?
    • good
    • 0

①a=0x08,b=0x06,c=0x04,d=0x02,e=0x01,f=0x7,g=0x05,h=0x03


か、
②a=0x0F,b=0x01,c=0x02,d=0x03,e=0x04,f=0x05,g=0x06,h=0x07
ではないでしょうか。
つまり、
①Q1=E,Q2=D,Q3=H,Q4=C,Q5=G,Q6=B,Q7=F,Q8=A.
②Q1=H,Q2=A,Q3=B,Q4=C,Q5=D,Q6=E,Q7=F,Q8=G.
通常、Q0~Q7で表現するのではないでしょうか。
上記はQ0をQ1として、Q7をQ8として表現してます。
    • good
    • 0

「ハードウェアに問題がない」ことを前提にしていいなら, 「何を与えたときにどのように光るのか」がわかれば「どうすればいいか」もわかる.



少なくとも「変な文字」がどのようなものであるのかがわからないとそれ以上はいえないねぇ... 結局は #1 で言われていることと同じなんだけど.
    • good
    • 0

あ、rclockがあるから乱れないか(^^;


失礼しました。
    • good
    • 0

74HC595は、


シリアル入力・パラレル出力の8ビットのシフトレジスタですよね・・・
どうやって数値を出力しようとしてるんですか?
1つ数字を出すのに、7回
データを入力させてシフトさせるを繰り返す?
https://akizukidenshi.com/download/ds/unisonic/u …

表示を変えるとき、表示が乱れるか、
それがしたくない時表示を一旦消す必要はあるけど、
表示増やすのに少ない出力ポートで出来るから魅力的な方法だけど、
ここで質問してくる時点で理解せずに使ってる可能性高い気がするんですが。
自分がどう操作したらいいのかが、わかってからの質問なんでしょうか?
    • good
    • 0

情報不足です。


そのプログラムを実行させるコンピュータの出力ポートとHC595をどうやって接続し、どういうプログラムを実行させるかが不明では、HC595とLEDの接続をどうすべきかはわかりません。

逆に言えば、HC595のクロックとデータ入力がコンピュータの出力ポートに正しく接続されて入れば、HC595とLEDの接続がどうなっていても、プログラムの変更で対応できるはずです。

そのプログラムで0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80を順次出力すれば、セグメントとの対応がわかるはずです。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!